无人机寻迹要两个单片机吗_两个单片机之间通信用什么接口?

本文探讨了在项目中使用两个单片机协同工作时,如何选择合适的通信接口。介绍了主从结构中常见的I2C、SPI、USART等接口,强调了主对主通信时可选用CAN、以太网接口,并提到了从对从通信的解决方案。此外,还讨论了自定义接口的优缺点,建议根据需求和可靠性选择专业通信接口。
摘要由CSDN通过智能技术生成

提问:

我在做一个项目时需要用到2片单片机协同完成工作,可是单片机与其他芯片通

信的方法我学习过,而单片机与单片机之间的通信好像没有人讲过。如果要让2

片单片机相互通信,用什么接口比较好?为什么?

解答:

首先这个问题需要先从观念上有所改进。其实单片机本身也是一种芯片,它和

显示屏驱动芯片、温度传感器芯片一样,都是完成某项任务的芯片。唯一的驱

动是显示驱动芯片、温度传感器芯片是厂家指定用途的,而单片机是通用用途

的。所以面对单片机与单片机的通信,我们可以先理解成单片机与另一个芯片

的通信,只是这个芯片的通信方式由我们自己设置。

理解了这个概念,接下来就是考虑2片单片机之前的工作关系。也就是说2个单

片机是老板跟员工的关系(主对从),还是老板跟老板(主对主),或是员工

和员工(从对从)。

1,主对从:这种关系最为常见。在系统中有一个主单片机,它里面的程序是控

制方方面面完成整个系统的管理。另一个单片机是只负责完成某一小部分工作

任务。拿杜洋工作室出品的寻迹小车为例,在小车OLED显示屏的背面有一片64

脚的主控单片机,它是生成人机界面和各种功能的主控制。而在小车下方有一

个139点高分辨率的循迹传感器,因为这个传感器的分辨率很高,需要很复杂的

算法和很高的采集频率,所以循迹器上有一片专门用于采集数据的单片机。这

时循迹单片机从功能上讲是从单片机,于是循迹单片机给出一个I2C接口,主单

片机只要通过I2C总线通信协议就可以读出循迹器里的数据。就像读其他I2C接

口的功能芯片一样,如LM75A温度传感器。从单片机的特点是永远被动,只要

主单片机不来读写,从单片机是不会主动通信的。

当有主从机区别时,只要从机模拟其他功能芯片的接口就行了。常用的是I2C、

SPI、USART(RS232)、RS485、USB等。其中如果注重扩展性(如想在一个

接口上接多个从单片机与芯片)则用I2C,如果注重通信速度则用SPI,如果注

重编程简单、使用方便则用USART。如果注重远距离通信就用RS485。如果是

有操作系统的高级通信设备可用USB接口。只要在从单片机上开启这些接口并

设置为从设备就可以了。如果硬件上没有的接口也可以软件模拟,但对刷新速

度要求高的不推荐模拟。

2,主对主:如果两片单片机都是主控,每个单片机独立管理一个完整的系统,

且每个单片机都有可能主动发起通信。多主机通信最大的问题是数据冲突,如

果两个(或更多)主机同时发数据,要如何处理谁先谁后呢?这就需要使用带

有多主机功能的接口了,如CAN、以太网等。一般两个主单片机是不会放在一

片电路板上的,大多还是两台设备间的通信,这时可以用专用线缆的接口。

CAN总线会高级很多,有专业的仲裁机制和保护,在多主机的通信中最常用。

以太网就是互联网的通信接口,只是你的系统不一定接入互联网,可能只形成

一个小局域网,那么以太网接口的TCP/IP协议(或其他协议)一样可以使多主

机通信更稳定。另外,还可使用RS232和RS485接口,它们是开放的通信接

口,需要用户自己设计通信的原则和仲裁方案,如果通信不复杂的话可以使

用。

3,从对从:这种情况非常少见,一般都需要另外有一个主单片机在控制它们。

当主单片机需要在从单片机A中读出数据发给从单片机B时,只要主单片机发出

一个信号,从单片机A就会直接向从单片机B发数据,不需要经过主单片机,这

有点像DMA功能。这时能用的接口就很多了,USART、SPI、CAN、RS485都

可以。选择接口就是视关注的重点而定。

以上只是基于现有成熟的接口的方案,还有一种用户自己设计的接口。比如拿

几个普通I/O端口直接用电平高低或者冲突的数量来通信,这种最原始最直观的

通信也是很好用的。如果你的技术水平不高,又急于完成通信,那么这是一个

很好的选择。但如果你能完成以上介绍的任何一个接口的开发,那就请不要用

原始的方案。因为直接用电平表示缺少成熟接口协议的封装,在可靠性和扩展

性上都不高。有时电平方式通信所占用的引脚数量比成熟的I2C、SPI还要多。

这样做很不专业,一看就是初学者。我们不应该被知识打败退而次之,而应该

掌握知识,用专业接口做专业通信。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值