打印
[学习资料]

常用单片机通信方式综述

[复制链接]
1309|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Clovee|  楼主 | 2019-10-30 17:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
常用单片机通信方式综述

①采用硬件UART进行异步串行通信。这是一种占用口线少,有效、可靠的通信方式;但遗憾的是许多小型单片机没有硬件 UART,有些也只有1个UART,如果系统还要与上位机通信的话,硬件资源是不够的。这种方法一般用于单片机有硬件UART且不需与外界进行串行通信或采用双UART单片机的场合。

②采用片内SPI接口或I2C总线模块串行通信形式。SPI/I2C接口具有硬件简单、软件编程容易等特点,但目前大多数单片机不具备硬件SPI/I2C模块。

③利用软件模拟SPI/I2C模式通信,这种方式很难模拟从机模式,通信双方对每一位要做出响应,通信速率与软件资源的开销会形成一个很大的矛盾,处理不好会导致系统整体性能急剧下降。这种方法只能用于通信量极少的场合。

④口对口并行通信,利用单片机的口线直接相连,加上1~2条握手信号线。这种方式的特点是通信速度快,1次可以传输4位或8位,甚至更多,但需要占用大量的口线,而且数据传递是准同步的。在一个单片机向另一个单片机传送1个字节以后,必须等到另一个单片机的接收响应信号后才能传送下一个数据。一般用于一些硬件口线比较富裕的场合。

⑤利用双口RAM作为缓冲器通信。这种方式的最大特点就是通信速度快,两边都可以直接用读写存储器的指令直接操作;但这种方式需要大量的口线,而且双口RAM的价格很高,一般只用于一些对速度有特殊要求的场合。

从上面几种方案来看,各种方法对硬件都有很大的要求与限制,特别是难以在功能简单的单片机上实现,因此寻求一种简单、有效的,能在各种单片机之间通信的方法具有重要的意义。③、④方案中,双方单片机要传递的每一位或每一个字节做出响应,通信数据量较大时会耗费大量的软件资源,这在一些实时性要求高的地方是不允许的。


针对这一问题,假设在单片机之间增加1个数据缓冲器,大批数据先写入缓冲区,然后再让对方去取,各个单片机对数据缓冲器都是主控模式,这样必然会大大提高通信效率。谈到数据缓冲,我们马上会想到并行RAM,但是并行RAM需要占用大量的口线(数据线+地址线+读写线+片选线+握手线),一般在16条以上。这是一个让人望而生畏的数字,而且会大大增加PCB面积并给布线带来一定的困难,极少有人采用这种方式。串行接口的RAM在市场上很少见,不但难以买到而且价格很高。移位寄存器也可以做数据缓冲器,但目前容量最大的也只128位,因为是“先进先出”结构,所以不管传递数据多少,接收方必须移完整个寄存器,灵活性差而且大容量的移位寄存器也是少见难买的。一种被称为“铁电存储器”芯片的出现,给我们带来了解决方法。



使用特权

评论回复
沙发
zhuomuniao110| | 2019-10-30 22:17 | 只看该作者
串口是最常用的基本通信接口。

使用特权

评论回复
板凳
天灵灵地灵灵| | 2019-10-30 22:19 | 只看该作者
最简单的就是IO对IO通信。

使用特权

评论回复
地板
捉虫天师| | 2019-10-31 00:21 | 只看该作者
最简单的是并口通信。

使用特权

评论回复
5
捉虫天师| | 2019-10-31 00:39 | 只看该作者
好多人学的第一个通信接口就是串口:printf

使用特权

评论回复
6
huahuagg| | 2019-10-31 19:04 | 只看该作者
慢慢的OUT了。哈哈
通信方式越来越牛,蓝牙都5.0,6.0了。

使用特权

评论回复
7
huahuagg| | 2019-10-31 19:51 | 只看该作者
数据线+地址线+读写线+片选线+握手线

使用特权

评论回复
8
usysm| | 2019-10-31 20:14 | 只看该作者
单片机与其他单片机或芯片级的通讯有:RS232、IIC、SPI  

使用特权

评论回复
9
typeof| | 2019-10-31 20:14 | 只看该作者
串口用的比较多         

使用特权

评论回复
10
yujielun| | 2019-10-31 20:15 | 只看该作者
I2C,用于单片机自己外设   

使用特权

评论回复
11
htmlme| | 2019-10-31 20:15 | 只看该作者
单片机的通信有串行通信和并行通信。  

使用特权

评论回复
12
pklong| | 2019-10-31 20:16 | 只看该作者
直接将两单片机的TXD与RXD连接  

使用特权

评论回复
13
touser| | 2019-10-31 20:16 | 只看该作者
网络通讯方式。   

使用特权

评论回复
14
myiclife| | 2019-10-31 20:16 | 只看该作者
就是用串口通信实现,最为方便  

使用特权

评论回复
15
uytyu| | 2019-10-31 20:17 | 只看该作者
一般以串口形式通讯。   

使用特权

评论回复
16
iyoum| | 2019-10-31 20:17 | 只看该作者
用的有UART,SPI,I2C等  

使用特权

评论回复
17
jkl21| | 2019-10-31 20:18 | 只看该作者
RS232串口,485接口,SPI接口  

使用特权

评论回复
18
uytyu| | 2019-10-31 20:18 | 只看该作者
单片机+蓝牙模块   

使用特权

评论回复
19
usysm| | 2019-10-31 20:18 | 只看该作者
其他设备通讯有:RS232、RS485、USB、CAN

使用特权

评论回复
20
myiclife| | 2019-10-31 20:18 | 只看该作者
编程也最为简单。   

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

708

主题

1032

帖子

2

粉丝