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

本文详细介绍了UART通信的基本原理,包括其工作方式、信号传输过程及关键配置参数等。阐述了如何通过设定波特率、校验位等实现稳定的数据传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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寄存器即可。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值