微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 求助:两片FPGA之间实现简单通信怎么做?

求助:两片FPGA之间实现简单通信怎么做?

时间:10-02 整理:3721RD 点击:
两片FPGA之间实现单工通信,简单传输8bit数据流,应该怎么做?
需要考虑什么时序或传输协议之类的么?
我刚开始学FPGA,还望大家指导一二

参考流行的串行协议,比如i2c,spi等,比较简单

或者自己定义专用的握手协议

The simplest way is to use LVDS IP in Altera or Xilinx. One FPGA is transmitter and another is receiver for 8bits. It is high speed and less IOs way.

it is a good  answer

看来有专用的IP核阿,省事了,呵呵

最近在做LVDS借口,用lvds不错

我也在做相似的题目,实现两个FPGA之间的双工数据传输,我想先试试传输最简单的数据。不知道怎样设计传输协议呢?FPGA的工作频率是75MHZ, 要怎样实现数据以100MHZ的速度传输呢?刚刚开始学习,有好多基础的问题都还不懂,请大家多多帮忙。谢谢

IIC is a choice ,however,the speed of IIC is not that  ideal for you ,normally  IIC works at 100k/s,400k/s. and the most fast 3.4m/s.
since you want the simplest I/O, so the speed must be slow for it is a series i/o.

曾经做过一个很简单的通信,协议就是自定义一个帧头,发送产生帧头,接收检测帧头,然后提取数据,实现40bit的数据的交互,不过没有实现握手。
这个大体可以包括两部分:通信部分和控制部分。
标准的IIC速率很低,不过两边都是FPGA,你可以自己定义IIC的速率,采用IIC的协议,这样也可以把速率做上去。

谢谢楼上两位的回复,那就是说采用IIC协议可以自己定义传输速度,就可以达到100MHZ吗?我还有一个问题,要怎样设置I/O,才能把两个板子连接起来,实现数据传输呢?是通过ISE软件设置吗?还是vhdl编程实现呢?这些我都不是很清楚呢,可以给我一个例子吗?我用的FPGA是Spartan XC2S 100E,两个电路板是完全一样的,想用这个来入门,哪位高手可以给我详细的讲解一下,具体实现这个数据传输的步骤吗?非常感谢!

"刚刚开始学习,有好多基础的问题都还不懂"
先将基础搞懂。

就是自己没有搞懂才来这里问一下怎末学习. 谢谢ls的建议

一邊output,一邊input就可以啦,若是雙方對傳,那就得設io來區分..

直接用并行数据线连接,哈哈

是双方对传,应该只能用串口通信。想问一下怎样实现75MHZ到100MHZ的转换呢?不知道DLL怎样用呢?

可以按照iic协议,比较简单。但是要实现的功能比较简单的话,一可以考虑用自己定义的协议。双方可以解码就可以了。

1.你想并行传输还是串行?2.2个芯片同步还是异步?
3.突发数据还是周期数据?
最简单做法,同步并行,除数据信息外再加一个数据有效位。接受端时钟可反向选择就可以了。

是异步串行,突发数据,我想先用一个简单的传输协议试试,对数据来说还没有很严格的要求。现在我的问题是要实现75MHZ到100MHZ的转换,要用DLL 编程实现需要3个DLL。可是我用的这个板子Spartan XC2S100E好像没有足够的BUFG,还有其他的方法可以实现频率的转换吗?先谢谢啦

最简单的做法就是“握手”,可以实现跨时钟域的数据传输。

管脚够多且距离近的话可以用并行信号+时钟,最简单

我现在要做的小课题是老师要求的,就是说要异步串行,但是频率要从75MHZ达到100MHZ.我到现在也没有弄出来呢

看一看..........

用fifo或ram缓存下,再用时钟,同步,数据三根线串行传输就可以啊!

握手就可以搞定

随便做个通信接口了,同步设计,频率低就很好搞定的

double port ram

自己定义协议,自由度比较大

用LVDS是最現成的方式, 不過PCB上的走線可能會無法傳輸(SI不夠的話), 要用的時候, 要注意pin assignment時要指定到正確的IO pair, 及這組走線是有遵照LVDS的layout guide, 不然高頻時會掛點.

建議你先找出發展板的user guide好好讀一下, 看看板子上面留給user用的擴充pin是那些, 然後找條"排線",把兩張板子接起來, 就有實體訊號路徑 (要留意兩張板子間pin的對映關係, 在pin assignment時會用到)加油!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top