两块STM32F429,要求实时快速通信,用什么方式比较好

2019-08-17 01:44发布

最近在做一个项目,分为主从控制板子,两块板子都采用STM32F429,一块板子属于控制板,给电机发送控制信号、与上位机通信等,另外一块处理激光雷达数据以及其他传感器数据,协控板将雷达等传感器数据传给主控板,主控板决策,实现避障等操作,现在现在通信方式可想到的有五种
1、串口
2、I2C
3、SPI
4、CAN总线
5、FSMC
现在自己查询资料,IIC/SPI基本排除,因为他是用作模块内部比较多,剩下的有的用串口,有的CAN,请大神比较这两个哪个合适?
另外。查询到一篇论文中这样写:目前,主从式控制系统的通信方式主要有三种:(1)串行通信方式;(2)共享内存方式;(3)并行通信方式[65]。考虑到共享内存种方式实现较为复杂,串行通信方式速度有限,本文采用并行通信方式,通过STM32自带的FSMC总线,将FPGA当成外扩存储器进行读写,实现两者的通信。我在考虑有必要使用这种通信模式吗?
根据以上问题,希望大神解答

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
mon51
1楼-- · 2019-08-18 01:35
板上通讯,双MCU可以用双口RAM。速度最快。
小米1粒
2楼-- · 2019-08-18 02:16
augustedward 发表于 2017-7-7 15:16
你两块板子距离远吗?跑离远的话FSMC,I2C,SPI就不要想了。只剩串口,can,以太网了,三者速度依次从低到高 ...

距离不远,换句话说,就是两块板子挨着,相差不超过10cm。
另外,CAN是不是稳定性比串口还要高呢?
两块板子之间通过以太网通信比较方便吗?串口、CAN、以太网是不是以太网最快,最稳定呢?
小米1粒
3楼-- · 2019-08-18 06:08
八度空间 发表于 2017-7-7 12:42
看你通讯速率了,一般can已经足够了,不想辣么麻烦就uart咯,看产品的要求,可靠性,稳定性,抗干扰性等等

就是说CAN的通信速率、稳定性、可靠性、抗干扰都比串口好?只是CAN通信程序较复杂,理解较困难是吗
小米1粒
4楼-- · 2019-08-18 08:49
baicaijin 发表于 2017-7-7 11:08
关键问题是 对通讯速率的要求

串口通信速率估计也就115200就可以了,您觉得这个速率选择什么合适
小米1粒
5楼-- · 2019-08-18 09:10
 精彩回答 2  元偷偷看……
小米1粒
6楼-- · 2019-08-18 12:17
首先要快速,那肯定是I2C排除,串口嘛,也就那样,稳定不够,达到1M以上时,误码率高的一逼,所以也排除!!!!CAN总线也一样。。。。所以就只剩SPI和FSMC。。。FSMC是一个主设备去读取从设备的关系而且,FSMC只是一个总线协议。。。。两个都是主,压根没法通信,除非用第三方RAM芯片最为桥梁,然后外加一个通信控制线!!!!!最后就是SPI了,快速,可以达到好几M,而且稳定。。。有主从,还是可以配置为双向。。。。所以最合适的选择是SPI。。。。当然了,其实最快速的是FSMC,而且也比较简单,协议也简单。。。不过就需要第三方的RAM芯片来作为桥梁。。。。

最近有人这样分析,用SPI,大家觉得合理吗?欢迎讨论

一周热门 更多>