uart协议-理解与验证

参考链接:一文搞懂UART通信协议 - 知乎

uart接口,主要应用与低速的小数据量的数据传输场景,因为使用场景非常多,常规mcu芯片通常把它称为“串口之王”。uart的发送方和接收方通过波特率来传输数据,双方的波特率误差范围是在10%以内就可以。(波特率-每秒传输的最大位数)。

当uart出现在芯片中时,从验证角度看,需要梳理以下几个方面。

1. uart在系统map里寄存器地址范围,数量。寄存器手册。

2.uart的工作模式有哪些?每个工作模式使用什么样的数据协议。数据协议依照不同的工作模式会有差别。

工作模式有很多,例如异步模式,流模式,缓存通讯,dma,处理器通讯,同步,智能卡模式,半双工,红外模式,lin模式。

数据帧的组成有:起始位 1bit(低电平),数据位 8/9 bits, 停止位 0.5/1/1.5/2 bits(高电平)。 同时奇偶校验位在停止位的前一位(不一定有,看寄存器配置),数据帧依据工作模式的不同是可以被设计的。

IDLE帧:一串连续的1,证明总线空闲。(高电平),idle帧包括了停止位。

断开帧: 一串连续的0,证明uart与外部没有连接上。(低电平有效)

3.怎么通过寄存器配置uart的波特率以及怎么计算当前的波特率。 时钟频率不同的两个uart设备可以连接,但是波特率必须相同,约定的数据包格式必须相同。

4. 错误检查机制有哪些,哪些需要以中断的方式让cpu知道,然后进行处理。

噪声错误,帧错误,奇偶校验错误,数据溢出错误等。

5.uart的使用场景有哪些。

单工:只能从一边到另一边的通信,一开始就定义好哪一边是发送端,哪一边是接收端,不可逆,通道是单向的;

半双工:允许数据在两个方向上传输数据,但是在某一时刻,只允许数据在一个方向上传输;

全双工:允许数据同时在两个方向上传输。

同步模式:需要额外加时钟。

异步模式:不需要时钟。

6.支持低功耗模式嘛?

红外模式下有low power模式,数据传输的速率可以调节变慢。

7.cpu的睡眠唤醒,由uart唤醒。                                                           

8.uart 和lin怎么配合使用。

首先要保证uart和lin的波特率设定是一致的。设定好之后,uart的协议可以兼容lin协议,使数据流流动起来。

验证思路小结

1.uart的每种工作模式要验证。每种工作模式下的细节功能也要验证到。

2.多种uart存在在一个芯片里,可以使用对接的方式,验证数据通路。

3.针对于单个uart可以外接vip来充分验证uart除连通以外的功能,比如波特率抖动范围符合预期的验证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值