- 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平台的HDLC协议的应用与研究
【摘要】HDLC协议作为一种数字通信技术中使用较为广泛的高级链
路传输协议,在如今已经被用于计算机通信的各项领域当中,不过显然其
在被应用的过程屮同样出现了一些弊端。因此本文以基于FPGA平台的HDLC
协议作为研宄对象,重点讨论了 HDLC协议本身的构成,以及在实现HDLC
协议过程中对初始化模块、发送模块、接收模块进行了论述,最后给出了
仿真测试结果。
【关键词】HDLC协议数裾链路层FPGA平台
一、 HDLC协议的介绍
数据链路层协议根据数据帧控制的格式可以分为:面向字符的数据链
路层协议和面句比特的数据链路层协议。HDLC协议是一种面14比特的数据
链路协议。在这类面向比特的数据链路协议中,帧尖和帧尾都是特定的二
进制序列,通过控制字段来实现对链路的监控,可以采用多种编码方式实
现高效的、可靠的透明传输。
二、 基于FPGA平台的TOLC协议的实现
1、初始模块的实现.在实现HDLC模块以前必须针对其完成初始化的
相应流程以后方可正常进入工作运行装填。这里的初始化具体来说是针对
HDLC模块内部的各类寄存器进行参数上的配置,其屮主要的寄存器类型有
辅助寄存器、地址寄存器等。而且地址寄存器的初始化尤为重要,一般当
对这几类寄存器完成初始化配置后,系统会自动生成一个标识信号,如果
信号显示为正常且有效的,那么其代表HDLC的初始化工作已经基本完成, 且可以进入到下一步工作状态中。而辅助配置寄存器的初始化则并不一定
需要在该阶段中完成。
2、发送模块的实现。在IIDLC协议中,具体负责差错校检功能的为CRC
校检模块,具体的帧发送模块的实现过程为:首先系统与CPU线路开始连
接一户,然后数据幵始被写入到FIFO中,如果检测到某条线路正好处于
未被资源占用的状态,那么CRC校验模块则开始对FIFO中的数据进行校
验和插零程序。同时,数据经过插零并发送以后,每一个数据序列必须添
加包头和包围并以串行的形式被发送端传输出去,并且将帧标志的状态修
改为“011111100”,这里笔者将以上组成发送模块的发送端分成四个部分,
分别是 fifomain、insert_0、creme 以及 frame insert 等模块
3、接收模块的设计。HDLC协议中的接收模块在功能结构的组成方面
和发送模块相类似,主要由CRC校验模块、控制模块、数据锁存模块以及
同步模块组成。
具体来说,系统屮的控制模块针对数据传输屮的删零过程以及标识检
验过程来进行。控制模块会优先检测帧头和数据起始的范围,当检测到串
行数据中输入或者输出数值相对偏高,则证明帧头被控制模块捕捉到,如
果输入输出数值没有变化甚至为零,则说明尚未接受到帧头。CRC校验模
块则主要负责对串行数据进行校验。数据锁存模块主要对寄存器上所记录
的数据进行锁存,并将结果存储到系统屮来。另外,数裾锁存模块还会负
贵对短帧进行长度的检测、整数字节的检测以及起到反向传输字节的作
三、HDLC协议的仿真测试
1、 初始化模块测试。如下图1所示,其为HDLC模块在FPGA平台上
模拟仿真时序图,其正处于初始化状态,HDLC的初始化主要是针对系统的
各类寄存器进行配置,如图中所示,寻址寄存器中的WHte_AC_Flag被配
置的状态值就为“1”,其他寄存器像地址寄存器等相继完成配置以后,就
会在通过Init_DOne给出初始化完成的有效信号,从图中可看出上电时也
会完成初始化。
2、 发送模块测试。HDLC的发送模块主要原理是将需要发送的数据存
储到TDR寄存器中来,系统中的发送时钟Tx.Clk会在数据写入操作结束 以后开始进行轮询。其屮轮询周期被设定为0.25ms, Tx_Enable信号则是 在经过Poll_RRT_ Pulse正式?_始发送完毕以后开始生效。而且数据状态
机的TX.IDLR则开始正式跳转,并向系统发送有效的帧头标识。
3、 接收模块测试。HDLC的接收模块主要会使用外环测试,CH1和CH2
之间彼此构成环路,当C112接收端接受完所冇串并转换以后的数据流后,
就会开始对帧头状态进行丁妲,如果判断帧头为,系统白动
跳转为RX_FLAG,并且接着继续判断帧头和检测序列,直至不再出现以上 序列帧头就会再次转变状态。CRC校验信号值Rx_ CRC_Error仍然为0,
由此可以确认本次系统接收模块运行正常,可供帧数据之间的接收。
参考文献
易鸣.基于FPGA的IP协议转换控制器的研究与实现[D].广西大
学,2012.
孔令军.基于FPGA的POS 1C设计[D].杭州电子科技大学,2013.
刘岩俊,闫海霞.HDLC通讯协议中CRC的应用[J].电子测量技术,
2010, 03: 21-23.
刘文学,郭玉忠,姜琳琳.HD
文档评论(0)