HDLC协议控制器的设计
基于ARM的HDLC协议通信控制器设计与实现
![基于ARM的HDLC协议通信控制器设计与实现](https://img.taocdn.com/s3/m/8307eae2be1e650e52ea99ad.png)
2019年第16期信息与电脑China Computer & Communication软件开发与应用基于ARM的HDLC协议通信控制器设计与实现何 非(民航云南空管分局 技术保障部,云南 昆明 650000)摘 要:笔者采用ST公司ARM处理器STM32F103RCT6处理器,通过软件方式实现了使用高级数据链路控制(HDLC)协议封装的雷达数据报文在异步串口、以太网、USB等多种接口之间的数据双向传输。
该控制器的硬件成本低、接口丰富、使用灵活,能够满足民航空管系统雷达信号的通信需求。
关键词:高级数据链路控制;ARM;雷达数据处理中图分类号:TP273 文献标识码:A 文章编号:1003-9767(2019)16-075-03Design and Implementation of HDLC Protocol Communication ControllerBased on ARMHe Fei(Yunnan ATM Sub-bureau, CAAC, Kunming Yunnan 650000, China)Abstract: In this paper, STM32F103RCT6 processor, an ARM processor of ST company, is used to realize bidirectional data transmission between asynchronous serial port, ethernet, USB and other interfaces of radar data message encapsulated by HDLC protocol through software. The hardware cost of the controller is low, the interface is rich, and the use is flexible. The performance of the controller meets the communication requirements of the radar signal of the civil aviation air traffic control system.Key words: Advanced Data Link Control; ARM; Radar Data Processing0 引言高级数据链路控制(High-Level Data Link Control,HDLC)是一个在同步网上面向Bit位的数据链路层协议,具有透明传输、可靠性高、传输效率高等特点,可以实现点到点或者点到多点的数据传输,在民航空管系统使用的雷达信号通常采用HDLC协议进行传输。
基于FPGA+ARM的HDLC协议控制器的设计与实现
![基于FPGA+ARM的HDLC协议控制器的设计与实现](https://img.taocdn.com/s3/m/dc8c4efb4bfe04a1b0717fd5360cba1aa8118c89.png)
基于FPGA+ARM的HDLC协议控制器的设计与实现杨尧;赵立立;侯翔昊【摘要】针对飞控模拟装置中基于HDLC协议通信需求,完成了一种新的基于FPGA+ARM架构HDLC协议控制器的设计.文中首先介绍了HDLC协议的帧结构和循环冗余校验(CRC)原理,然后结合FPGA可进行任意数据宽度操作和ARM编程简单灵活的优点,有效实现了符合HDLC协议的帧结构和CRC校验的应用方法,满足HDLC协议要求.应用结果表明设计能够很好地满足各项功能指标的技术要求.【期刊名称】《电子设计工程》【年(卷),期】2014(022)010【总页数】3页(P91-93)【关键词】HDLC协议;循环冗余校验(CRC)原理;FPGA;ARM【作者】杨尧;赵立立;侯翔昊【作者单位】西北工业大学航天学院,陕西西安710072;西北工业大学航天学院,陕西西安710072;西北工业大学航天学院,陕西西安710072【正文语种】中文【中图分类】TN919高级数据链路控制(HDLC,High-Level Data Control)是一种同步数据传输、面向比特的数据链路层协议,具有差错检测功能强大、高效和同步传输的特点,目前HDLC协议已成为是通信领域中应用最广泛的协议之一,在飞行器设计领域经常用作飞控与舵机,助推器等之间通信的通信协议。
飞行控制模拟装置是在飞行器研制的方案阶段,用于飞行控制系统软件开发及仿真评估,飞行控制软件往往是A级软件,它的任何问题都将造成飞行失效,进而引起整个系统的瘫痪。
采取飞行器控制系统模拟装置进行软件算法验证,对各个分系统软件调试和系统验证,能够加快飞行器设计进度,减少设计风险和成本。
本文研究的HDLC协议控制器用于某型飞行器的飞控模拟装置与舵机控制器之间的通信。
一般而言HDLC协议主要是通过使用专用芯片和软件编程的方式来实现[1]。
目前在市场上有很多专用的HDLC协议处理芯片如MT8952B、MK5025,这些芯片性能可靠但功能针对性太强,适合应用于特定用途的大批量产品中[2]。
HDLC控制协议的FPGA设计与实现
![HDLC控制协议的FPGA设计与实现](https://img.taocdn.com/s3/m/23e08e17866fb84ae45c8d90.png)
! "# !
图 , $%&’ 协议控制器总体结构图
转换并送入数据总线。 04 - ’.’ 校验 $%&’ 协议使用循环冗余校验,在发送端对信 息进行 ’.’ 编码, 其生成多项式为 "# ’ ( ! ) * ! $ ! "% $ ! & $ " ’.’ 校验模块实际为根据生成多项式所设计的 编码电路。根据循环系统码编码原理,该编码电路 实际上是乘 ! "# 除 ’ ( ! ) 的电路, 其示意图如图 - 所 示。电路的工作过程如下: ( ,)," 级移位寄存器的初始状态全清零,门 , 开、 门 - 关, 然后进行移位。 信息位移入编码电路后, 一方面经或门输出, 一方面则自动乘以 ! "# 后进入除 从而完成乘 ! "# 除 ’ ( ! ) 的功能; ’ ( ! ) 除法电路, ( -)信息位全部移入编码电路后除法完成,此 时 ," 位移位寄存器中的内容就是除法的余式的系 数, 即校验元; ( 0) 门 , 关、 门 - 开, 再经过 ," 次移位后, 把移 位寄存器的校验元全部输出; ( 2)门 , 开、 门 - 关, 送入第二组信息组重复上 述过程。 ’.’ 编码器的核心 8$%& 源代码如下: 444444 % 9 / : ; < =>? @AB % 9 ,# : C DAB > >? / EA 0 FAAG % 9 > H ,: ; < % 9 > : C
$
’()* 协议简介
在 ’()* 通信方式中,所有信息都是以帧的形 式传送的, ’()* 帧格式如表 2 所列。 ( 2)标志字 ’()* 协议规定,所有信息传输必须以一个标 志字开始,且以同一个标志字结束,这个标志字是 %222222%。开始标志到结束标志之间构成一个完整 的信息单位,称为一帧。接收方可以通过搜索 %222222% 来探知帧的开始和结束,以此建立帧同 步。在帧与帧之间的空载期,可连续发送标志字来 做填充。 ( $)信息段及 “ %” 比特插入技术 ’()* 帧的信息长度是可变的,可传送标志字 以外的任意二进制信息。为了确保标志字是独一无 二的, 发送方在发送信息时采用 “ %” 比特插入技术,
HDLC协议IP核的设计(全文)
![HDLC协议IP核的设计(全文)](https://img.taocdn.com/s3/m/a7e52b3950e2524de4187eda.png)
HDLC协议IP核的设计(全文)《电子设计工程杂志》2014年第十一期1HDLC的帧结构首先回顾一下HDLC基本的帧结构形式。
HDLC是面向比特的链路控制规程,其链路监控功能通过一定的比特组合所表示的命令和响应来实现,这些监控比特和信息比特一起以帧的形式传送。
每帧的起始和结束以”7E”(01111110)做标志,两个”7E”之间为数据段(包括地址数据、控制数据、信息数据)和帧校验序列。
帧校验采用CRC算法,对除了插入的”零”以外的所有数据进行校验。
为了避免将数据中的”7E”误为标志,在发送端和接收端要相应地对数据流和帧校验序列进行”插零”及”删零”操作。
2原理框图基于FPGA的HDLC协议的实现原理框图如图1所示。
该框图包括3个部分:对外接口部分、HDLC发送部分、HDLC接收部分。
以下对3个部分的实现分别进行论述。
2.1对外接口模块对外接口部分主要实现HDLC对外的数据交换。
包括CPU接口、发送FIFO、发送接口、接收FIFO以及接收接口。
本设计是以总线的形式实现HDLC与外部CPU的通信。
当需要发送数据时,外部CPU通过总线将待发数据写入FIFO(FIFO的IP核在各开发软件中都是免费提供的,在程序中只需直接调用即可,故在此不再详细描述)。
之中。
发送数据准备就绪标志(TX_DAT_OK);接收数据时,当对外接口模块接收到数据有效信号时,根据接收模块发来的写信号(WR_MEM)将数据写入接收FIFO中。
接收完一帧数时向CPU 发送中断信号(INT),通知CPU读取数据。
2.2HDLC发送模块HDLC发送部分主要实现HDLC发送功能。
当接收到数据准备就绪标志(TX_DAT_OK)后,向对外接口模块发送读使能(RD_MEM_EN)和读信号(RD_MEM),通过局部总线将待发数据存入发送缓冲区,在T_CLK的控制下将数据从HDLC_TXD管脚发出。
数据发送模块采用状态机来完成发送各个阶段的切换。
状态切换流程图如图2所示。
基于FPGA的HDLC协议设计
![基于FPGA的HDLC协议设计](https://img.taocdn.com/s3/m/db399f07a58da0116c1749f6.png)
摘要高级数据链路控制(HDLC)协议是数字通信中的重要协议之一。
Altera公司的可编程门阵列(FPGA),设计了一种基于并行机制的高级数据链路控制(HDLC)协议控制系统。
该系统采用模块组合的设计方法,使系统的复杂功能由各个模块组合实现,这种分块处理使得设计层次清晰且易于修改。
该系统有效利用FPGA的内部硬件资源,实现了并行的多通道的HDLC协议报文的生成和解析。
通过分析当前实现HDLC协议的一般方法,指出其存在的一些弊端,提出了一种利用FPGA 编程实现HDLC协议的硬件处理方法,并对FPGA如何实现HDLC协议的帧序列校验——循环冗余校验(CRC)进行了阐述。
模块下载到硬件中测试通过,证实了FPGA实现HDLC协议的可行性,模块编程简单且易于修改使其在应用中具有很大的优越性。
基于在数据通信中为了降低通信线路传输的误码率,需要采用高效能的差错控制方法。
循环冗余校验CRC由于编码简单且有效,是一种最常用的信道编码方。
【关键词】:HDLC协议FPGA CRC校验ABSTRACTHigh level data link control (HDLC) protocol is an important one in digital communication. Altera's programmable gate array (FPGA), design of parallel mechanism based on high level data link control (HDLC) Protocol control system. The system uses a combination of modular design method, complex combination of features from the various modules of the system implementation, this block makes the design is clear and easy to modify. The system effectively uses the FPGA's internal hardware resources, enabling parallel multi-channel HDLC protocol message generation and parsing. Through an analysis of the current implementation of HDLC Protocol General, pointed out that there are some drawbacks, have come up with a hardware processing of the HDLC protocol using FPGA programming methods and verification on FPGA implementation of HDLC protocol using FPGA programming methods and verification on FPGA implementation of HDLC protocol frame sequence-a cyclic redundancy check (CRC) explains. Module downloaded to the hardware test passed, confirm the feasibility of FPGA implementation of HDLC Protocol, application module programming simple and easy to modify so that it has a lot of advantages. In data communication in order to reduce the error rate of the transmission of communication lines, requires the use of high-efficiency error control method. Cyclic redundancy check CRC as the coding is simple and effective, is one of the most common channel coding.【Key words】HDLC protocol FPGA CRC check目录前言 (5)第一章HDLC协议概述 (6)第一节HDLC协议简介 (6)第二节HDLC协议分析 (6)第二章基于FPCA的HDLC协议器设计 (9)第一节FIFO缓存区及端口控制 (9)第二节HDLC协议器 (10)第三章综合和验证及结果 (13)第一节仿真及验证 (13)第二节系统模块图 (14)第三节现象及讨论 (14)心得体会…………………………………………………………………………………….15参考文献 (16)附录 (17)前言在数据通信中,链路层协议种类繁多,从通信方式看,可以分为异步通信和同步通信,同步通信的协议也多种多样,有基于字符的通信协议,比如BSC协议、CD2协议和DDCMP协议等;也有基于比特的通信协议,比如HDLC协议,HDLC (High Levei Data Link Controi)协议是通信领域中应用最广泛的协议之一,它是面向比特的高级数据链路控制规程,具有差错检测功能强大、高效和同步传输的特点。
HDLC原理及实现
![HDLC原理及实现](https://img.taocdn.com/s3/m/5cb4c3d780eb6294dd886caf.png)
3.1HDLC 原理概述高级数据链路控制(High Level Data Link Control protocol) 高级数据链路控制(HDLC )协议 是一个在同步网上传输 数据、面向比特的数据链路层协议,它是由国际标准化组织(ISO)根据IBM 公司的SDLC(Synchronous Data Link Control)协议扩展开发而成的.促进传送到下一层的数据在传输过程中能够准确地被接收(也就是差错释放中没有任何损失并且序列正确)。
七十年代初,IBM 公司率先提出了面向比特的同步数据链路控制规程SDLC (Synchronous Data Link Control )。
随后,ANSI 和ISO 均采纳并发展了SDLC ,并分别提出了自己的标准:ANSI 的高级通信控制过程ADCCP (Advanced Data Control Procedure ),ISO 的高级数据链路控制规程HDLC (High-level Data Link Contl )。
链路控制协议着重于对分段成物理块或包的数据的逻辑传输,块或包由起始标志引导并由终止标志结束,也称为帧。
帧是每个控制、每个响应以及用协议传输的所有信息的媒体的工具。
所有面向比特的数据链路控制协议均采用统一的帧格式,不论是数据还是单独的控制信息均以帧为单位传送。
每个帧前、后均有一标志码01111110,用作帧的起始、终止指示及帧的同步。
标志码不允许在帧的内部出现,以免引起畸意。
为保证标志码的唯一性但又兼顾帧内数据的透明性,可以采用“0比特插入法”来解决。
该法在发送端监视除标志码以外的所有字段,当发现有连续5个“1”出现时,便在其后添插一个“0”,然后继续发后继的比特流。
在接收端,同样监视起始标志码以外的所有字段。
当连续发现5个“1”出现后,若其后一个比特“0”则自动删除它,以恢复原来的比特流;若发现连续6个“1”,则可能是插入的“0”发生差错变成的“1”,也可能是收到了帧的终止标志码。
基于FPGA的高速同步HDLC通信控制器设计
![基于FPGA的高速同步HDLC通信控制器设计](https://img.taocdn.com/s3/m/22fb4aa4dd3383c4bb4cd2a1.png)
陈 晨 ,李 志来 , 伟 ,金 光 一 徐
(. 1 中国 科 学 院 长 春 光 学精 密 机械 与 物 理研 究 所 ,吉林 长 春 1 0 3 ; .中国 科 学 院 研 究 生 院 ,北 京 1 0 3 ) 303 2 0 0 9 摘要 : 高级 数 据链 路 控 制 H L D C协 议 是 一 种 面 向 比特 的链 路 层 协议 , 有 同步 传 输 数 据 、 具 冗余 度 低 等 特 点 。 在 通 信 是 领 域 中应 用 最 广 泛 的链 路 层 协议 之 一 提 出实 现 H L D C通信 协议 的 主 要模 块— — C C校 验 模 块 及 ‘ ’ R O 比特 插 入 模 块
s n h o o s a d i o e r e o e u d n y i i o e o e mo te tn i ey a p id d t i k c n r lp oo o s n t i y c r n u n t lw d g e fr d n a c ,t s n ft s xe s l p l aa l o to r tc l.I h s s h v e n p p r C e f ai n mo u e a d ‘ a e . RC v r i t d l n 0’is r mo u e b s d o P st e mo ti ot n u cin mo u e i h i c o n e t d l a e n F GA a h s mp r t n t d l n t e HDL a f o C p oo o r n r d c d r tc l ae i t u e .CR e f a in mo u e u e tt c i e a d ‘ o C v r c t d l s d sa e ma h n n 0’i s r mo u e u e I O s t e p ma y i i o n et d l s d F F a h r r i mo u e. i h of r d s me n w i e s o h e in o L r tc lc nr l r h t o a e l e n o rc l d l wh c f e o e d a ft e d sg f HD C p oo o o t l .T e meh d w s r ai d a d c r t e oe z e y ta s t d o p r n s 0 v t r n mi e n S a a 3 4 0 De Ki t t . Ke r s y wo d :HDL r tc l RC v rf ai n ‘ C p oo o ;C e i t ; 0’b t n e t n ee e P i c o i i s r a d d lt ;F GA
实验八:HDLC配置
![实验八:HDLC配置](https://img.taocdn.com/s3/m/85ce568fe53a580216fcfee7.png)
《网络互联技术》课程实验指导书实验八:HDLC配置HDLC英文全称High level Data Link Control,高级数据链路控制,HDLC是一个在同步网上传输数据、面向位的数据链路层协议,它是个由1970年代IBM所提出的对称式资料连结控制(Synchronous Data Link Control,SDLC)所研发出来的ISO标准。
高级数据链路控制(HDLC)协议是基于的一种数据链路层协议,促进传送到下一层的数据在传输过程中能够准确地被接收(也就是差错释放中没有任何损失并且序列正确)。
HDLC 的另一个重要功能是流量控制,换句话说,一旦接收端收到数据,便能立即进行传输。
一、实验内容1、使用路由器串口通过HDLC广域网协议连接多台路由器二、实验目的1、掌握路由器串口的配置2、掌握HDLC协议的封装三、网络拓朴四、实验设备1、两台思科(Cisco)3620路由器(带一个以太网接口和一个同步Serial串口)2、两台安装有windows 98/xp/2000操作系统的主机3、若干交叉网线4、思科(Cisco)专用控制端口连接电缆5、思科(Cisco)串口背对背通信电缆五、实验过程(需要将相关命令写入实验报告)1、将路由器、主机根据如上图示进行连接2、设置主机的IP地址、子网掩码和默认网关3、配置RouterA的以太网接口Router# configure terminalRouter(config)# hostname RouterARouterA(config-if)# ip address 192.168.1.1 255.255.255.0RouterA(config-if)# no shutdownRouterA(config-if)# exit4、配置RouterB的以太网接口Router# configure terminalRouter(config)# hostname RouterBRouterA(config)# interface Ethernet 0/0RouterA(config-if)# ip address 192.168.3.1 255.255.255.0RouterA(config-if)# no shutdownRouterA(config-if)# exit5、配置RouterA的同步串行接口RouterA# configure terminalRouterA(config)# interface serial 0/0RouterA(config-if)# ip address 192.168.2.1 255.255.255.0RouterA(config-if)# no shutdownRouterA(config-if)# exit6、配置RouterB的同步串行接口RouterB# configure terminalRouterB(config)# interface serial 0/0RouterB(config-if)# ip address 192.168.2.2 255.255.255.0RouterB(config-if)# no shutdownRouterB(config-if)# exit7、在DCE设备中发送时钟同步命令(1)在RouterA和RouterB路由器上使用如下命令查看设备类型RouterA# show controllersRouterB# show controllers(2)在DCE设备端的路由器上发送时钟同步命令(假设RouterA为DCE设备类型)RouterA# configure terminalRouterA(config)# interface serial 0/0RouterA(config-if)# clock rate 64000RouterA(config-if)# exit8、查看各路由器接口状态(所有接口必须全部UP,且配置的协议也已经UP)RouterA# show protocolsRouterB# show protocols9、配置RouterA的RIP简单路由协议RouterA# configure terminal RouterA(config)# router ripRouterA(config-router)# network 192.168.1.0RouterA(config-router)# network 192.168.2.0RouterA(config-router)# exit10、配置RouterB的RIP简单路由协议RouterB# configure terminalRouterB(config-router)# network 192.168.2.0RouterB(config-router)# network 192.168.3.0RouterB(config-router)# exit六、思考问题1、在HDLC协议中为保证数据的透明传输采用什么方法,请简要叙述原工作原理。
基于E1的HDLC控制器的驱动的设计与实现
![基于E1的HDLC控制器的驱动的设计与实现](https://img.taocdn.com/s3/m/b4e976d8a58da0116c1749cc.png)
基于E1的HDLC控制器的驱动的设计与实现夏清,马跃北京邮电大学计算机科学与技术学院,计算网络研究中心,北京(100876)摘要:E1接口的公共信道技术建立在HDLC协议之上,如何使用E1接口芯片的HDLC 控制器是应用ISDN PRI、SS7等使用公共信道的信令的基础。
本文针对E1接口HDLC控制器,讨论驱动程序的设计与实现。
关键词:E1, HDLC,PSTN,LAPD,公共信道1. 引言随着VOIP技术的不断发展,IP与传统PSTN网络的互通成为关键的环节,较大规模的需要PSTN网络的语音业务日益增多。
E1以其带宽大、服务质量高成为IP与PSTN网络互通的最合适的接口。
语音业务往往以1号、ISDN PRI以及 SS7 ISUP等信令作为其控制信令,其中ISDN PRI和SS7均会使用HDLC。
E1接口芯片的HDLC控制器的驱动便成为IP 与PSTN互通的基础。
2. HDLC概述HDLC是一个在同步网上传输数据并面向位的数据链路层协议,具有透明传输、可靠性高、传输效率高以及灵活性高等特点。
它采用点对点或多点(多路播送或一对多)连接的主/从结构,要求每个从站都有唯一的地址,从站只有在允许通信时才能且只能和主站通信,这就消除了串行线路上由于几个从站同时发送数据引起冲突的可能性[1]。
通用的二层协议如SS#7、AppleTalk、LAPB和LAPD等都是基于HDLC及其帧结构的。
HDLC帧结构如图1所示。
图1 HDLC帧结构z F:标志位,每个HDLC帧以8位序列(01111110)标志帧的开始和结束,这是HDLC中仅有的两个包含连续六个1的可能组合。
为了避免在其它域中出现这种组合,HDLC采用了一种叫做位插人的办法实现组合,即每发现有连续五个1时便在下一位自动插人一个0,接收器在收到连续五个1之后又自动删去插入的0。
标志位除了标志帧的开始和结束外,还可用作时钟同步,接收设备不断地搜寻标志位,以实现帧同步,从而保证接收部分对后续字段的正确识别。
基于DSP和FPGA的HDLC协议通讯电路设计
![基于DSP和FPGA的HDLC协议通讯电路设计](https://img.taocdn.com/s3/m/a6b69d02b52acfc789ebc976.png)
可编程器件应用 电 子 测 量 技 术 EL ECTRONIC M EASU REM EN T TEC HNOLO GY第32卷第6期2009年6月 基于DSP和FPGA的H DLC协议通讯电路设计刘岩俊1 闫海霞2 魏仲慧1(1.中国科学院长春光学精密机械与物理研究所 长春 130033;2.吉林大学电子学院 长春 130012)摘 要:为了实现高速HDL C通讯协议,设计了DSP+FP GA结构的485通讯接口,接口包括DSP、FP GA、485转换等硬件电路,以及DSP与FP GA之间的数据交换程序和FP GA内部状态机;其中DSP用于实现数据控制,FP GA用于实现HDL C通讯协议,DSP与FP GA之间采用XIN TF方式,通过双FIFO缓存进行数据交换。
通过PCI接口连接PC机对系统进行测试,测试结果表明,系统通讯速度为1Mbps,并且工作稳定。
关键词:HDL C;RS485;FP GA;DSP中图分类号:TN409 文献标识码:ADesign of H DLC protocol communication circuitbased on DSP and FPGALiu Yanjun1 Yan Haixia2 Wei Zhonghui1(1.Changchun Institute of Optics,Fine Mechanics and Physics,t he Chinese Academy of Sciences,Changchun130033;2.JiLin University Electronic Depart ment,Changchun130012)Abstract:In order to realize the high speed HDL C communication protocol,a485interface with DSP+FP GA is designed,the interface includes the hardware circuit of DSP,FP GA,485conversion,the program of data exchange,and state machine.DSP control the communication data,FP GA implement the HDL C protocol,The FP GA and DSP exchange data with two FIFO cache by XIN TF interface.The system is tested by PC with PCI interface,experiments results show that the interface works stable with1Mbp s speed.K eyw ords:HDL C;RS485;FP GA;DSP0 引 言高级数据链路控制HDL C是一种面向比特的链路层协议,其最大特点是不需要数据必须是规定字符集,对任何一种比特流,均可以实现透明的传输。
通信测试卡中HDLC协议控制器的设计与实现
![通信测试卡中HDLC协议控制器的设计与实现](https://img.taocdn.com/s3/m/450947dc360cba1aa811da87.png)
通信 , 以在数 据传 输 过程 中可 以不加 C C校 验 , 所 R
本文将介绍一种简化 H L D C协议控制器 的方法 。
1 HD C协 议简 介 L
H L D C协议是 通 信 领 域 中应 用 最 广 泛 的协 议 之
一
,
其面 向比特 的高级数据链路控制规程 , 具有差错 检
关 键词 :控 制器 通信 测试 FG V D H L P A H L D C协 议
文献标 志码 :A 中图分 类号 :T 4 9 N 0
Absr c ta t:Ai n tte map a tc xsi gi o mig a h lr ciee itn n c mmo t d tp e e tfrHDLC prtc lc nrle ,t ehad r r c si to y n meho sa r s n o oo o o tolr h r wa ep o e sngmeh d b a o tn PGA oraiea dsmpi h d pi g F t e l n i ly teHDL poo o o tolri rp s d.W ihVHDL ln u g z f C rtc lc nrle sp o o e t a g a e,teta s tiga d rc iigmo uei h r n mi n n e evn d l s t d sg e e p ciey Th r ig p icpe n o o io sa l a he smuain r s l fe c d l r n rd c d i eal Th e in d r s e tv l. ewokn rn ilsa d c mp st n swel st i lt e ut o a h mo u e ae ito u e n d ti. i o s e r s l h w ta PGA i lf sHDLC poo o ,t u h o r mmi gfrmo ue e o ssmpe a a yt df e ut s o h tF s smp ie i rtc l h steprg a n o d lsb c me i l nde s o mo i y;t emeh d p se ss h to o s se
基于NIOSⅡ处理器的HDLC控制器IP核设计
![基于NIOSⅡ处理器的HDLC控制器IP核设计](https://img.taocdn.com/s3/m/a08289260b4c2e3f572763a8.png)
关键词 : HD L C协 议 ;A v  ̄ o n总 线 ;N I O S I I 处理 器
中图分类号 : T P 2 9
文献标识码 : A
H D L C ( H i g h . 1 e v e l D a t a L i n k C o n t r o 1 ) 协议 是通 信领 域 中使用最 为广泛 的一种协议 , 是面 向比特 的数据链高级控 制 规程 , 具有很强 的纠错能 力 , 易于 同步传 输 。 目前有 许多 专
( 空军预 警 学院 黄 陂士 官 学校 , 湖北 武 汉 4 3 0 3 4 5 )
摘 要: 为解 决专用 H D L ቤተ መጻሕፍቲ ባይዱ协议控制 器使 用灵活性 差 , 内部数据 缓冲 器容量 小 , 通 道数 目有 限等 问题 , 提 出采 用F P G A为设 计硬件 , 依据 H D L C协议 , 设计 H D L C收发单元模块 电路 , 结合 A v M o n总线标 准, 构建基 于 N I O S I I 处
透 明传输 特 性 。数 据 帧 均采 用 C R C 一 1 6校 验 , 传 输 可靠 性
H D L C协议 采用 C R C . 1 6算 法对 地址 字段 , 状 态控 制字 段及信息段数据进行校验 , 插入的“ 0 ” 不在校验范围 内。
高 。以上这些优 越性 , 是H D L C协议广泛应用 于数 据链通信 的重要 因素 , 是通信 可靠性的重要保证 。
常适 合 于大 数 据 量 传 输 的 场 合 。数 据 传 输 以帧 为 单 位 ,
HD L C协 议的帧格式如表 1 所示 。
表1 H DL C帧格式
HDLC协议控制器的设计
![HDLC协议控制器的设计](https://img.taocdn.com/s3/m/dfd13222453610661fd9f405.png)
目录内容摘要 (1)关键词 (1)Abstract (1)Key Words (1)1.绪论 (2)1.1研究的意义 (2)1.2本设计的主要功能 (2)2.HDLC协议综述 (3)2.1 HDLC协议的产生背景 (3)2.2 HDLC协议的帧结构 (4)2.3 HDLC协议的规程分析 (7)3.HDLC协议控制器的设计 (8)3.1 HDLC协议控制器设计方案选择 (8)3.2 FPGA的设计原则 (9)3.3 HDLC协议控制器总框架 (10)3.4 HDLC帧发送器的设计 (11)3.5 HDLC帧接收器的设计 (15)参考文献 (18)致谢 (19)[说明:在本页中,“目录”二字居中,宋体小二号,加黑,其它统一由宋体小四号,不加黑排版打印、行间距为1.5]内容摘要:HDLC(高级数据链路控制)协议是一种面向比特的链路控制规程,广泛的用作数据链路层的控制协议。
论文在分析和研究HDLC协议的基础上,提出了一种基于FPGA(现场可编程门阵列)的HDLC协议控制器的设计。
对HDLC协议控制器的功能进行划分,分别设计了标志位的检测和生成、插零和删零、FCS的校验等控制模块。
采用VHDL硬件描述语言在FPGA内部实现HDLC协议的各功能模块,本设计使用Quartus II 9.1平台实现代码编写、综合、编译、仿真。
对HDLC链路控制规程功能,帧控制和FCS校验功能进行了仿真实现。
关键词:HDLC;FPGA;帧收发器;Abstract:(宋体,小四号,加黑)××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××。
电子信息工程技术《10.3 HDLC协议及配置方法》
![电子信息工程技术《10.3 HDLC协议及配置方法》](https://img.taocdn.com/s3/m/a63afdfff605cc1755270722192e453610665bba.png)
10.3 HDLC协议及配置方法高级数据链路控制(High Level Data Link Control protocol,HDLC)是一种面向比特的链路层协议,其最大特点是所传输的数据不必是规定字符集,对任何一种比特流,均可以实现透明的传输。
标准HDLC协议族中的所有协议都运行于同步串行线路之上,如DDN。
由于HDLC的帧中没有包含标识所承载的上层协议信息的字段,所以在链路层封装标准HDLC 协议的单一链路上只能承载单一的网络层协议。
本节将详细介绍HDLC的基本结构、原理及配置方法。
10.3.1 HDLC协议概述在数据链路上加入适当的控制规程,可以大大降低实际链路上的误码率,使数据通信变得更加可靠。
在网络发展的初始阶段,数据链路上引入的都是面向字符的控制规程。
所谓面向字符就是指在链路上所传送的数据必须由规定字符集中的字符所组成,并且链路上传送的控制信息也必须由同一个字符集中的若干指定的控制字符构成。
虽然这种面向字符的控制规程对计算机网络通信的发展发挥了重要的作用,但是,其通信链路利用率低、设备兼容性差、控制字符错误无法控制、数据扩展困难等缺点逐渐暴露出来。
为此,需要一种新的链路控制规程来代替旧的面向字符的链路规程。
1974年,IBM公司推出了著名的系统网络体系结构(Systems Network Architecture,SNA),其数据链路层规程采用了面向比特的同步数据链路控制规程(Synchronous Data Link Control,SDLC)。
后来,IBM将此规程提交美国国家标准协会ANSI和国际标准化组织ISO,建议能成为国家和国际标准。
ANSI把SDLC修改为ADCCP(Advanced Data Communication Control Procedure)作为美国国家标准,而ISO则把SDLC修改后称为 HDLC(High-level Data Link Control),译为高级数据链路控制,作为国际标准ISO 3309。
HDLC协议控制器IP核的设计与实现
![HDLC协议控制器IP核的设计与实现](https://img.taocdn.com/s3/m/56954103a4e9856a561252d380eb6294dd88229f.png)
HDLC协议控制器IP核的设计与实现
王雅荣;鲍民权;邱智亮
【期刊名称】《电子技术应用》
【年(卷),期】2007(33)2
【摘要】介绍了HDLC协议控制器的IP核方案及实现方法,分别对发送和接收模块进行了分析,给出了仿真波形图.该设计采用Verilog HDL语言进行描述,用ModelSim SE 6.0进行了功能仿真.
【总页数】4页(P33-35,40)
【作者】王雅荣;鲍民权;邱智亮
【作者单位】西安电子科技大学,ISN国家重点实验室,陕西,西安,710071;西安电子科技大学,ISN国家重点实验室,陕西,西安,710071;西安电子科技大学,ISN国家重点实验室,陕西,西安,710071
【正文语种】中文
【中图分类】TP3
【相关文献】
1.通信测试卡中HDLC协议控制器的设计与实现 [J], 刘延飞;李琪;杨铁阡;倪亮
2.基于FPGA+ARM的HDLC协议控制器的设计与实现 [J], 杨尧;赵立立;侯翔昊
3.HDLC协议IP核的设计与实现 [J], 闫军虎;张明社;郗海燕
4.基于NIOS Ⅱ处理器的HDLC控制器IP核设计 [J], 张显才;秦振杰;马宁
5.基于ARM的HDLC协议通信控制器设计与实现 [J], 何非
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录内容摘要 (1)关键词 (1)Abstract (1)Key Words (1)1.绪论……………………………………………………………………21.1研究的意义 (2)1.2本设计的主要功能………………………………………………22.HDLC协议综述 (3)2.1 HDLC协议的产生背景 (3)2.2 HDLC协议的帧结构 (4)2.3 HDLC协议的规程分析 (7)3.HDLC协议控制器的设计………………………………………………83.1 HDLC协议控制器设计方案选择…………………………………83.2 FPGA的设计原则 (9)3.3 HDLC协议控制器总框架………………………………………103.4 HDLC帧发送器的设计 (11)3.5 HDLC帧接收器的设计 (1)5参考文献…………………………………………………………………18致谢 (19)[说明:在本页中,“目录”二字居中,宋体小二号,加黑,其它统一由宋体小四号,不加黑排版打印、行间距为1.5]内容摘要:HDLC(高级数据链路控制)协议是一种面向比特的链路控制规程,广泛的用作数据链路层的控制协议。
论文在分析和研究HDLC协议的基础上,提出了一种基于FPGA(现场可编程门阵列)的HDLC协议控制器的设计。
对HDLC协议控制器的功能进行划分,分别设计了标志位的检测和生成、插零和删零、FCS的校验等控制模块。
采用VHDL硬件描述语言在FPGA内部实现HDLC协议的各功能模块,本设计使用QuartusII 9.1平台实现代码编写、综合、编译、仿真。
对HDLC链路控制规程功能,帧控制和FCS校验功能进行了仿真实现。
关键词:HDLC;FPGA;帧收发器;Abstract:(宋体,小四号,加黑)××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××。
(宋体,小四号,不加黑)Key words:(宋体,小四号,加黑)×××□□×××□□×××□□(宋体,小四号,不加黑)1 绪论1.1研究的意义HDLC是一个在同步网上传输数据、面向位的数据链路层协议,它是由国际标准化组织(ISO)制订的。
该协议被广泛的用作数据链路层的控制协议,HDLC控制器在网络设备中得到大量的使用,如列车通信网络技术、综合业务数字网ISDN、X.25分组交换网以及帧中继网等。
怎样在产品中设计与实现HDLC网络协议也是一个技术研究的热点。
HDLC的一般实现方法为采用 ASIC 器件和软件编程等。
ASIC的芯片有Motor ola公司的MC92460,ST公司的MK5025等。
应用这些ASIC 器件时设计简单,功能针对性强,性能可靠,适用于特定用途的大批量产品中。
但是这类ASIC芯片存在开发时间长,一旦芯片固有缺陷就不容易解决等问题,而且HDLC标准的文本较多,ASIC芯片出于专用性的目的难以通用于不同版本,缺乏灵活性。
HDLC的软件编程方法灵活,通过修改程序就可适用于不同的HDLC应用,但程序运行占用处理器资源多,执行速度慢,实时性不易预测。
FPGA(Field Programmable Gate Array, 现场可编程门阵列)器件采用硬件处理信号,可以反复编程,能够兼顾速度和灵活性,并能多路并行处理。
在中小批量通信产品的设计中,FPGA 是取代 ASIC 实现 HDLC 功能的一种合适选择。
1.2 本设计的主要功能本文实现了一种采用FPGA的HDLC协议控制器的设计和功能仿真。
首先综述了HDLC协议的产生背景和帧结构,提出了基于FPGA设计模式的控制器。
以HDLC协议帧的接收和发送为主体,在明确FPGA的设计原则的基础上,对帧收发器进行分功能模块设计,编写代码,时序分析。
以发送器为例,其中包括了标志位的生成,插零,FCS校验等模块的设计。
接收器跟发送器设计思想类似。
在完成各个模块的设计后,使用了Quartus II9.1自带仿真器对各个模块的功能一一进行了仿真,并对HDLC协议及其规程进行了验证和分析。
2 HDLC协议综述2.1HDLC协议的产生背景ﻩ计算机通信的早期,人们发现对于经常发生误码的实际链路,只要加上了合适的控制规程,就可以是通信变得比较可靠。
这些规程都是数据链路层的协议,都是面向字符的。
所谓面向字符,就是说在链路上所传送的数据都是由规定的字符集中的字符所组成的。
而且,链路上传送的控制信息也必须由同一个字符集中的若干指定的控制字符构成。
ﻩ面向字符的链路控制规程曾在计算机网络的发展过程中起了重要的作用,但随着发展,这种规程就逐渐暴露出其弱点。
其主要限制是:1.通信线路的利用率低,因为它采用的是停止等待协议,收发双方交替地工作。
2.所有通信设备必须使用同样字符的代码,而不同版本的规程要求使用不同的代码。
3.只对数据部分进行差错控制,若控制部分出错就无法控制,因而可靠性差。
4.不易扩展,每增加一种功能就需要设定一个新的控制字符。
1974年,IBM 公司推出了著名的体系结构SNA。
在SNA 的数据链路层规程上采用了面向比特的规程SDLC(Synchronous DataLink Control)。
后来IBM将此规程提交美国国家标准协会ANSI 和国际标准化组织ISO,建议成为国家和国际标准。
ANSI把SDLC 修改为ADCCP(Advanced Data CommunicationControlProcedure)作为美国国家标准,而ISO 把SDLC修改后称为HDLC(High-levelDataLinkControl),并作为国际标准ISO3309。
HDLC协议有两种链路配置和三种数据传送方式:1.非平衡模式:a.正常响应方式NRM(NomalResponse Mode)b.异步响应方式ARM(AsynchronousResponseMode)2.平衡模式:c. 异步平衡方式ABM(AsynchronousBalanced Mode)2.2HDLC 协议的帧结构HDLC的帧格式由六个字段组成,这六个字段可以分为五种类型,即标志序列(F)、地址字段(A)、控制字段(C)、信息字段(I)、帧校验字段(FCS)。
在帧结构中允许不包含信息字段I。
图1 HDLC帧结构标志序列(F)HDLC指定采用01111110为标志序列,称为F标志。
要求所有的帧必须以F标志开始和结束。
接收设备不断地搜寻F标志,以实现帧同步,从而保证接收部分对后续字段的正确识别。
另外,在帧与帧的空载期间,可以连续发送F,用来作时间填充。
在一串数据比特中,有可能产生与标志字段的码型相同的比特组合。
为了防止这种情况产生,保证对数据的透明传输,采取了比特填充技术。
当采用比特填充技术时,在信码中连续5个“1”以后插入一个“0”;而在接收端,则去除5个“1”以后的“0”,恢复原来的数据序列,如图4所示。
比特填充技术的采用排除了在信息流中出现的标志字段的可能性,保证了对数据信息的透明传输。
数据中某一段比特组合恰好00 1 0出现和F字段一样的情况会误认为是F字段发送端在5个连1之后 0 0 1 0 0 1 1 1 11 0 1 0填入0比特再发送出去填入0比特在接收端将5个连1之后0 0 100 1 0 1 0图2 比特填充当连续传输两帧时,前一个帧的结束标志字段F可以兼作后一个帧的起始标志字段。
当暂时没有信息传送时,可以连续发送标志字段,使接收端可以一直保持与发送端同步。
地址字段(A)地址字段表示链路上站的地址。
使用平衡方式(采用ABM),地址字段写入应答站的地址。
HDLC协议没有给出地址字段的具体格式,只对其扩充方法及全站地址、无站地址给出了定义。
考虑到实际的需要与实现上的方便,定义地址字面结构如下:X –未使用Bit0 置“1”,表示地址字段只有一个字节C/R置“1”表示命令帧,置“0”表示响应帧图3 地址字段定义地址字段的长度采用8bit时,最多可以表示64个站的地址。
地址字段bit2~bit 7为“111111”时,定义为全站地址,即通知所有的接收站接收有关的命令帧并按其动作;bit2~bit7为全“0”比特为无站地址,用于测试数据链路的状态。
因此有效地址共有62个。
●控制字段(C)控制字段用来表示帧类型、帧编号以及命令、响应等。
由于C字段的构成不同,可以把HDLC帧分为三种类型:信息帧、监控帧、无编号帧,分别简称I帧(Information)、S帧(Supervisory)、U帧(Unnumbered)。
在控制字段中,第1位是“0”为I帧,第1、2位是“10”为S帧,第1、2位是“11”为U帧。
图4 基本模式控制字段注:X-未使用,置0 U-未定义,置1。
图5 扩充模式控制字段●信息字段(I)信息字段内包含了用户的数据信息和来自上层的各种控制信息。
长度小于58Bytes。
帧校验序列字段(FCS)帧校验序列用于对帧进行循环冗余校验,其校验范围从地址字段的第1比特到信息字段的最后一比特的序列,并且规定为了透明传输而插入的“0”不在校验范围内,长度定义由于单板中有部分HDLC链路采用HDLC控制器实现,而HDLC控制器只能支持16bits的CRC2.3HDLC协议的规程分析1.使用统一的帧格式:实现数据、命令和响应的传输,实施起来方便;2.采用‘0’位插入法:使得规程可以支持任意的位流传输,保证了信息传输的透明性;3.采用窗口机制和捎带应答机制:全双工工作方式,允许在未收到确认的情况下,连续发送多个帧,提高了信息传输的效率;4.采用帧校验序列,并设置窗口序号,可以提高信息传输的正确性和可靠性。
总之,面向二进制位的控制规程比面向字符型的控制规程具有较高的优越性。
3 HDLC协议控制器的设计3.1HDLC协议控制器设计方案选择HDLC协议控制器实现方法有三种:ASIC器件、软件编程以及FPGA器件。