HDLC协议处理器的FPGA实现
HDLC的FPGA实现方法(Altera)
HDLC的FPGA实现方法摘要:HDLC(高级数据链路控制)的一般实现方法为采用ASIC器件和软件编程等。
应用ASIC器件时设计简单,但灵活性较差;软件编程方法灵活,但占用处理器资源多,执行速度慢,实时性不易预测。
FPGA器件采用硬件处理技术,可以反复编程,能够兼顾速度和灵活性,并能多路并行处理,实时性能能够预测和仿真。
在中小批量通信产品的设计中,FPGA是取代ASIC实现HDLC功能的一种合适选择。
采用Altera公司的FPGA芯片,在MAX+plus II软件平台上实现了多路HDLC电路的设计,并已在某通信产品样机中应用成功。
关键词:数据通信; HDLC;CRC校验;FPGA;MAX+plus II1 引言HDLC(High-level Data Link Control Procedures, 高级数据链路控制规程)广泛应用于数据通信领域,是确保数据信息可靠互通的重要技术。
实施HDLC的一般方法通常是采用ASIC(Application Specific I ntegrated Circuit,特定用途集成电路)器件和软件编程等。
HDLC的ASIC芯片有Motorola公司的MC92460、ST公司的MK5025、Zarlink公司的MT8952B等。
这些集成电路使用简易,功能针对性强,性能可靠,适合应用于特定用途的大批量产品中。
但由于HDLC 标准的文本较多,ASIC芯片出于专用性的目的难以通用于不同版本,缺乏应用灵活性。
例如CCITT、A NSI、ISO/IEC等都有各种版本的HDLC标准,有的芯片公司还有自己的标准,对HDLC的CRC(Cycl ical Redundancy Check,循环冗余码校验)序列生成多项式等有不同的规定。
况且,专用于HDLC的A SIC芯片其片内数据存储器容量有限,通常只有不多字节的FIFO(先进先出存储器)可用。
对于某些应用来说,当需要扩大数据缓存的容量时,只能对ASIC芯片再外接存储器或其它电路,ASIC的简单易用性就被抵销掉了。
fpga逻辑设计方案报告
fpga逻辑设计方案报告FPGA逻辑设计方案报告一、引言FPGA(Field-Programmable Gate Array,现场可编程门阵列)是一种可编程数字逻辑器件,具有灵活性和可重构性。
FPGA的设计涉及到逻辑电路设计、时序设计和综合优化等方面。
本报告旨在介绍FPGA逻辑设计方案的基本原理和方法。
二、FPGA逻辑设计基础1. FPGA架构:FPGA由可编程逻辑单元(CLB)、输入输出模块(IOB)和可编程互连资源(Interconnect)构成。
CLB是FPGA 中最基本的逻辑单元,包含查找表(LUT)、寄存器和多路选择器等。
IOB用于与外部设备进行数据交换。
Interconnect用于连接CLB和IOB,实现不同逻辑单元之间的互连。
2. FPGA编程语言:常见的FPGA编程语言包括VHDL和Verilog。
这些语言提供了描述数字逻辑电路的方式,可以通过编写代码来实现逻辑功能。
三、FPGA逻辑设计流程1. 需求分析:明确设计的功能和性能要求,确定逻辑电路的输入输出接口。
2. 模块划分:将整个设计任务划分为多个模块,每个模块负责实现一个特定的功能。
3. 逻辑设计:使用FPGA编程语言编写每个模块的逻辑电路描述。
在描述中使用逻辑门、寄存器、多路选择器等基本元件,通过组合和时序逻辑的方式实现所需功能。
4. 综合优化:对逻辑电路进行综合,将高级语言描述转化为逻辑门级的电路描述。
综合优化包括逻辑优化、时序优化和面积优化等。
5. 时序设计:对逻辑电路进行时序约束的设置,确保信号的传输满足时序要求。
时序设计包括时钟频率、时钟分频、时钟延迟等方面的考虑。
6. 布局布线:将逻辑电路映射到FPGA的物理资源上。
布局布线包括逻辑单元的位置分配和信号线的路径规划。
7. 静态时序分析:对布局布线后的电路进行时序分析,检查是否满足时序要求。
8. 配置生成:将逻辑电路的配置位流生成,用于配置FPGA芯片。
9. 下载与验证:将配置位流下载到FPGA芯片中,通过验证测试确保设计满足功能和性能要求。
HDLC协议IP核的设计(全文)
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通信系统设计与实现
一
分 信 号 转 换 , DL H C协 议 的 发 送 模 块 、 收 模 块 、 R 接 C C校
验 等 功 能 由 F G 实 现 ,D P与 F GA 之 间 数 据 交 换 采 P A S P 用 X N F接 口 。 D P 与 F GA 芯 片 之 间 数 据 通 过 数 据 IT S P 线 、 址 线 、 选 信 号 、 写 控 制 信 号 连 接 。 系 统 硬 件 结 地 片 读
c mmu i ai n y tm i e in d n i hI1 l t. 1e y t m sn F G o n c t s s o e s d s e a d mp 1i (1 g I l 1l s se u ig P A. DS n 4 5 o v l i tr c P a d 8 c n e  ̄ n e a e.T e e in c e f h d sg s h me l f wc a t s wel s t e r a iai n f k y ld h l r s n e o h r ,a l a h e l t o e no u a t z o ,p e e td.T e y t m i e td y C h s se s se b P wi P I n e a e,e p rme t e t t h C i tr c f x ei ns r— s i h w t a h i tr c o k tb e wi 1Mh s s'eI h e in h s b e s c e su l p l d i o a l r d cs u t s o h t t e n e a e w r s sa l t / l ( s f h .T e d s a e n u c sf l a p i n s me s mp e p o u t . g y e
基于FPGA技术的HDLC帧收发器的设计与实现的开题报告
基于FPGA技术的HDLC帧收发器的设计与实现的开题报告一、研究背景与意义在现代通信系统中, HDLC(High Level Data Link Control)协议是一种广泛应用的数据链路层协议,在数据传输领域具有重要的意义。
HDLC协议能够实现可靠的数据传输、错误检测和纠错等功能,被广泛应用于各种通信系统中,如计算机网络、通信卫星、传感器网络等。
而在HDLC协议中,帧的生成和解析是其最基本的部分,因此设计一种高效、可靠的HDLC帧收发器技术,对实现基于HDLC协议的数据通信具有重要的意义。
而FPGA(Field-Programmable Gate Array)技术是一种高性能、高灵活性的可编程逻辑器件,具有并行处理能力强、延迟低、功耗小、可扩展性高等特点,被广泛应用于数字电路设计领域。
基于FPGA技术设计和实现HDLC帧收发器,能够实现高速、高效的帧传输和处理,提高通信系统的可靠性和稳定性。
二、研究内容与目标本次研究的主要内容是基于FPGA技术设计和实现一种高效、可靠的HDLC帧收发器,实现对于HDLC帧的收发和解析。
具体包括以下内容:1. HDLC协议的理论分析和研究,了解HDLC帧格式和协议流程,确定设计方案和实现策略;2. FPGA器件的选型和系统设计,包括硬件电路设计和信号处理等方面的内容;3. 基于Verilog HDL进行设计和实现,包括模块化设计、状态机设计、时序控制等;4. 通过仿真和实际硬件测试验证设计的正确性和可行性;本研究的目标是实现一种高效、可靠、具有扩展性的HDLC帧收发器,满足各种通信系统对于数据传输和处理的需求,并且与现有通信系统的兼容性良好。
三、研究方法1. 理论分析法:对HDLC协议进行深入研究和理论分析,确定设计方案和实现策略,为后续的FPGA设计提供理论基础和指导;2. 硬件电路设计法:选用适合的FPGA器件进行系统设计,包括电路设计和信号处理等方面的内容,确定硬件电路结构和信号流程;3. Verilog HDL设计法:基于Verilog HDL进行设计和实现,包括模块化设计、状态机设计、时序控制等,实现HDLC协议的帧收发和解析功能;4. 仿真和测试法:采用Modelsim等仿真工具进行软件仿真,通过实际硬件测试验证设计的正确性和可行性。
基于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校验模块、操纵模块、数据锁存模块以及同步模块组成。
具体来说,系统中的操纵模块针对数据传输中的删零过程以及标识检验过程来进行。
HDLC的帧格式介绍及模拟FCS简单生成
HDLC的帧格式介绍及模拟FCS简单生成在HDLC中,数据和控制报文均以帧的标准格式传送。
HDLC中的帧类似于BSC的字符块,但BSC协议中的数据报文和控制报文是独立传输的,而HDLC中的命令应以统一的格式按帧传输。
HDLC的完整的帧由标志字段(F)、地址字段(A)、控制字段(C)、信息字段(I)、帧校验序列字段(FCS)等组成.(1)标志字段(F)标志字段为01111110的比特模式,用以标志帧的起始和前一帧的终止。
标志字段也可以作为帧与帧之间的填充字符。
通常,在不进行帧传送的时刻,信道仍处于激活状态,在这种状态下,发方不断地发送标志字段,便可认为一个新的帧传送已经开始。
采用“0比特插入法”可以实现数据的透明传输。
(2)地址字段(A)地址字段的内容取决于所采用的操作方式。
在操作方式中,有主站、从站、组合站之分。
每一个从站和组合站都被分配一个唯一的地址。
命令帧中的地址字段携带的是对方站的地址,而响应帧中的地址字段所携带的地址是本站的地址。
某一地址也可分配给不止一个站,这种地址称为组地址,利用一个组地址传输的帧能被组内所有拥有该组一一的站接收。
但当一个站或组合站发送响应时,它仍应当用它唯一的地址。
还可用全“1”地址来表示包含所有站的地址,称为广播地址,含有广播地址的帧传送给链路上所有的站。
另外,还规定全“0”地址为无站地址,这种地址不分配给任何站,仅作作测试。
(3)控制字段(C)控制字段用于构成各种命令和响应,以便对链路进行监视和控制。
发送方主站或组合站利用控制字段来通知被寻址的从站或组合站执行约定的操作;相反,从站用该字段作对命令的响应,报告已完成的操作或状态的变化。
该字段是HDLC的关键。
控制字段中的第一位或第一、第二位表示传送帧的类型,HDLC中有信息帧(I帧)、监控帧(S帧)和无编号帧(U帧)三种不同类型的帧。
控制字段的第五位是P/F位,即轮询/终止(Poll/Final)位。
控制字段中第1或第1、2位表示传送帧的类型,第1位为“0”表示是信息帧,第1、2位为“10”是监控帧,“11”是无编号帧。
基于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。
城轨列车监控系统HDLC通信协议开发
城轨列车监控系统HDLC通信协议开发作者:田照耀刘泰来源:《中国新通信》2015年第01期【摘要】本文介绍了一种在NI CompactRIO平台基础上自主开发的HDLC通信协议,既有软件编程方法的功能灵活,方便修改,适用性广的特点,又具有专用芯片性能可靠、实时性高、可并行处理、CPU利用率抵等优点。
【关键词】列车监控系统 HDLC FPGA一、概述HDLC(High Level Data Link Control),是国际标准化组织ISO制订的高级数据链路控制规程。
它具有数据报文可透明传输、报文长度可以是任意位、传输效率高、可靠性高等优点。
HDLC的一般实现方法为采用专用芯片和软件编程等。
应用专用芯片时设计简单、使用简易、功能针对性强、性能可靠,适合应用于特定用途的大批量产品中,但灵活性较差;软件编程方法灵活,但占用处理器资源多、执行速度慢、实时性不易预测,HDLC 的软件编程方法功能灵活,通过修改程序就可以适用于不同的 HDLC 应用。
本文在NI CompactRIO平台基础上,利用其集成的高性能FPGA芯片,使用编程方式实现HDLC协议,既有软件编程方法的功能灵活,方便修改,适用性广的特点,又具有专用芯片性能可靠、实时性高、可并行处理、CPU 利用率低等优点,其生成电路所具有的性能可媲美经厂商定义并优化的硬件性能。
另外还具有开发周期短,成本低的优点,在实际应用过程中,取得了良好的效果。
二、系统总体结构HDLC协议的实现总共分三部分(如图1 所示),第一部分位于实时控制器中通过软件实现,主要是通信参数的设置(如周期、波特率、超时时间等)、故障处理和发送接收数据管理。
第二部分位于NI CompactRIO FPGA中,主要实现HDLC的协议部分,其中包括通信管理单元,数据缓存区FIFO和完全独立的两个通信通道。
通信管理单元是整个协议运行的指挥者,其负责通信的初始化设置、通信的周期控制及故障诊断。
HDLC原理及实现
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”,也可能是收到了帧的终止标志码。
多通道HDLC协议的FPGA实现
收稿日期 :2009203204 ; 修回日期 :2009204201 。 作者简介 :李 娜 (19842) ,女 ,在读研究生 ,主要从事声纳技术方向 的研究 。
图 1 CRC - 16 校验算法原理框图
根据 CCIT T 标准 , 采用 16 比特取反的帧检验序列 CRC EQU = 0000100000010000 。图 1 中输入即逻辑中的 BU FFER
图 2 多通道 HDL C 整体框图 图 2 为系统整体框图 , FP GA 按照 HDL C 协议规程 , 接 收并存储来自集成处理器等 8 个独立通道的数字量 。系统先将 外部输入的 HDL C 数据流由 RS485 电气特性转换为 T TL 电 平 , 在此过程中用光耦进行隔离 , 以避免与外部设备之间的相 互干扰 , 并且 RS485 芯片与光耦器件的相关电源使用由电气 供给的独立 5V 和 5V 地 。HDL C 协议总体结构框图如图 3 所 示 , 每个控制模块由时钟控制 、编码/ 冲突检测 、发送和接收 FIFO 等功能模块组成 。在发送方向和接收方向 , 各有一个 128 字节的 FIFO , 用于串行通道和 CPU 总线接口之间的数据 缓冲 。发送是接收的逆过程 , 这里我们以 HDL C 数据接收为 例进行说明 。
本文首先定义了亮暗目标的区别 , 建立了帧对消规则 。在 研究运动弱小目标和运动噪声的相似性和区别的基础上 , 针对 帧差分结果中噪声的弱相关性 , 利用对消后定点能量积累 , 解 决了能量积累时对目标运动速度的要求 , 克服了帧间差分法中 由于差分帧选择时机不当带来的空洞现象 。并提出组合扰动排 除法 , 大幅度削弱了帧间相互独立的运动噪声点和杂波干扰 。 实验证明该方法具有较好的实时性和准确性 , 提高了运算的速 度和精度 。
基于FPGA的HDLC设计实现
基于FPGA的HDLC设计实现李晓娟;黄翌【摘要】根据某雷达的实际要求在FPGA中设计了HDLC协议处理器,并详述了该协议器的设计构想及具体功能模块的实现.该设计采用分块处理的方法使设计简单灵活,适合于系统移植和借用.试验结果证明设计可行有效,可以满足系统要求.同时对主要功能模块进行了仿真和测试,提供了关键结点仿真波形图及部分原代码.【期刊名称】《现代电子技术》【年(卷),期】2007(030)006【总页数】3页(P35-37)【关键词】雷达;HDLC;FPGA;系统移植【作者】李晓娟;黄翌【作者单位】中国电子科技集团第38研究所,安徽,合肥,230031;中国电子科技集团第38研究所,安徽,合肥,230031【正文语种】中文【中图分类】TN951 引言高级数据链路控制规程(High Level Data Link Control,HDLC)是面向比特的同步通信协议,具有差错检测能力强大、高效和同步传输的特点,应用于各种高速数据传输系统中。
实现HDLC通常可采用软件编程或ASIC器件。
软件编程方法功能灵活,通过修改程序就可以适用于不同的HDLC应用。
但程序运行占用处理器资源多,执行速度慢,对信号的时延和同步性不易预测。
软件编程方法一般只能用于个别路数的低速信号处理。
ASIC器件实现方法简单、功能针对性强。
但由于HDLC标准的文本较多,ASIC器件出于专用性的目的难以通用于不同版本,缺乏应用灵活性。
而且,专用于HDLC的ASIC芯片其片内数据存储器(FIFO)容量有限,当需要扩大数据缓存的容量时,只能对ASIC芯片外接存储器或其他电路,使ASIC的简单易用性大大降低。
某雷达要求采用HDLC协议对外传输大量数据,由于系统同时要求在高集成的控制板上完成整机时序、整机控制、信息融合及多类数据传输等功能。
根据实际情况,设计了基于FPGA的HDLC协议控制器。
现场可编程门阵列(Field Programmable Gate Array,FPGA)是采用硬件技术处理信号,又可以通过软件反复编程使用,能够兼顾速度和灵活性,并能并行处理多路信号,实时性能够预测和仿真。
基于FPGA的HDLC协议实现
第32卷 第3期2009年6月电子器件Chinese J ournal Of Elect ron DevicesVol.32 No.3J un.2009Implementation of H DLC Protocol B ased on FPGAL I U Yanj un 1,YA N H ai x i a 2,H E X i n31.Changchun I nstit ute of Optics ,Fine Mechanics and Physics ,Chinese A cadem y of S ciences ,Changchun 130033,China;2.J iL in Universit y Elect ronic Depart ment ,Changchun 130012,ChinaAbstract :In order to implement high speed serial communicatio n ,a co mmunication interface of RS485bus is designed based on FP GA.Between FP GA and DSP ,t here are two FIFO cache ,t he communication data are exchanged by DSP data bus.The PCB card which is centered by t he DSP and FP GA ,and programs t he HDL C protocol wit h V HDL are designed.Experiment result s show t hat t he communication speed can reach 1Mbit/s ,and t he system works stable wit hout error.K ey w ords :FP GA ;RS485;DSP ;HDL C EEACC :6150基于FPGA 的H DLC 协议实现刘岩俊1,闫海霞2,何 昕13(1.中国科学院长春光学精密机械与物理研究所,长春130033;2.吉林大学电子学院,长春130012)收稿日期:2008212217作者简介:刘岩俊(19782),男,助理研究员,博士,主要研究方向是光电测量,liuyanjun @ ;闫海霞(19772),女,讲师,博士,主要研究方向是信号处理;何 昕(19662),男,研究员,博士生导师,主要研究方向是光电测量、数字图像处理,SPIE 、中国光学协会会员摘 要:为了实现高速串行通讯,设计了基于FP GA 的RS485总线的通讯接口,FP GA 与DSP 之间采用双FIFO 进行数据缓存,并且通过DSP 总线与DSP 进行数据交换;开发了以FP GA 和DSP 为核心的原理图与印制电路板,使用V HDL 语言开发了HDL C 通讯协议的控制时序。
WTB
WTB(Wire Train Bus):绞线式列车总线WTB总线主要用于列车级的通信,其传输速率为1Mbps,可以实现过程数据和消息数据的传输,其最大特点就是具有列车初运行功能(列车初运行功能就是当列车车辆的配置发生变化后,能够自动地对车辆进行编址,构成新的列车拓扑结构,而不需要人为的参与)。
WTB总线特变适用于需要动态编组的列车车辆。
WTB能够周期性地传输过程数据,其传输周期为基本周期(25ms)的整数倍,传输数据的最大长度为128个字节。
过程数据采取广播方式,总线上一个节点可以接受到其他节点的过程数据。
对于非周期性数据的传输,可以采用消息数据方式,其传输速度较慢。
消息数据需要相应的实时议栈支持,用于实现网络层及以上各层协议。
WTB以德国DINV3322和意大利CD450高速列车的数据通信经验为基础而制定的。
WTB使用专用屏蔽双绞线电缆。
电线的布置采用冗余原则,在各车辆的每一侧各有一根电缆。
为适应频繁改变其组成的列车组。
WTB被设计成通过手插式跨接电缆或自动连接器来实现车辆之间的互连。
考虑到严酷的环境、连接器的存在以及总线的非连接性,TCN标准建议采用数字信号处理器对曼彻斯特信号译码。
作为通用的现场总线,WTB属于总线仲裁型网络,他的链路层使用HDLC高级数据链路控制,数据交换采用报文传送方式,是用于列车网,并适用于经常解挂和联挂的列车。
WTB网络HDLC在FPGA中的实现1 引言TCN(Train Communication Network)总体结构是由WTB(绞线式列车总线)和MVB(多功能车辆总线)组成,符合IEC61375-1标准。
本文主要围绕WTB链路控制的帧格式进行研究。
鉴于IEC61375-1标准中规定的WTB帧数据格式与IS03309中定义的HDLC(High Level Data Link Control)格式一致,基带Manchester-Biphase-L技术编解码器现则围绕HDLC展开。
HDLC协议在FPGA通信系统中的实现
收稿日期:2008-10-13;修回日期:2008-12-08。
作者简介:宋飞(1982-),男,四川成都人,硕士研究生,主要研究方向:计算机网络、信息系统安全; 李志蜀(1946-),男,重庆人,教授,博士生导师,主要研究方向:计算机网络安全。
文章编号:1001-9081(2009)04-1092-03HDLC 协议在FPG A 通信系统中的实现宋 飞,李志蜀(四川大学计算机学院,成都610064)(asfei@yahoo )摘 要:设计了一种基于高级数据链路(HDLC )协议的数据通信系统,并将HDLC 协议在现场可编程门阵列(FPG A )中实现。
该系统可有效利用FPG A 片内硬件资源,无需外围电路,高度集成且操作简单。
着重介绍了系统中最重要的协议发送、接收模块以及”0”比特的插入删除模块的实现方法。
关键词:数据通信;高级数据链路协议;现场可编程门阵列中图分类号:TP393.04 文献标志码:AIm plem en t a ti on of HDLC protocol ba sed on FPGA i n comm un i ca ti on system sS ONG Fei,L I Zhi 2shu(College of Co m puter Science,S ichuan U niversity,Chengdu S ichuan 610064,China )Abstract:A data communicati on syste m based on H igh 2level Data L ink Contr ol (HDLC )p r ot ocol was designed,and then HDLC p r ot ocol in Field Pr ogra mmable Gate A rray (FPG A )was i m p le mented .The syste m can take advantage of FPG A hard ware effectively .It has s ome outstanding advantages,such as high scale integrati on,no need of peri pheral circuit and being easy t o use .This paper e mphatically described the i m p le mentati on methods of trans m itting p r ot ocol and receivingp r ot ocol and the method f or "0"bit inserti on and deleti on .Key words:data communicati on;H igh 2level Data L ink Contr ol (HDLC )p r ot ocol;Field Pr ogra mmable Gate A rray (FPG A )0 引言高级数据链路(H igh 2level Data L ink Contr ol,HDLC )协议是一个在同步网上传输数据、面向比特的数据链路层协议。
基于ARM的HDLC协议通信控制器设计与实现
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协议控制器的设计与实现杨尧;赵立立;侯翔昊【摘要】针对飞控模拟装置中基于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协议概述
HDLC协议概述摘要本文首先介绍了HDLC的发展历史以及HDLC协议的链路配置、帧结构等内容,并对现存的HDLC标准和其应用范围及发展前景进行了概述。
关键词HDLC协议数据链路层标准正文一、HDLC发展历史高级数据链路控制(High-level data link control),简称HDLC,是一个在同步网上传输数据、面向比特的数据链路层协议。
60年代,英国NPL网首先提出分组交换的概念。
之后,美国的ARPA网采用分组交换的方式运行。
计算机网络纷纷出现,但原来用于终端到计算机之间的通信的控制规程都是以字符为基础的,它们往往难以满足计算机到计算机之间的通信要求。
70年代初,IBM公司率先提出了面向比特的同步数据链路控制规程SDLC(Synchronous Data Link Control),SDLC是IBM 系统网络体系结构Systems Network Architecture(SNA)数据链路层的协议。
随后,美国国家标准化协会ANSI将SDLC修改为ADCCP(Advanced Data Control Procedure)做为国家标准;ISO将修改后的SDLC称为高级数据链路控制HDLC(High-level Data Link Contl),并将它做为国际标准。
HDLC与基本型规程相比较,它的主要进步在于引入一个标志F(01111110)和一个0比特插入机构,使传输数据的控制机构简单,并把面向比特的能力引入传输机构。
国际标准化组织ISO 于1981年正式推荐了一个网络系统结构----七层参考模型,叫做开放系统互连模型(Open System Interconnection,OSI)。
OSI 参考模型将整个网络通信的功能划分为七个层次,它们由低到高分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
HDLC协议数据链路层,把从物理层来的原始数据打包成帧。
数据链路层负责帧在计算机之间的无差错传递。
基于HDLC协议的图像实时压缩传输技术研究
基于HDLC协议的图像实时压缩传输技术研究张修建;梁伟伟;王兵;赵茜;靳硕【摘要】针对航天某领域视频监测需求,解决在图像传输过程中误码率较高,传输链路可靠性较低的问题,提出了一种基于HDLC协议的图像实时压缩传输系统;在给出系统体系结构的基础上,对视频压缩算法、码流控制和环形缓冲区算法进行了研究分析,介绍了图像实时压缩传输技术的设计和软件实现方法,采用多线程技术设计了两种视频监测模式,采取编码器结构优化和压缩算法优化等技术途径,保证图像压缩的实时性和正确性,实现了多路视频的单路切换和多路并行两种模式下的视频监测技术;该系统保证了码流的平稳发送并按照HDLC协议传输至测试台控制单元中,连续运行5小时内无图像丢帧,并能够准确地表达剧烈突变的运动,性能可靠,在应用中取得了良好的效益.%According to the video surveillance requirement in a certain field of spaceflight,solve problems in the process of image trans mission with high bit error rate,low transmission link reliability,a real-time image compression and transmission system based on HDLC protocol is proposed.Based on the proposed system framework,the image compression algorithm,stream control and ring buffer algorithm are studied and analyzed.The paper introduces the design and software implementation of the real-time image compression transmission technology.To ensure the real-time image compression and correctness,two kinds of video monitoring mode design using multi-thread technology,adopt the encoder structure optimization and compression algorithm optimization approach,has realized the multi-channel video single path switching and multiplex parallel video monitoring technologyin the two modes.The system ensures the steady transmission of the bit stream and is transmitted to the center controller in accordance with the HDLC protocol,which has been running continuously for 5 hours without image missing frame,and can accurately express the dramatic changes in the movement.The system is reliable in performance and has achieved good results in applications.【期刊名称】《计算机测量与控制》【年(卷),期】2018(026)002【总页数】4页(P203-206)【关键词】实时压缩;H.264;HDLC协议;多路并行【作者】张修建;梁伟伟;王兵;赵茜;靳硕【作者单位】北京航天计量测试技术研究所,北京100076;北京航天计量测试技术研究所,北京100076;北京航天计量测试技术研究所,北京100076;华北计算技术研究所,北京100083;北京航天计量测试技术研究所,北京100076【正文语种】中文【中图分类】TP2730 引言视频泛指将一系列静态影像以电信号方式加以捕捉、纪录、处理、储存、传送与重现的各种技术,随着通信技术的不断发展和网络带宽的快速增长,视频不断应用于各种传统及新兴行业中[1]。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HDLC 协议处理器的FPGA 实现潘佳峰,张有根,李纯喜(北京交通大学通信实验室 北京 100044)摘 要:讲述了一种HDL C 协议的硬件设计实现,并在FPGA 上成功地实现了综合。
全部设计方案采用V HDL 语言描述。
实验结果证明这种设计有效可行,可以满足一些系统的要求。
对HDL C 功能设计采用的是“Top to Dow n ”(“从顶到底”)的方法,根据要求的功能先设计出顶层的原理框图,由若干个功能模块组成。
再把各个模块细化为子模块,各层的功能用硬件描述语言来实现。
设计采用分块处理的方法使各个模块的设计简单灵活、易于修改,适合中小批量通信产品的设计。
关键词:V HDL ;HDL C ;FPGA ;“从顶到底”中图分类号:TN 91913 文献标识码:B 文章编号:1004373X (2005)1110602Hardware I m plem en ta tion of HDLC Processor w ith FPGAPAN J iafeng ,ZHAN G Yougen ,L I Chunxi(Comm unicati on L ab 1,Beijing J iao tong U niversity ,Beijing ,100044,Ch ina )Abs tra c t :In th is paper ,a reasonable logic structure fo r HDL C P rocesso r is described and the design has been i m p lem ented inFPGA 1T he w ho le schem e is described in the V H S I C H ardw are D escri p ti on L anguage (V HDL )1T he results show the design is attractive fo r use in som e app licati ons 1HDL C P rocesso r is designed and adop ted by "Top to Dow n "m ethod 1T he top p rinci p le block diagram is designed by the required functi on ,w h ich is m ade up of several functi on modules 1Every layer of functi ons is realized w ith the hardw are descri p ti on language ,w h ich m ade design si m p le and flexible ,easy to revise ,suitable fo r design of the comm unicati on p roducts on sho rt run 1Ke yw o rds :V HDL ;HDL C ;FPGA ;"Top to Dow n "收稿日期:20050210 随着微电子技术的发展,现场可编程门阵列(FPGA )器件得到了飞速发展,由于该器件具有工作速度快、集成度高和现场可编程等特点,因而在数字信号处理中得到了广泛的应用。
本文基于HDL C 的基本原理,利用A ltera 公司的FPGA 芯片A CEX 1K 系列器件(EP 1K 50Q C 2083)完成了一个HDL C 系统的设计,开发工具为A ltera 公司的Q uartus 开发软件。
高级数据链路控制HDL C 是一个面向位的协议,他支持半双工和全双工通信。
HDL C (H ighlevel D ata L ink Contro l P rocedures ,高级数据链路控制规程)广泛应用于数据通信领域,是其他许多数据链路控制协议的基础。
他具有很强的差错检错、高效和同步传输的特点。
目前许多网络路由设备和交换机均利用HDL C 作为其链路层协议。
1 方案选择实现HDL C 有3种方法:A S I C 器件、软件编程、FPGA 器件。
实现HDL C 的一般方法通常采用A S I C 器件和软件编程等。
特定的A S I C 器件使用简易,功能针对性强,性能可靠,适合应用于特定用途的大批量产品中。
HDL C 的软件编程方法功能灵活,通过修改程序就可以适用于不同的HDL C 应用。
但程序运行占用处理器资源多,执行速度慢,对信号的时延和同步性不易预测。
对于多路信号的HDL C 应用,处理器的资源占用率与处理路数成正比,所以软件HDL C 一般只能用于个别路数的低速信号处理。
FPGA (F ield P rogramm able Gate A rray ,现场可编程门阵列)采用硬件技术处理信号,又可以通过软件反复编程使用,能够兼顾速度和灵活性,并能并行处理多路信号,实时性能能够预测和仿真。
V HDL 语言设计灵活,可以用模拟器来验证程序的功能和时序的正确;不要求设计者非常熟悉器件的内部结构,使得设计者可以集中精力从事设计构思,可以在各EDA 平台上运行。
在中小批量通信产品的设计生产中,用FPGA 实现HDL C 功能是一种值得采用的方法。
本文采用A ltera 公司的FPGA 芯片,在Q uartus II 310软件平台上实现了HDL C 电路的V HDL 设计。
2 HDLC 的帧结构HDL C 是面向比特的链路控制规程,其链路监控功能通过一定的比特组合所表示的命令和响应来实现,这些监控比特和信息比特一起以帧的形式传送。
以下是ISO IEC 3309标准规定的HDL C 的基本帧结构。
起始标志地址数据控制数据信息数据帧校验序列结束标志011111108b 8b 8b 16或32b 01111110电子技术潘佳峰等:HDL C 协议处理器的FPGA 实现其他的HDL C 标准也有类似的帧结构。
每帧的起始和结束以“7E ”(01111110)作标志,两个“7E ”之间为数据段(含地址数据、控制数据、信息数据)和帧校验序列。
帧校验采用CRC 算法,对除了插入的“0”以外的所有数据进行校验。
为了避免将数据中的“7E ”误为标志,在发送端和接收端要相应地对数据流和帧校验序列进行“插0”及“删0”操作。
标志段 数据链路层的数据传输是以帧为单位的,为了解决帧同步的问题,即从收到的比特流中正确无误的判断出一个帧的边界,每一帧都以(01111110)为开头和结尾。
地址段 用于标识接收站的地址。
控制段 是最为复杂的字段,根据他的定义可将帧分为信息帧、监督帧和无编号帧。
信息段 所要传输的数据。
帧校验序列 用于对传输数据的检错与纠错,采用循环冗余校验码(CRC )。
设计中采用CRC 32编码。
3 用FPGA 实现HDLC 功能的原理框图对FPGA 器件进行功能设计采用的是“Top toDow n ”(“从顶到底”)的方法,亦即根据要求的功能先设计出顶层的原理框图,该图由若干个功能模块组成。
再把各个模块细化为子模块,对较复杂的设计则把各子模块分成一层层的下级子模块,各层的功能可以用硬件描述语言或电路图来实现。
该HDL C 设计使用V HDL 语言编写程序代码,经过综合、仿真和优化等过程,最终将产生的门级网表用开发工具自动写入到芯片中。
311 异步F IFOF IFO (F irst In F irst O ut ,先进先出队列)是一种在电子系统得到广泛应用的器件,通常用于数据的缓存和容纳异步信号的频率或相位的差异。
F IFO 的实现通常是利用双口RAM 和读写地址产生模块来实现的,F IFO 的接口信号包括异步的写时钟(w r _clk )和读时钟(rd _clk ),与写时钟同步的写有效信号(w ren )和写数据(w r _data ),与读时钟同步的读有效信号(rden )和读数据(rd _data ),为了实现正确的读写和避免F IFO 的上溢或下溢,通常还应该给出分别与读时钟和写时钟同步的F IFO 的空标志(emp ty )和满标志(full )以禁止读写操作。
图1 异步F IFO 312 发送模块从图2中可以看出,该电路由接口模块txchannel ,时钟同步模块txsynch ,CRC 校验模块txfcs 和发送存储模块txbuff 四部分组成。
当需要多路HDL C 收发器时,可将若干个发送模块和接收模块组合使用。
以下分别对这几个模块做简要说明。
图2 HDL C 发送模块发送方向HDL C 处理器对要发送的数据进行CRC 计算、帧头插入、零比特的填充、丢弃序列的插入、帧尾的插入以及连续两帧间多个FLA G 的插入。
误码率是通信系统十分重要的问题,因此在传输的数据中要插入一定的校验信息。
根据HDL C 的要求,数据发送时对当前帧的所有数据进行CRC 多项式计算,把结果插入到数据中随数据一起发送。
为了保证数据链路的透明传输(可以传输任意组合的比特流),HDL C 处理器在发送端对传输数据进行‘0’比特填充。
因为传送的数据组合有可能与FLA G(01111110)相同,为了防止接收端误判断为帧头或帧尾,在一帧的帧头与帧尾之间每当连续传输了5个‘1’比特之后,插入一个‘0’比特。
当发送端不能及时、完整地传输一帧HDL C 数据时,将由发送HDL C 处理器控制丢弃序列。
设计中丢弃序列由1个‘0’比特加7个连续的‘1’比特构成(0x 7F )。
仿真结果如图3所示。
图3 发送模块仿真结果313 接收模块与发送模块类似,接收方向HDL C 处理器对每个通道的数据进行帧头搜索、CRC 校验、零比特的填充、丢弃序列的检测、帧长的监测以及帧尾的搜索。
接收端在搜索到帧头后,每收到5个连‘1’比特,就将其后跟随的一个‘0’比特扣除(零比特的去填充)。
一旦检测到某一帧当前传输的信息位数达到最大帧长或检测到丢弃序列,则对当前帧的处理结束,并重新对新的一帧进行帧头搜索,而当前帧中的剩余数据将不被处理。
帧头处理完毕后,接收端对帧中的所有数据进行CRC 多项(下转第110页) 《现代电子技术》2005年第11期总第202期 电子技术应用块、V PN 路由表管理模块、V PN 标记转发表管理模块和V PN 路由策略模块。
各个组件之间的信息交互过程如图5所示。
当V PN 希望建立CRL SP 时向标记分发协议提出建立申请,在建立申请中要对其要求的资源情况进行说明;标记分发协议收到申请后从消息中提取受限路由特性描述,然后向流量工程获取满足要求的受限路由;如果存在满足要求的受限路由,标记分发协议则根据返回的显示路由向下一跳L SR 发送标记请求消息。