打印

高手请进 多MCU通信问题

[复制链接]
3286|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wahahaabc|  楼主 | 2008-3-31 13:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大侠:
小弟现在正在开发一个项目,项目描述如下:
在一个机箱内部有多块电路板,其中一块是主控制板,其余的都是从电路板(从电路板上也有MCU),现在要求主控制板可以和从电路板上的MCU通信,要求可以是点对点的通信,也可以是广播通信,对通信的速率要求不高,但是通信一定要非常可靠,不能有错。从电路板之间不需要互相通信,对于这样的要求,应该选用什么样的总线来完成???
(要求不使用RS485,CAN总线,考虑到成本,也不要使用较为复杂的总线)
沙发
香水城| | 2008-3-31 13:23 | 只看该作者

可以考虑使用I2C或SPI

I2C是总线型的,可以有一主多从或多主结构,从设备还可以响应广播地址。

SPI是点对点的通信,也可以通过片选实现一主多从结构,同时使能多个从设备的片选即可实现广播通信;但要处理好MISO信号。

使用特权

评论回复
板凳
wahahaabc|  楼主 | 2008-3-31 15:55 | 只看该作者

如果使用I2C总线,能完成下面的要求吗??

主控制板和从电路板的通信一般是这样一个过程:
(1)主控制板发送命令给从电路板上的MCU
(2)从电路板上的MCU根据命令执行相应的操作
(3)从电路板上的MCU向主控制板返回信息,告诉主控制板命令执行是否正确
也可能是主控制板发送查询命令给从电路板,从电路板上的MCU将查询信息返回给主控制板

但是,对于广播通信,不可能每个从电路板都响应,这样会造成通信冲突。但是,如果对于广播通信,从电路板如果不响应,则主控制板无法了解命令是否执行正确(当然,也可以发送广播命令以后,主控制板再一个一个的去查询从电路板的状态,但是,这样效率太低了),是否还有更好的解决方法呢???

使用特权

评论回复
地板
香水城| | 2008-3-31 16:00 | 只看该作者

I2C总线能完成你的要求

发送广播命令以后,主控制板再一个一个的去查询从电路板的状态,这是必须的,因为数据量很小,效率并不低,除非你有成百上千个从电路板。

使用特权

评论回复
5
wahahaabc|  楼主 | 2008-4-1 08:37 | 只看该作者

谢谢香水城大侠 太热心了

使用特权

评论回复
6
wahahaabc|  楼主 | 2008-4-1 14:38 | 只看该作者

I2C广播呼叫地址疑问???

(1)I2C广播呼叫地址有两个字节,第1个字节为全0,第2个字节中的最低位B是什么意思???当B为1时,有什么作用???

(2)当主机发I2C广播呼叫地址以后,如果从机在广播呼叫结构中还需要数据,是不是所有的从机都会在第9位发出响应

使用特权

评论回复
7
wahahaabc|  楼主 | 2008-4-3 14:31 | 只看该作者

不知ST的STM32微控制器的I2C硬件是否具有广播通信功能

使用特权

评论回复
8
香水城| | 2008-4-3 14:56 | 只看该作者

STM32微控制器的I2C硬件具有广播通信功能

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

119

主题

627

帖子

0

粉丝