了解uart、I2C、pwm

一、UART总线

UART(Universal  Asynchronous  Receiver and  Transmitter,通用异步收发器)是是一种双向、串行、异步的通信总线,仅用一根数据接收线和一根数据发送线就能实现全双工通信。通信时必须将双方的TX和RX交叉连接并且GND相连才可正常通信。主要用于在计算机系统之间进行异步通信。UART接口主要包括两条信号线:数据线(RX)和发送线(TX)。在实际应用中,UART总线可以灵活地传输数据,适用于各种串行通信场景。

通信协议

        UART作为异步串口通信协议的一种,工作原理是将数据的字节一位接一位地传输。协议如下:

空闲位:

        UART协议规定,当总线处于空闲状态时信号线的状态为1即高电平。

起始位:

        开始进行数据传输时发送方要先发出一个低电平0来表示传输字符的开始。因为空闲位一直是高电平所以开始第一次通讯时先发送一个明显区别于空闲状态的信号即为低电平。

数据位:

        起始位之后就是要传输的数据,数据可以是5,6,7,8位,构成一个字符,一般都是8位。先发送最低位LSB,再发送最高位MSB(小端模式)。

奇偶校验位:

        数据位传送完成后,要进行奇偶校验,校验位其实是调整个数,串口校验分几种方式:

无校验(No Parity)

奇校验(Odd Parity):如果数据位中1的数目是偶数,则校验位为1才能满足1的个数为奇数,如果1的数目是奇数,校验位为0。

偶校验(Even Parity):如果数据为中1的数目是偶数,则校验位为0才能满足1的个数为偶数,如果1的数目是奇数,校验位为1。

Mark Parity:校验位始终为1。

Space Parity:校验位始终为0。

停止位:

        数据结束标志,可以是1位,1.5位,2位的高电平。

波特率:

        异步通信以一个字符为传输单位,通信中两个字符间的时间间隔多少是不固定的,然而在同一个字符中的两个相邻位间的时间间隔是固定的。数据传输速率使用波特率来表示,单位bps(bits per second)。常见的波特率9600bps,115200bps等等。如果串口波特率设置为9600bps,那么传输一个比特需要的时间是:1 / 9600 ≈ 104.2us。

UART总线的特点:

1.  异步通信:UART采用异步通信方式,可以实现数据的双向传输。

2.  硬件接口简单:仅需两条信号线,即可实现数据的发送和接收。

3.  传输速率可调:根据波特率发生器设置不同的波特率,以满足不同通信需求。

4.  支持多种数据格式:可以支持数据位、停止位和校验位的自定义设置。

二、I2C总线

I2C(Inter-Integrated  Circuit,集成电路间互连)总线是一种双线串行通信总线,由Philips公司(现为NXP)于1980年代研发。它利用一根时钟线和一根数据线在连接总线的两个器件之间进行信息的传递,为设备之间数据交换提供了一种简单高效的方法。I2C总线主要用于在微控制器(MCU)和周边设备(如EEPROM、LCD显示器等)之间进行通信。I2C总线包括两条信号线:串行数据线(SDA)和串行时钟线(SCL)。

启动和停止条件

启动条件:

当主设备将SDA线从高电平切换到低电平,然后将SCL线从高电平切换到低电平时,传输将开始。

向其他从属设备发出信号,表明传输即将发生。

如果两个主机同时发送启动条件想要获得总线的所有权,那么谁先将 SDA 拉低,谁就先得

停止条件:

所有数据帧发送完毕后,将发送停止条件。

SCL线先从低电平切换到高电平,然后SDA线从低电平切换到高电平

在正常数据写入操作期间,当 SCL 为高电平时,SDA 上的值不应更改,因为这可能会导致错误停止情况。

I2C总线的特点:

1.  双向通信:I2C总线支持主设备和从设备之间的双向通信。

2.  两线制:仅需两条信号线,即可实现多设备之间的通信。

3.  设备地址识别:每个连接到I2C总线上的设备都有唯一的地址,便于主设备寻址。

4.  传输速率可调:根据时钟频率设置不同的传输速率。

5.  支持多主设备:I2C总线允许多个主设备共存,便于实现多主控制。

三、PWM总线

PWM(Pulse  Width  Modulation,脉冲宽度调制)是一种用于控制电机、LED亮度等设备的调制技术。是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。PWM信号通过改变脉冲的宽度来调节输出电压或电流,从而实现对设备的精确控制。PWM总线通常包括三根信号线:脉冲宽度调制信号(PWM)、电机或设备驱动信号(ENA)和地线(GND)。

占空比

是一个脉冲周期内,高电平的时间与整个周期时间的比例

PWM总线的特点:

1.  调制方式简单:通过改变脉冲宽度,实现模拟信号的调节。

2.  控制精度高:PWM信号可以实现几十甚至几百位的分辨率。

3.  硬件实现方便:使用PWM功能的微控制器或定时器模块即可实现。

4.  广泛应用于电机、LED照明等领域:PWM总线可方便地控制这些设备的转速、亮度等参数。

总结:

UART、I2C和PWM总线是嵌入式系统中常见的通信技术,它们在各种应用场景中发挥着重要作用。通过了解这三种总线技术的原理和特点,可以更好地选择合适的通信方案,提高系统的性能和稳定性。在实际应用中,根据设备需求和通信要求,合理地选择和配置总线接口,有助于降低系统成本,提高开发效率。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

成了大锦鲤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值