微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 双口RAM在PCI总线与AVR接口设计中的应用

双口RAM在PCI总线与AVR接口设计中的应用

时间:11-05 来源:互联网 点击:

机回到空闲状态。
2.3 仿真结果
在ModelsimSE仿真平台下,实现了PCI9052读/写双口RAM的读/写过程,读操作仿真波形如图5所示,写操作仿真波形如图6所示。从仿真波形可以看出,该代码可以实现将PCI9052的读/写控制信号转换成双口RAM的读/写控制信号,完成时序的匹配。



3 双口RAM的读/写程序
为了达到用低速模块处理高速数据流的效果,在双口RAM的程序处理上采用乒乓操作的技巧。乒乓操作的最大特点是通过“输入数据选择单元”和“输出数据选择单元”按节拍、相互配合的切换,将经过缓冲的数据流没有停顿地送到“数据流运算处理模块”进行运算与
处理。把乒乓操作模块当作一个整体,站在这个模块的两端看数据,输入数据流和输出数据流都是连续不断的,没有任何停顿,因此非常适合对数据流进行流水线式处理。所以乒乓操作常应用于流水线式算法,完成数据的无缝缓冲与处理。
设计中将双口RAM分为A,B两个部分,各占8 KB空间。通过9052和AVR交替对两个存储器进行读/写操作到达交换数据的目的。在双口RAM的仲裁方式选择上选取中断和硬件仲裁结合的方式,中断仲裁在硬件电路设计上比较简单,只要将双口RAM两侧的INT引脚连接到AVR和PCI90 52的中断引脚上,软件设计上只要编写双口RAM操作程序和中断服务程序两部分。具体过程是:
(1)数据下行(PCI9052写,AVR读)。在首次发起数据传输时,通过握手信号告诉AVR本次数据传输共多少个字节。然后发起本次数据传输,如果数据传输长度小于8 KB,9052向双口RAM的A区写入数据,并在数据全部写完之后对地址3FFFH(右端口信箱)执行一个写操作,这样引脚变为低电平,该引脚连至PCI9052的局部中断引脚,通知9052读取写入的数据,9052在读取数据之后会对左端口信箱3FFEH地址执行一个读操作,这样引脚恢复为高电平,使之退出中断响应程序。整个数据传输程序流程和下行相似,具体的流程如图8所示。

4 结语
高性能双口RAM可以有效解决上位机和下位机之间的复杂数据处理问题,实现时序的粘连;乒乓操作是一个常应用于数据流控制的处理技巧,是解决高速设备和低速设备交换数据的常用方法。实践证明本文的设计方法是解决高低速设备的传输瓶颈问题,提高PCI总线与AVR单片机之间的数据传输速度的有效途径。

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

网站地图

Top