首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 基于FPGA的多通道HDLC收发电路设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于FPGA的多通道HDLC收发电路设计
发短消息
加为好友
yuchengze
当前离线
UID
1062083
帖子
5837
精华
0
积分
2921
阅读权限
70
在线时间
222 小时
注册时间
2016-6-30
最后登录
2018-9-9
金牌会员
UID
1062083
性别
男
1
#
打印
字体大小:
t
T
yuchengze
发表于 2016-8-23 10:29
|
只看该作者
基于FPGA的多通道HDLC收发电路设计
控制器
,
可靠性
,
通道
,
比特
,
成本
HDLC(High Level Date Link Control)协议是通信领域中应用最广泛的协议之一,它是面向比特的高级数据链路控制规程,具有差错检测功能强大、高效和同步传输的特点。目前市场上有很多专用的HDLC芯片,但这些芯片大多控制复杂,通道数目有限;另一方面,专用芯片的使用会有效增大PCB板面积,不利于设备的小型化,而且带来高成本等问题。 FPGA能对任意数据宽度的信号进行处理,内部的功能模块可以并行处理。因此,采用FPGA技术设计HDLC协议控制器可以均衡整个系统的负荷,实现多通道的高性能HDLC协议控制器,保证通信的可靠性。同时它还具有设计开发周期短、设计制造成本低、可实时在线检验等优点,因此被广泛用于特殊芯片设计中。本设计中采用Altera公司的EP2C70F672C8芯片来实现HDLC协议控制器。
1 HDLC协议简介
在HDLC通信方式中,所有信息都是以帧的形式传送,HDLC帧格式,如表1所示。
(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数据的一体化设计。
FPGA按照HDLC协议规程,接收并存储来自集成处理器等8个独立通道的数字量。系统先将外部输入的HDLC数据流由RS485电气特性转换为TTL电平,在此过程中用光耦进行隔离,以避免与外部设备之间的相互干扰,并且RS485芯片与光耦器件的相关电源使用由电气供给的独立5 V和5 V地。 HDLC协议总体结构框图,如图2所示,每个控制模块由时钟控制、编码/冲突检测、发送和接收FIFO等功能模块组成。在发送方向和接收方向,各有一个128 bit的FIFO,用于串行通道和CPU总线接口之间的数据缓冲。发送是接收的逆过程,这里以HDLC数据接收为例进行说明。
FPGA串行通信控制器接收HDLC数据的原理为:首先,将接收到的数据帧的消息字段和附加的状态字段移入,然后根据选定的寻址模式,对接收帧中的目的地址进行识别,确认数据帧的发送地址是否为本设备(站地址=77H),是本设备数据帧则进行接收数据并存储在FIFO中,当接收数据帧结束时,发出中断信号给ARM系统,请求接收HDLC数据。
目的地址不是本设备的数据帧将被抛弃,流程图如图3所示。
3 实验结果和分析
首先,在FPGA中实现一对HDLC数据收发电路,并在对收发电路进行仿真和相关测试。通过在Matlab开发环境下,生成相关的数据文件作为HDLC的数据源,在ModelSim SE 6.1的测试文件中直接调用,最后对比仿真结果和Matlab生成的数据源,可以得到满意的结果。仿真的测试代码覆盖率为100%,仿真结果和数据源完全吻合,可以认定电路的正确性及良好的可靠性。图4,图5分别为HDLC数据收发模块在ModelSim SE 6.1中的仿真图。
为合理利用FPGA内部的逻辑资源,对设计进行一系列布局布线约束:(1)由前期的论证可知,设计的矛盾主要集中在资源的消耗上,所有模块的优化目标定位为“Area”,除FIFO外,其他模块规划在一起;(2)将FIFO划分为独立的模块;(3)全局时钟绑定在Global资源上,并/串、串/并模块中的衍生时钟,根据和全局时钟的关系,设定为多周期路径。
实际数据收发的稳定性和可靠性,也跟单板、温度等有关系。仿真完成后,在单板上进行飞线,对特定的收发电路进行电气连接,进行回环测试法,即发送端输出的数据由其接收端接收回来进行测试。在常温下,经过30小时的长时间运行测试后,接收和发送的数据做了对比,没有发现丢数据包和错数据包的情况。由测试结果可知,该HDLC收发电路的具有稳定性和可靠性。高低温实验由于条件所限未进行,单板的温度特性可由器件的温度特性大概推知,这里不做讨论。
4 结束语
针对某遥控遥测平台的要求,文中提出了一种基于FPGA的多通道HDLC收发电路设计方案,并利用Altera公司的P2C70F672C8芯片来实现。目前,实现该电路的单板已经完成调试,并成功地应用于整机试验。实践表明,该电路实现简单、可靠性高、使用灵活等优点,具有一定的推广价值。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
测试测量
嵌入式技术
MCU 单片机技术
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议