用FPGA+DSP实现HDLC(高级数据链路控制)功能

合集下载

基于FPGA+ARM的HDLC协议控制器的设计与实现

基于FPGA+ARM的HDLC协议控制器的设计与实现

基于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设计与实现
"# "% &
! "# !
图 , $%&’ 协议控制器总体结构图
转换并送入数据总线。 04 - ’.’ 校验 $%&’ 协议使用循环冗余校验,在发送端对信 息进行 ’.’ 编码, 其生成多项式为 "# ’ ( ! ) * ! $ ! "% $ ! & $ " ’.’ 校验模块实际为根据生成多项式所设计的 编码电路。根据循环系统码编码原理,该编码电路 实际上是乘 ! "# 除 ’ ( ! ) 的电路, 其示意图如图 - 所 示。电路的工作过程如下: ( ,)," 级移位寄存器的初始状态全清零,门 , 开、 门 - 关, 然后进行移位。 信息位移入编码电路后, 一方面经或门输出, 一方面则自动乘以 ! "# 后进入除 从而完成乘 ! "# 除 ’ ( ! ) 的功能; ’ ( ! ) 除法电路, ( -)信息位全部移入编码电路后除法完成,此 时 ," 位移位寄存器中的内容就是除法的余式的系 数, 即校验元; ( 0) 门 , 关、 门 - 开, 再经过 ," 次移位后, 把移 位寄存器的校验元全部输出; ( 2)门 , 开、 门 - 关, 送入第二组信息组重复上 述过程。 ’.’ 编码器的核心 8$%& 源代码如下: 444444 % 9 / : ; < =>? @AB % 9 ,# : C DAB > >? / EA 0 FAAG % 9 > H ,: ; < % 9 > : C
$
’()* 协议简介
在 ’()* 通信方式中,所有信息都是以帧的形 式传送的, ’()* 帧格式如表 2 所列。 ( 2)标志字 ’()* 协议规定,所有信息传输必须以一个标 志字开始,且以同一个标志字结束,这个标志字是 %222222%。开始标志到结束标志之间构成一个完整 的信息单位,称为一帧。接收方可以通过搜索 %222222% 来探知帧的开始和结束,以此建立帧同 步。在帧与帧之间的空载期,可连续发送标志字来 做填充。 ( $)信息段及 “ %” 比特插入技术 ’()* 帧的信息长度是可变的,可传送标志字 以外的任意二进制信息。为了确保标志字是独一无 二的, 发送方在发送信息时采用 “ %” 比特插入技术,

介绍一下HDLC(High-Level Data Link Control)高层数据链路协议.doc

介绍一下HDLC(High-Level Data Link Control)高层数据链路协议.doc

介绍一下HDLC(High-Level Data Link Control)高层数据链路协议
HDLC(High-Level Data Link Control)高层数据链路协议是一组用于在网络结点间传送数据的协议。

在HDLC中,数据被组成一个个的单元(称为帧)通过网络发送,并由接收方确认收到。

HDLC协议也管理数据流和数据发送的间隔时间。

HDLC是在数据链路层中最广泛最使用的协议之一。

现在作为ISO的标准,HDLC是基于IBM的SDLC协议的,SDLC 被广泛用于IBM的大型机环境之中。

在HDLC中,属于SDLC 的被称为通响应模式(NRM)。

在通常响应模式中,基站(通常是大型机)发送数据给本地或远程的二级站。

不同类型的HDLC被用于使用X.25协议的网络和帧中继网络,这种协议可以在局域网或广域网中使用,无论此网是公共的还是私人的。

基于FPGA平台的HDLC协议的应用与研究(全文)

基于FPGA平台的HDLC协议的应用与研究(全文)

基于FPG平台的HDLC协议的应用与研究一、HDLC协议的介绍数据链路层协议根据数据帧操纵的格式可以分为:面向字符的数据链路层协议和面向比特的数据链路层协议。

HDLC协议是一种面向比特的数据链路协议。

在这类面向比特的数据链路协议中,帧头和帧尾都是特定的二进制序列,通过操纵字段来实现对链路的监控,可以采纳多种编码方式实现高效的、可靠的透明传输。

二、基于FPG平台的HDLC协议的实现1、初始模块的实现.在实现HDLC模块以前必须针对其完成初始化的相应流程以后方可正常进入工作运行装填。

这里的初始化具体来说是针对HDLC模块内部的各类寄存器进行参数上的配置,其中主要的寄存器类型有辅助寄存器、地址寄存器等。

而且地址寄存器的初始化尤为重要,一般当对这几类寄存器完成初始化配置后,系统会自动生成一个标识信号,如果信号显示为正常且有效的,那么其代表HDLC的初始化工作已经基本完成,且可以进入到下一步工作状态中。

而辅助配置寄存器的初始化则并不一定需要在该阶段中完成。

2、发送模块的实现。

在HDLC协议中,具体负责差错校检功能的为CRC校检模块,具体的帧发送模块的实现过程为:首先系统与CPU线路开始连接一户,然后数据开始被写入到FIFO 中,如果检测到某条线路正好处于未被资源占用的状态,那么CRC校验模块则开始对FIFO中的数据进行校验和插零程序。

同时,数据经过插零并发送以后,每一个数据序列必须添加包头和包围并以串行的形式被发送端传输出去,并且将帧标志的状态修改为“011111100”,这里笔者将以上组成发送模块的发送端分成四个部分,分别是fifomin、insert_0、crcme以及frme insert 等模块。

3、接收模块的设计。

HDLC协议中的接收模块在功能结构的组成方面和发送模块相类似,主要由CRC校验模块、操纵模块、数据锁存模块以及同步模块组成。

具体来说,系统中的操纵模块针对数据传输中的删零过程以及标识检验过程来进行。

现代交换原理问答题题库

现代交换原理问答题题库

现代交换原理简答题1.简要说明DTMF信号的组成和特点。

DTMF信号是用高、低两个不同的频率来代表一个拨号数字。

DTMF信号的频带范围在话音频带的范围中,所以能通过交换机的数字交换网络和局间数字中继正确传输。

2.什么是电路交换方式?简要说明电路交换方式的特点。

电路交换方式是指两个用户在相互通信时使用一条实际的物理链路,在通信过程中自始至终使用该条链路进行信息传输,并且不允许其它计算机或终端同时共享该链路的通信方式。

电路交换属于电路资源预分配系统,即在一次接续中,电路资源预先分配给一对用户固定使用,不管电路上是否有数据传输,电路一直被占用着,直到通信双方要求拆除电路连接为止。

电路交换的特点是:在通信开始时要首先建立连接;1.一个连接在通信期间始终占用该电路,即使该连接在某个时刻没有信息传送,该电路也不能被其它连接使用,电路利用率低。

2.交换机对传输的信息不作处理,对交换机的处理要求简单,但对传输中出现的错误不能纠正。

3.一旦连接建立以后,信息在系统中的传输时延基本上是一个恒定值。

3.简要说明路由选择的一般原则:路由选择的一般原则是优先选择直达路由,后选迂回路由,最后选择由基干路由构成的最终路由。

4.简要说明本地电话网的含义。

本地电话网是指在同一个长途编号区范围以内的所有交换设备,传输设备和用户终端设备组成的电话网络。

5.什么是随路信令?什么是公共信道信令?随路信令是指用传送话路的通路来传送与该话路有关的各种信令,或传送信令的通路与话路之间有固定的关系。

公共信道信令是指传送信令的通道和传送话音的通道在逻辑上或物理上是完全分开的,有单独用来传送信令的通道,在一条双向的信令通道上,可传送上千条电路的信令消息。

6.简要说明数字程控交换系统中处理机的几种控制结构。

数字程控交换系统中处理机控制结构有分级控制方式,全分散控制方式和容量分担的分布控制方式的。

7.简要说明程控交换软件的基本特点——程控交换软件的基本特点是:实时性强,具有并发性,适应性强,可靠性和可维护性要求高。

基于FPGA的HDLC协议设计

基于FPGA的HDLC协议设计

摘要高级数据链路控制(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)协议是通信领域中应用最广泛的协议之一,它是面向比特的高级数据链路控制规程,具有差错检测功能强大、高效和同步传输的特点。

基于FPGA的HDLC协议实现

基于FPGA的HDLC协议实现

万方数据万方数据万方数据710电子器件第32卷5结论本文以FPGA芯片为核心,使用DSP为处理器,通过DS96F175ME、DS96F174ME器件,实现了基于485总线的HDLC协议通讯,该通讯协议数据传输速率可达1Mbit/s。

参考文献:图3ModelSim仿真波形[2]杨怀省,刘卫东,赵艳华.基于DSP平台的AVS自适应环路滤图3中,hdlc—en是使能信号,在仿真过程中一波的研究与实现[J].电子器件,2008,31(3):948—951·軎擘聋送数据信景望t些a_oct≯et篓竖篓篓譬口3萎笳嚣毒嚣篡焉FPG娜A的。

踟RM。

.11通讯模块撇计与号为rLdata_octet;发送时钟为tX_clk;接收时钟为[4]磊赢毒三:二≤n。

nti∞高Au。

盯Gu.de[s].xIuN)(rx_clk;采用的485通讯接口都带有伴随时钟。

rx_2008.idle为空闲状态;rx_flags为标志状态;rx_frame—ok[5]High-SpeedDSPSystemsDesignReferenceGuide[S].Texas为帧结果状态;从仿真结果中可以看到发送数据为Instruments,2005·0x57时,延时后接收数据为0x57,该仿真结果与设[6]李珩·~‘iumDesigner6电路设计实例与技巧[M]·北京:国防计状态相符。

[7]主罢塞篆:芸羹等.Ⅺ。

缸FPGA设计基础[M].西安:西安[8]乔庐峰,王志功.VHDL数字电路设计教程[M].北京:电子工(上接第706页)[2]ZouSiyi,ZhangGuang-chun,wuGuang-ning.TheApplicationofEmbeddedReal—TimeLinuxIntelligentInsulationLineMonitoring[C]//ISEIM2001,2001:201-204.[3]李彪.嵌人式Linux在测控通信系统中的应用研究[D].国防科学技术大学硕f:学位论文,2002,11.[4]SmarTraining1二作室梁如军解字杰等.RedHatLinux9桌面应用[M].机械上业出版社,2003,10.[5]北京飞漫软件技术有限公司.Linux/ttclinux+MiniGUI:嵌入式系统开发原理、T具及过程[M].[6]魏永明.MiniGUl技术白皮书[J][EB/OL].http://www.minigui.org/cdelc.html,2005-05-15.[7]魏永明.MiniGUI的背景发展优势[J][EIS/OL].http://wⅥ慨cILibm.com/developerworks/linux/embed/minigui/minigui一1.html,2005-05—15.[8]魏永明.Minigui编程指南[s][EB/OL].http://www.minigui.com/download/cindex.shtmk[9]魏永明.Minigui用户手册[s][EB/OL].http://wvw.minigui.com/download/eindex.shtmLDo]陈雅秀.Linux指令辞典[M].中国铁道出版社,2001。

基于FPGA的高速同步HDLC通信控制器设计

基于FPGA的高速同步HDLC通信控制器设计
Ab ta t sr c :Hihlv lDaa ik o t l ( g — e t Ln C nr e o HDL poo o s io e td y c rn u d t l k ly r poo o ,ti C)rtc li a bt r ne sn ho o s aa i a e rtc li s ・i n
陈 晨 ,李 志来 , 伟 ,金 光 一 徐
(. 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
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用FPGA+DSP实现HDLC(高级数据链路控制)功能
引言
HDLC的ASIC芯片使用简易,功能针对性强,性能可靠,适合应用于
特定用途的大批量产品中。

但由于HDLC标准的文本较多,ASIC芯片出于专
用性的目的难以通用于不同版本,缺乏应用灵活性。

有的芯片公司还有自己的
标准,对HDLC的CRC(循环冗余码校验)序列生成多项式等有不同的规定。


用于HDLC的ASIC芯片其片内数据存储器容量有限,通常只有不多字节的FIFO(先进先出存储器)可用。

对于某些应用来说,当需要扩大数据缓存的容量时,只能对ASIC再外接存储器或其他电路,ASIC的简单易用性就被抵销掉了。

HDLC的软件编程方法功能灵活,通过修改程序就可以适用于不同的HDLC
应用。

但程序运行占用处理器资源多,执行速度慢,对信号的时延和同步性不
易预测。

纯软件HDLC一般只能用于个别路数的低速信号处理。

FPGA采用硬件技术处理信号,又可以通过软件反复编程使用,能够兼
顾速度和灵活性,并能并行处理多路信号,实时性能能够预测和仿真。

DSP采用软件技术处理信号,也可以反复编程使用。

DSP、FPGA芯片
虽成本略微高于ASIC芯片,但具有货源畅通、可多次编程使用等优点。

在中
小批量通信产品的设计生产中,用FPGA和DSP实现HDLC功能是一种值得
采用的方法。

HDLC的帧结构和CRC校验
为了使FPGA的设计能够实现HDLC的基本功能并能按照各项标准的规定灵活采用不同的CRC校验算法,首先看一下HDLC基本的帧结构形式。

HDLC是面向比特的链路控制规程,其链路监控功能通过一定的比特组。

相关文档
最新文档