在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5061|回复: 12

[资料] FPGA实现HDLC协议

[复制链接]
发表于 2012-6-28 08:46:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x

FPGA实现HDLC协议

HDLC(High Level Date Link Control)协议是通信领域中应用最广泛的协议之一,它是面向比特的高级数据链路控制规程,具有差错检测功能强大、高效和同步传输的特点。目前市场上有很多专用的HDLC芯片,但这些芯片大多控制复杂,通道数目有限;另一方面,专用芯片的使用会有效增大PCB板面积,不利于设备的小型化,而且带来高成本等问题。FPGA能对任意数据宽度的信号进行处理,内部的功能模块可以并行处理。因此,采用FPGA技术设计HDLC协议控制器可以均衡整个系统的负荷,实现多通道的高性能HDLC协议控制器,保证通信的可靠性。同时它还具有设计开发周期短、设计制造成本低、可实时在线检验等优点
  1 HDLC协议简介
  在HDLC通信方式中,所有信息都是以帧的形式传送,HDLC帧格式,如表1所示。

  (1)标志字。
  HDLC协议规定,所有信息传输必须以—个标志字开始,且以同一个标志字结束,这个标志字是01111110。开始标志到结束标志之间构成—个完整的信息单位,称为一帧。接收方可以通过搜索01111110来探知帧的开始和结束,以此建立帧同步。在帧与帧之间的空载期,可连续发送标志字来做填充。
   (2)信息段及“0”比特插入技术。
  HDLC帧的信息长度是可变的,可传送标志字以外的任意二进制信息。为了确保标志字是独一无二的,发送方在发送信息时采用“0”比特插入技术,即发送方在发送除标志字符外的所有信息时(包括校验位),只要遇到连续的5个“1”,就自动插入一个“0”;反之,接收方在接收数据时,只要遇到连续的5个“1”,就自动将其后的“0”删掉。“0”比特插入和删除技术也使得’HDLC具有良好的传输透明性,任何比特代码都可传输。
   (3)地址段及控制段。
  地址字段为8位,也可以8的倍数进行扩展,用于标识接收该帧的栈地址;控制字段为8位,发送方的控制字段用来表示命令和响应的类别和功能。
  (4)帧校验。
  HDLC采用16位循环冗余校验码(CRC-16)进行差错控制,其生成多项式为x16+x12+x5+1,差错校验指对整个帧的内容作CRC循环冗余校验,即对在纠错范围内的错码进行纠正,对在校错范围内的错码进行校验,但不能纠正。标志位和按透明规则插入的所有“0”不在校验的范围内。
  2 HDLC协议的FPGA实现
  平台为确保满足高速通讯、多通道收发、功能易于扩展配置的任务要求,中心控制器采用了以高性能的CPU数据处理核心、采用FPGA设计串行通信控制器来收发多通道HDLC数据的一体化设计。

  FPGA按照HDLC协议规程,接收并存储来自集成处理器等8个独立通道的数字量。系统先将外部输入的HDLC数据流由RS485电气特性转换为TTL电平,在此过程中用光耦进行隔离,以避免与外部设备之间的相互干扰,并且RS485芯片与光耦器件的相关电源使用由电气供给的独立5 V和5 V地。 HDLC协议总体结构框图,如图2所示,每个控制模块由时钟控制、编码/冲突检测、发送和接收FIFO等功能模块组成。在发送方向和接收方向,各有一个128 bit的FIFO,用于串行通道和CPU总线接口之间的数据缓冲。发送是接收的逆过程,这里以HDLC数据接收为例进行说明。

  FPGA串行通信控制器接收HDLC数据的原理为:首先,将接收到的数据帧的消息字段和附加的状态字段移入,然后根据选定的寻址模式,对接收帧中的目的地址进行识别,确认数据帧的发送地址是否为本设备(站地址=77H),是本设备数据帧则进行接收数据并存储在FIFO中,当接收数据帧结束时,发出中断信号给CPU,请求接收HDLC数据。
  目的地址不是本设备的数据帧将被抛弃,流程图如图3所示。

新建 Microsoft Word 文档.doc

130.5 KB, 下载次数: 81 , 下载积分: 资产 -2 信元, 下载支出 2 信元

发表于 2012-6-28 09:01:16 | 显示全部楼层
这是招标广告?
发表于 2012-6-28 20:50:07 | 显示全部楼层
呵呵,感觉像。楼主要是想实现可以联系我,QQ1634696325,我经常帮别人写代码。
发表于 2012-6-29 00:53:22 | 显示全部楼层
高层的协议,用FPGA有点大材小用了吧?
发表于 2012-6-29 13:10:57 | 显示全部楼层
看起来像是从哪个网页随便粘贴过来的
发表于 2012-7-31 20:54:21 | 显示全部楼层
学习学习学习
发表于 2012-7-31 21:57:32 | 显示全部楼层
学习了。。。
发表于 2012-8-25 15:08:03 | 显示全部楼层
看看咋样了
发表于 2014-12-18 21:34:24 | 显示全部楼层
下载看看是否有用
发表于 2015-2-4 10:19:02 | 显示全部楼层
回复 1# zjj81515


   好资料,谢谢楼主分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 20:34 , Processed in 0.035264 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表