微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 铁电存储器在多CPU自动识别控制系统中的应用

铁电存储器在多CPU自动识别控制系统中的应用

时间:08-24 来源:互联网 点击:
3.3.多CPU系统

在经过对上述两种方案的比较后,是否还有其他某种使用芯片数量最少、价格最便宜、功能最齐全、设计灵活多变的方案呢?答案是肯定的。那就是采用多CPU系统。基于8051芯片如AT89x52的广泛使用,使单片机的价格大大下降。目前,89X52的市场零售价已经低于8255、8279、8253、8250等专用接口芯片中的任何一种;而89X52的功能实际上远远超过以上芯片。因此,如把89x52作为接口芯片使用,在经济上是合算的。这样就解决了系统扩展芯片众多的缺点。一片89x52有32个I/O口,均可做输入输出,且有3个定时器和2个外部中断,完全可以解决对ABA/WIGEN/232不同串行信号的处理。

正如软件可由实时多任务操作系统RTOS来实现一样,硬件一样可用多CPU组成的系统来实现。

这样,本文提出得4门控制器将由3片CPU共同组成,它具有以下特点 芯片数目少。除了存储芯片和时钟芯片,基本只剩下3块89S52 CPU用89S52价格低的特点,充当外设。使用灵活。可根据情况减少某个CPU或更改其程序完成不同的功能原来写在一个CPU中的程序分离,使每个芯片基本上在8K之内完成,也就是都可选择89S52,不用采用昂贵的大容量FLASH 8051内核的 CPU。加了看门狗的主CPU可以实时监控另外两个CPU的工作是否正常各CPU各司其职。提高了与上位机通讯的速度及准确性,提高了读写存储的速度以及访问FALSH的时间。由于将个任务分解,所以每个CPU所用的寄存器较少,均可以使用89S52自带的256字节RAM即可,不必使用XDATA访问RAM 中的CPU ,提高了各CPU执行的速度。

4、选择FM3808为多功能存储、时钟、系统监控芯片

4.1.传统方式的说明

在确立了主控方式之后,要选择存储、时钟及系统监控芯片,我们先来分析以往芯片的选择正如3.1种所描述的,除了选择具有512K BYTES的FLASH ROM 芯片作为卡号存储芯片外(因为无论有效无效卡号,其更改频率是不高的,采用此芯片不会影响芯片),作为常用的信息存储及外部寄存器芯片,一般采用SRAM如628128,虽然此芯片目前价格很便宜,但由于系统掉电后,其中的所有信息消失,所以必须加掉电保护电路和电池。而无论采用专用的掉电保护芯片和采用分立元件组成的对电路,都不能100%的保证数据部丢失,尤其是在电源不稳定和干扰严重的环境下。

时钟有众多选择,如DS1302及12887,但价格不低监控芯片也有很多种,如X25045,它集成了看门狗、电压监测、可靠复位及EEPROM等特点,但价格也不低。

4.2. FM3808的特点

为了使系统具有更高的可靠性以及小型化,我们将采用RAMTRON的新型多功能芯片:

FM3808,一种将掉电非遗失、实时时钟、系统监控于一体的高性能芯片。它具有以下特点:

32K*8 BIT 非易失RAM
高达100亿次的读写次数
写无延时
数据可保存10年
内置低电压保护
实时时钟
后备电源切换
可编程时钟日历报警
可编程看门狗定时器
电源监测
可编程中断输出
可编程CPU复位或中断
5V工作电压
后备电压可低至5V
动态电流25mA
时钟后备电流1uA

5、选择FM24C16作为多CPU通讯中枢

在确立以多CPU方式作为系统主控方案后,需要解决一个最关键的问题,那就是CPU之间的通讯。让我们先来比较一下几种数据交换的优缺点。

5.1.几种单片机之间的通信方式的可行性分析

采用硬件UART进行异步串行通信。这是一种占用口线少,有效、可靠的通信方式;但在本文提出的4门控制器方式中,一个CPU的UART要完成与上位机的通讯,一个CPU的UART负责与485读卡器或232读卡器之间的通讯,可见硬件资源是不够的。这种方法不适合本例。

采用片内SPI接口或2C总线模块串行通信形式。SPI/I2C接口具有硬件简单、软件编程容易等特点,但目前大多数单片机不具备硬件SPI/I2C模块。特别是我们采用的通用廉价的89X52系列单片机。这种方法也不可行。口对口并行通信,利用单片机的口线直接相连,加上1~2条握手信号线。这种方式的特点是通信速度快,1次可以传输4位或8位,甚至更多,但是并行RAM需要占用大量的口线(数据线+地址线+读写线+片选线+握手线),一般在16条以上。这是一个让人望而生畏的数字,而且会大大增加PCB面积并给布线带来一定的困难。这有悖于将CPU口线用于扩展口线的特点。使实际需要的口线不够用,因此也是不可行的。利用双口RAM作为缓冲器通信。这种方式的最大特点就是通信速度快,两边都可以直接用读写存储器的指令直接操作;但这种方式需要大量的口线,而且双口RAM的价格很高。同样不予考虑。利用自定串行通讯协议在CPU间进行通讯。这是在FM24C16未面世以来,最符合本文提出的4门控制器的一种方式,且已正常应用于实际系统当中。虽然可以满足本系统的需要,占用口线少,使用灵活,但调试相当繁琐,因为不但要正确解决好中断的请求问题,还要精心调试时序以及通讯协议,尤其是在3个CPU间的通讯当中,单片机要传递的每一位或每一个字节做出响应,通信数据量较大时会耗费大量的软件资源,这在一些实时性要求高的地方是不允许的。况且没个CPU都有各自的任务,如果将太多的软件资源用于数据交换,则失去了采用多CPU方案的意义。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top