80C196KC-ADMC401接口电路设计及其应用
摘要:结合80C196KC和ADMC401双CPU接口电路图,详细介绍了系统的设计过程,并对主要部件的基本功能以及需要注意的问题做了分析和说明。最后以静止无功发生器(SVG)装置为例,介绍了双CPU系统的应用。
关键词:80C196KC ADMC401 SVG IGBT-IPM
随着微机控制技术的发展和广泛应用以及控制系统复杂性和实时性要求的不断提高,使得很多系统需要用两个甚至更多的控制器,实现被控对象提出的各种要求。尤其是在工业应用领域中,要完成大量的数据采集和处理、控制信号的接收和发送等诸多功能,对系统的运算速度、接口资源、稳定性以及成本方面有着非常高的要求。设计一个实用、合理、经济的高性能控制系统是成功投入现场运行的关键。
在SVG(静止无功发生器)装置中涉及到大量的复杂计算(如滤波计算、瞬时无功计算)和先进的控制手段(如矢量控制)以及诸多信号的采集和发送,使得单个CPU很难满足系统要求。因此采用高集成度的嵌入式处理器与DSP芯片组成双CPU系统来实现对整个系统的控制。
javascript:window.open(this.src);" style="cursor:pointer;"/>
1 系统设计
1.1 系统的组成及原理
双CPU系统的原理图框图如图1所示。系统采用80C196KC和ADMC401两个芯片作为核心处理器。ADI公司的ADMC401芯片是基于DSP的控制器,非常适于工业应用领域中的高性能控制。该芯片集成了一个高速的DSP内核,且其内核具有一套完备的外围控制接口,以便在高度集成的环境中快速实现控制。Intel公司的80C196(KB/KC)是一款高性能且价格低廉的16位单片机,同样适用于高速控制和需要多个外设的场合。两个CPU在运行时独立执行存放在不同器件中的程序,同时保持相互之间的协调工作。考虑到系统本身的复杂性,如果使用传统的RAM、ROM和逻辑译码器件分离的系统接线方式,必定会使得整个控制电路过于庞杂,给调试带来很大困难,同时也降低了系统的稳定性。因此,该系统用到了可编程系统外围接口器件PSD产品中的PSD4235和PSD311。它们分别作为两个CPU的外部扩展器件,并和CPU组成一个双CPU—PSD系统(简称双CPU系统),如图1所示。两个CPU间的相互通信采用了双口RAM(IDT7132),通过它可以顺利实现两个CPU之间的数据传输。键盘管理部分用82C79接口芯片。输出显示部分用以SED1520为驱动芯片的MGLS-12032A液晶模块(LCD)。系统中专门增加了额外的串行E2PROM,主要用于掉电时数据的保护以及记录部分操作参数。此外,组成系统的还有WATCHDOG电路、UART电路等。它们在系统中的资源分配、功能实现都是通过对控制器的软件编程来完成。下面将详细介绍各部分的接口电路设计以及相应的工作原理。
1.2 80C196KC部分设计
16位的80C196KC芯片是Intel公司MCS-96系列单片机中重要的新成员,也是目前该系列单片机中性能最强的产品之一,在各类自动控制系统、数据采集系统和高级智能仪器中都有广泛的应用。80C196KC芯片的特点如下:振荡信号频率达16MHz,指令的运算速度更快,16位乘法1.75μs,32位除法3.0μs;8个A/D通道,可以方便地实现被控对象多点电压和电流采样;通过CPU的串行口可实现与上位PC机之间的通信;新增100H~1FFH内部RAM,在垂直窗下具有更灵活的运用;具有三路脉宽调制(PWM)输出;在80C196KB的基础上又增加了5条(KB已经增加了6条),使程序编制更加方便;16位多路复用地址数据/地址线可以与PSD直接接口,同时通过锁存器后,可将地址和数据分别接至双口RAM,实现多个CPU之间的数据传输等。详细的性能参数和特点请参见文献1~2。在双CPU系统中,80C196主要完成的功能有键盘控制、显示输出、数据保存、信号传送等。由于涉及的内容复杂,而且还需要与很多外围接口,所以用到了大容量、多端口的PSD4000系列芯片与它配合,图2所示即为80C196KC部分的电路图。
图2 80C196KC-PSD4235接口电路
虽然CPU的数据与地址线可以直接与PSD连接,但是在双口RAM时,数据与地址信号必须分离。所需用到的锁存器在图2中省略了。PSD4235芯片是WSI公司2000年最新推出PSD4000系列产品,它能够适应多种不同的微处理器。其片内集成了4M位的闪速存储器,16个输出微单元、24个输入微单元的CPLD、译码PLD,52个单独可配置I/O端口,JTAG串行接口等,并且有支持掉电模式的低功耗可编程电源管理单元。PSD芯片对外地址分配和各接口的逻辑译码由专用的软件PSDSOFTTMLITE实现,具体情况请参考文献5~6或登陆www.waferscale.com站点查询。使用PSD后极大地简化了硬件电路的设计,减少了印制电路板的面积,提高了系统的稳定性。显示部分通过单片机控制图形液晶模块MGLS-12032实现。该模块有直接访问方式和间接访问方式两种。本系统以间接访问方式为基础。图2所示即为间接访问方式的电路。显示模块的时序通过对80C196编程实现。液晶模块MGLS-12032A是两片SED1520级联在一起,一片处于主工作方式,一片处于从工作方式,它们分别控制显示屏幕的左、右半屏。在编程时要特别注意汉字和字符显示时在边界区域两片SED1520间的切换。
系统中外部扩展了串行的E2PROM电路,用来存放系统的一些固定参数等,使用的芯片是Atmel公司的AT24C02。它只需通过80C196KC的高速输入、输出通道(HIS和HSO)产生连续的高低电平序列,便可实现与CPU之间的数据传输。从硬件的角度来看,该芯片不占用任何数据总线,连接简单且节约大量系统资源。
1.3 ADMC401部分设计
ADMC401芯片是一个基于单片DSP的控制器,适合工业应用领域中高性能控制。该芯片集成了一个26MIPS(13MHz晶振)定点内核ADSP-2171,单条指令执行时间为38.5ns,其编码与ADSP-21xxDSP 系列完全兼容。内核具有一套完备的外围控制接口,以便在高度集成环境中快速实现对元器件的控制;它还包含三个计算单元、两个数据地址发生器和一个程序定序器。其中计算单元包含一个算术逻辑单元ALU、一个乘法/累加器MAC和一个桶式移位器。内核还增加了位操作、平方、四舍五入和全局中断屏蔽等指令。除此之外,ADMC401芯片包括两个灵活的双缓冲器、双向的同步串行口。图3为ADMC401的功能框图。ADMC401芯片提供2K×24位的内部程序存储器RAM、2K×24位的内部程序存储器ROM、1K×16位的内部数据存储器RAM、1个高性能8通道12位模数转换ADC系统(它能经过4对输入实现双通道同时采样)、1个三相16位中心对称的PWM发生器(能以最小开销产生高精度的PWM信号)、1个灵活的增量编码器接口单元、2个可调频的辅助PWM输出、12条I/O数字信号线、1个双通道事件捕获系统、1个16位看门狗定时器、2个16位内部定时器等。
图3 单片数字信号处理器ADMC401功能框图