当前位置:首页 期刊杂志

基于FPGA的多通道HDLC通信系统设计与实现

时间:2024-05-22

刘岩俊,闫海霞

(1.中国科学院长春光学精密机械与物理研究所,吉林 长春130033;2.吉林大学 电子学院,吉林 长春130012)

HDLC(High Level Date Link Control)协议是通信领域中应用最广泛的协议之一,它是一种面向比特的链路层协议,其最大特点是数据不必为规定字符集,对任何一种比特流均可以实现透明的传输。目前,市场上有很多专用HDLC芯片,但其控制复杂,通道数目有限,通讯速度低,不能满足某测控平台的设计要求。

FPGA能对任意数据宽度的信号进行处理,内部的功能模块可以并行处理,因此,采用FPGA技术设计HDLC协议控制器可以均衡整个系统的负荷,实现多通道的高性能HDLC协议控制器,保证通信的可靠性。

本文使用FPGA设计并实现了六通道HDLC协议,并且使用RS485的半双工工作模式,实现的1 Mb/s串行通信,满足某测控系统的使用要求。

1 系统硬件设计

图1 系统硬件结构图

为满足某测控平台的高速通信、多通道收发、易于扩展的任务要求,设计了以FPGA为接收控制模块,DSP为中央处理器的通信控制系统。系统利用RS485总线通信,采用 DS96F175ME、DS96F174ME进行 TTL信号与差分信号转换,HDLC协议的发送模块、接收模块、CRC校验等功能由FPGA实现,DSP与FPGA之间数据交换采用XINTF接口。DSP与FPGA芯片之间数据通过数据线、地址线、片选信号、读写控制信号连接。系统硬件结构图如图1所示。

本系统采用Xilinx公司Spartan III系列XC3S 400TQFP144芯片[1-2],它具有 400K个系统门,8064个逻辑单元,896个 CLB,56KB分布式 RAM,288KB块 RAM,4个DCM(时钟管理器),97个用户I/O。其内部资源可支持六通道HDLC所需要资源。

采用TI公司定点DSP芯片TMS320F2812来完成信号处理工作,以满足系统对精度和速度的要求。TMS320F2812是TI公司为实现低功耗、高速实时信号处理而专门设计的32位定点数字信号处理器,采用改进的哈佛结构,具有高度的操作灵活性和运行速度,可满足实时嵌入式应用的需要。TMS320F2812主要由中央处理器CPU、内部总线控制、特殊功能寄存器、数据存储器RAM、程序存储器 ROM、I/O接口扩展功能、串行口、主机通信接口HPI、定时器、中断系统等 10个部分组成。TMS320F2812的结构是以8组16位总线为核心,形成了支持高速指令执行的硬件基础。8组总线分为1组程序总线、3组数据总线和4组地址总线[3-4]。

DSP作为控制中心,接收到FPGA发送的中断请求后,读取接收SRAM中的数据,处理后,更新发送数据,并向FPGA发送控制信号。FPGA接收信号后,按HDLC协议发送数据。DSP处理器通过分时处理,分别控制六通道的HDLC通信。DSP与FPGA连接原理框图如图2所示。

RS485总线采用半双工的工作模式,数据与时钟通过LVDS与设备连接,LVDS信号与本系统之间采用光耦隔离,接口电压采用5 V,光耦隔离后,电压采用 3.3 V,与系统电压一致,RS485接口转换原理图如图3所示。

系统工作过程如下:系统工作方式采用半双工的RS485通信方式,采用NRM的HDLC操作方式,当FPGA检测到属于该地址的数据时,FPGA按HDLC协议接收数据,并保存到FPGA的内部FIFO1中,同时向DSP处理器发出中断信号,DSP收到中断后,读取FIFO1中数据,并向FIFO2中写入需要发出的数据,DSP写完数据后,向FPGA发送“开始发送数据”信号,FPGA收到该信号后,从FIFO2中读取数据,并通过HDLC协议发送[5-6]。

图2 DSP与FPGA连接原理框图

2 系统软件设计

系统以TI公司的DSP处理器TMS320F2812为数据处理核心,采用FPGA作为串行通信控制器控制六通道HDLC协议的通信控制。

下面以一个通道的收发控制为例来介绍通信软件。通信的实现以HDLC协议为基础,下面简单介绍一个HDLC帧格式。

2.1 HDLC帧格式

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

表1 HDLC帧格式

通过表1可以看到HDLC帧包括帧头、站址、数据、CRC校验、帧尾5部分。

2.2 FPGA软件设计

FPGA完成HDLC协议的转换,需要完成HDLC协议数据接收、CRC校验、HDLC协议数据发送等工作,FPGA内部由2个模块组成,一是接收模块,另一个是发送模块。数据发送包括表1所示的5部分。

数据发送状态图如图4所示。接收状态机与发送状态机基本一致,这里不详细论述。

图4 数据发送流程图

2.3 DSP软件设计

DSP作为系统的核心处理器,完成系统的运算处理,并且需要通过RS485使用HDLC协议完成与其他系统之间的数据交互。DSP首先完成上电初始化,并进行参数设置,完成中断源XINT设置,GPIO设置,然后进入主循环程序,进行系统需要的运算处理过程中,DSP以中断方式接收FPGA提供的中断信号,接收到中断信号后,完成通信数据处理工作。DSP软件流程图如图5所示。

图5 DSP软件流程图

本文提出了一种基于FPGA控制的6通道HDLC协议通信系统,详细说明了FPGA与DSP、RS485总线的接口关系及系统软件实现。通过PC机的PCI接口的RS485采集卡进行测试,系统通信速度可达1 Mb/s。系统设计简单、工作稳定可靠。

[1]XILINX.DevicePackage UserGuide[S].2007.

[2]XILINX.Xilinx Spartan-3 Generation FPGA User Guide[S].2008.

[3]TEXAS INSTRUMENTS.TMS320F2810,TMS320F2812 Digital Signal Processors Data Manual[S].2003.

[4]关宗安,仲丛久,张芝贤,等.基于 TMS320F2812 DSP的网络通信系统设计[J].电子技术应用,2009,35(3):94-96.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!