Loading

串行通信

串行通信有关概念

  • 串口,通常指的是串行通信接口。
  • 串行通信(Serial Communication)
  • 串行通信接口
    • 通用异步收发器(Universal Asynchronous Receiver/Transmitter: UART),是一种硬件接口,通常称串口
    • 通用同步/异步收发器(Universal Synchronous Asynchronous Receiver/Transmitter: USART)
  • 串行通信接口电气标准
    • TTL、RS-232、RS-485
  • USB(Universal Serial Bus):通用串行总线,USB不是串行通信接口

USB(Universal Serial Bus):是连接电脑与设备的一种序列总线标准,也是一种输入输出I/O 连接端口的技术规范。多媒体电脑刚问世时,外接式设备的传输接口各不相同,如打印机只能接并行端口、调制解调器只能接RS-232、鼠标键盘只能接PS/2等。繁杂的接口系统,加上必须安装驱动程序并重启才能使用的限制,都会造成用户的困扰。因此,创造出一个统一且支持易插拔的外接式传输接口,便成为无可避免的趋势,USB应运而生。----维基百科

RS232 DB9接口采用串行通信,总共9个引脚,在目前的其它工业控制使用的串口通讯中,一般只使用RXD、TXD以及GND三条信号线,直接传输数据信号。

异步串行通信的数据帧格式(data frame)

  • LSB (Least Significant Bit):最低有效位
  • MSB (Most Significant Bit):最高有效位
  • Start bit:开始位,为低电平(逻辑0)
  • Parity bit:校验位,通常有Odd(奇校验)、Even(偶校验)、Space(0校验)、Mark(1校验)、None(无校验)
    • Odd(奇校验):有效数据和校验位中"1"的个数为奇数个,例如有效数据8位01101001,该8位数据中共有4个"1"。要达到奇校验的效果,校验位就应该为1,因此数据位+校验位就是9位:011010011
    • Even(偶校验):有效数据和校验位中"1"的个数为偶数个
    • Space(0校验):校验位总是0
    • Mark(1校验):校验位总是1
  • Idle:空闲位,为高电平(逻辑1)

举个例子,串行通信采用9600Baud、8位数据位、1位停止位、无校验位。发送"OK",其数据帧如下图所示,b0是最低位,b7是最高位。其中0100111就是'O'的二进制数,'K'的二进制数01001011,可以看到帧的数据位先发送的'O',接着是'K',并且数据位是从低位到高位。

参考链接:

https://learn.sparkfun.com/tutorials/serial-communication/all

https://doc.embedfire.com/mcu/stm32/f407batianhu/std/zh/latest/book/USART.html

posted @ 2024-06-23 23:52  记录学习的Lyx  阅读(6)  评论(0编辑  收藏  举报