- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高速串行通信接口设计和实现1
摘 要:本文设计了一种用于板间或芯片间高速数据传输的串行接口方案,并基于 Xilinx
V5SX35T FPGA 芯片平台实现了板卡间3.125Gbps 的数据传输。通信接口采用Verilog 可编
程语言实现,物理层处理使用RocketIO 协议,数据链路层协议采用Aurora ,用户接口采用
FIFO 缓冲,支持异步时钟域间的数据传输。通过大量测试数据传输验证了该方案的可行性
和有效性,以及接口设计和实现方法的正确性。
关键词:串行通信 RocketIO Aurora FPGA FIFO
中图分类号:TN839
1.引言
随着技术的发展,在很多硬件设计中,芯片与芯片,单板与单板间需要进行大量的数据
交换。并行传输已经远远不能满足高速传输的需求,而高速串行的出现使得数据传送数率有
很大的提高。在数字系统的互连设计中,高速串行I/O技术取代传统的并行I/O技术成为当前
发展的趋势。与传统的并行I/O技术相比, 串行I/O技术具有更远的距离、更低的成本和更高的
扩展能力,克服了并行I/O设计存在的缺陷。目前,高速串行接口通信的工业标准协议有:
XAUI 、PCI Express 、Fiber Channel 、Serial Rapid IO、Fiber Channel等。在实际设计应用中,
采用现场可编程门阵列(FPGA)实现高速串行接口是一种性价比高的技术途径。基于高速串
行收发器RocketIO技术能够完成千兆串行传输的功能目标,为后续采用FPGA实现各种高速
协议奠定了良好的基础。Rocket IO不仅能够大大的简化电路设计,也可以使系统中的数据
传递工作变得更加灵活可靠。随着FPGA芯片技术的发展,Rocket IO 的功能和结构也在不断
[1]
改进和提高 。
2 .RocketIO工作原理研究
[2]
Rocket IO 收发模块由物理编码子层(PCS )和物理介质接入(PMA )构成 。
1本课题来源于星河亮点通信有限责任公司 TD-SCDMA 终端综合测试仪项目。
-1-
其中物理编码子层提供与 FPGA 逻辑内的数字接口,内部包括:循环冗余码校验 CRC、
8B/10B 编解码器、先进先出缓冲器 FIFO ;物理介质接入提供与外部媒体的模拟接口,其中
包括:PMA 锁相环、发送端时钟生成器、发送缓冲器、串化器、接收端的时钟恢复电路,接
收缓冲器、解串器、可变速率的全双工收发器、可编程的五级差分输出幅度(摆率)控制和
可编程的四级输出预加重模块。各功能模块原理在各节中分别阐述。
2.1 时钟恢复模块
高速串行通信发送端将时钟通过 8B/10B 编码嵌入传输的数据中,在接收端使用时钟锁
相环从接收数据中提取出有效时钟,提供给串并转换(Serdes)模块。
为满足适当的高速运作,RocketIO 发送器需要一个高质量、低抖动的参考时钟。
参考时钟通过输入 FPGA 时可采用下列方法来保证时钟性能:
1.使用外部晶振驱动专用时钟布线。
2.通过专用时钟布线使用相邻 RocketIO 模块的时钟。
3.使用 FPGA 内部时钟。
使用专用时钟布线提供可能最佳的时钟。每个 RocketIO 结构有一对专用时钟管脚,其
相应的 IBUFDS 源语可用于驱动这对管脚。
2.2 8B/10B 编码
8B/10B 编码用于 PCS 模块中,它是一种数值查找类型的编码机制,将九位的字(八比特
信息位,一位控制位)转化为 10 位符号用于发送。编码集合包括 256 个数据字符和 12 个控
制字符。
8b/10b 中的直流平衡是通过一种称作“运行不一致性” 的方法来实现的。实现直流平衡的
最简单办法是:只使用有相同个数 0 和 1 的符号,但是这将限制符号的数量。8B/10B 编码集
合包括 0、1 相等的字符和 0、1 不等的字符。8B、10B 编码通过不一致性跟踪发送和接收码
字的个数。对于 0、1 不等的字符,正不一致性字符 1 比0 个数多两位,负一致性字符 0 比 1
多两位。8B、10B 编码有以下特征:直流平衡;可监控单个或多个比特错误;足够的发送密度
保证接收端可时钟恢复。编码器检测
文档评论(0)