符合中国移动标准协议转换器中HDLC协议FPGA设计与实现

符合中国移动标准协议转换器中HDLC协议FPGA设计与实现

随着通信与网络技术的不断发展,使我国用现有的El资源来传输以太网业务成为广泛的应用。以太网数据要通过El线路传输就必须对以太网净荷数据进行帧封装,才能从El线路上恢复出以太网数据帧,完成以太网数据的交换。通常、以太网数据是通过HDLC协议或GFP协议来进行封装的。本文介绍了中国移动标准协议转换器中以太网到单路E1转换器HDLC协议封装的FPGA(现场可编程逻辑阵列)设计与实现。

通用HDLC协议介绍

HDLC(High Level Data LinkContr01)协议是通信领域应用最广泛的协议之一。它是面向位的高级数据链路控制规程,具有差错检测功能强大、高效和同步传输的特点。其帧结构如图l所示。

其中,F为起始标志和结束标志,定义为,作为帧同步标志。两HDLC帧间至少包含一个“0llllll0”。A为接收地址,c为控制字,Info为信息字段,是长度可变的净荷数据,FCS为对A+C+Info进行CKC校验的结果。A+C+Info+FCS就构成了HDLC帧透明传输的净荷内容。为了防止HDLC帧净荷中出现帧同步标志,协议规定,在发送端,如果HDLC帧的净荷中出现5个连续的“1”时,在第5个“1”后自动插入一个“0”:在接收端,当HDLC帧同步后,如果在帧净荷比特流中检测到连续5个“1”时,耍自动将第5个“1”后的“0”删除。从而保证了HDLC净荷良好的传输特性。

HDLc标准+的协议较多,如CCITT、ANSI、ISO/IEC等。各种标准的区别之一就是CRC校验处理的差异,体现如下:

1.帧校验序列位数不同,如CRC 16和CRC32。

2.CRC生成多项式不同,如对于CRCl6,CCITT标准的多项式是x16+x12+xS+l;ANSI标准的多项式是x16+x15+x2+1。

3.cRC校验寄存器的初始值不同,初始值为全“0”,或为全

“1”

4.CRC计算结果发送方式不同,如直接把CRC结果发送,或把CRC结果取反发送。中国移动标准协议中以太网到单路E1转换器及HDLC帧结构介绍

E1是我国电信传输网一次群使用的标准、资源十分丰富。以太网应用的快速普及,使得利用现有的El信道来传输以太网业务就成了当前的一种非常合理的需求。E1本身就是面向比特的信道,采用HDLC技术来封装以太网数据在E1上传输是一种非常合适高效的选择。针对这种情况,中国移动提出了以太网转换器的相关协议。

中国移动标准协议转换器中规定:以太网数据的LSB先发,并按此顺序进行CRCl6的FCS校验,CRC校验结果按位取反,并且MSB先发,其CRCl6生成多项式是x16+x12+x5+1。以太网帧封装到HDLC帧的映射关系如图2所示。

以太网到单路E1转换器中HDLC协议的FPGA设计

根据设计需求,本HDLC协议处理器将以太网帧的净荷数据通过HDLC协议封装,进行透明传输。设计时采用“Top t0 Down(自顶向下)”设计思路,使用图形化设计工具,自顶向下进行模块设计和信号定义。并进一步将设计分为封装和解封装两大模块,再根据具体功能进一步将收发两个模块细化。对于最底层的模块,本设计全部采用业内流行Verilog语言来实现。最后用FPGA进行功能验证。

HDLC封装模块HDLC―FRAMER

封装模块主要完成的功能包括:根据外部信号产生内部所须的各种控制信号(SEND CTL模块);对数据缓冲FIFO来的字节数据进行并串转换,并保证低位先发(HTX P2S模块):对串行帧净荷数据进行串行CRCl6校验,并把16位校验结果按位取反后高位先发紧接着最后一个帧净荷数据发出(INSERT CRC模块):在串行的以太网净荷及CRC校验序列流中进行连5个“1”后插“0”操作(INSERT ZERO模块);最后,再给插“0”后的比特数据流插入“7E”帧同步标记(INSERT 7E模块)。经过这些处理后,就完成了符合移动标准的HDLc协议封装功能。

关于CRCl6校验的说明。本设计中的CRC6采用的是串行校验算法,对并串转换后的串行数据进行校验。串行校验算法的具体电路在HDLC协议标准里都已明确给出了,可以很方便的获得。关于CRC校验的原理在很多文献里都有描述,这里不再重复。当然,CRCl6也可以采用并行的算法来实现。如果采用并行算法、CRCl6校验将直接对缓冲FIFO出来的字节数据进行校验后再进行并串变换。封装模块子层框图如图3所示。

HDLC解封装模块HDLC―DEFRAMER

解封装电路主要完成的

HDLC协议C语言,符合中国移动标准协议转换器中HDLC协议FPGA设计与实现.doc相关推荐

  1. spwm控制算法c语言实现,采用Verilog HDL语言与DDS技术实现SPWM控制算法的FPGA设计

    其部分程序代码如下: case(state1) A: //初始化状态 begin ADDRES1<=addr1; //时分复用第一路地址 READ_EN<=1′b1; //读使能开 NEX ...

  2. pdxp协议 C语言,集成CC控制逻辑,PD协议及MCU的Type-C应用方案

    Type-C系列亮点介绍 内包MCU.集成CC逻辑和DP协议 支持Typec DP Alt mode  和单独的DP输入 支持速率最高可达4-lane 5.4Gbps(HBR2) 支持macbook2 ...

  3. c语言房屋信息系统管理的设计方案,房屋销售系统的设计与实现.doc

    ****大学 本 科 毕 业 设 计 题 目 房屋销售系统的设计与实现 学 生 *** 指导教师 *** 年 级 09本科 专 业 计算机科学与技术 系 别 计算机科学系 *****大学计算机科学系 ...

  4. 人工免疫算法c语言实例,毕业设计_蚁群算法模拟系统的设计与实现.doc

    J I A N G S U U N I V E R S I T Y 本 科 毕 业 论 文 蚁群算法模拟系统的设计与实现 Ant Colony Simulation System Design and ...

  5. 锅炉液位控制系统的c语言程序,基于MATLAB的锅炉液位控制系统的设计和仿真.doc...

    专业整理 WORD格式 摘 要 近年来,在工业控制中,随着工业技术的不断改进和发展,锅炉液位的过程控制系统得到了广泛的应用,为了确保锅炉的控制系统的正常运行,控制系统中要求锅炉的液位往往需要维持在某一 ...

  6. TCP/IP协议簇中ARP协议

    目录 1.ARP协议简介 2.ARP协议结构 3.wireshark抓包分析 4.ARP协议分类 5.ARP协议应用 6.ARP攻击 1.ARP协议简介 在<IP协议>中我们讲解了IP地址 ...

  7. 杭州金田电磁转换器MODBUS通讯协议

    杭州金田电磁转换器MODBUS通讯协议 通讯协议采用标准MODBUS RTU通讯协议.仪表为从机. RTU消息帧定义 数据通讯由主机发起,主机首先发送RTU消息帧,消息帧发送至少要以3.5个字符时间的 ...

  8. 回退n帧协议c语言代码,[计算机网络]Ch.3 数据链路层

    数据链路层 1.DLL层设计问题 1.1 DLL层·功能 数据链路层使用物理层提供的服务在通信信道上发送和接收比特. (1) 向网络层提供一个定义良好的接口 (2) 处理传输错误 (3) 调节数据流, ...

  9. linux c之c语言符合标准的头文件和linux常用头文件

    1.C语言符合标准的头文件 #include <assert.h> //设定插入点 #include <ctype.h> //字符处理 #include <errno.h ...

  10. 【个人作品】推荐一个SIP客户端-软电话,基于SIP协议,语言C++,界面QT4 开源,asterisk,tribox测试成功

    推荐一个SIP客户端-软电话,基于SIP协议,语言C++,界面QT4 开源,asterisk,tribox测试成功 属于个人独创作品,欢迎使用测试,欢迎与作者联系,共同研究.如果大家喜欢将拿出源码. ...

最新文章

  1. LeetCode中等题之煎饼排序
  2. UniDAC使用教程(二):数据更新
  3. ADODB.Connection 错误 '800a0e7a' 未找到提供程序。该程序可能未正确安装。解决办法...
  4. 爷青回!16年前“打球AI”意外走红,程序员留下了自己的ICQ和MSN
  5. ) php中_如何在webmin中配置多个PHP版本
  6. 使用sqlserver日期函数获取当前日期
  7. linux下设定动态库路径的命令-error while loading shared libraries: xxx.so.x错误的原因和解决办法
  8. 1.4编程基础之逻辑表达式与条件分支 11 晶晶赴约会
  9. 价值800的swapidc鸟云模板
  10. 二叉树——美国血统(洛谷 P1827)
  11. ajax跨域为什么会失败,ajax跨域请求失败是怎么回事?
  12. python精彩编程200例-python趣味编程100例(99个)
  13. Redis中的SDS
  14. html 复选框事件,HTML复选框选中与未选中触发事件的方法
  15. 《网络安全等级保护基本要求》(GB/T 22239-2019)标准解读
  16. 论文写作各种图片格式转成eps格式(inkscape)
  17. C++ 数据存储类型
  18. Python3.7 下安装pyqt5
  19. 没有windows安装光盘怎么修复计算机,电脑没有u盘光盘重装windows7系统的方法步骤教程 - 系统家园...
  20. 燕山大学计算机研究生录取名单,燕山大学2020年硕士研究生调剂生拟录取名单公示...

热门文章

  1. 投入产出模型分析 分配平衡方程组和消耗平衡方程组
  2. 投入产出实例matlab,基于MATLAB的投入产出分析
  3. Python使用Win32和天行机器人API实现微信自动聊天机器人(自动敷衍机器人)
  4. 用Hadoop构建电影推荐系统
  5. JVM-内存区域与OOM
  6. 计算机主机关不了,电脑无法关机怎么办_电脑正常关机关不了如何解决
  7. SICP Python 描述 中文版
  8. blob形式导出Excel
  9. java有除数为零_java语言中除数为零问题
  10. psv变革怎么安装游戏_创造变革游戏