由工业计算机通过PCI总线控制的前端数据采集系统在工业控制领域中得到了广泛的应用,一般的数据传送系统在大数据量的情况下会造成数据堵塞现象。在系统设计的过程中经过多方面的比较,最后采用高数双口RAM构成的高速数据交换接口成功地解决了此问题。
CY7C026是CYPRESS公司生产的16K×16高速双口静态RAM,存取速度小于25ns。它具有真正的双端口,可以同时进行数据存取,两个端口具有独立的控制信号线、地址线和数据线,另外通过主/从选择可以方便地扩存储容量和数据宽度。通过芯片的信号量标志器,左、右两端口可以实现芯片资源的共享。CY7C026芯片的内部功能框图见图1。
图1 CY7C026芯片的内部功能框图
CY7C026的工作原理
存取原理
由CY7C026的内部结构图可以看出,该芯片的核心部分是双端口存储阵列,左右两个端口可以共用该存储阵列,并且拥有各自的控制线,在单独存取数据时,和普通的RAM相同。同时读取不同存储空间的数据和同时读取相同数据空间的数据时,左右端口可以同时进行。若同时对相同的数据空间做写操作,或一端口对一数据空间作读操作的同时另一端口对该数据空间作写操作,左右端口将发生冲突。为此,CY7C026通过BUSY管脚来处理这两种情况。
当左右端口对不同存储空间进行读写操作时,可同时存取。此时,左右端口的BUSY信号同时置高。若对同一存储空间同时进行存储操作时,哪一端的存储请求信号先出现,则该端的BUSY信号置高,允许存储。哪一端的存储信号出现在后,则这一端BUSY信号置低,禁止存储。
值得注意的是,左右两端存取请求信号出现的时间差必须大于5ns,不然仲裁逻辑无法判断哪一边的存取请求信号出现在前。如果出现两端存取请求信号出现的时间差小于5ns的情况,仲裁逻辑将一边的BUSY信号置高,将另一边的BUSY信号置低,从而保证两个端口一个执行数据存储,另一端口进行数据读取,避免了冲突。
中断功能和主/从模式的使用
CY7C026芯片的中断功能是通过“信箱”来实现的。所谓的“信箱”是指芯片将存储器的高地址3FFF作为左端口的“信箱”,而3FFE作为右端口的“信箱”。下面以左端口向右端口传送数据为例,说明中断功能的用法。当左端口将数据写入右端口的“邮箱”时,右端口的INTR管脚就会产生中断信号,即INTR管脚置低。右端口读取该数据后中断信号自动复位。右端口向左端口传送数据的情况与上述情况相同。用户需要清楚的是,该功能只适用于数据的低速传送。
实际中,数据的宽度往往大于16位。这时就需要扩展数据位的宽度,CY7C026的M/S管脚提供了数据扩展的功能。例如,实际应用中经常需要32位的数据总线,可以将一片CY7C026的M/S管脚置低,另一片的M/S管脚置高,然后将两块芯片的管脚连接在一起即可。
图2 高速数据采集和传输系统框图
信号量标志器的使用
信号量标志器是该芯片所拥有的最具特色的功能,利用这种功能可以实现片内资源的共享。CY7C026为实现该功能,提供了八个标志锁存器,每个锁存器对应一个信号量标志器。使用信号量标志器的过程是首先将SEM管脚置低,CE管脚置高,然后通过A0~A2三条地址线来选择相应的标志锁存器,数据的存取通过对I/O0操作来实现。数据存取过程中,R/W和OE的使用方式与存取普通存储器的使用方式相同。芯片上电后,左、右端口的标志器都处于空闲状态。这时左右两端口都可以通过对任意标志锁存器写“0”来提出使用该信号量标志器的请求。然后读取该信号量标志器的值来确定是否获得使用权,如果读回的值为“0”则说明该端口获得使用权,为“1”则说明另一端口已获得了该标志器的使用权。获得使用权的端口只有对其所使用的标志锁存器写“1”后,才能放弃该信号量标志器的使用权。如果另一端口在它放弃使用权以前提出过使用该信号量标志器的请求,那么当前端口放弃使用权后,另一端口立即获得该信号量标志器的使用权。相反,如果另一个端口没有提出过请求,则该信号量标志器处于空闲状态。
CY7C026在数据传输系统中的应用
所设计的系统是石油测井设备的一个子系统,系统以TMS320C5402为主处理器,通过双口RAM CY7C026作为数据共享的接口。其主要功能是接收工业计算机通过CPCI接口写入双口RAM的命令,DSP将该命令下发到井下仪器,相应的井下仪器接收到命令后,采集井下数据,然后将数据传送到DSP中,经过DSP处理后的数据写入双口RAM。最后,工业计算机通过CPCI接口将双口RAM中的数据传送到计算机中作显示处理。系统框图如图2所示。
结束语
利用双口RAM CY7C026的高速数据传输能力和DSP TMS320VC5402的高速性能能够满足高速数据传输的要求,同时能够完成大量复杂的数据处理工作,从而兼顾了数据传输处理所需要的大吞吐量和高速性。
责任编辑:gt
全部0条评论
快来发表一下你的评论吧 !