请问两块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
2019-07-14 18:46
首先要快速,那肯定是I2C排除,串口嘛,也就那样,稳定不够,达到1M以上时,误码率高的一逼,所以也排除!!!!CAN总线也一样。。。。所以就只剩SPI和FSMC。。。FSMC是一个主设备去读取从设备的关系而且,FSMC只是一个总线协议。。。。两个都是主,压根没法通信,除非用第三方RAM芯片最为桥梁,然后外加一个通信控制线!!!!!最后就是SPI了,快速,可以达到好几M,而且稳定。。。有主从,还是可以配置为双向。。。。所以最合适的选择是SPI。。。。当然了,其实最快速的是FSMC,而且也比较简单,协议也简单。。。不过就需要第三方的RAM芯片来作为桥梁。。。。

一周热门 更多>