- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA数据通信接口设计与实现
基于FPGA数据通信接口设计与实现
摘 要:随着信息化、数字化技术的不断发展,数字集成电路的应用越来越广泛,可编程逻辑器件也由早期的储存少量的数据发展到如今的超大规模复杂组合逻辑与时序逻辑的现场可编程逻辑器件,即FPGA。本文就对基于FPGA数据通信接口的设计与实现做出研究。
关键词:FPGA 数据通信接口 SCI
中图分类号:TN919 文献标识码:A 文章编号:1672-3791(2011)03(b)-0023-02
1 FPGA原理
1.1 FPGA的组成
可编程输入、输出模块、基本可编程逻辑模块、RAM嵌入块、底层嵌入功能ongoing模块以及内嵌专用硬核和线路资源组成了FPGA。
1.2 FPGA设计流程
通常一个完整的FPGA设计流程要包括以下主要步骤:电路的设计、输入―功能仿真―综合优化―验证仿真结果―实现―时序仿真验证―调试加载。其基本流程图如图1所示。
2 通信卡的硬件平台
本系统运用Aurora链路层协议,从而实现SCI节点的高速串行通信,并引入中断机制,以提高SCI通信接口和主机进行数据交换的速率。该通信卡利用Virtex-II Pro系列的XC2VP4-FF672C高端FPGA芯板作为本系统数据处理的主要控制芯片。通信卡的信号环境为3.3V的32位CPCI接口和主机进行数据的通信,而各通信卡之间则采用传输速率在1.25Gbps的光纤进行通信。本系统的通信卡主要由Virtex-II Pro FPGA芯片、时钟产生模组、SFP收发模组、ISP配置PROM以及电源模组和CPCI接口等组成。
3 SCI串行通信接口模型设计与仿真
3.1 SCI整体逻辑划分
FPGA按照功能目的可以分为SCI节点模型模组以及CPCI总线接口模组,其中SCI节点模型包括以下几个部分,即接收和发送RAM、输入及输出旁路FIFO、Address Decode(地址解码器)以及MUX(多路复用)和中断进程、Aurora链路层收发模组(Aurora协议是一个可升级的、小型的链路层协议,可以用来进行点到点的高速串行通路数据传输)等;而CPCI总线接口模组则由PCI内核以及与其相关的配置模组和用户逻辑等三个模组构成,其整体逻辑框图如图2所示。
3.2 SCI的主要功能以及部件原理
Aruoral协议是一个小型但可升级的链路层协议,可以通过它实现点对点的高速串行通路数据的传输。Aurora链路层协议具有明显的成本较低、带宽高且可以扩展的特点,适用于点对点串行链路的数据传输。Aurora链路层协议为标准的诸如ICP/IP或者以太网等上层协议,任何分据分组都能通过Aurora链路层协议进行封装,以及在各电路板或者芯片之间进行高速数据传输。
SCI节点模型的模组设计中,中断进程是相对重要的设计部分,它是连接SCI接口两个模块的重要环节。一旦Aurora的接收模组接收到一祯数据,就会在触发中断的状态下设定其为有效状态,这时中断进程就会在下一时钟触发PCI核内INTT-N信号处于有效状态,此时就表示向PCI核提交中断请求成功。
3.2.1 旁路FIFO
如果SCI节点地址译码结果显示出其传输的目标地址非本机,则数据就会传输到旁路FIFO再由旁路FIFO向另一SCI节点发送。FIFO是先进先出堆栈,一般包括读、写指针控制器;存储模块;空信号、满信号输出等部分组成。FIFO的设计难点在于对空信号输出以及满信号输出信号生成的控制。旁路FIFO的设计是在同一时间点只允许处于读或写其中一种状态,而读和写状态所采用的相同时钟,所以使用同步旁路FIFO即可。
3.2.2 接收、发送存储器
本系统中采用片上块RAM来实现接收和发送存储器。块RAM为双口RAM,其参数可以做调整,存储大小由2KB至128KB不等,A、B两个端口可以同时使用或者单独使用。在该设计中,PCI总线数据的交互通过块RAM的A口实现,而与Aurora模组的连接则由B口来实现,本设计中FIFO设定4KB,因此对应块RAM的数据线应为32位,地址线则为12位。
RAMBI6seS18_518的主要端口信号定义如下:
.DOA:A端口输出数据线,16位
.ADDRA:A端口地址线,12位
.ADDRB:B端口地址线,12位
.DIA:A端口输入数据线,16位
读写状态机通过控制这些信号线实现对块RAM的数据存取。
3.3 SCI节点工作流程
3.3.1 测试地址
在数据被传输出去以前,主机需要知道本机的地址与环上某机地址是否有冲突,一旦存在冲突则主机就要对地址做相应的修改。用户要对地址进行修改,并做进一步的测
原创力文档


文档评论(0)