CN103970708B - 一种fpga与通用处理器之间的通信方法及系统 - Google Patents

一种fpga与通用处理器之间的通信方法及系统 Download PDF

Info

Publication number
CN103970708B
CN103970708B CN201410101787.0A CN201410101787A CN103970708B CN 103970708 B CN103970708 B CN 103970708B CN 201410101787 A CN201410101787 A CN 201410101787A CN 103970708 B CN103970708 B CN 103970708B
Authority
CN
China
Prior art keywords
fpga
general processor
sdram controller
data
output 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
Application number
CN201410101787.0A
Other languages
English (en)
Other versions
CN103970708A (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.)
CHINA AEROSPACE SCIENCE & INDUSTRY ACADEMY OF INFORMATION TECHNOLOGY
Original Assignee
CHINA AEROSPACE SCIENCE & INDUSTRY ACADEMY OF INFORMATION TECHNOLOGY
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 CHINA AEROSPACE SCIENCE & INDUSTRY ACADEMY OF INFORMATION TECHNOLOGY filed Critical CHINA AEROSPACE SCIENCE & INDUSTRY ACADEMY OF INFORMATION TECHNOLOGY
Priority to CN201410101787.0A priority Critical patent/CN103970708B/zh
Publication of CN103970708A publication Critical patent/CN103970708A/zh
Application granted granted Critical
Publication of CN103970708B publication Critical patent/CN103970708B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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与通用处理器之间的通信方法,所述方法将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 (3)

1.一种FPGA与通用处理器之间的通信方法,所述方法将FPGA模拟为包含SDRAM控制器的通用处理器的外接SDRAM存储器,从而实现FPGA与通用处理器之间的同步数据传输;
采用如下策略将FPGA模拟为SDRAM控制器的外接SDRAM存储器:
在FPGA内部设置同步输入输出接口,所述同步输入输出接口一端与FPGA中的存储模块或数据处理单元相连,另一端与通用处理器的SDRAM控制器相连;
采用通用处理器对FPGA内部的同步输入输出接口包含的模式寄存器进行配置,进而设定SDRAM控制器的突发传输长度和读延时周期;
所述同步数据传输为:
同步输入输出接口接收SDRAM控制器发送的同步信号,然后对接收的同步信号进行逻辑译码和转换,翻译为FPGA内部的数据存储或处理单元能够应用的信号形式,实现通用处理器通过SDRAM控制器对FPGA内部数据存储或处理单元的数据进行写入和读取的操作,即完成FPGA与通用处理器的同步数据传输。
2.根据权利要求1所述的FPGA与通用处理器之间的通信方法,其特征在于,所述同步数据传输具体包含:
步骤101)对SDRAM控制器发送的数据和地址信号进行锁存;
步骤102)针对SDRAM控制器的激活和读写命令把SDRAM控制器的行列地址进行解析,转换为直接寻址地址,所述的直接寻址地址为FPGA内部数据存储或处理单元能够直接使用的地址信号;
步骤103)依据模式寄存器中配置的内容,根据SDRAM控制器的读写命令,译码出与数据存储或处理单元接口的读、写和使能信号;
依据译码得到的信号、直接寻址地址以及步骤101)所述的锁存的数据信号完成通用处理器与FPGA内部数据存储或处理单元的数据传输。
3.一种基于权利要求1记载的方法得到的FPGA与通用处理器之间的通信系统,包含FPGA和通用处理器,且通用处理器包含SDRAM控制器,其特征在于,所述FPGA中还包含:
同步输入输出接口,该同步输入输出接口一端与FPGA中的存储模块或数据处理单元相连,另一端与SDRAM控制器相连,进而实现FPGA与通用处理器之间的同步数据传输;
所述同步输入输出接口进一步包含:
模式寄存器,用于设定SDRAM控制器的数据突发传输长度和读延时周期;
锁存模块,用于锁存SDRAM控制器发送的数据和地址信号;
地址解析转换模块,用于将SDRAM控制器的行列地址进行转换,翻译成为FPGA内部数据存储或处理单元可以直接使用的地址信号;
译码模块,用于根据SDRAM控制器的读写命令,译码出与数据存储或处理单元接口的读、写和使能信号。
CN201410101787.0A 2014-03-18 2014-03-18 一种fpga与通用处理器之间的通信方法及系统 Active CN103970708B (zh)

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 CN103970708A (zh) 2014-08-06
CN103970708B true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105988959B (zh) * 2015-02-13 2021-06-01 中兴通讯股份有限公司 一种异步数据传输方法及系统
CN107623926B (zh) * 2016-07-15 2023-01-31 上海诺基亚贝尔软件有限公司 通信方法、服务器和基站设备
CN107656886B (zh) * 2017-09-30 2020-01-10 中国科学院长春光学精密机械与物理研究所 一种跨时钟域信号处理电路及其处理方法
CN111414129B (zh) * 2019-01-07 2023-05-05 阿里巴巴集团控股有限公司 基于云的fpga控制数据的配置系统和方法以及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101140558A (zh) * 2006-09-05 2008-03-12 深圳迈瑞生物医疗电子股份有限公司 嵌入式系统及其通信方法
CN101667169A (zh) * 2008-09-03 2010-03-10 中国科学院上海技术物理研究所 一种数字信号的多处理器并行处理系统
CN102074205A (zh) * 2009-11-19 2011-05-25 航天信息股份有限公司 Lcd控制器及其控制方法
CN103440215A (zh) * 2013-08-18 2013-12-11 中国电子科技集团公司第四十一研究所 基于fpga实现主设备对sdram存储器快速猝发访问的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101140558A (zh) * 2006-09-05 2008-03-12 深圳迈瑞生物医疗电子股份有限公司 嵌入式系统及其通信方法
CN101667169A (zh) * 2008-09-03 2010-03-10 中国科学院上海技术物理研究所 一种数字信号的多处理器并行处理系统
CN102074205A (zh) * 2009-11-19 2011-05-25 航天信息股份有限公司 Lcd控制器及其控制方法
CN103440215A (zh) * 2013-08-18 2013-12-11 中国电子科技集团公司第四十一研究所 基于fpga实现主设备对sdram存储器快速猝发访问的方法及装置

Also Published As

Publication number Publication date
CN103970708A (zh) 2014-08-06

Similar Documents

Publication Publication Date Title
CN102981776B (zh) 双倍数据率虚拟静态随机存取存储器及其控制器、存取与操作方法、写入与读取方法
CN102799509B (zh) 基于双fpga芯片的高带宽可扩展复杂逻辑验证系统
CN103970708B (zh) 一种fpga与通用处理器之间的通信方法及系统
CN105335326A (zh) 一种基于fpga的pcie转sata接口阵列的装置
CN105117360A (zh) 基于fpga的接口信号重映射方法
CN106095334A (zh) 一种基于fpga的高速数据采集存储系统
CN105208034A (zh) 一种spi总线与can总线协议转换电路及方法
CN105549552B (zh) 基于Linux的CAN总线扩展系统及方法
CN109491950B (zh) 一种简化系统接口1553b远程终端电路
CN103605632A (zh) 一种axi总线与ahb总线的通信方法与装置
CN203812236U (zh) 一种基于处理器和现场可编程门阵列的数据交换系统
CN102567272B (zh) 一种提高spi接口电路工作频率的方法
CN116841932B (zh) 一种可灵活连接的便携式高速数据存取设备及其工作方法
CN102520892A (zh) 多功能固态数据存储回放仪
CN110008162B (zh) 一种缓冲接口电路及基于该电路传输数据的方法和应用
CN105279123A (zh) 双冗余1553b总线的串口转换结构及转换方法
CN105573947B (zh) 一种基于apb总线的sd/mmc卡控制方法
CN107066419B (zh) 可扩展的自适应n×n通道数据通信系统
CN105224486A (zh) 基于lbe总线的1553b总线协议模块
CN109144927B (zh) 一种多fpga互联装置
US20120191943A1 (en) Dynamic protocol for communicating command and address information
CN101510182B (zh) 低速dma接口的片上系统和内存访问方法
CN105955909A (zh) Apb总线到dcr总线之间的总线桥实现方法
CN107643989B (zh) 一种基于pci总线协议双光纤环路冗余结构通讯板卡
CN204480240U (zh) 基于主机与dsp的双向数据交换系统

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