黑金ax7020开发板原理图学习分享第六部分 rs232通信-爱代码爱编程
1. 工作原理
1.1 低速通用通讯协议对比概述
I2C、SPI和UART对比概述:
共同点
三种协议都属于低速通用协议接口。
差异点
表1.1.1 协议对比
UART:无法满足一个主设备,多个从设备的通信,通信方式最为简单,最低只需一根线即可满足通讯。
SPI:有一个专用NSS端口,默认拉低来选择从设备。
I2C:每个主设备和从设备有一个对应地址,通信时先发送地址信号,若一致则被选中。
1.2 物理层UART(使用TTL电平)与RS232、RS485
TTL:
晶体管-晶体管逻辑电路
TTL逻辑电平,以5V为例,高为1低为0。
RS232:
全双工通信。
逻辑1电平=-3V~-15V,逻辑0电平=3~15V
PS:TTL与RS232逻辑不兼容,中间需要添加电平转换电路进行连接。
RS485:
差分信号进行串行传输。
逻辑1电平为两线间压差+2~+6V。
逻辑0电平为两线间压差-2~-6V。
工业通信中,使用RS485通信较多,因为RS485是差分信号,可以抑制共模干扰,因此在恶劣环境中有很好的抗干扰性,比较稳定。
2. 设计说明
2.1 信号设计
发送模块
接收模块
2.2设计流程图及详解
发送模块状态机设计
接收模块状态机设计
上电后进入“S_IDLE”空闲状态,等待检测到”rx_pin”下降沿,即为检测到串口起始位,状态机进入下一状态”S_START”,等待1BIT时间进入下一状态“S_REC_BYTE”,等待1BIT时间,数据接收完成进入“S_STOP”数据接收完成状态,等待半BIT,进入”S_DATA”状态向其他模块发送接收到的数据。
3. 工程文件链接
链接:https://pan.baidu.com/s/1ynbGCzlAoH7jsZ1zI3XQvw
提取码:bhyz
内附状态机原图