HDLC的FPGA实现方法

HDLC的FPGA实现方法,第1张

摘要HDLC(高级数据链路控制)的一般实现方法为采用ASIC器件和软件编程等。应用ASIC器件时设计简单,但灵活性较差;软件编程方法灵活,但占用处理器资源多,执行速度慢,实时性不易预测。FPGA器件采用硬件处理技术,可以反复编程,能够兼顾速度和灵活性,并能多路并行处理,实时性能能够预测和仿真。在中小批量通信产品的设计中,FPGA是取代ASIC实现HDLC功能的一种合适选择。 采用Altera公司的FPGA芯片,在MAX+plus II软件平台上实现了多路HDLC电路的设计,并已在某通信产品样机中应用成功。


关键词数据通信; HDLC; CRC校验; FPGA; MAX+plus II

1 引言


HDLC(High-level Data Link Control Procedures, 高级数据链路控制规程)广泛应用于数据通信领域,是确保数据信息可靠互通的重要技术。实施HDLC的一般方法通常是采用ASIC(ApplicaTIon Specific Integrated Circuit,特定用途集成电路) 器件和软件编程等。

HDLC的ASIC芯片有Motorola公司的MC92460、ST公司的MK5025、Zarlink公司的MT8952B等。这些集成电路使用简易,功能针对性强,性能可靠,适合应用于特定用途的大批量产品中。但由于HDLC标准的文本较多,ASIC芯片出于专用性的目的难以通用于不同版本,缺乏应用灵活性。例如CCITT、ANSI、ISO/IEC等都有各种版本的HDLC标准,有的芯片公司还有自己的标准,对HDLC的CRC(Cyclical Redundancy Check,循环冗余码校验)序列生成多项式等有不同的规定。况且,专用于HDLC的ASIC芯片其片内数据存储器容量有限,通常只有不多字节的FIFO(先进先出存储器)可用。对于某些应用来说,当需要扩大数据缓存的容量时,只能对ASIC芯片再外接存储器或其它电路,ASIC的简单易用性就被抵销掉了。 HDLC的软件编程方法功能灵活,通过修改程序就可以适用于不同的HDLC应用。但程序运行占用处理器资源多,执行速度慢,对信号的时延和同步性不易预测。对于多路信号的HDLC应用,处理器的资源占用率与处理路数成正比,所以软件HDLC一般只能用于个别路数的低速信号处理。

FPGA(Field Programmable Gate Array, 现场可编程门阵列)采用硬件技术处理信号,又可以通过软件反复编程使用,能够兼顾速度和灵活性,并能并行处理多路信号,实时性能能够预测和仿真。FPGA芯片虽成本略微高于ASIC芯片,但具有货源畅通、可多次编程使用等优点。目前FPGA单片所含的逻辑门和片上存储器的容量越做越大,百万门级的可编程逻辑芯片已成为寻常产品。在中小批量通信产品的设计生产中,用FPGA实现HDLC功能是一种值得采用的方法。正是有鉴于此,Innocor、Xilinx等公司推出了能在FPGA中实现HDLC功能的IP Core(Intellectual Property Core,知识产权核),但这些IP Core需要付费购买许可(License)才能使用,且在应用中受到各种限制。
本文从HDLC的基本定义出发,通过对FPGA设计输入的模块化描述,介绍一种能够在可编程逻辑芯片中实现HDLC功能的方法。

 

2 HDLC的帧结构和CRC校验


HDLC规程主要由帧结构、规程要素、规程类别三个部分组成[1]。为了使FPGA的设计能够实现HDLC的基本功能并能按照各项标准的规定灵活采用不同的CRC校验算法,首先回顾一下HDLC基本的帧结构形式。
HDLC是面向比特的链路控制规程,其链路监控功能通过一定的比特组合所表示的命令和响应来实现,这些监控比特和信息比特一起以帧的形式传送。

以下是ISO/IEC 3309标准规定的HDLC的基本帧结构。

起始标志

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2427613.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-02
下一篇 2022-08-02

发表评论

登录后才能评论

评论列表(0条)

保存