随着微机控制技术的发展和广泛应用以及控制系统复杂性和实时性要求的不断提高,使得很多系统需要用两个甚至更多的控制器,实现被控对象提出的各种要求。尤其是在工业应用领域中,要完成大量的数据采集和处理、控制信号的接收和发送等诸多功能,对系统的运算速度、接口资源、稳定性以及成本方面有着非常高的要求。设计一个实用、合理、经济的高性能控制系统是成功投入现场运行的关键。
在SVG(静止无功发生器)装置中涉及到大量的复杂计算(如滤波计算、瞬时无功计算)和先进的控制手段(如矢量控制)以及诸多信号的采集和发送,使得单个CPU很难满足系统要求。因此采用高集成度的嵌入式处理器与DSP芯片组成双CPU系统来实现对整个系统的控制。 1 系统设计 1.1 系统的组成及原理 双CPU系统的原理图框图如图1所示。系统采用80C196KC和ADMC401两个芯片作为处理器。ADI公司的ADMC401芯片是基于DSP的控制器,非常适于工业应用领域中的高性能控制。该芯片集成了一个高速的DSP内核,且其内核具有一套完备的外围控制接口,以便在高度集成的环境中快速实现控制。Intel公司的80C19680C196(KB/KC)是一款高性能且价格低廉的16位单片机,同样适用于高速控制和需要多个外设的场合。两个CPU在运行时独立执行存放在不同器件中的程序,同时保持相互之间的协调工作。考虑到系统本身的复杂性,如果使用传统的RAM、ROM和逻辑译码器件分离的系统接线方式,必定会使得整个控制电路过于庞杂,给调试带来很大困难,同时也降低了系统的稳定性。因此,该系统用到了可编程系统外围接口器件PSD产品中的PSD4235和PSD311。它们分别作为两个CPU的外部扩展器件,并和CPU组成一个双CPU-PSD系统(简称双CPU系统),如图1所示。两个CPU间的相互通信采用了双口RAM(IDT7132IDT7132),通过它可以顺利实现两个CPU之间的数据传输。键盘管理部分用82C7982C79接口芯片。输出显示部分用以SED1520SED1520为驱动芯片的MGLS-12032A液晶模块(LCD)。系统中专门增加了额外的串行E2PROM,主要用于掉电时数据的保护以及记录部分操作参数。此外,组成系统的还有WATCHDOG电路、UART电路等。它们在系统中的资源分配、功能实现都是通过对控制器的软件编程来完成。下面将详细介绍各部分的接口电路设计以及相应的工作原理。 1.2 80C196KC部分设计
系统中外部扩展了串行的E2PROM电路,用来存放系统的一些固定参数等,使用的芯片是Atmel公司的AT24C02AT24C02。它只需通过80C196KC的高速输入、输出通道(HIS和HSO)产生连续的高低电平序列,便可实现与CPU之间的数据传输。从硬件的角度来看,该芯片不占用任何数据总线,连接简单且节约大量系统资源。 1.3 ADMC401ADMC401部分设计 ADMC401ADMC401芯片是一个基于单片DSP的控制器,适合工业应用领域中高性能控制。该芯片集成了一个26MIPS(13MHz晶振)定点内核ADSP-2171,单条指令执行时间为38.5ns,其编码与ADSP-21xxDSP 系列完全兼容。内核具有一套完备的外围控制接口,以便在高度集成环境中快速实现对元器件的控制;它还包含三个计算单元、两个数据地址发生器和一个程序定序器。其中计算单元包含一个算术逻辑单元ALU、一个乘法/累加器(MAC)和一个桶式移位器。内核还增加了位操作、平方、四舍五入和全局中断屏蔽等指令。除此之外,ADMC401ADMC401芯片包括两个灵活的双缓冲器、双向的同步串行口。图3为ADMC401的功能框图。ADMC401ADMC401芯片提供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位内部定时器等。 PSD3XXPSD3XX芯片内部同样提供了许多应用系统需要的全部元件和外围。对于8051、80196和68HC1168HC11等微控制器来说与PSD相配合是极为有用的。ADMC401与它结合同样非常有效。考虑到ADMC401内部程序的长度以及接口并不象80196控制器那么多(80196需要完成人机界面实现、信号传送、外围器件接口等),所以采用PSD311(现有价格的3系列产品)。ADMC401芯片的引导程序装载可以通过两个引脚MMAP和BMODE的各种不同状态产生。如果引脚MMAP和BMODE电位都为0,那么ADMC401芯片工作在所谓的EPROM引导程序模式,其中被称为"引导存储器"的专用外部存储空间将允许芯片和字节宽度的EPROM相连,并在上电时通过存储器接口从外部装载程序;如果引脚MMAP和BMODE设置为其它电位将会产生不同的引导模式;另外,401芯片有一个专门的低电平有效信号--引导存储器选择BMS(Boot Memory Select)简化了引导存储器的接口。以上这些功能极大地方便了ADMC401与PSD接口。图4为ADMC401与PSD311的接口电路图(图中还包括了一些其它外围)。ADMC401与PSD311的连接几乎和它与标准的EPROM连接一样简单。由于总线的通路布在ADMC401内部,PSD311的8根数据线并不与ADMC401的D7~D0相连,而是与D15~D8C相连。还要注意,地址的位由ADMC401的D22线提供(在ADMC401中没有A14地址线)。BMS信号充当EPROM的片选并与PSD311的A19输入相连接。A19在PSD的程序里将被定义为芯片使能信号。ADMC401生成低有效读和写选通脉冲,它们与PSD311的RD和WR输入相连。这些选通脉冲在传输中用来选通PSD311的EPROM和RAM。ADMC401有2K×24位的内部程序存储空间。在采用EPROM引导程序模式时(MMAP=0,BMODE=0),外部程序通过ADMC401内部的定序器按照24位命令格式性全部到其内部程序存储空间。当然应用程序可能大于ADMC401内部程序存储空间,不过程序如果执行到后面的代码,ADMC401会自动重新引导。引导程序存储器由八页组成,每页8K字节长。一页中除了个字节外每隔三个字节是一个空字节,个字节是该页的长度,在两个相邻空字节中每组三个字节包含一个要装入DSP 内部程序存储器的24位指令。也就是说2K×24位的内部程序存储空间需要8K×8位的外部存储空间。在ADMC401的开发工具中有一个程序存储器PROM分配器实用程?quot;SPL21.exe"。它为用户程序计算正确的页长度,并且根据适当的协议为用户程序的字节排序,极大地方便了程序代码的生成。这些生成的代码可以直接写入PSD311。 2 80C196KC-ADMC40180C196KC ADMC401两片系统在SVG装置中的应用 SVG(Static Var Generator)--静止无功发生器也被称为STATCOM(Static Synchronous Compensator),是灵活交流输电系统FACTS(Flexible AC Transmission System)技术中一个重要的基础部件。虽然SVG装置的成本要高一些,但其灵活的动态调节特性、优越的补偿效果以及更小的设备体积都是其他无功补偿装置不能比拟的。很多文献资料对SVG装置的原理和研制都有介绍。图5为两片系统的SVG装置结构图。
| |||||
本文摘自《电子技术应用》 |
[1]. IDT7132 datasheet https://www.dzsc.com/datasheet/IDT7132_1936058.html.
[2]. 82C79 datasheet https://www.dzsc.com/datasheet/82C79_104085.html.
[3]. SED1520 datasheet https://www.dzsc.com/datasheet/SED1520_603299.html.
[4]. PSD4000 datasheet https://www.dzsc.com/datasheet/PSD4000_1091355.html.
[5]. AT24C02 datasheet https://www.dzsc.com/datasheet/AT24C02_142894.html.
[6]. ADMC401 datasheet https://www.dzsc.com/datasheet/ADMC401_1055653.html.
[7]. 68HC11 datasheet https://www.dzsc.com/datasheet/68HC11_797969.html.
[8]. 80C196KC datasheet https://www.dzsc.com/datasheet/80C196KC_103576.html.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。