大家好,欢迎来到IT知识分享网。
@
- 简介
- 硬件接线
- RS232
- RS485
- RS232和RS485比较
- 通信原理
- uart和usart的区别
- 实例
- 针对STM32的串口数据位特点,改成对应PC的串口数据校验
- 当使用9600波特率的时候,通讯稳定,当使用115200波特率的时候,通讯变得不稳定。
简介
UART全称Universal Asynchronous,中文意思就是通用异步收发传输器。可以双向通信,实现全双工传输和接收。
在嵌入式设计中,UART用于主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其他器件,如EEPROM通信。
硬件接线
RS232
RS232接口是PC机上串行接口标配, 通常用DB9,DB9又有公头(针型)和母头(孔型)之分。
其图片如下图所示:
其接口定义如下:
1. DCD 载波检测
2. RXD 接收数据 -----> 终端到计算机(计算机是公头)
3. TXD 发送数据 -----> 计算机到终端(计算机是公头)
4. DTR 数据终端准备好
5. GND 信号地线
6. DSR 数据准备好
7. RTS 请求发送
8. CTS 清除发送
9. RI 振铃提示
实际的使用中,一般只需要接2,3,5。即收、发和地三根线,就能实现通信。
RS485
RS485接口通常为2条线,A和B,其图片如下图所示
实际的使用中,需要接线A, B两条线实现通信。
RS232和RS485比较
通信原理
UART用一条传输线将数据一位位地顺序传送, 以字符为传输单位. 通信中两个字符间的时间间隔多少是不固定的, 然而在同一个字符中的两个相邻位间的时间间隔是固定的。(一个字符的信息由起始位、数据位、奇偶校验位和停止位组成)。
- 起始位: 先发出一个逻辑0信号, 表示传输字符的开始
- 数据位: 可以是5~8位逻辑0或1. 如ASCII码(7位), 扩展BCD码(8位)小端传输
- 校验位: 数据位加上这一位后, 使得1的位数应为偶数(偶校验)或奇数(奇校验)
- 停止位: 它是一个字符数据的结束标志. 可以是1位、1.5位、2位的高电平
- 空闲位: 处于逻辑1状态, 表示当前线路上没有数据传送
波特率
数据传送速率用波特率来表示:指每秒钟传送的二进制位数。如每秒钟传送240个字符, 而每个字符包含10位这时的波特率为2400Bd。
uart和usart的区别
UART是通用异步收发器,而USART是通用同步异步收发器。
一般而言,单片机中:
- 名称为UART的接口一般只能用于异步串行通讯。
- 名称为USART的接口既可以用于同步串行通讯,也能用于异步串行通讯。
事实上当我们使用USART在异步通信的时候,它与UART没有什么差别,可是用在同步通信的时候,差别就非常明显了:大家都知道同步通信需要时钟来触发数据传输,也就是说USART相对UART的差别之中的一个就是能提供主动时钟。
如STM32的USART能够提供时钟支持ISO7816的智能卡接口。
实例
针对STM32的串口数据位特点,改成对应PC的串口数据校验
通过查询STM32数据手册如下图:
可知:
STM32 8+E/O ==> PC 7+E/O
STM32 8+N ==> PC 8+N
STM32 9+E/O ==> PC 8+E/O
STM32 9+N ==> PC 9+N
需要特别注意的是:
当STM32芯片设置8+E/O的时候,PC端设置7+E/O,通过串口收发数据会发现,PC端发送到STM32芯片是异常的,但是PC端接收到STM32芯片的数据是正常的。
原因
因为STM32的文档里(串口设置的数据长度包含校验位),即一旦使能了校验位,则数据位设置了8位,就变成7位数据+1位校验位。
所以此时的STM32的串口设置相当于PC端设置7+E/O。
-
当PC端发送数据的时候:
STM32收到的数据是7位数据+1位校验位,但是因为STM32里面不支持7位数据位,所以这个时候会出现接收数据异常。 -
当PC端接收数据的时候:
STM32发送的数据是7位数据+1位校验位,刚好和PC端设置7+E/O是一样的,所以这个时候接收时正常的。
当使用9600波特率的时候,通讯稳定,当使用115200波特率的时候,通讯变得不稳定。
串行通信中,数据位信号流在信号线上传输时,要引起畸变,畸变的大小与以下的因素有关:
- 波特率—–信号线的特征(频带范围)
- 传输距离—信号的性质及大小(电平高低,电流大小)
- 当畸变较大时,接收出现误码。
在规定的误码率下,当波特率,信号线,信号的性质及大小一定时,串行通信的传输距离就一定。为了加大传输距离,必须加调制解调器。
最终解决方案:
既然硬件通讯过程中会出现错误的情况,通讯协议在解析的时候考虑到兼容这种情况,那么对协议解析进行优化处理,后续验证可以。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/30201.html