基于FPGA平台的HDLC协议的应用与研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA平台的HDLC协议的应用与研究.doc

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

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档