OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5389|回复: 15

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

[复制链接]

5

主题

24

帖子

0

精华

新手上路

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

最佳答案

查看完整内容[请看2#楼]

工业应用首要特点是数据量小,目标前提是稳定可靠,首选肯定是CAN和串口。就传输几个字节的数据,用个千兆以太网?sata?USB3.0?够快吧,那就是杀猪用牛刀。另外:串口没有大家口中那么烂得不堪,当然你死命要超过规定速率肯定翻车(一般9600-115200),工业应用都几十年了,到现在依然用得很多很多,就说明串口是可靠的!不同的应用场合选择合适的工具! 结论:串口或者CAN
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

685

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3447
金钱
3447
注册时间
2017-7-4
在线时间
869 小时
发表于 2017-7-7 10:44:07 | 显示全部楼层
小米1粒 发表于 2017-7-11 21:57
首先要快速,那肯定是I2C排除,串口嘛,也就那样,稳定不够,达到1M以上时,误码率高的一逼,所以也排除! ...

工业应用首要特点是数据量小,目标前提是稳定可靠,首选肯定是CAN和串口。就传输几个字节的数据,用个千兆以太网?sata?USB3.0?够快吧,那就是杀猪用牛刀。另外:串口没有大家口中那么烂得不堪,当然你死命要超过规定速率肯定翻车(一般9600-115200),工业应用都几十年了,到现在依然用得很多很多,就说明串口是可靠的!不同的应用场合选择合适的工具!
结论:串口或者CAN
回复

使用道具 举报

29

主题

311

帖子

0

精华

高级会员

Rank: 4

积分
747
金钱
747
注册时间
2016-5-21
在线时间
199 小时
发表于 2017-7-7 10:48:49 | 显示全部楼层
关键问题是 对通讯速率的要求,对可靠性的要求。如果要求不大的话,CAN和串口哪个都合适,没必要用并口
回复

使用道具 举报

2

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
116
金钱
116
注册时间
2015-3-11
在线时间
17 小时
发表于 2017-7-7 11:08:50 | 显示全部楼层
关键问题是 对通讯速率的要求
有时候,拒绝,也是一种关爱!不吸烟,我不干!
回复

使用道具 举报

2

主题

685

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3447
金钱
3447
注册时间
2017-7-4
在线时间
869 小时
发表于 2017-7-7 11:12:10 | 显示全部楼层
CAN足够,省事用串口都可以了。
回复

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
发表于 2017-7-7 12:42:44 | 显示全部楼层
看你通讯速率了,一般can已经足够了,不想辣么麻烦就uart咯,看产品的要求,可靠性,稳定性,抗干扰性等等
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11547
金钱
11547
注册时间
2013-3-8
在线时间
1232 小时
发表于 2017-7-7 15:16:36 | 显示全部楼层
你两块板子距离远吗?跑离远的话FSMC,I2C,SPI就不要想了。只剩串口,can,以太网了,三者速度依次从低到高。
回复

使用道具 举报

5

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
335
金钱
335
注册时间
2014-3-16
在线时间
111 小时
发表于 2017-7-7 17:08:45 | 显示全部楼层
板上通讯,双MCU可以用双口RAM。速度最快。
回复

使用道具 举报

5

主题

24

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2016-6-8
在线时间
10 小时
 楼主| 发表于 2017-7-11 21:50:18 | 显示全部楼层
augustedward 发表于 2017-7-7 15:16
你两块板子距离远吗?跑离远的话FSMC,I2C,SPI就不要想了。只剩串口,can,以太网了,三者速度依次从低到高 ...

距离不远,换句话说,就是两块板子挨着,相差不超过10cm。
另外,CAN是不是稳定性比串口还要高呢?
两块板子之间通过以太网通信比较方便吗?串口、CAN、以太网是不是以太网最快,最稳定呢?
回复

使用道具 举报

5

主题

24

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2016-6-8
在线时间
10 小时
 楼主| 发表于 2017-7-11 21:52:00 | 显示全部楼层
八度空间 发表于 2017-7-7 12:42
看你通讯速率了,一般can已经足够了,不想辣么麻烦就uart咯,看产品的要求,可靠性,稳定性,抗干扰性等等

就是说CAN的通信速率、稳定性、可靠性、抗干扰都比串口好?只是CAN通信程序较复杂,理解较困难是吗
回复

使用道具 举报

5

主题

24

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2016-6-8
在线时间
10 小时
 楼主| 发表于 2017-7-11 21:55:04 | 显示全部楼层
baicaijin 发表于 2017-7-7 11:08
关键问题是 对通讯速率的要求

串口通信速率估计也就115200就可以了,您觉得这个速率选择什么合适
回复

使用道具 举报

5

主题

24

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2016-6-8
在线时间
10 小时
 楼主| 发表于 2017-7-11 21:56:10 | 显示全部楼层
haysen 发表于 2017-7-7 10:48
关键问题是 对通讯速率的要求,对可靠性的要求。如果要求不大的话,CAN和串口哪个都合适,没必要用并口

那您能比较一下串口和CAN吗?它们各自的优势应该在哪?一般的应用场合是什么
回复

使用道具 举报

5

主题

24

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2016-6-8
在线时间
10 小时
 楼主| 发表于 2017-7-11 21:57:35 | 显示全部楼层
首先要快速,那肯定是I2C排除,串口嘛,也就那样,稳定不够,达到1M以上时,误码率高的一逼,所以也排除!!!!CAN总线也一样。。。。所以就只剩SPI和FSMC。。。FSMC是一个主设备去读取从设备的关系而且,FSMC只是一个总线协议。。。。两个都是主,压根没法通信,除非用第三方RAM芯片最为桥梁,然后外加一个通信控制线!!!!!最后就是SPI了,快速,可以达到好几M,而且稳定。。。有主从,还是可以配置为双向。。。。所以最合适的选择是SPI。。。。当然了,其实最快速的是FSMC,而且也比较简单,协议也简单。。。不过就需要第三方的RAM芯片来作为桥梁。。。。

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

使用道具 举报

5

主题

24

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2016-6-8
在线时间
10 小时
 楼主| 发表于 2017-7-11 21:59:49 | 显示全部楼层
mon51 发表于 2017-7-7 17:08
板上通讯,双MCU可以用双口RAM。速度最快。

您说的板上通信是什么意思?我是用两块STM32板子,并没有合在一起,您说的双口RAM可以详细讲讲吗
回复

使用道具 举报

5

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
335
金钱
335
注册时间
2014-3-16
在线时间
111 小时
发表于 2017-7-11 22:06:12 | 显示全部楼层
小米1粒 发表于 2017-7-11 21:59
您说的板上通信是什么意思?我是用两块STM32板子,并没有合在一起,您说的双口RAM可以详细讲讲吗

IDT 7132 IDT7134
回复

使用道具 举报

2

主题

685

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3447
金钱
3447
注册时间
2017-7-4
在线时间
869 小时
发表于 2017-7-12 00:04:18 | 显示全部楼层
小米1粒 发表于 2017-7-11 21:52
就是说CAN的通信速率、稳定性、可靠性、抗干扰都比串口好?只是CAN通信程序较复杂,理解较困难是吗

CAN——汽车总线。足以描述它的可靠性。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-12-18 15:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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