CN111181690B - 一种多信道通信及接口动态切换方法 - Google Patents
一种多信道通信及接口动态切换方法 Download PDFInfo
- Publication number
- CN111181690B CN111181690B CN201911366629.7A CN201911366629A CN111181690B CN 111181690 B CN111181690 B CN 111181690B CN 201911366629 A CN201911366629 A CN 201911366629A CN 111181690 B CN111181690 B CN 111181690B
- Authority
- CN
- China
- Prior art keywords
- data
- fpga
- frame
- cpu
- interface
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6245—Modifications to standard FIFO or LIFO
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明涉及一种多信道通信及接口动态切换实现方法,属于多信道通信领域。本发明为了克服现有的多信道通信设备硬件接口的通信时序无法修改,如需要增加新的通信接口,需要重新设计硬件方案,设计周期长,灵活性低的问题,采用所述FPGA实现切换矩阵电路;通过所述CPU下发工作模式切换指令至所述FPGA;切换矩阵判断所述FPGA是否支持下发的该工作模式,如果所述FPGA支持该工作模式,则将外部接口信号线与该工作模式的业务逻辑处理模块的信号线相连接。本发明提出的多信道通信接口简单,在链路层数据过程中已实现数据过滤操作,为软件处理时提供了极大的便利,由于具备软件动态配置各接口的功能,提高了通信设备的接口灵活性、通用性。
Description
技术领域
本发明属于多信道通信领域,具体涉及一种多信道通信及接口动态切换实现方法。
背景技术
随着日益复杂的用户要求,多信道通信已广泛应用于通信设备中,例如交换机,网络机顶盒等通信设备。目前大多通信设备依靠处理器丰富的硬件资源,如HDMI、GMII、UART、SPI等接口,实现用户的数据、话音、图像等多信道业务的处理和传输。
目前多信道通信设备,虽然搭载的处理器具备丰富的外围硬件接口,但因为专用性强,适配应用范围窄。一旦设计完成,对应硬件接口的通信时序无法修改,只能识别固定时序格式的数据。如果需要增加新的通信接口,需要重新设计硬件方案,设计周期长,灵活性低。同时在软件进行业务处理时,需要进行复杂的帧同步设计,处理效率低下,软件开发复杂。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何提供一种多信道通信及接口动态切换实现方法,实现多信道通信方案,由硬件层完成帧同步操作,并且多信道的时序和工作模式可以通过软件进行动态切换。
(二)技术方案
为了解决上述技术问题,本发明提出一种多信道通信的数据接收方法,该方法包括如下步骤:
将多个模式的接收FIFO宽度均设置为10比特,其中高2比特用于设置帧头/帧尾标识,低8比特用于缓存净荷数据;
FPGA判断接收的一帧数据有效后,写入帧头数据到对应模式的接收FIFO中;
FPGA对该帧数据及后续接收到的数据进行串并转换,每满8bit,进行帧格式判断,如果符合帧格式,将净荷数据写入接收FIFO,写入数据时保证最高2比特为0;否则丢弃该帧,向接收FIFO中写入0x3FF;
FPGA判断帧结束后,写入帧尾数据至接收FIFO;
FPGA产生中断通知CPU一次完整数据接收过程结束,CPU进行业务数据处理。
进一步地,在写入帧头数据到对应模式的接收FIFO中之前,该方法还包括CPU选择或切换接收FIFO的模式的步骤。
进一步地,所述帧头数据为0x200,所述帧尾数据为0x300。
进一步地,所述CPU进行业务数据处理的具体过程为:
CPU等待FPGA中断,在收到中断通知后,读取接收FIFO数据;
判断数据是否为帧头数据,当数据是帧头数据时,CPU正式开始读取接收FIFO数据,否则清空接收缓存;
CPU判断数据是否为0x3FF或帧尾数据,当不是0x3FF,也不是帧尾数据时,将数据写入接收缓存,并转到读取接收FIFO数据的步骤继续读取接收FIFO数据;
如果是0x3FF,则清空接收缓存;
如果是帧尾数据,则CPU对接收缓存的数据进行业务处理。
进一步地,FPGA对该帧数据及后续接收到的数据进行串并转换之前,该方法还包括FPGA对数据进行过滤和同步操作的步骤。
一种多信道通信的数据发送方法,该方法包括如下步骤:
将多个模式的发送FIFO宽度均设置为10比特,其中高2比特用于设置帧头/帧尾标识,低8比特用于缓存净荷数据;
CPU通过本地总线接口将待发送数据写入对应模式的发送FIFO,写数据时保持发送FIFO高2bit为0,但完成数据写入后,写入发送完成标志0x100;
FPGA发送模块接收到0x100数据后,从发送FIFO中取出数据进行发送操作。
进一步地,在CPU通过本地总线接口将待发送数据写入对应模式的发送FIFO之前,该方法还包括CPU选择或切换发送FIFO的模式的步骤。
一种接口通信方式动态切换方法,该方法应用于包括CPU和FPGA的系统,所述FPGA用于连接外部接口和多种模式的业务逻辑处理模块,该方法包括如下步骤:
采用所述FPGA实现切换矩阵电路;
通过所述CPU下发工作模式切换指令至所述FPGA;
切换矩阵判断所述FPGA是否支持下发的该工作模式,如果所述FPGA支持该工作模式,则将外部接口信号线与该工作模式的业务逻辑处理模块的信号线相连接。
进一步地,该系统还包括CPLD,该方法还包括使用所述CPLD扩展接口、配置所述FPGA的步骤。
进一步地,所述CPU通过本地总线接口实现与所述FPGA、所述CPLD的数据交互。
(三)有益效果
本本发明利用FPGA的灵活性和快速数据处理的优点,在数据接收处理的过程中,仅需要两个系统时钟周期,就可以完成对数据帧同步处理。同时可以通过软件动态配置各业务通道的工作模式,保证配置过程中其它接口通信不受影响,增加了通信设备的灵活性和兼容性。
与现有通信设备接口实现方式相比,本发明提出的多信道通信接口简单,在链路层数据过程中已实现数据过滤操作,为软件处理时提供了极大的便利。由于具备软件动态配置各接口的功能,提高了通信设备的接口灵活性、通用性。如果后续需求变更,对FPGA配置文件进行更新即可完成,无需重新进行硬件设计。同时也为通信设备的小型化、综合化、实时性高的需求提供了一种解决方案。
附图说明
图1为本发明的系统的硬件结构框图;
图2为本发明的接口数据流向框图;
图3为本发明的多信道FIFO数据存储格式;
图4为本发明的多信道信号动态切换连接框图;
图5为本发明的软件处理总体流程图;
图6为本发明的CPU取数据流程;
图7为本发明的软件发数据流程。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
图1是本方案硬件平台结构图。如图1所示,本方案的硬件采用CPU+FPGA+CPLD架构。各硬件单元功能具体实现功能描述下。
1)CPU通过本地总线接口实现与FPGA、CPLD、存储器件的数据交互,业务数据处理、并具备一些低速数据通信接口。
2)FPGA实现业务通信接口模块、动态切换模块、本地总线通信模块。
3)CPLD实现接口扩展,FPGA配置等功能。
为满足通信接口灵活性,通信接口统一采用三线制方式,包含时钟、数据、使能三根信号线,分为收、发两组。对于异步通信接口,可以通过配置只使用两根信号。用户在通信系统上电初始化完成后,通过本地总线接口将各接口的工作模式信息发送给FPGA,具体信息可包含通信接口时序、接口帧格式等一些传输信息。
如图2所示为本发明的接口数据流向框图。
接口工作模式配置完成后,FPGA内部通信接口模块可以按照指定的接口时序和工作模式进行数据帧解析和处理。
一、多信道接口数据同步实现
为了易于软件程序处理,本发明在使用FPGA对数据进行过滤和同步操作,保证到达CPU端的为净荷数据,软件开发人员只需读取数据后,进行业务处理即可。以下是详细设计。
用于缓存接收和发送数据FIFO宽度设置为10比特,其中高2比特用于设置帧头/帧尾标识,低8比特用于缓存净荷数据。FIFO深度可以根据不同的业务需求进行设定。FIFO中数据存储结构如图3所示。
如图2所示,接收过程为:
1)FPGA首先判断一帧数据有效后(可根据不同接口时序判断),在进行串并转换的第7个时钟周期写入帧头数据(0x200)到对应模式的接收FIFO中。
2)FPGA对该帧数据及后续接收到的数据进行串并转换每满8bit,进行帧格式判断,如果符合帧格式,才将净荷数据写入接收FIFO,写入数据时保证最高2比特为零。否则丢弃该帧,向接收FIFO中写入0x3FF。
3)FPGA判断帧结束后,写入帧尾数据(0x300)至接收FIFO。
4)FPGA产生中断通知CPU一次完整数据接收过程结束,CPU进行业务数据处理。
如图6所示,CPU取数据进行业务数据处理的流程为:
CPU等待FPGA中断,在收到中断通知后,读取接收FIFO数据。
判断数据是否为帧头数据(0x200),当数据是帧头数据(0x200)时,CPU正式开始读取接收FIFO数据,否则清空接收缓存。
CPU判断数据是否为0x3FF或帧尾数据(0x300),当不是0x3FF,也不是帧尾数据(0x300)时,则将数据写入接收缓存,并转到读取接收FIFO数据的步骤继续读取接收FIFO数据;
如果是0x3FF,则清空接收缓存;
如果是帧尾数据(0x300),则CPU对接收缓存的数据进行业务处理。
如图2、7所示,发送过程为:
1)CPU接收到FPGA产生的中断通知后,通过本地总线接口取出数据进行业务处理;
2)CPU处理完成后再通过本地总线接口将待发送数据写入对应模式的发送FIFO,写数据时保持发送FIFO高2bit为0,但完成数据写入后,写入发送完成标志0x100。
3)FPGA发送模块接收到0x100数据后,从发送FIFO中取出数据进行发送操作。
利用以上技术实现的多信道通信接口,可区分出完整一帧,且易于软件处理和操作。
二、接口通信方式动态切换
现有体制的FPGA接口通信方式大多固定,上电后可采用Slave SelectMap方式进行FPGA配置。如果每次通道切换时,采用重新配置FPGA芯片的方式重新映射工作模式和通信接口,将导致工作模式没有变化的接口在FPGA重新配置是工作中断,大大影响通信设备的性能。
因此如图4所示的多信道动态切换框图,采用FPGA实现专门切换矩阵电路,用户在使用过程中可以通过CPU下发各通道工作模式切换指令至FPGA。切换矩阵判断所述FPGA是否支持下发的该工作模式,如果FPGA支持该工作模式,将外部接口信号线与该工作模式的业务逻辑处理模块的信号线相连接。该动态切换方式无需FPGA重新配置,对于其他接口不会造成影响,大大提高了通信设备工作性能。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (9)
1.一种多信道通信的数据接收方法,其特征在于,该方法包括如下步骤:
将多个模式的接收FIFO宽度均设置为10比特,其中高2比特用于设置帧头/帧尾标识,低8比特用于缓存净荷数据;
FPGA判断接收的一帧数据有效后,写入帧头数据到对应模式的接收FIFO中;
FPGA对该帧数据及后续接收到的数据进行串并转换,每满8bit,进行帧格式判断,如果符合帧格式,将净荷数据写入接收FIFO,写入数据时保证最高2比特为0;否则丢弃该帧,向接收FIFO中写入0x3FF;
FPGA判断帧结束后,写入帧尾数据至接收FIFO;
FPGA产生中断通知CPU一次完整数据接收过程结束,CPU进行业务数据处理;
所述帧头数据为0x200,所述帧尾数据为0x300。
2.如权利要求1所述的多信道通信的数据接收方法,其特征在于:在写入帧头数据到对应模式的接收FIFO中之前,该方法还包括CPU选择或切换接收FIFO的模式的步骤。
3.如权利要求1所述的多信道通信的数据接收方法,其特征在于:所述CPU进行业务数据处理的具体过程为:
CPU等待FPGA中断,在收到中断通知后,读取接收FIFO数据;
判断数据是否为帧头数据,当数据是帧头数据时,CPU正式开始读取接收FIFO数据,否则清空接收缓存;
CPU判断数据是否为0x3FF或帧尾数据,当不是0x3FF,也不是帧尾数据时,将数据写入接收缓存,并转到读取接收FIFO数据的步骤继续读取接收FIFO数据;
如果是0x3FF,则清空接收缓存;
如果是帧尾数据,则CPU对接收缓存的数据进行业务处理。
4.如权利要求1所述的多信道通信的数据接收方法,其特征在于:FPGA对该帧数据及后续接收到的数据进行串并转换之前,该方法还包括FPGA对数据进行过滤和同步操作的步骤。
5.一种多信道通信的数据发送方法,其特征在于,该方法包括如下步骤:
将多个模式的发送FIFO宽度均设置为10比特,其中高2比特用于设置帧头/帧尾标识,低8比特用于缓存净荷数据;
CPU通过本地总线接口将待发送数据写入对应模式的发送FIFO,写数据时保持发送FIFO高2bit为0,但完成数据写入后,写入发送完成标志0x100;
FPGA发送模块接收到0x100数据后,从发送FIFO中取出数据进行发送操作。
6.如权利要求5所述的多信道通信的数据发送方法,其特征在于:在CPU通过本地总线接口将待发送数据写入对应模式的发送FIFO之前,该方法还包括CPU选择或切换发送FIFO的模式的步骤。
7.一种接口通信方式动态切换方法,该方法应用于包括CPU和FPGA的系统,其特征在于:所述FPGA执行权利要求1-6任一项的方法,并用于连接外部接口和多种模式的业务逻辑处理模块,该方法包括如下步骤:
采用所述FPGA实现切换矩阵电路;
通过所述CPU下发工作模式切换指令至所述FPGA;
切换矩阵判断所述FPGA是否支持下发的该工作模式,如果所述FPGA支持该工作模式,则将外部接口信号线与该工作模式的业务逻辑处理模块的信号线相连接。
8.如权利要求7所述的接口通信方式动态切换方法,其特征在于:该系统还包括CPLD,该方法还包括使用所述CPLD扩展接口、配置所述FPGA的步骤。
9.如权利要求8所述的接口通信方式动态切换方法,其特征在于:所述CPU通过本地总线接口实现与所述FPGA、所述CPLD的数据交互。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911366629.7A CN111181690B (zh) | 2019-12-26 | 2019-12-26 | 一种多信道通信及接口动态切换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911366629.7A CN111181690B (zh) | 2019-12-26 | 2019-12-26 | 一种多信道通信及接口动态切换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111181690A CN111181690A (zh) | 2020-05-19 |
CN111181690B true CN111181690B (zh) | 2022-10-25 |
Family
ID=70654089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911366629.7A Active CN111181690B (zh) | 2019-12-26 | 2019-12-26 | 一种多信道通信及接口动态切换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111181690B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506839B (zh) * | 2020-12-07 | 2023-02-03 | 天津津航计算技术研究所 | 一种一对多spi总线切换方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101146102B (zh) * | 2007-10-16 | 2010-09-15 | 深圳国人通信有限公司 | Rru网络中hdlc数据下行、上行的方法及通讯装置 |
US8259733B2 (en) * | 2009-04-27 | 2012-09-04 | Ciena Corporation | Systems and methods for rapid optical transport network circuit provisioning |
CN102221986A (zh) * | 2010-04-15 | 2011-10-19 | 研祥智能科技股份有限公司 | 一种基于pci总线的高速数据缓存与采集系统 |
CN104320594A (zh) * | 2014-11-21 | 2015-01-28 | 连明昌 | 基于fpga的串口矩阵切换器 |
CN107967231A (zh) * | 2017-12-07 | 2018-04-27 | 天津天地伟业机器人技术有限公司 | 一种Spi模拟多路全双工串口的系统 |
CN109905321B (zh) * | 2019-02-13 | 2021-01-05 | 西安微电子技术研究所 | 一种用于自定义高速接口与以太网交互的路由控制系统 |
-
2019
- 2019-12-26 CN CN201911366629.7A patent/CN111181690B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111181690A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10521392B2 (en) | Slave master-write/read datagram payload extension | |
CN110704351A (zh) | 基于axi总线的主机设备数据传输扩展方法 | |
US20180232324A1 (en) | Multi-port multi-sideband-gpio consolidation technique over a multi-drop serial bus | |
US10572410B2 (en) | Function-specific communication on a multi-drop bus for coexistence management | |
US20190227971A1 (en) | Architecture for consolidating multiple sources of low-bandwidth data over a serial bus | |
CN110297797B (zh) | 异构协议转换装置和方法 | |
CN110837486A (zh) | 一种基于FPGA的FlexRay-CPCIe通信模块 | |
US7191262B2 (en) | High-throughput UART interfaces | |
CN110635985A (zh) | 一种FlexRay-CPCIe通信模块 | |
CN112749113A (zh) | 一种数据交互的方法、系统、设备及介质 | |
CN111181690B (zh) | 一种多信道通信及接口动态切换方法 | |
CN107992439B (zh) | 一种可扩展的数据交互方法及系统 | |
WO2014134947A1 (zh) | 控制信息的收发装置和方法 | |
CN114153775A (zh) | 一种基于AXI总线的FlexRay控制器 | |
US10592441B2 (en) | Bus communication enhancement based on identification capture during bus arbitration | |
CN112256615B (zh) | Usb转换接口装置 | |
JP2814132B2 (ja) | マルチチャネル通信処理装置 | |
CN110855581B (zh) | 适用于vpx架构的40g和srio复用的国产交换刀片装置 | |
EP2460278B1 (en) | Transaction terminator | |
CN115934614A (zh) | 基于apb总线带有fifo缓存功能的uart通讯接口 | |
CN215376139U (zh) | 基于arm和fpga的高效数据采集系统 | |
CN115776653A (zh) | 一种车载数据的获取方法、装置、设备及介质 | |
CN109889226B (zh) | 基于rtx的双向通信软件无线电实现装置及方法 | |
CN113676253A (zh) | 一种基于FPGA的FlexRay总线光纤通信模块 | |
US20100216506A1 (en) | System and Methods for Supporting Multiple Communications Protocols on a Mobile Phone Device |
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 |