搜索
bottom↓
回复: 36

硬件通过什么接口或者方法实现两个CPU之间的通讯?

[复制链接]

出0入0汤圆

发表于 2016-2-14 15:17:27 | 显示全部楼层 |阅读模式
现在想实现两个ARM之间的通讯,主要用于传输数据和命令。通讯方法除了以下几个方式,还有其他方式么?请各路大神指教!!!
1、芯片级:双口RAM,FIFO,公共内存,DMA
2、系统级
PC机的I/O口:RS232,RS485,PIO
紧凑型总线:STD,ISA,cPCI,VME,PC104,3XBUS
3、网络级
Internet,Intranet
是否还有其他更高效的方法呢?

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

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

出0入0汤圆

发表于 2016-2-14 15:34:42 | 显示全部楼层
IIC,SPI,UART,etc

出0入0汤圆

发表于 2016-2-14 15:49:35 | 显示全部楼层
看你实际需求咯,要求的速度?可靠性?程序的开发难度?成本要求?都有关系了

出0入0汤圆

 楼主| 发表于 2016-2-14 15:51:29 | 显示全部楼层
sddp001 发表于 2016-2-14 15:49
看你实际需求咯,要求的速度?可靠性?程序的开发难度?成本要求?都有关系了 ...

速度要求不高,采用的Linux系统,开发难度低,成本适中即可。

出0入0汤圆

发表于 2016-2-14 15:53:14 | 显示全部楼层
进来学习一下

出0入0汤圆

发表于 2016-2-14 17:19:51 | 显示全部楼层
最高效,最省事是双口RAM,低成本,则硬件SPI,速度可高可低,协议自定

出0入0汤圆

 楼主| 发表于 2016-2-14 19:36:36 | 显示全部楼层
wjb444 发表于 2016-2-14 17:19
最高效,最省事是双口RAM,低成本,则硬件SPI,速度可高可低,协议自定

但是软件开发又要重新修改很多代码,不利于新产品快速上市

出0入0汤圆

发表于 2016-2-14 19:43:23 | 显示全部楼层
速度要求不高 数据量不大 ,UART就够了,软件开发简单。

出0入50汤圆

发表于 2016-2-14 20:02:34 | 显示全部楼层
UART做成单总线方式,主从通信,用于内部板卡间的通信,从机可以多个,分配下地址,随便增删。

出90入0汤圆

发表于 2016-2-14 20:50:15 | 显示全部楼层
直接8位数据口连接

出200入657汤圆

发表于 2016-2-14 21:12:58 来自手机 | 显示全部楼层
uart“最简单”最常用   打引号是因为一旦实际使用情况复杂的话  UART协议会变得复杂而不容易编程稳定

出0入4汤圆

发表于 2016-2-14 21:29:04 | 显示全部楼层
CAN                  

出0入0汤圆

 楼主| 发表于 2016-2-14 22:14:05 | 显示全部楼层
ilikemcu 发表于 2016-2-14 20:02
UART做成单总线方式,主从通信,用于内部板卡间的通信,从机可以多个,分配下地址,随便增删。 ...

UART口不够用,这个方法我会先考虑,再次是CAN口,再次是IIC。你觉得这样怎么样?

出0入0汤圆

发表于 2016-2-14 22:24:39 来自手机 | 显示全部楼层
spi应该首选

出0入0汤圆

 楼主| 发表于 2016-2-14 22:35:03 | 显示全部楼层

大神解释解释

出0入8汤圆

发表于 2016-2-14 23:50:35 来自手机 | 显示全部楼层
LVDS速度快功耗低传输量大

出0入0汤圆

 楼主| 发表于 2016-2-15 00:07:07 | 显示全部楼层
mkliop 发表于 2016-2-14 23:50
LVDS速度快功耗低传输量大

CPU之间通讯用LVDS怎么实现?

出0入0汤圆

 楼主| 发表于 2016-2-15 00:10:09 | 显示全部楼层
mkliop 发表于 2016-2-14 23:50
LVDS速度快功耗低传输量大

代码更改量太大,且我需要的速度不够。综合各位大神的建议,我首选SPI

出0入0汤圆

发表于 2016-2-15 00:21:03 | 显示全部楼层
通讯的距离?

出0入0汤圆

 楼主| 发表于 2016-2-15 09:21:48 | 显示全部楼层

同一个电路板

出0入0汤圆

发表于 2016-2-15 09:37:54 来自手机 | 显示全部楼层
lz没说明两个cpu之间是板级通讯,还是板间通讯,或是机对机通讯。机对机通讯,用can 比较快速可靠,可靠性要求低些可以用异步串行通讯方式。板对板通讯,可用异步串行或同步串行通讯方式。板级通讯,可以用简单高效的串行或并行通讯方式处理。

出0入17汤圆

发表于 2016-2-15 09:48:08 | 显示全部楼层
guet@11308 发表于 2016-2-15 00:10
代码更改量太大,且我需要的速度不够。综合各位大神的建议,我首选SPI

高速的话可以选pcie的NT或者pcie-USB。

出0入0汤圆

发表于 2016-2-15 09:52:34 | 显示全部楼层
如果两个CPU都带网卡,那肯定是用网线最合适了,如果不是都带网卡的话数据量大用spi,小了用法串口

出0入4汤圆

发表于 2016-2-15 10:02:34 | 显示全部楼层
新年报道,学习学习

出0入34汤圆

发表于 2016-2-15 10:35:06 | 显示全部楼层
还有 SATA 3.2、SATA Express、Thunderbolt 2 及 Thunderbolt 3 等。

出0入0汤圆

发表于 2016-2-15 11:58:02 | 显示全部楼层

我也这么认为。

出0入0汤圆

发表于 2016-2-15 13:21:49 | 显示全部楼层
其实, 要做成可靠都不容易, 如怎样保证数据的完整性, 怎样实现流控, 如果通知对方, 如何应答等, 都需要有一套策略.

出0入0汤圆

发表于 2016-2-15 18:17:21 | 显示全部楼层

没啥就是简单,速度还可以 ,各种库比较成熟,开销也小

出0入0汤圆

发表于 2016-2-15 18:49:52 | 显示全部楼层
同一个电路板首选SPI

出0入0汤圆

发表于 2016-2-15 19:08:39 来自手机 | 显示全部楼层
我也认为SPI是首选,可全双工,高速,当然,速度要求不高的话UART实现起来更简单些。

出0入0汤圆

发表于 2016-2-15 19:17:20 | 显示全部楼层
我们的单板上四块STM32用的SPI互相通信,突发速率能到30M,更高的没试,理论F4能到42M,F7的能到54M

出0入0汤圆

发表于 2016-2-15 20:45:39 | 显示全部楼层
uart或SPI

出0入0汤圆

 楼主| 发表于 2016-2-15 23:37:03 | 显示全部楼层
lanqilove 发表于 2016-2-15 09:52
如果两个CPU都带网卡,那肯定是用网线最合适了,如果不是都带网卡的话数据量大用spi,小了用法串口 ...

网卡都被占用了,现在只能靠SPI和串口了

出0入0汤圆

发表于 2016-2-16 08:42:42 | 显示全部楼层
guet@11308 发表于 2016-2-15 23:37
网卡都被占用了,现在只能靠SPI和串口了

网卡怎么占的?插上交换机就能通信

出0入42汤圆

发表于 2016-2-16 09:25:44 | 显示全部楼层
其实任何通讯方式都是一致的。既然用了linux操作系统,驱动写好,通讯过程一封装,调用起来基本没区别。就看你要多少速度了。

出0入0汤圆

发表于 2016-2-17 16:44:14 | 显示全部楼层
首选SPI,空闲的时候就配置成从机,采用DMA方式接收数据,几乎不占用CPU资源。

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-7-23 07:14

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

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