CN103970708A - 一种fpga与通用处理器之间的通信方法及系统 - Google Patents
一种fpga与通用处理器之间的通信方法及系统 Download PDFInfo
- Publication number
- CN103970708A CN103970708A CN201410101787.0A CN201410101787A CN103970708A CN 103970708 A CN103970708 A CN 103970708A CN 201410101787 A CN201410101787 A CN 201410101787A CN 103970708 A CN103970708 A CN 103970708A
- Authority
- CN
- China
- Prior art keywords
- fpga
- sdram controller
- general processor
- data
- synchronous
- 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.)
- Granted
Links
Landscapes
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种FPGA与通用处理器之间的数据传输方法及系统,所述方法将FPGA模拟为包含SDRAM控制器的通用处理器的外接SDRAM存储器,从而实现FPGA与通用处理器之间的同步数据传输。具体为:通用处理器对FPGA内部的同步输入输出接口(STI)包含的模式寄存器进行配置,进而设定SDRAM控制器的突发传输长度和读延时周期;所述同步输入输出接口(STI)一端与FPGA中的存储模块或数据处理单元相连,另一端与通用处理器的SDRAM控制器相连;同步输入输出接口(STI)接收SDRAM控制器发送的同步信号,然后对接收的同步信号进行逻辑译码和转换,翻译为FPGA内部的数据存储或处理单元能够应用的信号形式,实现通用处理器通过SDRAM控制器对FPGA内部数据存储或处理单元的数据进行写入和读取的操作。
Description
技术领域
本发明属于电路与信号系统数据传输领域,具体涉及一种FPGA与通用处理器之间的通信方法及系统。
背景技术
在电路与信号系统数据传输领域,FPGA与通用处理器进行数据通信的时候一般采用通用处理器的外部异步总线接口进行处理。采用这种接口方式的优点是接口实现简单,易操作,缺点是数据传输速率低。因此,当对数据传输速率要求较高时,这种传统的FPGA与通用处理器之间的异步数据传输方式不能满足应用的基本需求。
发明内容
本发明的目的在于,为克服上述技术问题,本发明提供一种FPGA与通用处理器之间的通信方法及系统。
为了实现上述目的,本发明提供一种FPGA与通用处理器之间的通信方法,所述方法将FPGA模拟为包含SDRAM控制器的通用处理器的外接SDRAM存储器,从而实现FPGA与通用处理器之间的同步数据传输。
可选的,采用如下策略将FPGA模拟为SDRAM控制器的外接SDRAM存储器:
在FPGA内部设置同步输入输出接口,所述同步输入输出接口一端与FPGA中的存储模块或数据处理单元相连,另一端与通用处理器的SDRAM控制器相连;
采用通用处理器对FPGA内部的同步输入输出接口包含的模式寄存器进行配置,进而设定SDRAM控制器的突发传输长度和读延时周期。
为了实现上述方法,本发明还提供一种FPGA与通用处理器的通信系统,包含FPGA和通用处理器,且通用处理器包含SDRAM控制器,其特征在于,所述FPGA中还包含:
同步输入输出接口,该同步输入输出接口一端与FPGA中的存储模块或数据处理单元相连,另一端与SDRAM控制器相连,进而实现FPGA与通用处理器之间的同步数据传输。
可选的,上述同步输入输出接口进一步包含:
模式寄存器,用于设定SDRAM控制器的数据突发传输长度和读延时周期;
锁存模块,用于锁存SDRAM控制器发送的数据和地址信号;
地址解析转换模块,用于将SDRAM控制器的行列地址进行转换,翻译成为FPGA内部数据存储或处理单元可以直接使用的地址信号;
译码模块,用于根据SDRAM控制器的读写命令,译码出与数据存储或处理单元接口的读、写和使能等信号。
最后,基于上述通信系统本发明还提供了一种FPGA与通用处理器的数据同步传输方法,所述数据传输方法为:
同步输入输出接口接收SDRAM控制器发送的同步信号,然后对接收的同步信号进行逻辑译码和转换,翻译为FPGA内部的数据存储或处理单元能够应用的信号形式,实现通用处理器通过SDRAM控制器对FPGA内部数据存储或处理单元的数据进行写入和读取的操作,即完成FPGA与通用处理器的同步数据传输。
可选的,上述方法具体包含:
步骤101)对SDRAM控制器发送的数据和地址信号进行锁存;
步骤102)针对SDRAM控制器的激活和读写命令把SDRAM控制器的行列地址进行解析,转换为直接寻址地址,所述的直接寻址地址为FPGA内部数据存储或处理单元能够直接使用的地址信号;
步骤103)依据模式寄存器中配置的内容,根据SDRAM控制器的读写命令,译码出与数据存储或处理单元接口的读、写和使能等信号;
依据译码得到的信号、直接寻址地址以及步骤101)所述的锁存的数据信号完成通用处理器与FPGA内部数据存储或处理单元的数据传输。
与现有技术相比,本发明的技术优势在于:在不增加硬件任何成本的前提下,巧妙的利用了通用处理器固有设备的属性,进而将传统的异步传输方式改进为同步传输,极大的提高了数据传输系统的工作效率。
附图说明
图1是本发明实施例提供的STI的功能结构及系统连接框图;
图2是本发明实施例提供的FPGA与通用处理器之间的同步数据传输方法的流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的描述。
本发明基于的原理为:由于现有的通用处理器都带有SDRAM控制器,所述SDRAM控制器的用途是可以通过接口外部SDRAM存储器,进而扩展外部存储空间。且现有技术的SDRAM控制器均使用同步逻辑传输数据,具备很高的数据传输效率。
基于上述技术背景,本发明巧妙的将FPGA模拟为SDRAM控制器的外部存储器,进而通过SDRAM控制器实现通用处理器与FPGA之间的同步数据传输,采用这种同步逻辑传输数据,使得数据传输速率将会较异步传输大大提高。
可选的,当采用这种同步方式进行数据传输时需要设计复杂的接口。为了实现这个目的,本发明提供一种具体的实施方式,具体内容如下:
为了实现上述目的,本发明提出了如何在FPGA内部构建同步输入输出接口与外部通用处理器SDRAM控制器相接口的技术方案。
在FPGA内部构建一个双向的同步输入输出接口(STI),该接口的一端与外部通用处理器的SDRAM控制器相连,另一端与FPGA内部的存储模块或数据处理单元相连。
通用处理器的SDRAM控制器严格按照SDRAM的工作原理与外部SDRAM存储器接口。因此,如果按照SDRAM工作原理在FPGA内部构建一个双向的同步输入输出接口(STI),此接口一端与外部通用处理器的SDRAM控制器进行接口,另一端与FPGA内部的存储模块或数据处理单元接口。则FPGA便可以与外部通用处理器实现同步数据传输,提高数据传输效率。
同步输入输出接口(STI)的功能结构及系统连接框图如图1所示。
同步输入输出接口(STI)做为连接FPGA内部数据存储或处理单元和外部SDRAM控制器的接口,其输入端为完整的SDRAM信号输入,输出端为内部数据存储或处理单元的数据、地址及控制等信号。
上述FPGA内部的数据存储或处理单元与同步输入输出接口(STI)通过时钟信号Clk,地址信号Address,数据信号Data和控制信号Control Signal etc.等互联。
上述同步输入输出接口(STI)的接收来自SDRAM控制器的同步信号,按照SDRAM控制器的命令将接收的同步信号进行逻辑译码转换,翻译成为FPGA内部的数据存储或处理单元可以正确应用的信号形式。从而确保数据传输的准确无误。
图中FPGA与通用处理器之间数据位宽为DQ0~DQn;寻址空间由地址信号A0~An及BANK信号BA0~BA1来决定;数据传输同步时钟信号为CLK;时钟使能信号为CKE;片选信号为CS#;命令译码信号为RAS#,CAS#,WE#;数据屏蔽信号为DQM。
具体的实现过程如图2所示,主要包括以下几个方面的内容:
1)对FPGA与通用处理器上电,然后要对STI的模式寄存器进行配置,进而设定SDRAM控制器突发传输长度、读延时周期。
2)然后对SDRAM控制器发送的数据、地址信号进行锁存。
3)针对SDRAM控制器的激活、读写等命令把SDRAM控制器的行列地址进行解析,转换为直接寻址地址即FPGA内部数据存储或处理单元可以直接使用的地址信号。
4)结合模式寄存器的配置内容,根据SDRAM控制器的读写命令,译码出与数据存储或处理单元接口的读、写、使能等信号。译码出的信号配合直接寻址地址以及步骤2)锁存的数据信号共同完成与FPGA内部数据存储或处理单元的数据传输工作。
以上几个方面内容的代码实现全部在FPGA内部完成。
将该方法应用于基于TS201(DSP处理器)和EP2S180(FPGA)的通用信号处理电路板,已经取得很好的实用效果。经过实际测试,采用该方法后,数据传输正确无误,数据传输速率是传统异步接口传输的至少5倍以上。
需要说明的是,以上介绍的本发明的实施方案而并非限制。本领域的技术人员应当理解,任何对本发明技术方案的修改或者等同替代都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围内。
Claims (6)
1.一种FPGA与通用处理器之间的通信方法,所述方法将FPGA模拟为包含SDRAM控制器的通用处理器的外接SDRAM存储器,从而实现FPGA与通用处理器之间的同步数据传输。
2.根据权利要求1所述的FPGA与通用处理器之间的通信方法,其特征在于,采用如下策略将FPGA模拟为SDRAM控制器的外接SDRAM存储器:
在FPGA内部设置同步输入输出接口,所述同步输入输出接口一端与FPGA中的存储模块或数据处理单元相连,另一端与通用处理器的SDRAM控制器相连;
采用通用处理器对FPGA内部的同步输入输出接口包含的模式寄存器进行配置,进而设定SDRAM控制器的突发传输长度和读延时周期。
3.一种基于权利要求1-2任意一条权利要求记载的方法得到的FPGA与通用处理器的通信系统,包含FPGA和通用处理器,且通用处理器包含SDRAM控制器,其特征在于,所述FPGA中还包含:
同步输入输出接口,该同步输入输出接口一端与FPGA中的存储模块或数据处理单元相连,另一端与SDRAM控制器相连,进而实现FPGA与通用处理器之间的同步数据传输。
4.根据权利要求3所述的FPGA与通用处理器的通信系统,其特征在于,所述同步输入输出接口进一步包含:
模式寄存器,用于设定SDRAM控制器的数据突发传输长度和读延时周期;
锁存模块,用于锁存SDRAM控制器发送的数据和地址信号;
地址解析转换模块,用于将SDRAM控制器的行列地址进行转换,翻译成为FPGA内部数据存储或处理单元可以直接使用的地址信号;
译码模块,用于根据SDRAM控制器的读写命令,译码出与数据存储或处理单元接口的读、写和使能等信号。
5.一种基于权利要求3-4任意一个权利要求记载的系统实现的FPGA与通用处理器的数据同步传输方法,所述数据传输方法为:
同步输入输出接口接收SDRAM控制器发送的同步信号,然后对接收的同步信号进行逻辑译码和转换,翻译为FPGA内部的数据存储或处理单元能够应用的信号形式,实现通用处理器通过SDRAM控制器对FPGA内部数据存储或处理单元的数据进行写入和读取的操作,即完成FPGA与通用处理器的同步数据传输。
6.根据权利要求5所述的FPGA与通用处理器的数据同步传输方法,其特征在于,所述方法具体包含:
步骤101)对SDRAM控制器发送的数据和地址信号进行锁存;
步骤102)针对SDRAM控制器的激活和读写命令把SDRAM控制器的行列地址进行解析,转换为直接寻址地址,所述的直接寻址地址为FPGA内部数据存储或处理单元能够直接使用的地址信号;
步骤103)依据模式寄存器中配置的内容,根据SDRAM控制器的读写命令,译码出与数据存储或处理单元接口的读、写和使能等信号;
依据译码得到的信号、直接寻址地址以及步骤101)所述的锁存的数据信号完成通用处理器与FPGA内部数据存储或处理单元的数据传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410101787.0A CN103970708B (zh) | 2014-03-18 | 2014-03-18 | 一种fpga与通用处理器之间的通信方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410101787.0A CN103970708B (zh) | 2014-03-18 | 2014-03-18 | 一种fpga与通用处理器之间的通信方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103970708A true CN103970708A (zh) | 2014-08-06 |
CN103970708B CN103970708B (zh) | 2017-01-04 |
Family
ID=51240229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410101787.0A Active CN103970708B (zh) | 2014-03-18 | 2014-03-18 | 一种fpga与通用处理器之间的通信方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103970708B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016127596A1 (zh) * | 2015-02-13 | 2016-08-18 | 中兴通讯股份有限公司 | 异步数据传输方法及系统 |
CN107623926A (zh) * | 2016-07-15 | 2018-01-23 | 上海诺基亚贝尔股份有限公司 | 通信方法、服务器和基站设备 |
CN107656886B (zh) * | 2017-09-30 | 2020-01-10 | 中国科学院长春光学精密机械与物理研究所 | 一种跨时钟域信号处理电路及其处理方法 |
CN111414129A (zh) * | 2019-01-07 | 2020-07-14 | 阿里巴巴集团控股有限公司 | 基于云的fpga控制数据的配置系统和方法以及电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140558A (zh) * | 2006-09-05 | 2008-03-12 | 深圳迈瑞生物医疗电子股份有限公司 | 嵌入式系统及其通信方法 |
CN101667169A (zh) * | 2008-09-03 | 2010-03-10 | 中国科学院上海技术物理研究所 | 一种数字信号的多处理器并行处理系统 |
CN102074205B (zh) * | 2009-11-19 | 2012-10-17 | 航天信息股份有限公司 | Lcd控制器的控制方法 |
CN103440215B (zh) * | 2013-08-18 | 2017-09-19 | 中国电子科技集团公司第四十一研究所 | 基于fpga实现主设备对sdram存储器快速猝发访问的方法及装置 |
-
2014
- 2014-03-18 CN CN201410101787.0A patent/CN103970708B/zh active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016127596A1 (zh) * | 2015-02-13 | 2016-08-18 | 中兴通讯股份有限公司 | 异步数据传输方法及系统 |
CN107623926A (zh) * | 2016-07-15 | 2018-01-23 | 上海诺基亚贝尔股份有限公司 | 通信方法、服务器和基站设备 |
CN107656886B (zh) * | 2017-09-30 | 2020-01-10 | 中国科学院长春光学精密机械与物理研究所 | 一种跨时钟域信号处理电路及其处理方法 |
CN111414129A (zh) * | 2019-01-07 | 2020-07-14 | 阿里巴巴集团控股有限公司 | 基于云的fpga控制数据的配置系统和方法以及电子设备 |
CN111414129B (zh) * | 2019-01-07 | 2023-05-05 | 阿里巴巴集团控股有限公司 | 基于云的fpga控制数据的配置系统和方法以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103970708B (zh) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102981776B (zh) | 双倍数据率虚拟静态随机存取存储器及其控制器、存取与操作方法、写入与读取方法 | |
KR100909805B1 (ko) | 멀티포트 메모리 장치 | |
CN102281051A (zh) | 数据输入电路 | |
US8468281B2 (en) | Apparatus to improve bandwidth for circuits having multiple memory controllers | |
CN104810047A (zh) | 半导体器件 | |
TWI602196B (zh) | 記憶體元件的控制方法、記憶體元件以及記憶體系統 | |
CN103970708A (zh) | 一种fpga与通用处理器之间的通信方法及系统 | |
CN109800192B (zh) | 电子设备、fpga芯片及其接口电路 | |
CN101847434B (zh) | Ddr接口中的fpga设备的读、写操作方法及设备 | |
US8593902B2 (en) | Controller and access method for DDR PSRAM and operating method thereof | |
CN102567272B (zh) | 一种提高spi接口电路工作频率的方法 | |
CN102520892A (zh) | 多功能固态数据存储回放仪 | |
CN1692451A (zh) | 半导体存储装置及其控制方法 | |
CN109062538A (zh) | 环形先进先出缓冲器及数据传输接口、系统、方法 | |
CN110008162B (zh) | 一种缓冲接口电路及基于该电路传输数据的方法和应用 | |
CN102280129A (zh) | 闪速存储器及其读取电路 | |
CN102645647A (zh) | 雷达成像信号模拟器 | |
CN107643989B (zh) | 一种基于pci总线协议双光纤环路冗余结构通讯板卡 | |
CN1856835A (zh) | 同步的ram存储电路 | |
US9377957B2 (en) | Method and apparatus for latency reduction | |
CN109378024B (zh) | 一种多模式的onfi接口写通道发送电路 | |
CN102522113B (zh) | 一种sdram桥接电路 | |
CN102081965B (zh) | 一种产生dram内部写时钟的电路 | |
CN101494090B (zh) | 存储器存取控制方法 | |
CN101110262A (zh) | 一种读取内存中数据的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |