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

    xiaoxiao2021-11-08  56

    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://ju.6miu.com/read-678107.html

    最新回复(0)