查看UART 体系结构的源代码
←
UART 体系结构
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
== 物理层 == ;帧格式 由起始位、数据位、校验位和停止位组成 [[文件:Uart.frame.jpg]] UART 空闲(IDLE)时(没有数据传递),总线为高电平(逻辑1) 开始数据传输时,首先发送起始位(低电平,逻辑0),然后再逐位传输数据(LSB --> MSB),数据传输完成后,有校验位则传输1位校验位,再传一位停止位(逻辑1,高电平)。至此,数据传输完成,UART 重回 IDLE 状态,总线上的电平为高 ;具体位解析: * 起始位 (1位,必须) ::起始位是TX告知RX,数据传输即将开始。而RX无论何时,只要检测到低电平,就开始逐位接收数据。 * 数据位 ::顾名思义,数据位是用来传输信息的。长度可以说5、6、7、8位。收/发双方需要在数据传输前,对双方的数据位作一致的定义。最常用的是 8 位 * 校验位 (1位,可选) ::为了保证数据传输的安全性而设。不是强制的,距离短确定无干扰的环境,为提高传输速度,可不用此位。 ::在数据长距离传输时,UART使用 RS-232、RS-485 传输,在传输的导线较长时,如遇干扰,会导致传输的数据错误(1变0,0变1)。加上校验位的话,接受端可做检验。如果校验出错,说明数据不可信,直接丢弃;校验通过的话,数据初步可信,进入下一级校验,通常在通信协议里再做一次校验 ::收/发双方,事先应商定好是否需要校验位。不需要,则罢;需要,则可选奇校验或偶校验 偶校验:数据位中的“1”的个数为偶数时,校验位为 0;数据位中的“1”的个数为奇数时,校验位为 1;即:保证数据位和校验位中1的个数为偶数 奇校验:数据位中的“1”的个数为偶数时,校验位为 1;数据位中的“1”的个数为奇数时,校验位为 0;即:保证数据位和校验位中1的个数为奇数 两个校验位的示例图: [[文件:Uart.example.01.jpg]] [[文件:Uart.example.02.jpg]] * 停止位 ::停止位当然是告诉 RX 停止传输了。它的位数比较特别,可以说1位、1.5位、2位 ::停止位始终为逻辑 1 (高电平) * 空闲位 ::TX 传输完成,RX 不能休息,其要始终盯着 URAT 总线上电平变化。。。 <br><br>
返回到
UART 体系结构
。
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面