基于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协议的应用与研究 【摘要】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)

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

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

1亿VIP精品文档

相关文档