学前班-怎么看原理图之协议类接口之UART

2,协议类

2.1 URAT

在我们平时对话中应该遵循的原则:双方能够听懂对方在说什么;不能说的太快,即语速要让别人接受;
推广到通信当中, 协议类双方应该遵循的原则:双方协定信号的协议;双方满足时序要求;

这里写图片描述
如上图所示,硬件的通信是通过连接双方的(串口)引脚信号线传输数据的,为什么两个串口可以传那么复杂的数据?这就要求双方必须遵循一定的协议。下面看一下具体的原理图:

这里写图片描述
将上图简化后:

这里写图片描述
如图,2440 中的TXD0接到电平转换芯片
电平转换芯片的目的?用0V表示数字0,3.3-2.2V表示1,为了让信号能有较强的抗干扰性。

UART:universal Async Receive/Transmit
UART如何传数据?
假如要从2440把数据A发送到PC机上,
假如双方约定的时序图如下:
这里写图片描述

如图所示:一开始没有数据的时候,双方都是高电平(假如3.3V),假如2440想要发送数据,就让自己的串口(RXD0)输出低电平,并保持一定的时间(否则对方反应不过来);如果PC机感觉到 RXD0从高变为低,就知道2440即将(双方约定的时间T,对应波特率)发送数据;A对应的ASSIC码为 0X41 (0100 0001),假定双方约定好在线上传输的数据都为8位,即(起始位+8位数据),传送完一位数据后,维持时间T后,继续传输一位;在接收端每间隔T检测一下,检测到的状态就为2440发送过来的数据;2440发完数据以后,必须至少保持一个T的高电平;

串口控制器:只要设置好串口控制器,想发送数据时,将数据放到某个寄存器,串口控制器就会自动产生一个起始位,然后发送数据,发送以后自动插入一个停止位;
因此我们在发送数据 时候,首先要找到芯片手册中串口控制器有哪些设置项。
串口控制寄存器
Parity Mode:校验位
Number of stop Bit:停止位的位数
word Length:数据位(在串口上传输的数据位数)

设置波特率:
这里写图片描述
串口控制器工作的时钟(UART clock),根据手册里面的公式,计算出波特率,然后将波特率写到UBRDIVn寄存器即可。

发送数据的步骤:设置串口寄存器 —>设置时序(波特率)–> 将要发送的数据写到某个寄存器;

转自:https://blog.csdn.net/PZ0605/article/details/53214155

猜你喜欢

转载自blog.csdn.net/m0_37806112/article/details/82857900
今日推荐