基于Avalon总线的双口RAM与PCI总线数据交换的设计
发布时间:2021-01-10 19:10
基于实验室的某同步数据采集卡项目要求,需要设计一个数据共享存储器,实现数据在FPGA和上位机之间高速有效地双向传输;为此在可编程逻辑器件FPGA的基础上设计了基于Avalon总线的单时钟真双端口模式的双口RAM共享存储器;其存储容量为256字节,数据线和地址线定制8位;为了避免数据丢包现象的出现,采用了奇偶交换页的思想,16字节为一页;最后对所设计双口RAM进行验证测试,结果表明所设计的双口RAM实现了12字节报文信息在FPGA与上位机之间的高效传输;50 000次的测试结果表明所设计的双口RAM实现了信息不丢包的实时传输;该设计充分利用了FPCA现有的存储资源,减少了电路设计的复杂性,同时达到数据的高效率传输。
【文章来源】:计算机测量与控制. 2020,28(04)
【文章页数】:5 页
【部分图文】:
图8 双口RAM与NiosII之间的通信测试结果
Altera公司为了提高主从设备之间数据交换效率和速率,开发了一种新的总线结构Avalon总线。Avalon总线是Nios II处理器内部模块和外围设备数据交换的一座桥梁,模块之间通过Avalon总线连接形成片上可编程系统SOPC。Avalon总线的特点是采用了分离的地址、数据和控制总线,没有信号选择电路,大大简化了数据传输的复杂性,提高了传输效率;Avalon总线上的信号是高低电平,这样简单的信号可以在总线上高效地传输[3]。PCI总线接口芯片CH365主要将高速复杂的PCI总线转换成八位并行的数据线和地址线[4],上位机驱动程序通过总线接口芯片CH365对双口RAM共享存储器进行读写。实现数据在FPGA和上位机之间双向实时地传输。图1是Avalon总线和PCI总线接口芯片CH365通过共享存储器双口RAM进行数交换示意图。说明:PCI总线接口芯片CH365将复杂的PCI总线转换为八位数据线和地址线,图1可以看出接口芯片CH365对双口RAM的读写操作的总线是公用的,Avalon总线的读写数据线则是分开的,为了充分使用FPGA现有的片上存储器资源,本文在设计单时钟真双端口RAM的时候需要对CH365的数据线进行一定的配置,使其符合FPGA自带的存储器的使用规则。这一特点也是设计双口RAM的初衷之一和难点之一。由图1可知整个系统只有一个时钟clk,该时钟来自于FPGA的系统时钟,其作用是让两个CPU对双口RAM有效有序的读写操作。rd_mem_by_ch365和Wr_mem_by_ch365分别是CH365对双口RAM的读写使能信号。Write_enable是Avalon总线的对双口RAM的写使能信号。
图2将FPGA内的存储器做了一个清晰的分类。Altera公司开发的Cyclone IV EP4CE6E22C8N这款FPGA芯片具有嵌入式存储器结构,这一特点满足了该型号的FPGA对片上存储器的需求。嵌入式存储器的结构由一系列M9K存储器模块构成,对这些M9K存储器模块进行一定的配置,即可以实现各种各样的存储器功能,例如RAM、移位寄存器、ROM以及FIFO缓冲器。M9K存储器具有很多特性,例如存储器的每一个端口都具有独立的读使能和写使能信号,在Packed模式下,M9K存储器模块可被分成两个4.5K单端口RAM,同时具有可变端口配置模式等。存储器根据读写端口的个数可以被配置成简单双端口和真双端口模式。
【参考文献】:
期刊论文
[1]FPGA数据总线宽度不相等的双口RAM的设计[J]. 孙培燕,李克俭,蔡启仲,黄仕林,李刚. 科学技术与工程. 2014(35)
[2]基于FPGA的双口RAM实现及应用[J]. 秦鸿刚,刘京科,吴迪. 电子设计工程. 2010(02)
[3]基于双口RAM IDT7130的DSP与单片机之间的数据通信[J]. 周务平. 中国西部科技. 2009(25)
[4]基于CH365芯片的PCI总线接口卡的设计与实现[J]. 李阔. 现代电子技术. 2007(15)
[5]基于PDT传输的DSP视频图像实时处理系统数据存储器接口设计[J]. 张铁弓,李汉强. 武汉理工大学学报(交通科学与工程版). 2005(01)
硕士论文
[1]基于Nios Ⅱ软核双口RAM的核信号采集系统设计[D]. 费鹏.成都理工大学 2018
[2]基于SOPC的电力电子控制技术研究[D]. 张颖.华北电力大学(河北) 2010
本文编号:2969255
【文章来源】:计算机测量与控制. 2020,28(04)
【文章页数】:5 页
【部分图文】:
图8 双口RAM与NiosII之间的通信测试结果
Altera公司为了提高主从设备之间数据交换效率和速率,开发了一种新的总线结构Avalon总线。Avalon总线是Nios II处理器内部模块和外围设备数据交换的一座桥梁,模块之间通过Avalon总线连接形成片上可编程系统SOPC。Avalon总线的特点是采用了分离的地址、数据和控制总线,没有信号选择电路,大大简化了数据传输的复杂性,提高了传输效率;Avalon总线上的信号是高低电平,这样简单的信号可以在总线上高效地传输[3]。PCI总线接口芯片CH365主要将高速复杂的PCI总线转换成八位并行的数据线和地址线[4],上位机驱动程序通过总线接口芯片CH365对双口RAM共享存储器进行读写。实现数据在FPGA和上位机之间双向实时地传输。图1是Avalon总线和PCI总线接口芯片CH365通过共享存储器双口RAM进行数交换示意图。说明:PCI总线接口芯片CH365将复杂的PCI总线转换为八位数据线和地址线,图1可以看出接口芯片CH365对双口RAM的读写操作的总线是公用的,Avalon总线的读写数据线则是分开的,为了充分使用FPGA现有的片上存储器资源,本文在设计单时钟真双端口RAM的时候需要对CH365的数据线进行一定的配置,使其符合FPGA自带的存储器的使用规则。这一特点也是设计双口RAM的初衷之一和难点之一。由图1可知整个系统只有一个时钟clk,该时钟来自于FPGA的系统时钟,其作用是让两个CPU对双口RAM有效有序的读写操作。rd_mem_by_ch365和Wr_mem_by_ch365分别是CH365对双口RAM的读写使能信号。Write_enable是Avalon总线的对双口RAM的写使能信号。
图2将FPGA内的存储器做了一个清晰的分类。Altera公司开发的Cyclone IV EP4CE6E22C8N这款FPGA芯片具有嵌入式存储器结构,这一特点满足了该型号的FPGA对片上存储器的需求。嵌入式存储器的结构由一系列M9K存储器模块构成,对这些M9K存储器模块进行一定的配置,即可以实现各种各样的存储器功能,例如RAM、移位寄存器、ROM以及FIFO缓冲器。M9K存储器具有很多特性,例如存储器的每一个端口都具有独立的读使能和写使能信号,在Packed模式下,M9K存储器模块可被分成两个4.5K单端口RAM,同时具有可变端口配置模式等。存储器根据读写端口的个数可以被配置成简单双端口和真双端口模式。
【参考文献】:
期刊论文
[1]FPGA数据总线宽度不相等的双口RAM的设计[J]. 孙培燕,李克俭,蔡启仲,黄仕林,李刚. 科学技术与工程. 2014(35)
[2]基于FPGA的双口RAM实现及应用[J]. 秦鸿刚,刘京科,吴迪. 电子设计工程. 2010(02)
[3]基于双口RAM IDT7130的DSP与单片机之间的数据通信[J]. 周务平. 中国西部科技. 2009(25)
[4]基于CH365芯片的PCI总线接口卡的设计与实现[J]. 李阔. 现代电子技术. 2007(15)
[5]基于PDT传输的DSP视频图像实时处理系统数据存储器接口设计[J]. 张铁弓,李汉强. 武汉理工大学学报(交通科学与工程版). 2005(01)
硕士论文
[1]基于Nios Ⅱ软核双口RAM的核信号采集系统设计[D]. 费鹏.成都理工大学 2018
[2]基于SOPC的电力电子控制技术研究[D]. 张颖.华北电力大学(河北) 2010
本文编号:2969255
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2969255.html