赞
踩
UART(Universal Asynchronous Receiver and Transmitter,通用异步收发器)是是一种双向、串行、异步的通信总线,仅用一根数据接收线和一根数据发送线就能实现全双工通信。通信时必须将双方的TX和RX交叉连接并且GND相连才可正常通信。主要用于在计算机系统之间进行异步通信。UART接口主要包括两条信号线:数据线(RX)和发送线(TX)。在实际应用中,UART总线可以灵活地传输数据,适用于各种串行通信场景。
UART作为异步串口通信协议的一种,工作原理是将数据的字节一位接一位地传输。协议如下:
UART协议规定,当总线处于空闲状态时信号线的状态为1即高电平。
开始进行数据传输时发送方要先发出一个低电平0来表示传输字符的开始。因为空闲位一直是高电平所以开始第一次通讯时先发送一个明显区别于空闲状态的信号即为低电平。
起始位之后就是要传输的数据,数据可以是5,6,7,8位,构成一个字符,一般都是8位。先发送最低位LSB,再发送最高位MSB(小端模式)。
数据位传送完成后,要进行奇偶校验,校验位其实是调整个数,串口校验分几种方式:
奇校验(Odd Parity):如果数据位中1的数目是偶数,则校验位为1才能满足1的个数为奇数,如果1的数目是奇数,校验位为0。
偶校验(Even Parity):如果数据为中1的数目是偶数,则校验位为0才能满足1的个数为偶数,如果1的数目是奇数,校验位为1。
异步通信以一个字符为传输单位,通信中两个字符间的时间间隔多少是不固定的,然而在同一个字符中的两个相邻位间的时间间隔是固定的。数据传输速率使用波特率来表示,单位bps(bits per second)。常见的波特率9600bps,115200bps等等。如果串口波特率设置为9600bps,那么传输一个比特需要的时间是:1 / 9600 ≈ 104.2us。
1. 异步通信:UART采用异步通信方式,可以实现数据的双向传输。
2. 硬件接口简单:仅需两条信号线,即可实现数据的发送和接收。
3. 传输速率可调:根据波特率发生器设置不同的波特率,以满足不同通信需求。
4. 支持多种数据格式:可以支持数据位、停止位和校验位的自定义设置。
I2C(Inter-Integrated Circuit,集成电路间互连)总线是一种双线串行通信总线,由Philips公司(现为NXP)于1980年代研发。它利用一根时钟线和一根数据线在连接总线的两个器件之间进行信息的传递,为设备之间数据交换提供了一种简单高效的方法。I2C总线主要用于在微控制器(MCU)和周边设备(如EEPROM、LCD显示器等)之间进行通信。I2C总线包括两条信号线:串行数据线(SDA)和串行时钟线(SCL)。
当主设备将SDA线从高电平切换到低电平,然后将SCL线从高电平切换到低电平时,传输将开始。
如果两个主机同时发送启动条件想要获得总线的所有权,那么谁先将 SDA 拉低,谁就先得
SCL线先从低电平切换到高电平,然后SDA线从低电平切换到高电平
在正常数据写入操作期间,当 SCL 为高电平时,SDA 上的值不应更改,因为这可能会导致错误停止情况。
1. 双向通信:I2C总线支持主设备和从设备之间的双向通信。
3. 设备地址识别:每个连接到I2C总线上的设备都有唯一的地址,便于主设备寻址。
5. 支持多主设备:I2C总线允许多个主设备共存,便于实现多主控制。
PWM(Pulse Width Modulation,脉冲宽度调制)是一种用于控制电机、LED亮度等设备的调制技术。是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。PWM信号通过改变脉冲的宽度来调节输出电压或电流,从而实现对设备的精确控制。PWM总线通常包括三根信号线:脉冲宽度调制信号(PWM)、电机或设备驱动信号(ENA)和地线(GND)。
2. 控制精度高:PWM信号可以实现几十甚至几百位的分辨率。
3. 硬件实现方便:使用PWM功能的微控制器或定时器模块即可实现。
4. 广泛应用于电机、LED照明等领域:PWM总线可方便地控制这些设备的转速、亮度等参数。
UART、I2C和PWM总线是嵌入式系统中常见的通信技术,它们在各种应用场景中发挥着重要作用。通过了解这三种总线技术的原理和特点,可以更好地选择合适的通信方案,提高系统的性能和稳定性。在实际应用中,根据设备需求和通信要求,合理地选择和配置总线接口,有助于降低系统成本,提高开发效率。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。