3.1 通信协议
通信协议
-
通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统
-
通信协议:制定通信的规则,通信双方按照协议规则进行数据收发
-
全双工:发送与接收互不影响 (如串口通信有两根数据线 tx,rx)
-
半双工 : 同一时刻只能进行发送或接收
-
同步:有时钟信号,用同一个时钟信号进行通信
-
异步:无时钟信号,约定采样频率进行通信
电平标准
电平标准是数据1和数据0的表达方式,是传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有如下三种:
- TTL电平:+3.3V或+5V表示1,0V表示0 (常用)
- RS232电平:-3 ~ -15V表示1,+3~+15V表示0
- RS485电平:两线压差+2~ +6V表示1,-2~-6V表示0(差分信号) (通信距离远)
各个通信协议
串口通信,多用于单片机与电脑的通信
应用:使用串口通信的模块有:陀螺仪,蓝牙模块,usb转串口模块等
硬件电路要求
- 简单双向串口通信有两根通信线(发送端TX和接收端RX)
- TX与RX要交叉连接
- 当只需单向的数据传输时,可以只接一根通信线
- 当电平标准不一致时,需要加电平转换芯片
软件配置
- 波特率:串口通信的速率 bps(bit per second) (波特率二进制时与比特率相等)
- 起始位:标志一个数据帧的开始,固定为低电平
- 数据位:数据帧的有效载荷,1为高电平,0为低电平,低位先行
- 校验位:用于数据验证,根据数据位计算得来 (奇偶校验、CRC校验等)
- 停止位:用于数据帧间隔,固定为高电平 (空闲时为高电平)