CN109614351B - 带有纠错和自动应答机制的并行总线串行互联扩展方法 - Google Patents
带有纠错和自动应答机制的并行总线串行互联扩展方法 Download PDFInfo
- Publication number
- CN109614351B CN109614351B CN201811459799.5A CN201811459799A CN109614351B CN 109614351 B CN109614351 B CN 109614351B CN 201811459799 A CN201811459799 A CN 201811459799A CN 109614351 B CN109614351 B CN 109614351B
- Authority
- CN
- China
- Prior art keywords
- fpga
- slave
- serial interface
- interface control
- master
- 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
- 230000004044 response Effects 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 title claims abstract description 14
- 230000007246 mechanism Effects 0.000 title claims abstract description 12
- 238000012937 correction Methods 0.000 title claims abstract description 10
- 238000004891 communication Methods 0.000 claims abstract description 16
- 230000015654 memory Effects 0.000 abstract description 8
- 238000013507 mapping Methods 0.000 abstract description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0004—Parallel ports, e.g. centronics
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明公开了一种带有纠错和自动应答机制的并行总线串行互联扩展方法。通过一块主FPGA连接CPU和多块从FPGA,主FPGA内部包括和CPU互连的并行总线接口和多个主串行接口控制电路;每块从FPGA内部均包括从串行接口控制电路,该电路以串行方式和主FPGA互连,以并行总线接口方式和从FPGA内部电路互联;CPU通过寄存器、存储器映射方式控制主串行接口控制电路的工作,以突发短分组命令的方式向某个FPGA中的从串行接口电路以现有或自定义串行通信方式发送间接存储访问命令,命令中包括读/写操作类型、操作地址、读/写操作数据和校验码,从FPGA中的串行接口控制电路接收操作命令,转换成与主FPGA内部相同的总线接口和操作时序,对内部存储空间进行读写操作。本发明能够提供处理器与多片FPGA间高效、可靠、简单、强交互性的数据通信,通用性高。
Description
技术领域
本发明涉及电子电路技术领域,主要用于处理器(CPU)和多块FPGA之间的通信,具体涉及一种通过硬件描述语言实现的带有纠错和自动应答机制的并行总线串行互联扩展方法,使用该技术可实现灵活、可靠、简单、强交互性和易于扩展的多FPGA通信方式。
背景技术
在很多应用场合中,需要处理器(CPU)同时和单一电路板上的多片FPGA进行通信,或者和分布在不同电路板上的FPGA通过背板进行通信,用于对FPGA中的电路进行工作配置、状态查询和低速数据传输。
传统方法需要使用至少1级双向总线驱动电路,在每片FPGA中需要使用并行总线接口电路,采用寄存器、存储器映射方式工作,CPU可以直接通过寻址方式访问控制寄存器、状态寄存器或者数据存储区。这种方法的优点是CPU可以对每片FPGA直接寻址,操作模式简单,但该方法占用的FPGA引脚数量大,会造成板级布线和背板布线复杂,对信号完整性和总线驱动等也要求较高,缺少差错控制机制,而且可用存储映射空间大小受到总线中地址线宽度限制。
发明内容
本发明的目的在于提供一种带有纠错和自动应答机制的并行总线串行扩展方法。
实现本发明的技术解决方案为:一种带有纠错和自动应答机制的并行总线串行互联扩展方法,包括CPU、主FPGA和从FPGA;通过一块主FPGA连接CPU和多块从FPGA;主FPGA内部包括并行总线接口和多个主串行接口控制电路;每块从FPGA内部均包括从串行接口和并行总线接口;CPU通过与不同主串行接口控制电路对应的寄存器控制主串行接口控制电路的工作,向从FPGA中的串行接口,以突发短分组的方式发送间接存储访问命令,对从FPGA内部的寄存器、存储器进行访问;每片从FPGA中都有一个从串行接口电路,它以串行方式接收主串行接口控制电路的发出的操作命令,将操作命令中包含的间接访问地址和数据信息提取出来,形成内部并行操作时序,通过并行总线接口对内部的寄存器、存储器进行读写访问操作,操作完成后,从串行接口自动向主串行接口返回操作结果及数据;主串行接口控制电路和从串行接口电路之间的通信自带校验字段,用于发现串行通信中可能出现的比特传输错误,可以自动纠正1个比特误码,CPU可以据此判断是否需要重新发送访问命令;主从FPGA之间的串行通信方式可以自定义,也可以采用现有的串行通信方式,用户可以根据需要选择通信速率。
本发明与现有技术相比,其显著优点:(1)CPU可以对每片从FPGA进行间接寻址,操作模式简单灵活,易于扩展;(2)间接访问的寻址空间几乎没有限制,有利于用户电路的设计和进行设计扩展;(3)板内及背板均为点到点连接,信号完整性易于保证;(4)串行操作命令自带校验,有利于提高系统的可靠性;(5)对FPGA之间的串行互联方式没有特别要求,可以采用现有的常用异步连接方式(如UART),不需要考虑系统同步问题,可减小板级布线和背板布线的复杂度;(6)可以同时对多个从FPGA进行操作,系统效率较高;(7)对用户电路本身的设计几乎没有任何影响。
附图说明
图1为本发明的电路结构框图。
图2为图1中CPU向从FPGA写数据的流程图。
图3为图1中CPU向从FPGA读数据的流程图。
具体实施方式
本发明以串行通信的方式进行并行总线扩展,使得CPU可以按照间接存储访问的方式对大量的FPGA进行管理并能节约内存映射空间;CPU和FPGA之间可以采用常用的串行通信方式(如异步串行方式)进行传输以减小板级布线和背板布线的复杂度;主、从串行总线接口电路之间的通信自带校验与应答机制,可以及时发现操作错误。这种通信方式灵活、可靠、简单、交互性强和易于扩展
下面结合附图对本发明作进一步说明。
结合图1,本发明带有纠错和自动应答机制的并行总线串行互联扩展方法,包括CPU、主FPGA和从FPGA,此系统通过一块主FPGA连接CPU和多块从FPGA。
主FPGA内部含有并行总线接口和多个主串行接口控制电路(u_master_1,u_master_2,…,u_master_N),每块从FPGA内部均含有一个从串行接口控制电路(u_slave_N,N=1,2,…)和本地并行总线接口。
主串行接口控制电路与从串行接口控制电路中均含有数据发送模块(u_xmt)和数据接收模块(u_rcv),u_xmt模块和u_rcv模块中均有8位数据校验模块(u_crc_8)。
CPU向从FPGA写数据的流程图如图2:
CPU发送的写命令及数据经存储器映射后发往目的主串行接口控制电路中的u_xmt模块,通过并串转换及u_crc_8模块校验后发往从串行接口控制电路中的u_rcv模块(step1),经检验若写命令无误则向主串行接口控制电路中的u_rcv模块反馈写操作无误信号(step2),并按照与CPU类似的总线操作方式并行写入到从FPGA(step3)内部寄存器;若写命令有误,则向主串行接口控制电路发送写命令出错信号以供CPU重新发送写命令(step4),同时取消数据写入操作。
CPU向从FPGA读数据的流程图如图3:
CPU发送的读命令经存储器映射后发往目的主串行接口控制电路中的u_xmt模块,通过并串转换及u_crc_8模块校验后发往从串行接口控制电路中的u_rcv模块(step1),经检验若读命令无误则以并行方式根据数据分组中携带的间接访问地址信息以并行方式在从FPGA中读出数据,将读操作命令无误信号及读出的数据组成一个短数据分组发送至主FPGA(step3);若读命令有误,则向主串行接口控制电路中的u_rcv模块发送读命令出错信号(step2)以供CPU重新发送读命令(step4),同时不执行本地数据读操作。
Claims (3)
1.一种带有纠错和自动应答机制的并行总线串行互联扩展方法,其特征在于:通过一块主FPGA连接CPU和多块从FPGA;主FPGA内部包括与CPU直接互连的并行总线接口和多个主串行接口控制电路,每块从FPGA内部均包括从串行接口和并行总线接口;CPU通过总线访问主FPGA内部的寄存器;主FPGA中的多个主串行接口控制电路对应多组寄存器,CPU通过总线直接控制某一组寄存器,通过对应的主串行接口控制电路向与之串行互连的从FPGA中的从串行接口控制电路发送存储访问命令;该命令在从串行接口控制电路中首先通过校验计算检查是否存在通信差错,如果错误则重新发送该命令,如果正确无误,则根据存储访问命令中的地址信息和操作命令,以和主FPGA内部CPU总线相同的操作时序访问从FPGA内部的寄存器;操作完成后,从FPGA内部的接口控制电路自动生成一个应答分组,其中包括此次操作是否正确完成,如果是读操作则同时返回读出的数据;主串行接口控制电路接收到此应答信息,将结果写入寄存器供CPU查询处理。
2.根据权利要求1所述的带有纠错和自动应答机制的并行总线串行互联扩展方法,其特征在于:所述主FPGA中的多个主串行接口控制电路,每个主串行接口控制电路对应一组寄存器;CPU通过寄存器操作,控制对应的主串行接口控制电路向与之串行互联的从FPGA发送短命令分组,命令分组中包括对从FPGA中扩展总线访问的操作类型、地址、数据和校验信息。
3.根据权利要求1所述带有纠错和自动应答机制的并行总线串行互联扩展方法,其特征在于:所述主串行接口控制电路和从串行接口电路之间的通信自带校验字段;从串行接口控制电路向主串行控制电路自动返回应答数据分组,其中包括接收命令分组中是否存在校验错误,操作是否正确完成,如果是读操作则同时返回读出数据,返回命令分组中包括重新计算的校验和字段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811459799.5A CN109614351B (zh) | 2018-11-30 | 2018-11-30 | 带有纠错和自动应答机制的并行总线串行互联扩展方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811459799.5A CN109614351B (zh) | 2018-11-30 | 2018-11-30 | 带有纠错和自动应答机制的并行总线串行互联扩展方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109614351A CN109614351A (zh) | 2019-04-12 |
CN109614351B true CN109614351B (zh) | 2022-05-24 |
Family
ID=66005894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811459799.5A Active CN109614351B (zh) | 2018-11-30 | 2018-11-30 | 带有纠错和自动应答机制的并行总线串行互联扩展方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109614351B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110379208A (zh) * | 2019-07-16 | 2019-10-25 | 中国航空无线电电子研究所 | 一种具备防人为差错功能的a/c模式应答机系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10035358A1 (de) * | 1999-07-22 | 2001-02-08 | Hitachi Ltd | Logikteilungsverfahren, Logikteilungssystem und Aufzeichnungsmedium zum Speichern des Logikteilungsprogramms |
CN2938595Y (zh) * | 2006-02-20 | 2007-08-22 | 上海欣泰通信技术有限公司 | 一种用于板间通信的高速串行接口装置 |
CN101770817A (zh) * | 2010-01-18 | 2010-07-07 | 华东师范大学 | 基于fpga的多接口存储器验证系统 |
WO2012155300A1 (zh) * | 2011-05-16 | 2012-11-22 | 曙光信息产业股份有限公司 | 一种调试龙芯cpu和南北桥芯片的方法和装置 |
CN104484301A (zh) * | 2014-12-25 | 2015-04-01 | 南京因泰莱电器股份有限公司 | 一种基于fpga具有自识别功能的io总线装置 |
CN104598418A (zh) * | 2015-01-27 | 2015-05-06 | 北京奥普维尔科技有限公司 | 一种基于fpga的控制i2c通信的系统及方法 |
JP2015118468A (ja) * | 2013-12-17 | 2015-06-25 | 株式会社東芝 | プログラマブルコントローラ |
CN105095139A (zh) * | 2014-05-08 | 2015-11-25 | 中兴通讯股份有限公司 | 集成电路总线系统及其数据操作和传输方法 |
CN105117319A (zh) * | 2015-08-25 | 2015-12-02 | 烽火通信科技股份有限公司 | 基于fpga实现对多路mdio设备实时监控的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7594144B2 (en) * | 2006-08-14 | 2009-09-22 | International Business Machines Corporation | Handling fatal computer hardware errors |
-
2018
- 2018-11-30 CN CN201811459799.5A patent/CN109614351B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10035358A1 (de) * | 1999-07-22 | 2001-02-08 | Hitachi Ltd | Logikteilungsverfahren, Logikteilungssystem und Aufzeichnungsmedium zum Speichern des Logikteilungsprogramms |
CN2938595Y (zh) * | 2006-02-20 | 2007-08-22 | 上海欣泰通信技术有限公司 | 一种用于板间通信的高速串行接口装置 |
CN101770817A (zh) * | 2010-01-18 | 2010-07-07 | 华东师范大学 | 基于fpga的多接口存储器验证系统 |
WO2012155300A1 (zh) * | 2011-05-16 | 2012-11-22 | 曙光信息产业股份有限公司 | 一种调试龙芯cpu和南北桥芯片的方法和装置 |
JP2015118468A (ja) * | 2013-12-17 | 2015-06-25 | 株式会社東芝 | プログラマブルコントローラ |
CN105095139A (zh) * | 2014-05-08 | 2015-11-25 | 中兴通讯股份有限公司 | 集成电路总线系统及其数据操作和传输方法 |
CN104484301A (zh) * | 2014-12-25 | 2015-04-01 | 南京因泰莱电器股份有限公司 | 一种基于fpga具有自识别功能的io总线装置 |
CN104598418A (zh) * | 2015-01-27 | 2015-05-06 | 北京奥普维尔科技有限公司 | 一种基于fpga的控制i2c通信的系统及方法 |
CN105117319A (zh) * | 2015-08-25 | 2015-12-02 | 烽火通信科技股份有限公司 | 基于fpga实现对多路mdio设备实时监控的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109614351A (zh) | 2019-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9798684B2 (en) | Bus communications with multi-device messaging | |
CN114974374B (zh) | 具有芯片内执行能力的串行与非门快闪存储器 | |
US7649795B2 (en) | Memory with flexible serial interfaces and method for accessing memory thereof | |
EP1825382A2 (en) | Low protocol, high speed serial transfer for intra-board or inter-board data communication | |
US20100122003A1 (en) | Ring-based high speed bus interface | |
US20080140916A1 (en) | System and method of operating memory devices of mixed type | |
CN107066746B (zh) | 基于i2c接口通过cpld来实现pca9555功能的方法 | |
US20070088874A1 (en) | Offload engine as processor peripheral | |
CN112380157A (zh) | 一种带fifo缓存和校验功能的iic总线的通信装置 | |
CN101814058A (zh) | 通用存储装置 | |
CN113495862B (zh) | 一种具有ecc功能的总线桥装置 | |
CN106201973B (zh) | 一种单线串行通信接口的方法与系统 | |
CN107391322A (zh) | 基于二进制向量的测试设备 | |
CN111552658B (zh) | 一种通信方法、通信控制装置及i2c总线系统 | |
CN102609376A (zh) | 一种串行总线存储器、串行总线传输系统及方法 | |
CN110347529A (zh) | 用于执行错误侦测协议的存储器装置及方法 | |
CN113703803B (zh) | 基于fpga的远程升级系统、方法及介质 | |
JPH034351A (ja) | システム・バス・データ・リンク装置 | |
CN109614351B (zh) | 带有纠错和自动应答机制的并行总线串行互联扩展方法 | |
CN113722261A (zh) | Spi扩展片选数目和增强读写响应时间灵活性的方法 | |
US20070133310A1 (en) | Memory using a single-node data, address and control bus | |
CN110781130A (zh) | 一种片上系统 | |
CN108920299B (zh) | 储存媒体 | |
US8612663B1 (en) | Integrated circuit devices, systems and methods having automatic configurable mapping of input and/or output data connections | |
CN101539785A (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 |