1、串口通信的概念
所谓“串行通信”是指外设和计算机之间使用一根数据线(另外需要地线,可能还需要控制线),数据在一根数据线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。如图1所示:
图1 数据按位传输
2、在串行接口的结构
由于CPU与接口之间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,必须要有“接收移位寄存器”和“发送移位寄存器”。典型的串行接口的结构,如图2所示:
图2 串行接口的结构
在数据输入过程中,数据一位一位地从外设进入接口的“接收移位寄存器”,当“接收移位寄存器”中已接收完1个字符的各位后,数据就从“接收移位寄存器”进入“数据输入寄存器”。CPU从“数据输入寄存器”中并行读取接收到的字符。“接收移位寄存器”的移位速度由“接收时钟”确定。
在数据输出过程中,CPU把要输出的字符并行地送入“数据输出寄存器”,“数据输出寄存器”的内容传输到“发送移位寄存器”,然后由“发送移位寄存器”移位,把数据一位一位地送到外设。“发送移位寄存器”的移位速度由“发送时钟”确定。
能够完成上述“串-并”转换功能的电路,通常称为“通用异步收发器” (UART:Universal Asynchronous Receiver and Transmitter)。