基于FPGA器件EPF10K20RC240-3实现HDLC协议控制器的应用方案

时间:2025-11-02  作者:Diven  阅读:0

1 引言

基于FPGA器件EPF10K20RC240-3实现HDLC协议控制器的应用方案

HDLC(High Level Data Link Control)协议是通信领域中应用最的协议,是面向比特的高级数据链路控制规程,具有差错检测功能强大、高效和同步传输的特点.目前市场上有很多专用的HDLC芯片,但这些芯片大多因追求功能的完备,而使芯片的控制变得复杂.实际上,对于某些特殊场合的特殊用途(如手持式设备),我们只需选择HDLC协议中最符合系统要求的部分功能,设计功能相对简单、使用灵活的小型化HDLC协议控制器.另一方面,随着深亚微米工艺技术的发展,FP-GA(Field Programmable Gate Array)芯片的规模越来越大,其单片逻辑门数已超过上百万门.同时还具有设计开发周期短、设计制造成本低、可实时在线检验等优点,因此被用于特殊芯片设计中.本设计中采用Altera公司的FLEX10K芯片EPF10K20RC240-3来实现HDLC协议控制器.

2 HDLC协议简介

在HDLC 通信方式中,所有信息都是以帧的形式传送的,HDLC帧格式如表1所列.

(1)标志字 HDLC协议规定,所有信息传输必须以一个标志字开始,且以同一个标志字结束,这个标志字是01111110.开始标志到结束标志之间构成一个完整的信息单位,称为一帧.接收方可以通过搜索01111110来探知帧的开始和结束,以此建立帧同步.在帧与帧之间的空载期,可连续发送标志字来做填充.

(2) 信息段及“0”比特插入技术 HDLC帧的信息长度是可变的,可传送标志字以外的任意二进制信息.为了确保标志字是独一无二的,发送方在发送信息时采用“0”比特插入技术,即发送方在发送除标志字符外的所有信息时(包括校验位),只要遇到连续的5个“1”,就自动插入一个“0”;反之,接收方在接收数据时,只要遇到连续的5个“1”,就自动将其后的“0”删掉.“0”比特插入和删除技术也使得HDLC具有良好的传输透明性,任何比特代码都可传输.

(3) 地址段及控制段地址字段为8位,也可以8的倍数进行扩展,用于标识接收该帧的栈地址;控制字段为8位,发送方的控制字段用来表示命令和响应的类别和功能. (4) CRC校验 HDLC采用16位循环冗余校验码(CRC-16)进行差错控制,其生成多项式为 x16+x12+x5+1 HDLC差错校验指对整个帧的内容作CRC循环冗余校验,即对在纠错范围内的错码进行纠正,对在校错范围内的错码进行校验,但不能纠正.标志位和按透明规则插入的所有“0”不在校验的范围内.

3 HDLC协议的FPGA实现

基于FPGA实现的HDLC协议控制器包括接收和发送两个模块,其总体结构如图1所示. 发送端先将待发送的并行数据进行并/串转换,然后由系统自动完成CRC编码、“0”比特插入和标志字插入,再将处理后的数据按同步串行传输方式发送;接收端先接收同步串行数据,然后由系统自动完成标志字的检测、去“0”及CRC校验,再将同步串行数据转换成8位并行方式输出.整个系统收发端使用同一个全局时钟.下面分别对关键部分进行介绍.

3.1 并/串及串/并转换模块

数据发送时,为了平滑处理机和HDLC协议控制器之间的数据传输速率,发送端配有一个25×8的FIFO作为两者的接口模块,该模块可将数据总线送入的并行数据转换成串行数据输出.同样,接收端也配有一接收FIFO,可将接收到的数据进行串并转换并送入数据总线.

3.2 CRC校验

HDLC协议使用循环冗余校验,在发送端对信息进行CRC编码,其生成多项式为 g(x)=x16+x12+x5+1 CRC校验模块实际为根据生成多项式所设计的编码电路.根据循环系统码编码原理,该编码电路实际上是乘x16除g(x)的电路,其示意图如图2所示.电路的工作过程如下:

(1)16级移位寄存器的初始状态全清零,门1开、门2关,然后进行移位.信息位移入编码电路后,一方面经或门输出,一方面则自动乘以x16后进入除g(x)除法电路,从而完成乘x16除g(x)的功能;

(2)信息位全部移入编码电路后除法完成,此时16位移位寄存器中的内容就是除法的余式的系数,即校验元;

(3)门1关、门2开,再经过16次移位后,把移位寄存器的校验元全部输出;

(4)门1开、门2关,送入第二组信息组重复上述过程. CRC编码器的核心VHDL源代码如下:......

D0 <=din xor D(15);

for i in 0 to 3 loop

D(i+1)<=D(i)

end loop;

D(5)<=D(4) xor D(15) xor din;

for i in 5 to 10 loop;

D(i+1)<=D(i);

end loop;

D(12)<=D(11) xor D(15) xor din;

for i in 12 to 14 loop

D(i+1)<=D(i);

end loop;

......

发送端通过上述的CRC编码电路产生16比特的校验位.接收方通过CRC译码检验该帧信息是否传送出错.在满足系统要求的情况下,CRC译码只检错,不纠错.其功能示意图如图3所示. 输入信息通过16比特的移位寄存器后,一路作为数据信息输出,另一路流入CRC编码器对信息进行编码,并产生16比特校验位.当信息位全部移出后,16比特移位寄存器中的信息即为发送端发送的16位CRC校验位,CRC编码器(16Bit)的内容为接收到的信息根据生成多项式g(x)所生成的16比特校验码.然后将两个寄存器进行比较,如果内容相同,说明信息传送正确;否则报错,丢弃该帧. 3.3 “0”比特插入及删除模块发送端信息经CRC编码后,要进行插“0”操作,即遇到连续的5个“1”时在其后插入一个“0”;同样,接收端同步建立后提取出的信息要去“0”,即遇到连续的5个“1”时要将其后的“0”去掉. 去“0”模块的VHDL代码如下:......

if din=“1” then

if cnt=5 then

cnt:=0;

end if;

cnt:=cnt+1;

else

cnt:=0;

end if;

if cnt=5 then

zero del<=′0′;

else

zero del<=′1′;

end if;

......

去“0”模块的功能仿真波形如图4所示,其中din是提取同步后的信息,clk是信息时钟,dout是去“0”后的信息,clk out是去“0”操作后的信息时钟.从图4中可看出,去“0”前的信息为“1111101”,通过去“0”操作后,信息为“111111”,将5个“1”后的“0”去掉了.

4 结束语

本文提出了基于FPGA的HDLC协议控制器设计方案,并利用Altera公司的FLEX10K芯片EPF10K20RC240-3来实现,占该芯片内部单元的70%左右.实践表明,该协议控制器操作简单、使用灵活,能够很好地应用于各种小型通信设备.

本系统的硬件实现采用VHDL设计,通过建立VHDL行为模型和进行VHDL行为仿真,可以及早发现设计中潜在的问题,缩短了设计周期,提高了设计的可靠性和效率.

猜您喜欢

电阻作为基础的被动元件,是不可少的配件。而台康(TAICON)铝壳电阻,作为行业内的佼佼者,凭借其独特的特性和的应用领域,成为了众多工程师和技术人员的首选。本文...
2017-07-30 10:30:57

在现代城市生活中,空气质量对我们的健康非常重要。PM2.5检测仪作为监测空气中细颗粒物的重要工具,具有多项显著优势。能够实时监测PM2.5浓度,帮助用户及时了解...
2012-09-29 00:00:00

贴片电阻,就是贴在电路板上的小元件,负责调节电路中的电流。看起来像一块小小的长方形瓷片,颜色通常是黑色、深蓝色或浅棕色。在瓷片的两端,各有一小块金属区域,这就是...
2024-11-29 10:26:20

贴片电阻1206,这种小型电子元件,在各种电子电路中是很重要的配件。其名称中的1206代表其尺寸为1.2mm x 0.6mm,小巧的体积使其成为现代电子产品小型...
2024-11-29 10:25:38

风华贴片电阻的命名规则简洁明了,方便用户快速识别电阻的参数。一般来说,风华电阻的命名由字母和数字组成,共同表达阻值、精度和封装尺寸等关键信息。以0603封装的1...
2024-11-26 11:29:48

管理箱是一款专为现代企业设计的高效管理工具,旨在提升团队协作和项目管理的效率。集成了任务分配、进度跟踪、文件共享等多种功能,帮助团队成员在一个平台上实现无缝沟通...
2011-01-04 00:00:00

电位器作为重要的调节器件,被应用于各种电子设备中。宇阳(EYANG)作为国内知名的电位器品牌,高品质的产品和多样的类型赢得了市场的认可。本文将围绕“宇阳(EYA...
2021-12-25 13:46:46

电位器是常用的电子元件,应用于音量调节、亮度控制等场合。根据不同的工作原理和结构,电位器可以分为多种类型,主要包括线性电位器和对数电位器。线性电位器的电阻值随旋...
2023-10-06 00:00:00

保险丝作为保护电路安全的重要元件,其性能和质量直接关系到设备的稳定运行和使用安全。LGL一次性保险丝作为市场上受到关注的品牌,优良的性能和可靠的保护作用,赢得了...
2024-12-29 07:04:30

在电子世界里,贴片电阻是不可或缺的元件。选择合适的尺寸对于电路设计和PCB布局至关重要。为了方便工程师和电子爱好者快速查找,我们整理了这份实用的贴片电阻尺寸对应...
2025-04-14 15:02:16