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这种通过差分线来传输的信号方便

相关推荐
BW.SU1 小时前
单片机 + 图像处理芯片 + TFT彩屏 指示灯控件
单片机·嵌入式硬件·人机交互·控件·触摸屏设计·指示灯·液晶屏
-Camellia007-1 小时前
HTTP学习
网络协议·学习·http
朝九晚五ฺ1 小时前
【算法学习】递归、搜索与回溯算法(二)
数据结构·学习·算法·深度优先
每次的天空1 小时前
Android学习总结之kotlin协程面试篇
android·学习·kotlin
MayByte2 小时前
全连接神经网络学习笔记
笔记·神经网络·学习
KingQian20182 小时前
单片机嵌入式滤波算法库
单片机·嵌入式硬件·算法
大白的编程日记.2 小时前
【Linux学习笔记】基础IO之理解文件
linux·笔记·学习
小鹿撞出了脑震荡2 小时前
「OC」源码学习——objc_class的bits成员探究
学习·ios·objective-c
憧憬一下3 小时前
stm32之DMA
stm32·单片机·嵌入式硬件·嵌入式
牛奶咖啡133 小时前
学习设计模式《八》——原型模式
学习·设计模式·原型模式·浅度克隆·深度克隆·c#的克隆·原型管理器