我是靠谱客的博主 犹豫舞蹈,最近开发中收集的这篇文章主要介绍uart协议 php,嵌入式接口协议(1)—串口(UART)通讯协议,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1. 串行异步通信

UART使用的是串行异步通信。

(1)串行通信即利用一条传输线将数据一位位地顺序传送。

(2)异步通信以一个字符为传输单位,通信中两个字符间的时间间隔多少是不固定的,然而在同一个字符中的两个相邻“位(bit)”间的时间间隔是固定的。

特点:通信线路简单、成本低、适用于远距离通信,且传输速度要求不高的场合。

2. 数据通信格式如下图:

2cfa2e4ccc158687d887f6658a4ddc46.png

3. 通讯中各位的意义如下:

起始位:一个逻辑“0”信号,表示传输字符的开始。

数据位:可以是5~8位逻辑“0”或“1”。如ASCII码(7位),扩展BCD码(8位)。传输方式:小端传输。

校验位:如果一组给定数据位中“1”的个数是奇数,那么偶校验位就置为 “1”,使得总的 1 的个数是偶数;如果给定一组数据位中 1 的个数是偶数,那么奇校验位就置为 1,使得总的 1 的个数是奇数。即:数据位加上这一位后,使得总的“1”的个数是偶数(偶校验)或奇数(奇校验)。

停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。

空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。

注意:异步通信是按字符传输的,接收设备在收到起始信号之后只要在一个字符的传输时间内能和发送设备保持同步就能正确接收。下一个字符起始位的到来又使同步重新校准(依靠检测起始位来实现发送与接收方的时钟自同步的)

4. 波特率:

数据传送速率用“波特率”来表示,即每秒钟传送的二进制位数。

例如: 数据传送速率为960字符/秒,而每一个字符为10位(1个起始位,8个数据位,无校验位,1个结束位),则其传送的波特率为10×960=9600字符/秒=9600bps。

5. 逻辑分析仪捕获UART时序图,如下:

(1)无校验:

516d63c350b93f74a8af424229d94cd1.png

(2)偶校验(EVEN Parity):

cf122caf7c178610461e821c02eb3943.png

(3)奇校验(Odd Parity):

8968db36bd9bf3443a614b90ebe16fd8.png

6. 有时某些应用中串口会加上拉,其主要作用:

(1)电路保持稳定的状态,避免误触发。

(2)当有高频干扰信过来时,可以通过上拉对电源泄放掉。

(3)当串口和IIC线共用时,需要保持开漏输出,因此要加上拉。

(4)为了阻抗匹配,多是信号完整性考虑。

注意:本站所有文章除特别说明外,均为原创,转载请务必以超链接方式并注明作者出处。

最后

以上就是犹豫舞蹈为你收集整理的uart协议 php,嵌入式接口协议(1)—串口(UART)通讯协议的全部内容,希望文章能够帮你解决uart协议 php,嵌入式接口协议(1)—串口(UART)通讯协议所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部