串口:
UART(Universal Asynchronous Receiver/Transmitter),即通用异步收发传输器,简称串口。
抓取日志、还有很多的外设也是用串口进行通讯,例如GPS模块、蓝牙模块、电表、锁板等
串口硬件及原理图
串口内部结构
以s3c2440为例,其串口内部结构如下:
串口内部结构
从图可知,串口内部由以下单元组成:
baud-rate generator(波特率生成器), transmitter(发送器), receiver(接收器), control unit(串口控制单元)。
发送器和接收器都包含有FIFO(先入先出缓冲区)和Shifter(移位器)
工作流程:
程序预先通过串口控制单元设置波特率,由波特率发生器产生相应时钟,当cpu给串口发送数据时,程序将数据写入内存,通过interrupt 或者 DMA方式写进FIFO,Transmit Shifter移位器每次从FIFO中取出1bit数据发送出去(TX);反之,串口给cpu发送数据时,Receive Shifter读取RX信号,每次写1bit数据给FIFO,随后通过interrupt 或者 DMA方式写进内存由cpu处理数据
串口根据硬件接入方式
常用的有TTL、RS232、RS485三种
TTL:
TTL示意图