ARM嵌入式学习--第十天(UART)

--UART介绍

UART (Universal Asynchonous Receiver and Transmitter)通用异步接收器 ,是一种通用串行数据总线,用于异步通信该总线双向通信,可以实现全双工传输和接收 。在嵌入式设计中,UART用来与PC进行通信,包括与监控调试器和其他器件 ,UART我们可以认为它是集成在SOC内部的一个控制器,它可以按照串口通信协议格式收发数据

由俩部分组成:一个将串行比特流转换成微处理器可以使用的并行数据接收器 (Rx)和一个将来自微处理器的并行数据转换为串行形式发送的发送器 (Tx)

同步通信 :在数据传输的过程中,需要一根时钟线同步,例如IIC,SPI总线,通过他们进行数据传输的时候,必须有一根时钟线,用来同步

异步通信 :数据传输的过程中,不需要时钟线,直接发送数据就可以了,例如串口通信采用的就是异步通信的方式发送方和接收方之间是没有时钟信号线的,他们各自使用各自的时钟。

(在STM32芯片中除了有UART外,还有个叫做USART,USART的全称是Universal Synchronous/Asynchronous Receiver/Transmitter,也就是同步/异步串行收发器相比UART多了一个同步的功能,在硬件上体现出来的就是多了一条时钟线)

--IMX6ULL UART介绍

通用异步收发设备(UART)通过电平转换器和RS-232电缆提供与外部设备的串行通信能力,或通过使用外部电路将红外信号转换位电信号(用于接收)或将电信号转换位驱动信号LED(用于传输)的信号,以提供低速IrDA兼容性

通用异步收发设备支持NRZ编码格式RS485兼容的9位数据格式和IrDA兼容的红外慢速数据速率(SIR)格式

-NRZ编码

NRZ编码 (Non-return-to-zero Code),也叫不归零编码信号电平的一次反转代表1,电平不变化表示0 ;并且在表示完一个码元后,电压不需回到0

-RZ编码

RZ编码 (Return-to-zero Code)归零编码 ;在RZ编码中,正电平代表逻辑1,负电平代表逻辑0,每传输完一位数据,信号返回零电平

信号线上会出现3种电平:正电平、负电平、零电平

从图上就可以看出来,因为每位传输之后都要归零,所以接受者只要在信号归零后采样即可,这样就不再需要单独的时钟信号。实际上,RZ编码就是相当于把时钟信号用归零编码再了数据之内。这样的信号也叫做自同步(self-clocking)信号 ;在RZ编码种,大部分的数据变宽,都用来传输"归零"而浪费了;去掉这个归零步骤,NRZ编码(Non-return-to-zero Code)就出现了,和RZ的区别就是NRZ是不需要归零的

如图所示,浪费的带宽又回来了,不过又丧失了自同步性。

-NRZI编码

NRZI编码(Non-Return-to-Zero Inverted Code)和NRZ的区别就是NRZI用信号的翻转代表一个逻辑,信号保持不变代表另外一个逻辑 。(USB传输的编码就是NRZI格式 ,在USB中,电平翻转代表逻辑0,电平不变代表逻辑1

翻转的信号本身可以作为一种通知机制,可以看到,即使把NRZI的波形完全翻转,所代表的数据序列还是一样的,对于USB这种通过差分线来传输的信号方便

相关推荐
三天不学习3 分钟前
uniapp x 学习之 uts 语言快速入门
学习·uni-app
触角010100011 小时前
OLED屏幕开发全解析:从硬件设计到物联网显示实战 | 零基础入门STM32第五十二步
驱动开发·stm32·单片机·嵌入式硬件·物联网
蓑衣客VS索尼克2 小时前
无感方波开环强拖总结
经验分享·单片机·学习
肥肠可耐的西西公主2 小时前
前端(AJAX)学习笔记(CLASS 4):进阶
前端·笔记·学习
云上艺旅2 小时前
K8S学习之基础十五:k8s中Deployment扩容缩容
学习·docker·云原生·kubernetes·k8s
亭墨3 小时前
linux0.11内核源码修仙传第五章——内存初始化(主存与缓存)
linux·c语言·驱动开发·学习·缓存·系统架构
凡人的AI工具箱3 小时前
PyTorch深度学习框架60天进阶学习计划第14天:循环神经网络进阶
人工智能·pytorch·python·深度学习·学习·ai编程
傍晚冰川4 小时前
【江协科技STM32】ADC数模转换器-学习笔记
笔记·科技·stm32·单片机·嵌入式硬件·学习
知识分享小能手4 小时前
Html5学习教程,从入门到精通, HTML5 新的 Input 类型:语法知识点与案例代码(16)
开发语言·前端·学习·html·html5·web·java开发
小呀小萝卜儿4 小时前
2025-03-08 学习记录--C/C++-PTA 习题10-2 递归求阶乘和
c语言·学习