【分享帖】第四课时 通信 浅谈UART与串口的恩怨
1259
0
0
2018-03-22
在机器人基础中我们讲到了控制器的UART,这也是很多老师和同学第一次接触到通信的专业知识。受制于篇幅,很多内容并没有阐述清楚,在这里给大家再补补课,充充电。
在教材中我们学习UART时突然冒出了串口的概念,并且指出计算机主机上都带有串口,那这个串口和UART是什么关系呢?到底什么是串口。
通信问题,和交通是一样的。串口通信,我们这里可以用公交来类比。
公交运行可以简单分成两个部分:
1、 车站:其中车站决定了车上装什么(人),怎么发送(班次)等。
2、 公路:当汽车跑在路上,就要遵守公路交通的规则,过桥有过桥的规则,高速有高速的规则,和车站没有关系了。
其实,UART就相当于车站,公路就是我们的通信线路。我们使用的USB转TTL模块,其中USB和TTL就是一种公路上的规则。
UART,是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),既然是“器”,显然,它就是个设备而已,要完成一个特定的功能的硬件,它本身并不是协议。那么它要完成什么功能呢?它的最基本功能,是串行数据和并行数据之间的转换。我们知道,计算机中的数据以Byte为基本单位,对一个Byte的存取是并行的,即同时取得/写入8个bit。而串行通信,需要把这个Byte“打碎”,按照时间顺序来收发以实现串行。例如:
内存中的数据是: 1 11 0 0 1 0 1
串行发送的实际效果是(按时间排):
1
0
1
0
0
1
1
1
接收则是上述过程的逆过程。
这就是UART做的最基本工作,进一步的,它还要控制“发车的班次”,两个班次之间至少要隔多长时间的缓冲等,这一部分,就是书上所说的数据帧结构。这部分也具有协议的特征。但这部分和“公路上的规则”是相互独立的。
电脑上的串口其实是指RS232串口,RS232是一种电平标准,即“公路上的规则”;MCU中的串口一般指UART,它的电平标准是TTL;USB也是一种串口通信,它的电平标准是USB2.0或USB3.0。关于电平标准,我们在下一篇帖子中详细讨论。
最后总结一下:串口是指数据以串行方式传输的接口,常用的接口有:USB接口、RS232接口、网线RJ45接口、RS485接口、SATA接口等。各种串口之间的通讯协议、电平标准等并不完全相同,因此有一种串口得到另一种串口时需要转换。一般来说,串口默认是指RS232接口,所谓的USB转串口实际上就是USB转RS232装置。
大家千万不要被名字误导,串口是一种通讯方式的总称,UART是一种串口。
文章标签
请问这篇文章对你有用吗?
【分享帖】第四课时 通信 浅谈UART与串口的恩怨