波特率指数据信号对载波的调制速度,它用单位时间内载波调制状态改变次数来表示,单位为波特。
比特率指单位时间内传输的比特数,单位bit/s(bps)
波特率越大,传输速度越快。

5V TTL标准

逻辑1:2.4V~5V
逻辑0:0~0.5V

常MA3232芯片转化为TTL标准

RS-232 标准

串口通讯,全双工,常用于计算机、路由与调制调解器(MODEN,猫)之间的通信。设备分为数据终端设备DTE(计算机、路由)与数据通讯设备DCE(调制调解器)。使用DB9接口(COM口)

  1. 物理层
  • 电平标准
    逻辑0:+3V~+15V
    逻辑1:-15V~-3V
  1. 协议层
    数据包包括起始位、主题数据、校验位及停止位
  • 波特率
    串口异步通信,无时钟信号;需两个都通讯设备约定波特率

  • 通讯的起始和停止位
    起始信号由一个逻辑0的数据位表示,停止信号由0.5、1、1.5或2个逻辑1的数据位表示

  • 有效数据(
    起始位后紧跟传输的主题数据内容,长度一般约定为5、6、7或8位

  • 数据校验
    奇偶校验、1校验、0校验以及无校验

  • RS-232C

    UART

串口通信,串行,支持异步单向通信和半双工单线通信;支持局域互连网LIN、智能卡(SmartCard)协议与1rDA(红外线数据协会)SIR ENDEC规范;支持使用DMA
预留一个UART通信接口连接电脑,用于调试程序,在串口调试助手上打印信息

UART模块通过RxD和TxD与外界通信,使用硬件流控还会用到CTS和RTS
引脚:
TX:
RX:
nRTS:Request To Send,n表示低电平有效;UART接收器准备好接收新数据时,置低电平0
nCTS:Clear To Send,n表示低电平有效;发送器在发送下一帧数据之前会检测nCTS引脚,低电平则可发送数据,为高电平则在发送完当前数据帧之后停止发送。

  • 串口标志位
    TE --- 发送使能
    TXE --- 发送寄存器为空,发送单个字节的时候使用
    TC --- 发送完成,发送多个字节数据时使用
    TCIE --- 发送完成中断使能
    RE --- 接收使能
    RDRF --- 读数据寄存器非空
    RIE --- 发送完成中断使能

UART数据寄存器LPUART Data Register(DATA),位于系统总线与移位寄存器之间,包含两个寄存器,一个只用于发送,一个只用于接收。发送时把DATA内容转移到发送移位寄存器,然后把移位寄存器数据每一位发送出去,接收时把接收到的每一位顺序保存到接收移位寄存器内然后才转移到DATA寄存器。

控制寄存器LPUART Control Register(CTRL) :
发送使能位TE为1时,启动数据发送,发送移位寄存器的数据会在TX引脚输出:TE置1后,发送器开始先发送一个空闲帧(高电平),再往DATA寄存器写入要发送的数据;在写入最后一个数据后,需要等待LPUART状态寄存器(STAT)的TC位为1,表示数据传输完成,如果LPUART控制寄存器(CTRL)的TCIE位置1,将产生中断。
接收使能位RE置1时,接收器在RX线开始搜索起始位,确定起始位后根据RX线电平状态把数据存放在接收移位寄存器内,接收完成后再将数据移到数据寄存器内,状态寄存器(STAT)的RDRF位置1,若控制寄存器(CTRL)的RIE位置1时产生中断。

一个字符帧包括起始位+数据帧+停止位。
空闲状态时保持高电平;起始位是一个位周期的低电平,停止位时一定时间周期(由BAUD寄存器的SBNS位控制)的高电平。

-USART

理解时钟序列:
sys_clk:系统时钟

uart_rxd:UART要接收的数据
start_flag:开始标志,检测到数据帧的开始位的下降沿
rx_flag:正在接收标志
clk_cnt:时钟计数
rx_cnt:根据clk_cnt来判断每一位数据接收的起止时钟位置(记满一个bit周期),由系统时钟频率与(/)波特率决定每一个bit占据的时钟数(周期数),对接收到的数据进行位计数标记(对每一个数据位进行计数),判断每一数据帧的接收起止情况。
uart_done:结束标志,检测到数据帧的停止位的上升沿
uart_data:根据rx_cnt的位标记,确定一个数据帧的完整内容,完成串转并、并转串的过程

uart_en:使能端,脉冲,检测上升沿
uart_din:要发送的数据
en_flag: 开始发送标志
tx_flag:正在发送标志
tx_cnt:数据位计数标记
uart_txd:并转串,发送数据

RS-485
终端电阻,典型值为120欧姆,使信号更稳定,消除共模干扰。一般位于差分信号之间

RS485 差分线AB 半双工
逻辑1:+2V~ +6V
逻辑0:-6V~ -2V