2. UART与TTL UART、CMOS UART、RS232、RS422、RS485、tod

2. UART

2.1 是什么?

Universal Asynchronous Receiver/Transmitter

通用异步接收器/发送器,是一种广泛应用于嵌入式领域的串行、异步、全双工通信协议

2.1.1 异步:收发双方无共享时钟,靠起始 / 停止位同步.

同步通信 vs 异步通信

  1. 同步通信(I2C/SPI):有共享时钟线
    设备之间多一根时钟信号线 SCL/SCK
    主机输出统一时钟脉冲;
    收发双方看着同一个时钟节拍,时钟到了就采 1bit;
    双方时钟完全同步,不需要标记一帧数据的开头结尾。
  2. 异步通信(UART):没有时钟线
    只有 TX、RX 两根数据线,双方各有独立本地晶振,两套时钟互不相连。
    问题来了:
    两边晶振不可能 100% 精准,频率略有偏差,时间久了 bit 读取会错位,不知道哪一位是数据、哪一位是空。
    所以 UART 必须靠起始位、停止位标记一帧的边界,重新对齐。

2.1.2 一般成为串口,原因是

内部把并行字节拆成一串 bit,bit 一个接一个串行流出;数据一位接一位,按顺序排队依次在同一根线上传输。对应英文:Serial Port,直译就是串行端口,简称串口。

2.1.3 协议标准定义了什么

--- 数据链路层协议标准

在协议层中,规定了数据包的内容,由起始位、主要数据、校验位和停止位组成。双方的数据包格式必须约定一致,才能正常发送和接收数据。

2.2 tod

2.2.1 是什么

TOD (Time of Day) :属于【应用层】协议;TOD 明确规定了数据包里必须包含时间信息(年、月、日、时、分、秒,甚至毫秒),以及数据包的格式。

NMEA 协议的GPRMC或GPRMC或GPRMC或GPZDA 语句

NMEA 协议 (GPRMC/GPZDA) = TOD (Time of Day) 包。它是以 纯文本 (ASCII 字符) 通过串口吐出来的。

2.2.2 与uart 关系

TOD 协议的数据,通常是通过 UART 协议这条"传送带"发送出去的。 UART 负责把 TOD 的打包数据转换成电信号传走。

2.2.3 tod 数据

2.3 物理层相关

TTL UART、CMOS UART、RS232、RS422、RS485

这些为物理层标准。

RJ45是一个机械接口标准;物理形态是---千兆网线的接口

案例:

2.3.1 测试1pps+tod

在FPGA阶段 测试1pps+tod 功能时,通过SMA接口进行输出、输入的,该接口的电平是TTL电平。TTL 电平是单端信号,一般有RX、TX、GND 三根线。

测试仪Paragon-X 接收pps、tod 的接口是RJ45,电平是RS422电平。RS422电平 是差分信号,所以接收或者发送方向皆有两根线:RX+ 和 RX- ;TX+ 和 TX-.

2.3.2 测试IRIGB

在FPGA阶段 测试irigb时,B码产生器 通过DB9公头 输出信号;接收B码端需要用DB9母头 接收信号。该信号为RS422差分信号,作为接收,TIME+ 、TIME-、GND。

2.3.3 单端、差分信号

可以简单的理解为:单端信号的发送用一根线完成;接收用1根线完成;单端信号:测的是 信号线对 GND 的电压。

差分信号指的是:发送需要有两根线传信号;接收需要有两根线传信号;测的是 两根线之间的电压差 V_AB = A − B。

2.3.4电路图解读

AM26LV31EIPWR、AM26LV32EIPWR 为两个RS-422 电平转换器芯片,实现电平转换。

图中表示有P、N 表示差分信号某个信号的正极、负极,

2.3.4.1 AM26LV31EIPWR

把单片机发出的 3.3V 数据,翻译成 RS-422 的长距离差分信号,发送到 1000 米外的设备去

2.3.4.2 AM26LV32EIPWR

是把 1000 米外传过来的 RS-422 差分信号,翻译回单片机能看懂的 3.3V 数据

2.4 uart 与TTL UART、CMOS UART、RS232、RS422、RS485 区别

UART 描述的是 "数据怎么在时间上排列"(起始位、数据位、校验位、停止位);

而 RS232 / RS422 / RS485 描述的是 "电信号长什么样、用几根线、能传多远"。

相关推荐
星源~1 天前
Linux - Trae Code Linux 环境嵌入式开发指南
linux·mcu·嵌入式·trae code
Lzh编程小栈1 天前
STM32 DMA深度解析|原理、完整工作流程、寄存器、中断联动,嵌入式面试高频考点(F1系列)
c语言·stm32·单片机·mcu·面试
qq_402995751 天前
MOS管的工作原理
嵌入式硬件·mcu
深圳市尚想信息技术有限公司1 天前
HITENX海速芯TM52F1363-SSOP24 8KB Flash存储+EEPROM,国产8位MCU单片机
单片机·mcu·flask·芯片·控制器·海速芯
jianqiang.xue2 天前
ESP-IDF保姆级入门41|产品级故障排查与稳定性优化全解:死机复位排查/内存泄漏定位/性能瓶颈分析/长期稳定性测试,掌握量产运维问题定位方法论
单片机·mcu·物联网·esp32
笨笨饿2 天前
#138_解决Codex要五次回复的问题
linux·stm32·单片机·嵌入式硬件·mcu·物联网·嵌入式实时数据库
星源~2 天前
zephyr-Linux环境下搭建步骤
linux·mcu·嵌入式开发·zephyr
secondyoung3 天前
I2C通信协议详解
arm开发·驱动开发·stm32·单片机·嵌入式硬件·mcu·51单片机
三块石头1013 天前
车载ADC避坑:为什么ADC采集值偏低?
经验分享·stm32·单片机·嵌入式硬件·mcu·硬件架构·硬件工程
国科安芯4 天前
基于ECC加固的抗辐射MCU在卫星载荷数据管理中的应用分析
单片机·嵌入式硬件·mcu·抗辐射·ecc加固·卫星数据管理