完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近在做一个项目,分为主从控制板子,两块板子都采用STM32F429,一块板子属于控制板,给电机发送控制信号、与上位机通信等,另外一块处理激光雷达数据以及其他传感器数据,协控板将雷达等传感器数据传给主控板,主控板决策,实现避障等操作,现在现在通信方式可想到的有五种
1、串口 2、I2C 3、SPI 4、CAN总线 5、FSMC 现在自己查询资料,IIC/SPI基本排除,因为他是用作模块内部比较多,剩下的有的用串口,有的CAN,请大神比较这两个哪个合适? 另外。查询到一篇论文中这样写:目前,主从式控制系统的通信方式主要有三种:(1)串行通信方式;(2)共享内存方式;(3)并行通信方式[65]。考虑到共享内存种方式实现较为复杂,串行通信方式速度有限,本文采用并行通信方式,通过STM32自带的FSMC总线,将FPGA当成外扩存储器进行读写,实现两者的通信。我在考虑有必要使用这种通信模式吗? 根据以上问题,希望大神解答 |
|
相关推荐
10个回答
|
|
感觉什么也没说
|
|
|
|
首先要快速,那肯定是I2C排除,串口嘛,也就那样,稳定不够,达到1M以上时,误码率高的一逼,所以也排除!!!!CAN总线也一样。。。。所以就只剩SPI和FSMC。。。FSMC是一个主设备去读取从设备的关系而且,FSMC只是一个总线协议。。。。两个都是主,压根没法通信,除非用第三方RAM芯片最为桥梁,然后外加一个通信控制线!!!!!最后就是SPI了,快速,可以达到好几M,而且稳定。。。有主从,还是可以配置为双向。。。。所以最合适的选择是SPI。。。。当然了,其实最快速的是FSMC,而且也比较简单,协议也简单。。。不过就需要第三方的RAM芯片来作为桥梁。。。。
|
|
|
|
1.最快:2个F429都连到一个SDRAM或RAM上,这当然是最快的。这属于共享内存方式。
2.次之:USB。既:USB串行通信接口。 注意!:USB也是串行通信接口。 现在单片机上并行的接口已经不多了,有也是诸如SDRAM的数据、地址总线;LCD的总线等。 |
|
|
|
|
|
本帖最后由 wolfgang2015 于 2017-7-8 01:12 编辑
如果不看电机控制,雷达响应 我选6、Ethernet 如果带上汽车环境,没有二话只选CAN |
|
|
|
jfuwre 发表于 2019-1-25 06:29 CAN总线误码率很高吗?它是信号差分的形式产生通信信号的吧,并且它的通信包含起始位,,数据校验位,结束位等,并且还有筛选器啥的,不是应该较稳定吗/ 请讲解一下,谢谢 |
|
|
|
您说的雷达响应是什么意思?我的硬件连接是这样的,协控板连接雷达,并将雷达的信号进行处理,将处理的结果给主控板,设计的是主控板和协控板的通信问题,即两块F429,,,另外,我们只是研究类似于机器人类型,没有涉及到汽车环境,所以,请您在给点建议,谢谢 |
|
|
|
7762642422d 发表于 2019-1-25 06:43 那您的意思是两块板子之间通过USB串行通信比较合适吗? 另外,对于串口和CAN总线,这两种选择一个,您有什么建议吗 |
|
|
|
2个F429分别做host和device,或者通过otg来自动匹配主机,F429自身都可以满足这种需求了,也就是不会增加额外成本,而且速度也可以达到USB全速,所以我认为比较合适(比以太网成本低、技术投入少)。 你可以选择串口,技术实现低,但速度也低。 |
|
|
|
串口最省事了,看你发送的数据量多少还有距离吧,
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2162 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1997 浏览 3 评论
4593 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2140 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2659 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 20:34 , Processed in 0.880907 second(s), Total 89, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号