CN111290985B - 多通道hdlc同步串口总线设备数据通信装置和方法 - Google Patents

多通道hdlc同步串口总线设备数据通信装置和方法 Download PDF

Info

Publication number
CN111290985B
CN111290985B CN202010048920.6A CN202010048920A CN111290985B CN 111290985 B CN111290985 B CN 111290985B CN 202010048920 A CN202010048920 A CN 202010048920A CN 111290985 B CN111290985 B CN 111290985B
Authority
CN
China
Prior art keywords
fpga
fifo
hdlc
serial port
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010048920.6A
Other languages
English (en)
Other versions
CN111290985A (zh
Inventor
兰鹏涛
龚小进
徐元
刘嘉祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hubei Sanjiang Aerospace Hongfeng Control Co Ltd
Original Assignee
Hubei Sanjiang Aerospace Hongfeng Control Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hubei Sanjiang Aerospace Hongfeng Control Co Ltd filed Critical Hubei Sanjiang Aerospace Hongfeng Control Co Ltd
Priority to CN202010048920.6A priority Critical patent/CN111290985B/zh
Publication of CN111290985A publication Critical patent/CN111290985A/zh
Application granted granted Critical
Publication of CN111290985B publication Critical patent/CN111290985B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种多通道HDLC同步串口总线设备数据通信装置和方法,其中,数据通信装置包括:ARM处理器、FPGA、FSMC总线和HDLC串口总线;ARM处理器与FPGA通过FSMC总线实现通信连接;FPGA设置有FIFO用于存储命令包和应答包,FPGA设置有多个通道的HDLC IP核分别与对应通道的HDLC串口总线相连接。通过本发明的技术方案,实现了多通道HDLC同步串口总线设备的数据通信,保证了通信数据的完整性。

Description

多通道HDLC同步串口总线设备数据通信装置和方法
技术领域
本发明涉及计算机总线通信技术领域,尤其涉及一种多通道HDLC同步串口总线设备数据通信装置和一种多通道HDLC同步串口总线设备数据通信方法。
背景技术
目前,现有的HDLC总线通信设备,通常采用一个ARM处理器连接HDLC总线控制器。如果需要实现多通道HDLC同步串口数据通信,由于传统的ARM处理器芯片不具备HDLC同步串口传输功能,如果采用外置芯片实现该功能的话可能会出现数据丢失。
发明内容
针对上述问题中的至少之一,本发明提供了一种多通道HDLC同步串口总线设备数据通信装置和方法,ARM处理器与FPGA通过FSMC总线和中断信号相连接,FPGA通过调用HDLCIP核与多路HDLC串口总线相连接,实现了多通道HDLC同步串口总线设备的数据通信,采用FPGA中的FIFO来缓存不同通道的数据,保证了通信数据的完整性。
为实现上述目的,本发明提供了一种多通道HDLC同步串口总线设备数据通信装置,包括:ARM处理器、FPGA、FSMC总线和HDLC串口总线;所述ARM处理器与所述FPGA通过所述FSMC总线实现通信连接;所述FPGA设置有FIFO用于存储命令包和应答包,所述FPGA设置有多个通道的HDLC IP核分别与对应通道的所述HDLC串口总线相连接。
在上述技术方案中,优选地,所述FIFO包括写FIFO和读FIFO,所述写FIFO用于存储所述ARM处理器通过所述FSMC总线发送至所述FPGA的命令包,所述读FIFO用于存储通过所述HDLC串口总线接收到的数据。
在上述技术方案中,优选地,所述命令包和所述应答包中包括通道号,所述FPGA根据所述通道号将所述命令包缓存至对应通道的所述写FIFO中,将所述应答包缓存至对应通道的所述读FIFO中。
在上述技术方案中,优选地,所述FIFO的深度为2048。
本发明还提出一种多通道HDLC同步串口总线设备数据通信方法,包括:ARM处理器通过FSMC总线向FPGA发送命令信号和数据;所述FPGA将所述数据缓存至FIFO中,并调用多个HDLC IP核将FIFO中的数据通过对应通道的HDLC串口总线发送出去;所述FPGA将通过所述HDLC串口总线接收到的数据缓存至对应通道的FIFO中,并由所述ARM处理器通过所述FSMC总线读取。
在上述技术方案中,优选地,所述ARM处理器通过所述FSMC总线向所述FPGA发送命令包,并发送中断信号以通知所述FPGA执行命令;所述FPGA执行命令后向所述ARM处理器返回应答包,并发送中断信号以通知所述ARM处理器命令执行完毕。
在上述技术方案中,优选地,所述FPGA将所述命令包缓存至写FIFO中,并调用所述HDLC IP核将所述写FIFO中的数据组包后通过对应通道的所述HDLC串口总线发送;所述FPGA将通过所述HDLC串口总线接收到的数据缓存至读FIFO中,并向所述ARM处理器发送中断信号以通知所述ARM处理器通过所述FSMC总线读取所述读FIFO中的数据。
在上述技术方案中,优选地,所述命令包和所述应答包中包括通道号,所述FPGA根据所述通道号将所述命令包缓存至对应通道的所述写FIFO中,将所述应答包缓存至对应通道的所述读FIFO中。
在上述技术方案中,优选地,所述FIFO的深度为2048。
与现有技术相比,本发明的有益效果为:ARM处理器与FPGA通过FSMC总线和中断信号相连接,FPGA通过调用HDLC IP核与多路HDLC串口总线相连接,实现了多通道HDLC同步串口总线设备的数据通信,采用FPGA中的FIFO来缓存不同通道的数据,保证了通信数据的完整性。
附图说明
图1为本发明一种实施例公开的多通道HDLC同步串口总线设备数据通信装置的系统示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明做进一步的详细描述:
如图1所示,根据本发明提供的一种多通道HDLC同步串口总线设备数据通信装置,包括:ARM处理器、FPGA、FSMC总线和HDLC串口总线;ARM处理器与FPGA通过FSMC总线实现通信连接;FPGA设置有FIFO用于存储命令包和应答包,FPGA设置有多个通道的HDLC IP核分别与对应通道的HDLC串口总线相连接。
在该实施例中,ARM处理器与FPGA通过FSMC总线相连接,ARM处理器通过对相应的管脚进行配置,使能时钟,实现FSMC总线与FPGA通信,能够通过FSMC总线向FPGA发送命令信号和数据。FPGA执行ARM处理器所发送的命令并可将数据缓存至对应的FIFO中,FPGA通过调用多个HDLC IP核与多路串口芯片相连接,能够通过该HDLC IP核将ARM处理器发送的数据实现HDLC协议组包等操作,最后将组包好的数据通过对应的串口芯片发送出去。不同通道HDLC串口总线接收来的数据通过FPGA缓存至对应的FIFO中,实现多通道数据缓存。FPGA通过FSMC总线向ARM处理器发送中断信号,通知ARM处理器读取FIFO缓存的数据。在该数据通信装置的基础上,能够实现同时与多路HDLC同步串口进行通信,并且保证数据的完整性。
在上述实施例中,优选地,FIFO包括写FIFO和读FIFO,写FIFO用于存储ARM处理器通过FSMC总线发送至FPGA的命令包,读FIFO用于存储通过HDLC串口总线接收到的数据。
在上述实施例中,优选地,命令包和应答包中包括通道号,FPGA根据通道号将命令包缓存至对应通道的写FIFO中,将应答包缓存至对应通道的读FIFO中。
在上述实施例中,优选地,FIFO的深度为2048。
本发明还提出一种多通道HDLC同步串口总线设备数据通信方法,包括:ARM处理器通过FSMC总线向FPGA发送命令信号和数据;FPGA将数据缓存至FIFO中,并调用多个HDLC IP核将FIFO中的数据通过对应通道的HDLC串口总线发送出去;FPGA将通过HDLC串口总线接收到的数据缓存至对应通道的FIFO中,并由ARM处理器通过FSMC总线读取。
在该实施例中,FPGA设置FIFO用来缓存对应数据包,FIFO的深度优选为2048。FPGA通过调用HDLC IP核实现HDLC同步串口数据处理。FPGA对ARM发送来的命令进行解析,将ARM发送的数据进行FIFO缓存。FPGA将FIFO中的数据通过HDLC IP核进行组包并发送。FPGA将HDLC串口总线接收来的数据进行FIFO缓存,并通过发送中断信号通知ARM读取。
在上述实施例中,优选地,ARM处理器通过FSMC总线向FPGA发送命令包,并发送中断信号以通知FPGA执行命令;FPGA执行命令后向ARM处理器返回应答包,并发送中断信号以通知ARM处理器命令执行完毕。
在上述实施例中,优选地,FPGA将命令包缓存至写FIFO中,并调用HDLC IP核将写FIFO中的数据组包后通过对应通道的HDLC串口总线发送;FPGA将通过HDLC串口总线接收到的数据缓存至读FIFO中,并向ARM处理器发送中断信号以通知ARM处理器通过FSMC总线读取读FIFO中的数据。
具体地,根据上述实施例的基于FSMC的多通道HDLC同步串口总线设备数据通信方法,具体包括以下步骤:
1、将ARM处理器与FPGA通过FSMC总线相连接;
2、ARM处理器与FPGA之间的FSMC总线通过数据包的形式进行通信;
3、FPGA端设置写FIFO,用于缓存命令包和应答包;
4、ARM处理器为主动方,向FPGA发送命令包,并发送中断信号通知FPGA执行命令;
5、FPGA为被动方,FPGA执行相应的命令后向ARM返回应答包,并发送中断信号通知ARM命令执行完毕;
6、根据不同的通道号,FPGA将ARM发送的数据缓存至对应的写FIFO中;
7、FPGA根据对应的通道号,将对应写FIFO中缓存的数据通过相应的HDLC IP核发送出去;
8、不同通道的串口芯片将接收来的数据通过FPGA缓存至对应的读FIFO中,FPGA通过发送中断信号通知ARM读取对应读FIFO中的数据;
在上述实施例中,优选地,命令包和应答包中包括通道号,FPGA根据通道号将命令包缓存至对应通道的写FIFO中,将应答包缓存至对应通道的读FIFO中。
具体地,命令包和应答包的通信协议格式分别如下表1和表2所示。
表1命令包通信协议格式
名称 内容 长度(字节)
包头 0x55AA 2
通道号 此包数据进行通道选择 2
数据 操作数据 256
校验 CRC校验 2
表2应答包通信协议格式
名称 内容 长度(字节)
包头 0xAA55 2
通道号 此包数据进行通道选择 2
数据 操作数据 N
校验 CRC校验 2
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种多通道HDLC同步串口总线设备数据通信装置,其特征在于,包括:ARM处理器、FPGA、FSMC总线和HDLC串口总线;
所述ARM处理器与所述FPGA通过所述FSMC总线实现通信连接;
所述FPGA设置有FIFO用于存储命令包和应答包,所述FPGA设置有多个通道的HDLC IP核分别与对应通道的所述HDLC串口总线相连接;
所述FIFO包括写FIFO和读FIFO,所述写FIFO用于存储所述ARM处理器通过所述FSMC总线发送至所述FPGA的命令包,所述读FIFO用于存储通过所述HDLC串口总线接收到的数据;
所述命令包和所述应答包中包括通道号,所述FPGA根据所述通道号将所述命令包缓存至对应通道的所述写FIFO中,将所述应答包缓存至对应通道的所述读FIFO中。
2.根据权利要求1所述的多通道HDLC同步串口总线设备数据通信装置,其特征在于,所述FIFO的深度为2048。
3.一种多通道HDLC同步串口总线设备数据通信方法,应用于如权利要求1所述的多通道HDLC同步串口总线设备数据通信装置上,其特征在于,包括:
ARM处理器通过FSMC总线向FPGA发送命令信号和数据;
所述FPGA将所述数据缓存至FIFO中,并调用多个HDLC IP核将FIFO中的数据通过对应通道的HDLC串口总线发送出去;
所述FPGA将通过所述HDLC串口总线接收到的数据缓存至对应通道的FIFO中,并由所述ARM处理器通过所述FSMC总线读取;
其中,所述ARM处理器通过所述FSMC总线向所述FPGA发送命令包,并发送中断信号以通知所述FPGA执行命令;
所述FPGA执行命令后向所述ARM处理器返回应答包,并发送中断信号以通知所述ARM处理器命令执行完毕;
所述FPGA将所述命令包缓存至写FIFO中,并调用所述HDLC IP核将所述写FIFO中的数据组包后通过对应通道的所述HDLC串口总线发送;
所述FPGA将通过所述HDLC串口总线接收到的数据缓存至读FIFO中,并向所述ARM处理器发送中断信号以通知所述ARM处理器通过所述FSMC总线读取所述读FIFO中的数据;
其中,所述命令包和所述应答包中包括通道号,所述FPGA根据所述通道号将所述命令包缓存至对应通道的所述写FIFO中,将所述应答包缓存至对应通道的所述读FIFO中。
4.根据权利要求3所述的多通道HDLC同步串口总线设备数据通信方法,其特征在于,所述FIFO的深度为2048。
CN202010048920.6A 2020-01-16 2020-01-16 多通道hdlc同步串口总线设备数据通信装置和方法 Active CN111290985B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010048920.6A CN111290985B (zh) 2020-01-16 2020-01-16 多通道hdlc同步串口总线设备数据通信装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010048920.6A CN111290985B (zh) 2020-01-16 2020-01-16 多通道hdlc同步串口总线设备数据通信装置和方法

Publications (2)

Publication Number Publication Date
CN111290985A CN111290985A (zh) 2020-06-16
CN111290985B true CN111290985B (zh) 2021-07-23

Family

ID=71022281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010048920.6A Active CN111290985B (zh) 2020-01-16 2020-01-16 多通道hdlc同步串口总线设备数据通信装置和方法

Country Status (1)

Country Link
CN (1) CN111290985B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114143296B (zh) * 2021-11-22 2024-01-30 北京计算机技术及应用研究所 一种hdlc通用ip软核

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6778491B1 (en) * 2000-03-31 2004-08-17 Alcatel Method and system for providing redundancy for signaling link modules in a telecommunication system
CN108650159A (zh) * 2018-04-12 2018-10-12 佛山金皇宇机械实业有限公司 一种基于rs485接口的现场总线通信方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6778491B1 (en) * 2000-03-31 2004-08-17 Alcatel Method and system for providing redundancy for signaling link modules in a telecommunication system
CN108650159A (zh) * 2018-04-12 2018-10-12 佛山金皇宇机械实业有限公司 一种基于rs485接口的现场总线通信方法

Also Published As

Publication number Publication date
CN111290985A (zh) 2020-06-16

Similar Documents

Publication Publication Date Title
JP2559394B2 (ja) 通信制御装置
CN102567261B (zh) 增强型spi控制器、增强型spi的通讯系统及传送数据方法
CN105376129B (zh) 一种1394总线事务层-链路层数据包发送电路及方法
US5978865A (en) System for performing DMA transfers where an interrupt request signal is generated based on the value of the last of a plurality of data bits transmitted
US20060212661A1 (en) Data transfer device
US8051222B2 (en) Concatenating secure digital input output (SDIO) interface
CN109165178B (zh) 一种基于RapidIO的弹上系统SoC芯片间高速通信方法
CN111290985B (zh) 多通道hdlc同步串口总线设备数据通信装置和方法
CN111339003A (zh) 一种基于fpga的通用多通道数据发送系统及方法
CN114297124B (zh) 一种基于fpga的srio高速总线的通讯系统
WO2023240998A1 (zh) 数据包处理方法、通信芯片及计算机设备
CN105843771A (zh) 一种多核dsp中edma不同带宽设备间通信的方法
US20100228901A1 (en) Input output control apparatus with a plurality of ports and single protocol processing circuit
CN108614792A (zh) 1394事务层数据包存储管理方法及电路
CN115237829A (zh) 处理数据的装置、方法及存储介质
CN101938453A (zh) 一种实现中央处理器与以太网进行数据传输的装置与方法
JP5313155B2 (ja) 時分割多重化モードにおけるデータ伝送方法及びシステム
CN113051212B (zh) 图形处理器、数据传输方法、装置、电子设备和存储介质
CN109902036B (zh) 基于emif接口的双速率1553b总线设备通信方法
JPH04108242A (ja) 通信制御装置のデータ転送方式
JP2762506B2 (ja) 回線制御装置
CN110955620A (zh) 一种基于pcie的1553b总线协议系统
CN108322616A (zh) 一种数据处理方法和语音数据卡
CN113609067B (zh) 一种32路rs485接口卡的实现系统
CN109831395B (zh) 一种嵌入式设备与主机间底层网络数据传输系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant