串行通信分为同步串行与异步串行两种,同步串行通信时发送端在数据发送前使用同步字符指示接收端准备好,使用CLK信号实现同步,然后直接发送多个数据,不需要起始位与停止位,传输效率较高,缺点是硬件复杂,只用在较为特殊的场合。
异步串行通信常设计为UART控制器,工业标准为16C550。UART使用RX与TX两个引腿,可以配置为全双工或半双工两种收发模式。全双工时在同一时刻TX可以发送数据RX可以接收数据,半双工时在同一时刻TX与RX只能有一个在工作。串行数据以字节为单位发送,一次发送一个字节数据,包括1个起始位、7~8个数据位、奇偶校验位、1~2个停止位及若干空闲位,称为一帧数据,如图所示。起始位、奇偶校验位、停止位及空闲位由硬件自动实现,完成初始化后读写接收/发送缓冲区即可。
串行总线波特率的概念:UART为TTL电平,传输的数据为基带信号,即为方波信号,波特率是指每秒传输的方波的个数,也就是位的个数。
在UART基础上,配置不同的驱动器可以设计为多种串行总线,如RS232、RS485等。 RS232传输的依然是方波信号,只是电平被转换为±12V,即逻辑0用+12V表示,逻辑1用-12V表示,如下图。该类数据传输的缺点是容易受干扰,速度慢,距离短。RS232使用标准DB9连接器,
1 2 3 4 5 空 RX TX DTR 数据终端准备好 可以接收 GND 6 7 8 9 CTS 清除发送
RS485总线采用差分电气连接,克服了RS232的缺点。下图中RE为接收使能,DE为发送使能,A B为差分总线。设计中RO与MCU的RX相连,DI与MCU的TX相连,RE与DE相与后使用MCU的IO控制驱动器为接收或发送;两个驱动器互连时,A连A,B连B即可。因为AB是差分线,所以实际使用中只能是半双工模式。
因篇幅问题不能全部显示,请点此查看更多更全内容
怀疑对方AI换脸可以让对方摁鼻子 真人摁下去鼻子会变形
女子野生动物园下车狼悄悄靠近 后车司机按喇叭提醒
睡前玩8分钟手机身体兴奋1小时 还可能让你“变丑”
惊蛰为啥吃梨?倒春寒来不来就看惊蛰
男子高速犯困开智能驾驶出事故 60万刚买的奔驰严重损毁