搜索
bottom↓
回复: 29

FPGA与单片机上位机用哪种通讯方式速度最快?

[复制链接]

出0入0汤圆

发表于 2010-8-26 11:28:40 | 显示全部楼层 |阅读模式
下位机FPGA CII EP2C8, 跑Nios II 上位机用 STM32 或 AVR32 ,上位机要传大量数据到下位机。
不是连续传输,只是在加载数据的时候传一次。
如果用 USART 方式速度应该快不了。 当然也不能用并行总线了(远程通讯 50cm - 100cm左右距离)
传输数据量一般是 1MByte - 5MByte左右, 所以算比较大。USART在115200下花太多时间,用户会感觉
到明显很慢。
不知道还有什么方式简单又可以提高这个通讯速度的呢?

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入663汤圆

发表于 2010-8-26 11:36:53 | 显示全部楼层
不用总线只能用SPI了,STM32最快18Mbps,AVR32最快60/66Mbps。

出0入0汤圆

发表于 2010-8-26 11:41:04 | 显示全部楼层
用SPI,也省IO。
最好把SPI总线加驱动变成5V,如用74等芯片。让SPI工作于这个速度上以及这个距离,不成问题。

出0入0汤圆

 楼主| 发表于 2010-8-26 11:41:35 | 显示全部楼层
SPI可以多远距离?

出0入0汤圆

 楼主| 发表于 2010-8-26 11:43:12 | 显示全部楼层
还有要双向上位机可以读下位机的数据。
下位机到上位机的数据量比较少,只是一些状态。

出0入0汤圆

发表于 2010-8-26 11:49:39 | 显示全部楼层
再远没试过,公司里同事试过100米正常工作,且是双向通讯。

你是上电交换一下数据,如果速度放慢点,如在3秒内完成所有数据量,那SPI的速度可以下调,更可靠点,也就更远些。

出0入0汤圆

发表于 2010-8-26 11:54:35 | 显示全部楼层
长距离传输时,SPI这种串行传输比并行传输更可靠,可以用更高的速度

SPI有同步时钟,比UART好,节省了同步位,唯一的缺点就是比UART多用一根时钟线

楼上说的100米传输,线上的电容太大,会严重影响速度,用示波器看,振铃信号会很大,最后不得不降低速度

1米以内,地线解决好,高速SPI应该没问题

出0入0汤圆

发表于 2010-8-26 12:50:08 | 显示全部楼层
显然,如果SPI须要更远,更可靠,那每条线都用双绞差分驱动传输,是最好的办法。

出0入0汤圆

 楼主| 发表于 2010-8-26 13:46:21 | 显示全部楼层
我只是在重载的时候传一下数据过去。 大部份时间是上位机回传状态。
如果能在2,3少传完还不算太慢。 应该可以接受。

是不是上位机做主机,下位机做从机比较合适?

出0入0汤圆

发表于 2010-8-26 14:02:22 | 显示全部楼层
以太网

出0入0汤圆

发表于 2010-8-26 14:05:52 | 显示全部楼层
回复【1楼】gzhuli  咕唧霖
不用总线只能用spi了,stm32最快18mbps,avr32最快60/66mbps。
-----------------------------------------------------------------------

纯通信速度有这么快,但是SPI的通信开销很大

出0入0汤圆

 楼主| 发表于 2010-8-26 14:18:45 | 显示全部楼层
以太网 就复杂了。。 还要跑IP栈
且外围要加很多。

不知道Nios的 SPI性能怎么样? 能不能跟上

出0入0汤圆

发表于 2010-8-26 14:29:14 | 显示全部楼层
FIFO

出0入663汤圆

发表于 2010-8-26 15:21:13 | 显示全部楼层
回复【10楼】p.nicholas
回复【1楼】gzhuli  咕唧霖
不用总线只能用spi了,stm32最快18mbps,avr32最快60/66mbps。
-----------------------------------------------------------------------
纯通信速度有这么快,但是spi的通信开销很大
-----------------------------------------------------------------------

SPI通信会有什么开销?

出0入0汤圆

 楼主| 发表于 2010-8-26 15:25:28 | 显示全部楼层
回复【12楼】eworker
fifo
-----------------------------------------------------------------------

fifo又怎么样使用呢?

出0入0汤圆

发表于 2010-8-26 16:45:02 | 显示全部楼层
回复【13楼】gzhuli  咕唧霖
回复【10楼】p.nicholas
回复【1楼】gzhuli  咕唧霖
不用总线只能用spi了,stm32最快18mbps,avr32最快60/66mbps。
-----------------------------------------------------------------------
纯通信速度有这么快,但是spi的通信开销很大
-----------------------------------------------------------------------
spi通信会有什么开销?
-----------------------------------------------------------------------

XD可以测试一下,如果单次通信是一个字节,发送1W个字节到FPGA,总共消耗多少时间,SPI时钟以16M为例。

出0入663汤圆

发表于 2010-8-26 16:57:34 | 显示全部楼层
回复【15楼】p.nicholas
-----------------------------------------------------------------------

谁让你单次一个字节了?LZ要一次性传1MB-5MB数据,你一次一个字节传去? -_-!

出0入0汤圆

发表于 2010-8-26 17:00:43 | 显示全部楼层
回复【16楼】gzhuli  咕唧霖
回复【15楼】p.nicholas
-----------------------------------------------------------------------
谁让你单次一个字节了?lz要一次性传1mb-5mb数据,你一次一个字节传去? -_-!
-----------------------------------------------------------------------

你想一次传5MB?

出0入663汤圆

发表于 2010-8-26 17:02:57 | 显示全部楼层
有问题么?

出0入0汤圆

发表于 2010-8-26 17:15:46 | 显示全部楼层
回复【18楼】gzhuli  咕唧霖
有问题么?
-----------------------------------------------------------------------

没问题,我只能深深的感叹好牛的单片机啊,一次能传5MB数据

出0入663汤圆

发表于 2010-8-26 17:26:45 | 显示全部楼层
如果AVR32UC3A0外挂32MB SDRAM,能不能一次传5MB数据呢你说?

出0入0汤圆

发表于 2010-8-26 17:28:37 | 显示全部楼层
那NIOS要不要也外挂一块

出0入663汤圆

发表于 2010-8-26 17:33:06 | 显示全部楼层
如果LZ的NIOS吃不了5MB数据LZ会问这个问题?
你再读读LZ的说明:“只是在加载数据的时候传一次”,“传输数据量一般是 1MByte - 5MByte左右”。

出0入0汤圆

 楼主| 发表于 2010-8-26 17:56:17 | 显示全部楼层
Nios有外挂SDRAM >8MByte
谢谢这么多高手支招! 准备做些实验,打算用 AVR32 做上位机。

再问:如果用把SPI变差分信号传,有没有专用的芯片?

出0入0汤圆

发表于 2010-8-26 18:21:36 | 显示全部楼层
SN65LVDT14
SN65LVDT41
很适合SPI
可以考虑用网线传输

出0入0汤圆

发表于 2010-8-26 18:34:43 | 显示全部楼层
h2feo4 无机酸 提到的都非常好。另外,LZ使用普通常用的RS485双绞传输也可。

出0入663汤圆

发表于 2010-8-26 18:58:35 | 显示全部楼层
远距离传输最好封包加CRC并使用确认应答机制,否则不知道会发生什么奇怪的事情……

出0入0汤圆

 楼主| 发表于 2010-8-26 19:17:18 | 显示全部楼层
回复【26楼】gzhuli  咕唧霖
远距离传输最好封包加crc并使用确认应答机制,否则不知道会发生什么奇怪的事情……
-----------------------------------------------------------------------

封包大小为多少合适? 给个经验值。。

出0入663汤圆

发表于 2010-8-26 21:12:47 | 显示全部楼层
0.5~4K,根据实际情况定,包越大封包开销越小,速率越接近理论值,但如果出错率高的话速率损失也越严重。

出0入0汤圆

 楼主| 发表于 2010-8-26 21:14:19 | 显示全部楼层
回复【28楼】gzhuli 咕唧霖
-----------------------------------------------------------------------

谢谢!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 17:33

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表