双口RAM在自动化系统中的应用
1 引言
在现代工业测控系统中,由于对系统的功能和性能要求越来越高,一般都采用高性能的CPU(如DSP)或嵌入式系统(如386EX等?来实现测控功能,并将这些智能设备联网组成自动化系统。在早期的应用中,设备联网普遍采用RS232/RS422/RS485方式。随着计算机技术的发展,现场总线技术在自动化系统中的应用逐渐普遍,而采用工业以太网技术则是今后技术发展的一个趋势。
测控设备的设计可以采用单CPU系统完成整个测控功能和系统联网功能,这样做的缺点是使整个系统的软件设计复杂,系统适应性差,CPU负担较重,影响系统的整体性能。另外一种做法是采用双CPU系统,即用一个CPU完成测控功能,另一个CPU完成系统联网和接口通信功能。由于双CPU系统可按功能分开设计,因此可简化系统软件设计,使系统具有良好的扩展性,以便更好地应对不同的组网要求,提高系统的整体性能。
CPU间的通信可以采用串口、并口等方式,但它们共同的缺点是操作复杂、速度慢。因此,随着价格的不断下降,采用双口RAM方式在两个CPU系统间交换数据是一个不错的选择。但双口RAM有时会发生共享冲突问题。下面讨论防止共享冲突的几种方式。
2 双口RAM防止共享冲突的方式
一般双口RAM都提供了两个完全独立的端口,每个端口都有自己的控制线、地址线和数据线,CPU对双口RAM端口的操作等效于对它的外部RAM进行操作。双口RAM在使用上要注意的问题是如何避免两端CPU对同一RAM单元的争用,一般来说,双口RAM可提供三种防冲突方式,下面结合CYPRESS公司的CY7C144进行说明。CY7C144是采用低功耗CMOS工艺生产的8×8k位容量、高速存取(20ns)的双端口静态RAM,它还可以用多芯片级联来扩展字宽,其内部原理框图如图1所示。
2.1 插入等待状态的防冲突方式
当左右端口同时对同一地址的RAM存储单元进行存取时,CY7C144芯片内部的仲裁单元将会给出BUSY信号。具体来说,BUSYL、BUSYR信号的正常状态为高电平,当左端口对一存储单元进行存取时,若右端口也对该存储单元进行操作,则芯片内部的仲裁单元会使信号BUSYR为低,直到左端口操作完成后再将BUSYR恢复为高电平。设计中可以利用BUSY信号作为CPU的等待状态输入,并利用该信号使CPU在操作过程中插入等待状态,避免两端同时对双口RAM进行操作。
2.2 信号灯防冲突方式
双口RAM通过申请和释放端口的信号灯(也称为令牌)来操作存储单元可以避免发生冲突。一个信号灯对应相应数量的存储单元。双口RAM的两端均可对信号灯进行存取。当左端口向信号灯写入“0”再回读信号灯时,若信号灯也为“0”表示左端口拥有对存储单元的控制权,否则表示右端口拥有对存储单元的控制权。不管是否取得对存储单元的控制权,操作完成后都应向信号灯写入“1”以释放信号,从而避免资源的死锁。
相关文章
- 2022-06-06基于DSP系统的多道脉冲幅度分析器设计
- 2022-06-16基于Small RTOS51的PS/2键盘驱动程序开发
- 2022-06-23显微测量系统外参数标定的研究
- 2022-12-16回转机械扭矩监测仪数字信号无线传输的研究
- 2021-11-12基于DSP和IPM的变频调速的硬件设计
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。