UART/SCI概念部分课堂随笔——《ARM微控制器与嵌入式系统》

通讯协议概览:
UART/SCI概念部分课堂随笔——《ARM微控制器与嵌入式系统》

异步串行通讯UART=SCI

概况

由于历史原因有两个称呼但是指的是同一个东西
intel:UART moto:SCI
UART/SCI概念部分课堂随笔——《ARM微控制器与嵌入式系统》
特性:串行、异步、点对点、全双工、对等
应用:手机短信,GPS
双方通讯:没有共同时钟,约定速率,需要三根线(收、发、共地)
UART/SCI概念部分课堂随笔——《ARM微控制器与嵌入式系统》

数据帧

采用数据帧的格式,数据通过一个一个帧封装起来,以帧传输
UART/SCI概念部分课堂随笔——《ARM微控制器与嵌入式系统》

空闲位默认为1,起始位为低,避免了误差的累积
最低位:LSB——Least significant bit
最高位:MSB——Most significant bit
总是约定从低位向高位一个个发送,所以注意写的时候要从右往左
UART/SCI概念部分课堂随笔——《ARM微控制器与嵌入式系统》
具体实现上,有RS-232,RS-485等

波特率

每秒钟传输多少bits这个数/一个bit的宽度的倒数

误差问题

过采样——oversampling
接收端用比发送端跟高的波特率来采样,取中间三个值投票来决定结果,并产生Noise Flag

误差接受最大值:5%
在UART中采用奇偶校验,增加一位校验位,用一个bit

比如使用偶even校验:最后一位加1/0使得总的1个数为偶数,如下面的第一个例子
UART/SCI概念部分课堂随笔——《ARM微控制器与嵌入式系统》
奇偶校验的缺点:
不能发现所有错误(两个1同时翻转结果正确)
不能纠正错误

外设:RS-232与USB虚拟串口

UART/SCI概念部分课堂随笔——《ARM微控制器与嵌入式系统》
UART/SCI概念部分课堂随笔——《ARM微控制器与嵌入式系统》
UART/SCI概念部分课堂随笔——《ARM微控制器与嵌入式系统》
为了负逻辑和现在的ttl电平转化:max232
UART/SCI概念部分课堂随笔——《ARM微控制器与嵌入式系统》
如今,使用usb转UART进行通讯,虚拟成串口
UART/SCI概念部分课堂随笔——《ARM微控制器与嵌入式系统》
所以选模块通讯上需要注意:波特率,电平协议,是否自带电平转换,是不是负逻辑,否则可能烧坏