请问两块STM32F429怎么实现实时快速通信?

2019-07-14 14:22发布

最近在做一个项目,分为主从控制板子,两块板子都采用STM32F429,一块板子属于控制板,给电机发送控制信号、与上位机通信等,另外一块处理激光雷达数据以及其他传感器数据,协控板将雷达等传感器数据传给主控板,主控板决策,实现避障等操作,现在现在通信方式可想到的有五种
1、串口
2、I2C
3、SPI
4、CAN总线
5、FSMC
现在自己查询资料,IIC/SPI基本排除,因为他是用作模块内部比较多,剩下的有的用串口,有的CAN,请大神比较这两个哪个合适?
另外。查询到一篇论文中这样写:目前,主从式控制系统的通信方式主要有三种:(1)串行通信方式;(2)共享内存方式;(3)并行通信方式[65]。考虑到共享内存种方式实现较为复杂,串行通信方式速度有限,本文采用并行通信方式,通过STM32自带的FSMC总线,将FPGA当成外扩存储器进行读写,实现两者的通信。我在考虑有必要使用这种通信模式吗?
根据以上问题,希望大神解答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
jfuwre
1楼-- · 2019-07-14 18:46
首先要快速,那肯定是I2C排除,串口嘛,也就那样,稳定不够,达到1M以上时,误码率高的一逼,所以也排除!!!!CAN总线也一样。。。。所以就只剩SPI和FSMC。。。FSMC是一个主设备去读取从设备的关系而且,FSMC只是一个总线协议。。。。两个都是主,压根没法通信,除非用第三方RAM芯片最为桥梁,然后外加一个通信控制线!!!!!最后就是SPI了,快速,可以达到好几M,而且稳定。。。有主从,还是可以配置为双向。。。。所以最合适的选择是SPI。。。。当然了,其实最快速的是FSMC,而且也比较简单,协议也简单。。。不过就需要第三方的RAM芯片来作为桥梁。。。。
7762642422d
2楼-- · 2019-07-14 23:14
1.最快:2个F429都连到一个SDRAM或RAM上,这当然是最快的。这属于共享内存方式。
2.次之:USB。既:USB串行通信接口。
注意!:USB也是串行通信接口。
现在单片机上并行的接口已经不多了,有也是诸如SDRAM的数据、地址总线;LCD的总线等。
DAA000
3楼-- · 2019-07-15 04:19
                                1
peternie
4楼-- · 2019-07-15 06:12
本帖最后由 wolfgang2015 于 2017-7-8 01:12 编辑

如果不看电机控制,雷达响应 我选6、Ethernet

如果带上汽车环境,没有二话只选CAN
rwd2016
5楼-- · 2019-07-15 06:45
 精彩回答 2  元偷偷看……
rwd2016
6楼-- · 2019-07-15 11:19
peternie 发表于 2019-1-25 07:02
本帖最后由 wolfgang2015 于 2017-7-8 01:12 编辑

如果不看电机控制,雷达响应 我选6、Ethernet

您说的雷达响应是什么意思?我的硬件连接是这样的,协控板连接雷达,并将雷达的信号进行处理,将处理的结果给主控板,设计的是主控板和协控板的通信问题,即两块F429,,,另外,我们只是研究类似于机器人类型,没有涉及到汽车环境,所以,请您在给点建议,谢谢

一周热门 更多>