基于FPGA的多通道HDLC收发电路设计

发布者:liliukan最新更新时间:2009-12-10 来源: 西安电子科技大学关键字:FPGA  多通道HDLC  收发电路  设计 手机看文章 扫描二维码
随时随地手机看文章

  HDLC(High Level Date Link Control)协议是通信领域中应用最广泛的协议之一,它是面向比特的高级数据链路控制规程,具有差错检测功能强大、高效和同步传输的特点。目前市场上有很多专用的HDLC芯片,但这些芯片大多控制复杂,通道数目有限;另一方面,专用芯片的使用会有效增大PCB板面积,不利于设备的小型化,而且带来高成本等问题。

  FPGA能对任意数据宽度的信号进行处理,内部的功能模块可以并行处理。因此,采用FPGA技术设计HDLC协议控制器可以均衡整个系统的负荷,实现多通道的高性能HDLC协议控制器,保证通信的可靠性。同时它还具有设计开发周期短、设计制造成本低、可实时在线检验等优点,因此被广泛用于特殊芯片设计中。本设计中采用Altera公司的EP2C70F672C8芯片来实现HDLC协议控制器。

  1 HDLC协议简介

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

HDLC帧格式

  (1)标志字。

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

  (2)信息段及“0”比特插入技术。

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

  (3)地址段及控制段。

  地址字段为8位,也可以8的倍数进行扩展,用于标识接收该帧的栈地址;控制字段为8位,发送方的控制字段用来表示命令和响应的类别和功能。

  (4)帧校验。

  HDLC采用16位循环冗余校验码(CRC-16)进行差错控制,其生成多项式为x16+x12+x5+1,差错校验指对整个帧的内容作CRC循环冗余校验,即对在纠错范围内的错码进行纠正,对在校错范围内的错码进行校验,但不能纠正。标志位和按透明规则插入的所有“0”不在校验的范围内。

  2 HDLC协议的FPGA实现

  某遥控遥测平台为确保满足高速通讯、多通道收发、功能易于扩展配置的任务要求,中心控制器采用了以高性能的ARM7为CPU数据处理核心、采用FPGA设计串行通信控制器来收发多通道HDLC数据的一体化设计。

多通道HDLC原理框图

  FPGA按照HDLC协议规程,接收并存储来自集成处理器等8个独立通道的数字量。系统先将外部输入的HDLC数据流由RS485电气特性转换为TTL电平,在此过程中用光耦进行隔离,以避免与外部设备之间的相互干扰,并且RS485芯片与光耦器件的相关电源使用由电气供给的独立5 V和5 V地。 HDLC协议总体结构框图,如图2所示,每个控制模块由时钟控制、编码/冲突检测、发送和接收FIFO等功能模块组成。在发送方向和接收方向,各有一个128 bit的FIFO,用于串行通道和CPU总线接口之间的数据缓冲。发送是接收的逆过程,这里以HDLC数据接收为例进行说明。

HDLC协议总体结构框图

  FPGA串行通信控制器接收HDLC数据的原理为:首先,将接收到的数据帧的消息字段和附加的状态字段移入,然后根据选定的寻址模式,对接收帧中的目的地址进行识别,确认数据帧的发送地址是否为本设备(站地址=77H),是本设备数据帧则进行接收数据并存储在FIFO中,当接收数据帧结束时,发出中断信号给ARM系统,请求接收HDLC数据。[page]

  目的地址不是本设备的数据帧将被抛弃,流程图如图3所示。

流程图

  3 实验结果和分析

  首先,在FPGA中实现一对HDLC数据收发电路,并在对收发电路进行仿真和相关测试。通过在Matlab开发环境下,生成相关的数据文件作为HDLC的数据源,在ModelSim SE 6.1的测试文件中直接调用,最后对比仿真结果和Matlab生成的数据源,可以得到满意的结果。仿真的测试代码覆盖率为100%,仿真结果和数据源完全吻合,可以认定电路的正确性及良好的可靠性。图4,图5分别为HDLC数据收发模块在ModelSim SE 6.1中的仿真图。

HDLC数据收发模块在ModelSim SE 6.1中的仿真图

  为合理利用FPGA内部的逻辑资源,对设计进行一系列布局布线约束:(1)由前期的论证可知,设计的矛盾主要集中在资源的消耗上,所有模块的优化目标定位为“Area”,除FIFO外,其他模块规划在一起;(2)将FIFO划分为独立的模块;(3)全局时钟绑定在Global资源上,并/串、串/并模块中的衍生时钟,根据和全局时钟的关系,设定为多周期路径。

  实际数据收发的稳定性和可靠性,也跟单板、温度等有关系。仿真完成后,在单板上进行飞线,对特定的收发电路进行电气连接,进行回环测试法,即发送端输出的数据由其接收端接收回来进行测试。在常温下,经过30小时的长时间运行测试后,接收和发送的数据做了对比,没有发现丢数据包和错数据包的情况。由测试结果可知,该HDLC收发电路的具有稳定性和可靠性。高低温实验由于条件所限未进行,单板的温度特性可由器件的温度特性大概推知,这里不做讨论。

  4 结束语

  针对某遥控遥测平台的要求,文中提出了一种基于FPGA的多通道HDLC收发电路设计方案,并利用Altera公司的P2C70F672C8芯片来实现。目前,实现该电路的单板已经完成调试,并成功地应用于整机试验。实践表明,该电路实现简单、可靠性高、使用灵活等优点,具有一定的推广价值。

关键字:FPGA  多通道HDLC  收发电路  设计 引用地址:基于FPGA的多通道HDLC收发电路设计

上一篇:三菱电机汽车数字处理中心采用ADI的SHARC处理器
下一篇:基于FPGA的无线通信收发模块设计方案

推荐阅读最新更新时间:2024-05-02 20:56

高清视频监控走向主流 FPGA迎来广阔市场空间
我们知道,通信领域历来是FPGA应用的传统主流市场,也是业界领先FPGA厂商倾力争夺的大市场。但是从2009年开始,随着百万像素高清标准(720p及1080p)在视频监控领域从小众走向主流,FPGA应用迎来了又一个广阔的市场空间。    FPGA视频监控应用迅速打开   以全国“平安城市”项目为代表的大量高清视频监控需求的高速增长,以及当时高清摄像机所必须的ISP芯片ASIC/ASSP还不成熟,给FPGA留出了施展其可编程优势的空间和舞台。   在2009年之前,视频监控还处于标清(D1分辨率,40万像素)时代,摄像机使用的图像信号处理(Image Signal Processing,简称ISP)芯片,基本被索尼公司推出的一
[模拟电子]
高清视频监控走向主流 <font color='red'>FPGA</font>迎来广阔市场空间
PIC系列单片机程序设计基础二
PIC单片机 的查表程序可以利用子程序带值返回的特点来实现。具体是在主程序中先取表数据地址放入W,接着调用子程序,子程序的第一条指令将W置入PC,则程序跳到数据地址的地方,再由“RETLW”指令将数据放入W返回到主程序。下面程序以F10放表头地址。       MOVLW  TABLE     ;表头地址→F10         MOVWF  10           ┋       MOVLW  1        ;1→W,准备取“1”的线段值       ADDWF  10,1      ;F10+W =“1”的数据地址       CALL  CONVERT       MOVWF  6        ;线段值置到B口,点亮L
[单片机]
用TMS320 DSP和FPGA实现电能质量监测
内容摘要:提出用TMS320LF2407和FPGA实现电能监测的一种方案,阐述各模块的设计和实现方法,本方案中,FPGA用于采样16路交流信号并进行64次谐波分析;DSP和于电力参数的计算。为了提高其通用性,还用FPGA设计了与外界通信的并口、串口模块,并实现了同TMS320LF2407的并行和串行通信。 script language=javascript src="/a_dir_d/ads_250x250.js" /script   随着人们对电能质量要求的日益提高,如何保证电能质量就成为一个热门话题。电能质量监测的一项主要内容是谐波检测,即对多路模拟信号进行采集并进行谐波分析。本系统对16路50Hz模块信号
[嵌入式]
用TMS320 DSP和<font color='red'>FPGA</font>实现电能质量监测
PIC单片机与串行闪存的SPI接口设计
引 言 PIC单片机以性能稳定、品种众多等特点在工业控制、仪器仪表、家电、通信等领域得到广泛应用。虽然很多型号自身集成了存储器,但在很多情况下难以满足系统对大容量存储的要求,需要外扩非易失性的存储器。与并行Flash存储器相比,串行Flash存储器占用MCU引脚少,体积小,易于扩展,接线简单,工作可靠,故而越来越多地应用在各类电子产品和工业测控系统中。本文主要讨论PIC16F877A单片机与串行闪存M25P16之间的SPI通信,在要求大容量数据存储且MCU引脚资源有限的情况下具有实用价值。 1 SPI工作原理 SPI(Serial Peripheral Interface)是一种常用的串行通信协议
[单片机]
5nm工艺+小芯片设计 AMD预告RX 7000显卡:功耗才是惊喜
NVIDIA昨晚发布了RTX 4090/4080系列显卡,新卡的性能很好很强大,号称2倍RTX 3090 Ti性能,不过显卡的散热设计也很夸张,接近4插槽的厚度,而且重量不低,厂商非公版的能达到5斤重。AMD这边现在还没有新卡发布,RX 7000系列要到11月3日发布,再加上开卖时间,估计要比RTX 40系列晚上2个月左右。 RX 7000系列显卡会升级RDNA3架构,采用台积电5nm工艺,而且这次会首次使用小芯片设计,有GCD计算核心及MCD存储核心组成。 RX 7000显卡能不能干过NVIDIA的RTX 4090显卡?现在没实测,不过AMD日前又重申了RX 7000显卡的架构优点,其能效相比目前的7nm RDNA
[家用电子]
5nm工艺+小芯片<font color='red'>设计</font> AMD预告RX 7000显卡:功耗才是惊喜
e络盟发起七段式显示屏设计挑战赛
e络盟发起七段式显示屏设计挑战赛 比赛鼓励社区成员使用七段式显示屏开发项目 中国上海,2022年6月13日 – 安富利旗下全球电子元器件产品与解决方案分销商e络盟通过其在线社区发起新一轮设计挑战赛,邀请社区成员使用七段式显示屏构建计算器、数字时钟、天气时钟、电子仪表、信息显示屏、测试设备、宠物定时喂食器等。 七段式显示屏能够轻松显示十进制数字,可用于替代更复杂的点阵显示器,因而备受业界青睐。大多数数字设备都使用七段式显示屏将数字信号转换成人们容易理解的形式。七段式显示屏广泛适用于各种应用领域。 e络盟社区和社交媒体全球主管Dianne Kibbey表示:“我们有几位社区成员使用七段式显示屏开发出了一些极富创意的趣
[物联网]
e络盟发起七段式显示屏<font color='red'>设计</font>挑战赛
C51跟atmega64的串行通信及PROTEUS仿真设计
script src="/jf/jf-arcMain-1.js" type=text/javascript /script script type=text/javascript /script script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript /script script src="http://pagead2.googlesyndication.com/pagead/js/r20110914/r20110914/show_ads_impl.js" /script script src="
[单片机]
C51跟atmega64的串行通信及PROTEUS仿真<font color='red'>设计</font>
PLC常用基本指令控制系统设计
PLC是一项技能,需要进行不断的练习和实践,作为一个新手小白,要怎么学呢?从哪方面入手? 其实在学习PLC之前,是先了解自己学习需求,比如PLC是个什么产品?你学会了有什么用?学成了PLC,它可以给你带来是什么样的价值? PLC难不难?其实PLC入门不难,但想学到精通却很难,本文简单举两个例子,一起来了解一下PLC的工作过程。使用了一些PPT作为讲解,为大家呈现关于PLC,究竟有哪些基础内容,需要先去了解! 当然了这只是一些简单的控制,梯形图和原理图非常类似,同时PLC还要学会一些常见的指令。
[嵌入式]
PLC常用基本指令控制系统<font color='red'>设计</font>
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved