CN108227614A - 一种基于fpga的数据流控制模块、控制方法及电路 - Google Patents
一种基于fpga的数据流控制模块、控制方法及电路 Download PDFInfo
- Publication number
- CN108227614A CN108227614A CN201810074411.3A CN201810074411A CN108227614A CN 108227614 A CN108227614 A CN 108227614A CN 201810074411 A CN201810074411 A CN 201810074411A CN 108227614 A CN108227614 A CN 108227614A
- Authority
- CN
- China
- Prior art keywords
- slave device
- flow control
- fpga
- data flow
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/054—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/11—Plc I-O input output
- G05B2219/1103—Special, intelligent I-O processor, also plc can only access via processor
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Communication Control (AREA)
Abstract
本发明实施例公开了一种基于FPGA的数据流控制模块、控制方法及电路,属于芯片设计领域。基于FPGA的数据流控制模块,包含外围设备总线接口、随机存取存储器、随机存取存储器控制器、主端重配置模块、流控制门控逻辑模块。通过读取数据流控制模块所连接从设备的身份及状态信息,并将身份及状态信息映射在内部的随机存取存储器对应的区域内;根据内部读取的从设备状态信息判断从设备是否可能发生数据堵塞,或根据传输的从设备信号判断从设备是否数据将要溢出或将要空闲,从而需要改变传输速率。本发明解决了外设接口端堵塞或闲置状态的产生,有效的提高外设总线的利用率;具有能根据实际传输情况,调节传输速率,降低功耗的优点。
Description
技术领域
本发明涉及芯片设计领域,具体涉及硬件之间进行数据传输过程中数据通讯接口的通用数据流控设计。
背景技术
由于FPGA具有速度快、效率高、灵活稳定、集成度高等优点,所以在硬件逻辑验证与设计中是十分必要的。在串行通信中,因为串行总线上一般只有数据线和时钟线,串口之间多采用对数据包进行分类,以达到主从端配置信息的交流。因此,在串行通信中添加流量控制逻辑模块可以加速主从设备交流,防止出现数据堵塞或闲置状态。在论述了逻辑原理的基础上,提出了硬件实现原理,并用Verilog硬件描述语言实现数据流控制逻辑,验证了方案的可行性。
常规外设接口如SPI、UART、IIC等,并没有主端和从端交流的单独信号,所以当出现堵塞时,仅能依靠CPU进行调节,占用时间较长,影响其他IP的使用。所以需要采用流量控制逻辑,对外设接口的IP进行控制,获取外设内部状态寄存器值,在控制模块内,进行传输状态判断以及预测,并对其调整。
现有技术存在的主问题有:1)主从端无法沟通,易产生堵塞或闲置状态;2)主端无法根据实际传输情况,重新配置寄存器,调节传输速度;3)不同串口的配置,以及修改配置信息时,使用软件实现,延迟较大。
发明内容
本发明为解决常规外设接口如SPI、UART、IIC,主从端无法沟通,易产生堵塞或闲置状态的技术问题。为此,本发明提供一种基于FPGA的数据流控制模块及控制方法,它具有能根据实际情况调节传输速率,降低功耗的优点。
为了实现上述目的,本发明采用如下技术方案。
提供一种基于FPGA的数据流控制模块,包含:
外围设备总线接口(advanced peripheral bus,简称APB),用于传输外围设备总线信号,获取设备(简称dev)状态信号;
随机存取存储器(Random access memory,简称RAM),包含若干个区域,所述若干个区域用于分别映射设备的状态信息;
随机存取存储器控制器(Random access memory controller,简称RAMcontroller),用于对设备数据分类,并分别存储到随机存取存储器中的区域中。
主端重配置模块(Master reconfig模块),用于当随机存取存储器中设备内的传输状态变化过快时,提高基于FPGA的数据流控制模块所连接的从端的数据传输速率。
流控制门控逻辑模块(Fc gating logic模块),用于传输从设备信号,通知基于FPGA的数据流控制模块所连接的从端改变接收或发送数据速率。
一种基于FPGA的数据流控制方法,包括步骤:
读取数据流控制模块所连接从设备的身份及状态信息,并将身份及状态信息映射在内部的随机存取存储器对应的区域内;
根据内部读取的从设备状态信息判断从设备是否可能发生数据堵塞,或根据传输的从设备信号判断从设备是否数据将要溢出或将要空闲,从而需要改变传输速率。
优选的,根据内部读取的从设备状态信息判断从设备是否可能发生数据堵塞,包括以下步骤:根据从设备内部先入先出队列(First Input First Output,简称FIFO),比较先入先出队列剩余存储空间与状态机跳转频率,得到从设备的运行状况,当从设备内的传输状态变化过快时,判断为数据即将大量传输,可能发生数据堵塞,提高传输速率。
优选的,根据传输的从设备信号判断从设备是否数据将要溢出或将要空闲,从而需要改变传输速率,包括以下步骤:获取从从设备发出的ae、id、af信号,确定是否需修改配置以及传输速率,通知从设备改变传输速率。
优选的,从设备为外设SPI0或UART接口从设备的一种或多种。
一种基于FPGA的数据流控制电路,包括:
包括基于FPGA的数据流控制模块、以及通过总线与其互连的SPI接口主设备或UART,以及通过APB/AXI/AHB总线互连的流控制从设备、SPI接口从设备或UART,基于FPGA的还通过ae、id、af信号与流控制从设备通信。SPI接口主设备与SPI接口从设备连接。UART设备间互相连接。
本发明的有益效果:
本发明解决了外设接口端堵塞或闲置状态的产生,有效的提高外设总线的利用率;根据实际传输情况,调节传输速率,降低功耗。
集成了多个串口模块的配置信息与控制方式的映射RAM,能控制修改外设的SPI0或UART接口从设备传输速率。采用硬件自控配置信息,时间延迟小。
附图说明
图1是实施例1基于FPGA的数据流控制模块的原理图。
图2是实施例2的连接示意图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
实施例1
如图1所示,一种基于FPGA的数据流控制模块,包含:
外围设备总线接口Apb_interface,用于传输APB总线信号,获取dev状态信号;
RAM模块,包含区域dev0、dev1、……,用于分别映射设备dev0、dev1、……的状态信息;
RAM controller模块,用于对设备数据分类,并分别存储到随机存取存储器中的区域中。
Reconfig ms_dev模块(Master reconfig模块),用于当随机存取存储器中设备内的传输状态变化过快时,提高基于FPGA的数据流控制模块所连接的从端的数据传输速率。
Fc gating logic for sl_dev模块(Fc gating logic模块),用于传输从设备ae、id、af信号,通知基于FPGA的数据流控制模块所连接的从端改变接收或发送数据速率。
实施例2
如图2所示,应用基于FPGA的数据流控制模块的电路,包括通过APB/AXI/AHB总线互连的基于FPGA的数据流控制模块FC master、SPI接口主设备SPI 0master、UART0,以及通过APB/AXI/AHB总线互连的流控制从设备FC slave、SPI接口从设备SPI 0slave、UART1,数据流控制模块FC master还通过ae_m、id_m、af_m、ae_s、id_s、af_s信号与流控制从设备FCslave通信。SPI 0master与SPI 0slave连接。UART设备间互相连接。
使用Altera公司的可编程逻辑器件设计软件Quartus生成RAM IP;数据流控制过程为:
划分RAM区域,分别映射dev0,dev1,dev2,dev3的状态信息,读取数据流控制模块FCmaster所连接从设备SPI 0master、UART0、SPI 0slave、UART1的身份及状态信息,并将身份及状态信息映射在内部的随机存取存储器对应的区域dev0、dev1,dev2,dev3内;
根据SPI从设备内部先入先出队列(First Input First Output,简称FIFO),比较先入先出队列剩余存储空间与状态机跳转频率,得到SPI从设备的运行状况,当从设备内的传输状态变化过快时,判断为数据即将大量传输,可能发生数据堵塞,提高传输速率。
获取从UART从设备发出的ae、id、af信号,确定是否需修改配置以及传输速率,通知UART从设备改变传输速率。
本实施例基于FPGA的数据流控制模块用于监督和调整外设接口的数据流量,提高了传输的效率和外设总线的利用率,解决了数据滞留和总线频繁空闲问题。通过APB/AXI/AHB总线,CPU可以读到RAM里的数据,使基于FPGA的数据流控制模块能够与上级或CPU及时沟通。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (6)
1.一种基于FPGA的数据流控制模块,其特征在于,包含:
外围设备总线接口,用于传输外围设备总线信号,获取设备状态信号;
随机存取存储器,包含若干个区域,所述若干个区域用于分别映射设备的状态信息;
随机存取存储器控制器,用于对设备数据分类,并分别存储到随机存取存储器中的区域中;
主端重配置模块,用于当随机存取存储器中设备内的传输状态变化过快时,提高基于FPGA的数据流控制模块所连接的从端的数据传输速率;
流控制门控逻辑模块,用于传输从设备信号,通知基于FPGA的数据流控制模块所连接的从端改变接收或发送数据速率。
2.一种基于FPGA的数据流控制方法,其特征在于,包括步骤:
读取数据流控制模块所连接从设备的身份及状态信息,并将身份及状态信息映射在内部的随机存取存储器对应的区域内;
根据内部读取的从设备状态信息判断从设备是否可能发生数据堵塞,或根据传输的从设备信号判断从设备是否数据将要溢出或将要空闲,从而需要改变传输速率。
3.如权利要求2所述的基于FPGA的数据流控制方法,其特征在于,根据内部读取的从设备状态信息判断从设备是否可能发生数据堵塞,包括以下步骤:根据从设备内部先入先出队列,比较先入先出队列剩余存储空间与状态机跳转频率,得到从设备的运行状况,当从设备内的传输状态变化过快时,判断为数据即将大量传输,可能发生数据堵塞,提高传输速率。
4.如权利要求2所述的基于FPGA的数据流控制方法,其特征在于,根据传输的从设备信号判断从设备是否数据将要溢出或将要空闲,从而需要改变传输速率,包括以下步骤:获取从从设备发出的ae、id、af信号,确定是否需修改配置以及传输速率,通知从设备改变传输速率。
5.如权利要求2-4所述的任一基于FPGA的数据流控制方法,其特征在于,从设备为外设SPI0或UART接口从设备的一种或多种。
6.一种基于FPGA的数据流控制电路,其特征在于,包括:
基于FPGA的数据流控制模块、以及通过总线与其互连的SPI接口主设备或UART,以及通过APB/AXI/AHB总线互连的流控制从设备、SPI接口从设备或UART,基于FPGA的还通过ae、id、af信号与流控制从设备通信;SPI接口主设备与SPI接口从设备连接;UART设备间互相连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810074411.3A CN108227614A (zh) | 2018-01-25 | 2018-01-25 | 一种基于fpga的数据流控制模块、控制方法及电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810074411.3A CN108227614A (zh) | 2018-01-25 | 2018-01-25 | 一种基于fpga的数据流控制模块、控制方法及电路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108227614A true CN108227614A (zh) | 2018-06-29 |
Family
ID=62667347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810074411.3A Pending CN108227614A (zh) | 2018-01-25 | 2018-01-25 | 一种基于fpga的数据流控制模块、控制方法及电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108227614A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446130A (zh) * | 2018-10-29 | 2019-03-08 | 杭州迪普科技股份有限公司 | 一种i/o设备状态信息的获取方法及系统 |
CN110209358A (zh) * | 2019-06-05 | 2019-09-06 | 哈尔滨工业大学 | 一种基于FPGA的NVMe设备存储速度提升方法 |
CN111427828A (zh) * | 2020-03-02 | 2020-07-17 | 深圳震有科技股份有限公司 | 一种spi流控方法、系统、主设备、从设备及存储介质 |
CN112134809A (zh) * | 2020-09-16 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种流量控制方法、装置、设备及可读存储介质 |
CN117312100A (zh) * | 2023-11-28 | 2023-12-29 | 苏州元脑智能科技有限公司 | 一种功耗调整方法、系统、装置、设备及计算机存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5768257A (en) * | 1996-07-11 | 1998-06-16 | Xylan Corporation | Input buffering/output control for a digital traffic switch |
US7424546B1 (en) * | 2003-04-30 | 2008-09-09 | Nortel Networks Limited | Rate-based proportional-integral control scheme for active queue management |
CN105183680A (zh) * | 2015-09-18 | 2015-12-23 | 烽火通信科技股份有限公司 | 实现PCIe接口转CF卡接口的FPGA芯片及方法 |
US20160261510A1 (en) * | 2015-03-03 | 2016-09-08 | Opanga Networks, Inc. | Systems and methods for pacing data flows |
CN106796514A (zh) * | 2014-05-21 | 2017-05-31 | 社会创新Ipco有限公司 | 用于完全可配置的实时处理的系统和方法 |
-
2018
- 2018-01-25 CN CN201810074411.3A patent/CN108227614A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5768257A (en) * | 1996-07-11 | 1998-06-16 | Xylan Corporation | Input buffering/output control for a digital traffic switch |
US7424546B1 (en) * | 2003-04-30 | 2008-09-09 | Nortel Networks Limited | Rate-based proportional-integral control scheme for active queue management |
CN106796514A (zh) * | 2014-05-21 | 2017-05-31 | 社会创新Ipco有限公司 | 用于完全可配置的实时处理的系统和方法 |
US20160261510A1 (en) * | 2015-03-03 | 2016-09-08 | Opanga Networks, Inc. | Systems and methods for pacing data flows |
CN105183680A (zh) * | 2015-09-18 | 2015-12-23 | 烽火通信科技股份有限公司 | 实现PCIe接口转CF卡接口的FPGA芯片及方法 |
Non-Patent Citations (1)
Title |
---|
YANG MENGFEI: ""Architecture design for reliable and reconfigurable FPGA-based GNC computer for deep space exploration"", < SCIENCE CHINA TECHNOLOGICAL SCIENCES > * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446130A (zh) * | 2018-10-29 | 2019-03-08 | 杭州迪普科技股份有限公司 | 一种i/o设备状态信息的获取方法及系统 |
CN110209358A (zh) * | 2019-06-05 | 2019-09-06 | 哈尔滨工业大学 | 一种基于FPGA的NVMe设备存储速度提升方法 |
CN110209358B (zh) * | 2019-06-05 | 2022-07-15 | 哈尔滨工业大学 | 一种基于FPGA的NVMe设备存储速度提升方法 |
CN111427828A (zh) * | 2020-03-02 | 2020-07-17 | 深圳震有科技股份有限公司 | 一种spi流控方法、系统、主设备、从设备及存储介质 |
CN112134809A (zh) * | 2020-09-16 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种流量控制方法、装置、设备及可读存储介质 |
CN112134809B (zh) * | 2020-09-16 | 2024-04-23 | 山东云海国创云计算装备产业创新中心有限公司 | 一种流量控制方法、装置、设备及可读存储介质 |
CN117312100A (zh) * | 2023-11-28 | 2023-12-29 | 苏州元脑智能科技有限公司 | 一种功耗调整方法、系统、装置、设备及计算机存储介质 |
CN117312100B (zh) * | 2023-11-28 | 2024-02-23 | 苏州元脑智能科技有限公司 | 一种功耗调整方法、系统、装置、设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108227614A (zh) | 一种基于fpga的数据流控制模块、控制方法及电路 | |
CN106603358B (zh) | 一种基于mlvds接口的快速总线系统和实现方法 | |
US9294403B2 (en) | Mechanism to control resource utilization with adaptive routing | |
DE112013003248B4 (de) | Steuern einer physischen Verbindung von einem ersten Protokoll unter Verwendung einer erweiterten Funktionsstruktur eines zweiten Protokolls | |
CN103210589B (zh) | 在芯片上系统中结合独立逻辑块 | |
KR101725536B1 (ko) | Pcie 프로토콜 스택을 이용하는 저전력 phy의 동작을 위한 디바이스, 방법 및 시스템 | |
CN108134599B (zh) | 一种i3c总线控制接口电路 | |
WO2015195784A1 (en) | Systems and methods for providing power savings and interference mitigation on physical transmission media | |
US20230376248A1 (en) | System-on-chip having multiple circuits and memory controller in separate and independent power domains | |
CN203590251U (zh) | 基于串行RapidIO总线的FlexRay控制系统 | |
EP3614272B1 (en) | Memory interface with adjustable voltage and termination and methods of use | |
CN101136754A (zh) | 一种以太网芯片的数据传输控制系统 | |
CN104050133A (zh) | 一种基于fpga实现dsp与pc借助pcie总线进行通信的通信装置与通信方法 | |
KR100439089B1 (ko) | 데이터처리시스템,외부장치액세스방법,및데이터처리기 | |
CN109062834A (zh) | 基于dma的spi通讯方法、电子设备、存储介质、装置 | |
CN103914427B (zh) | 基于三根物理互连线的集成电路片上通讯方法及装置 | |
CN109413613A (zh) | 一种车联网无线多模网关系统 | |
CN209472629U (zh) | 基于pcie总线的rs422通信与can通信设备 | |
CN107980223A (zh) | 以太网互联电路及装置 | |
CN201374764Y (zh) | 具有无线路由器功能的一体化电视电脑 | |
EP3457293B1 (en) | Field programmable gate array and communication method | |
CN103744817B (zh) | 用于Avalon总线向Crossbar总线的通讯转换桥设备及其通讯转换方法 | |
KR100475438B1 (ko) | 데이터 버스 시스템 및 버스간 크로스 액세스 방법 | |
CN113742262A (zh) | 一种基于高速差分信号的芯片级联方法 | |
CN104601423B (zh) | Spi总线节点设备及其通信方法以及spi总线系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180629 |
|
RJ01 | Rejection of invention patent application after publication |