计算机与外部设备之间的通信一般采用两种方式:并行方式和串行方式
所谓的并行方式就是各个位同时进行传输的通信方式,这种方式通信主要特点是通信的速度快,但当距离远且位数多的时候并行通信的成本就会高很多
串行通信分为异步与同步串行通信
UART(通用异步收发器)就是所谓的异步串行通信协议
只要通信的双方采用相同的数据帧格式(数据位,开始位,校验位,停止位)和波特率就能在未共享同步时钟信号的情况下通过两根据数据线(RX 和TX)进行数据通信
采用这种方式,当数据传输结束后可以通过置位中断位通知处理器进行相应的处理
STELLARIS 系列 ARM 芯片的UART 具有完全可编程,16C550 型串口接口的特性(但并不兼容)
独立发送 FIFO(16B)和接收的FIFO(16B)(first in first ou t),可以将两个 FIFO 配置成不同程序的触发中断,可供选择的触发深底见下图中
如:接收 FIFO 配置成 1/4 触发深度,则当 UART 收到 4 个数据时,产生接收中断
UART 模块的特性如下: 下面是PC 机的COM 接口与ARM 芯片的UART 接口的典型电路
注意:图中的电阻不能省略,否则会影响数据的传输
U1是Exar(原sipex)公司出产的UART转 RS232C 的接口芯片SP3232E
3V 下工作
UART 的功能概述: 发送:发送逻辑从发送 FIFO 读取的数据执行并->串转换
控制逻辑执行输出起始位在前的串行流,根据控制寄存器中已编程的配置,后面紧跟数据位(注:LSB 最低位先输出),奇偶校验位,停止位
接收:在检测到一个有效的起始脉冲时,接收逻辑对收到以的位流执行串->并转换,此外还会对溢出错误,奇偶校验错误,帧错误和线中止(line-break)错误进行检测
并将检测到的状态一起写入到接收FIFO 中
波特率的产生