简单的讲UART
嵌入式里面说的串口,一般是指UART(Universal Asynchronous Receiver Transmitter:通用异步收发器)。
但是我们经常搞不清楚它和COM口的区别,以及RS232与TTL等关系。
实际上UART、COM指的是硬件物理接口形式,而TTL、RS-232是指的电平标准。
UART有VCC、GND、RX、TX这4个Pin,如下图所示。
用的TTL电平, 低电平(0V)为0,高电平(3.3V)为1。
COM口也就是DB9接头,是我们台式机上面常用的口,如下图。现在家用PC上基本上见不到这个接口了,如果确有需求,可以用USB转串口的方式来替代。
DB9接头有9个Pin, 用的RS232电平, 它是负逻辑电平,它定义+5~+12V为低电平,而-12~-5V为高电平。
详细的说
UART的特征
一般UART控制器在嵌入式系统里面都跟在CPU一起,像STM32芯片就是这样,有多个UART控制器。相关案例:STM32与51单片机串口通信实例。
引脚介绍,COM口的Pin虽多,但是常用的也是这几个:
VCC:供电Pin,一般是3.3V
GND:接地Pin,如果RX接收数据有问题,就要接上这个Pin
RX:接收数据Pin
TX:发送数据Pin
在调试的时候,多数情况下我们只引出即可。比如调试GPS模块,IC数据直接通过UART上传,直接用了两个线连出了RX、TX,连上串口转USB小板, 电脑从串口直接获取数据,这样跳过了开发板,测试了GPS的数据有没有问题。
使用方法
我们常用UART口进行调试,但是UART的数据要传到电脑上分析就要匹配电脑的接口。通常我们电脑使用接口有COM接和USB接口,但是要想连上这两种接口都要需要进行硬件接口转换和电平转换。
如果连接电脑COM口, 需要一个类似下图的转换小板, 它实现了TTL电平和RS232电平互转, 我之前使用过, 但是现在很少用了。
如果要连接USB接口, 需要类似下面的小板, 它实现了TTL电平和USB电平的转换, 这种使用的较多。
电路图和连接如下, 通常上面有个专门转换芯片。
总结
串口、COM口是指的硬件接口形式
TTL、RS-232、RS-485是指的高低电平判定标准
接设备的时候,一般只接GND、RX、TX,以避免与目标设备上的供电冲突
PL2303、CP2102芯片是USB转TTL串口的芯片,用USB来扩展串口
MAX232芯片是 TTL电平与RS232电平的专用双向转换芯片,可以TTL转RS-232,也可以RS-232转TTL
TTL标准是低电平为0,高电平为1(+5V电平)
RS-232标准是正电平为0,负电平为1(±15V电平)