Advertisement

UART、RS232、RS485、IIC、SPI总线

阅读量:

目录

一、UART(universal asynchronous receiver transmitter)通用异步收发器

二、RS232和RS485协议原理及应用

三、IIC(Inter-Integrated Circuit)

四、SPI总线(Serial Peripheral Interface)串行外设接口


一、UART (universal asynchronous receiver transmitter)通用异步收发器

1.1 UART介绍

  • UART (universal asynchronous receiver transmitter)通用异步收发器,串行、异步 通信,全双工的发送和接收。

起始位**+数据位+校验位+**停止位

空闲时高电平,起始位为低电平

数据位:低位在前,高位在后**(IIC****、SPI先高后低****)**

硬件连接:TX---RX、RX---TX

注:UART是异步通信,即收发双发用各的时钟,容易产生累计误差。因此不允许连续发送,每次发送最多一个字节(8bit),避免累计误差。

1.2 UART通信过程:

FIFO中存放消息队列,发送器或接收器从FIFO中读取。(Rx-FIFO、Tx-FIFO)

串口控制器一般都包括:波特率产生器、发送器、接收器、控制单元

波特率(Baud):每秒钟传送码元符号的个数。(码元:在数字通信中用时间间隔相同的符号来表示一个二进制数字)

发送器:FIFO+发送移位器

接收器:FIFO+接收移位器

二、RS232RS485****协议原理及应用

二者都是电气层协议,依赖于串口,编程依然是UART,只是在电气层面做了处理,提升抗干扰能力和传输距离。

RS232 是制定的串行通信标准(纯硬件)。 规定采用一个标准的连接器**(DB9针), 对每个引脚的作用加以规定,还对信号的电平加以规定。现在工业控制的RS232一般只用RXD、TXD、GND 三根线。该标准规定逻辑1” 的电平为-5~-15V** ,逻辑**“0” 的电平为+5~+15V。** 提升抗干扰能力,传输距离可达15m 。MAX232芯片(将TTL电平转232电平或将232电平转TL电平)。

RS485 是一个通信标准,该标准允许连接多个收发器,可以利用单一的RS485接口建立一个设备网络。抗干扰能力强,传输距离远(1500m)。规定采用差分信号 进行数据传输,两线间 的电压差为+2V~+6V为逻辑“1”,两线间 的电压差为-2V~-6V为逻辑“0”。

H线电平减L线电平,为正数表示“1”,为负数表示“0”。传输距离可达1500m,且电平比RS232低,不易损坏芯片,且电平与TTL电平兼容,方便与TTL电路连接。

RS485 采用两线制(AABB), 数据的发送和接收都要用这对信号线,因此是半双工,在编程时需要进行处理(发送时不能接收,接收时不能发送)。实际使用时需要添加如MAX485****芯片 ,将TTL信号转485****差分信号。

三、IIC(Inter-Integrated Circuit)

IIC是一种串行、半双工 总线,(和RS485都是一种多机总线)。主要用于近距离、低速的芯片间的通信。有两根双向的信号线,一根叫做SDA叫做数据线,进行通信时使用SDA.另一根是时钟线SCL,用于通信双方的时钟同步.

连接在IIC总线上的设备分主机和从机,可以有多个主机多个从机(多主机总线).主机有权力发起或结束一次通信.从机只能被主机呼叫.当总线上多个主机同时使用总线时,IIC具备冲突检测和仲裁功能来防止错误产生.每个连接到IIC总线上的设备都有一个唯一的地址(7bit),且每个器件都可以做主机也可以作为从机(同一时刻只能有一个主机),总线上的器件增加和删除不影响其他器件正常工作.

IIC通信过程:先由主机启用总线. 第一个字节一定是主机发送(7bit从机地址+1bit数据方向位);从机接收到主机的寻址信号后,回应主机.然后根据数据方向位规定的数据方向将数据按字节发送.发送器发送一个字节,接收器应答一次。

IIC在空闲状态下SDASCL****都是高电平

起始信号:SCL为高电平时,SDA由高变低,为起始信号.(寄存器操作)

停止信号:SCL为高电平时,SDA由低变高,为停止信号.(寄存器操作)

起始信号和停止信号都是由主机发出.

SCL为低电平时,发送器向数据线上发一位数据,SCL为高电平时,接收器向数据线上读取一位数据.SCL为高电平时,SDA上的数据不允许变化.

四、SPI总线(Serial Peripheral Interface)串行外设接口

SPI总线(Serial Peripheral Interface)串行外设接口。 串行、全双工、高速、同步(通信双方时钟同步)通信,主从工作方式。SPI需要至少4根线,MISO(Master In Slave Out主机输入,从机输出),MOSI(Master Out Slave In主机输出,从机输入),SCLK (时钟同步),CS(Chip Selection片选)。

寻址方式: 主机通过向对应从设备的片选线发送使能信号enable(高电平或低电平,CS高电平,CS非低电平),对其他从设备的片选线非使能unable。

SPI****通信过程:先发送高位,后发送低位。 数据线高电平表示逻辑“1”,低电平表示逻辑“0”。一个字节发送完成后无需应答无需停止,可直接发送下一个字节。时钟线在上升沿或下降沿 时,发送器向数据线上发数据,在紧接着 的下一个下降沿或上升沿 时,接收器向数据线上读数据。

SPI 有四种工作模式:取决于极性(Polar)和相位(Phase),也就是由空闲时SCLK的状态(高低)和在一个时钟周期内的第一个上升沿还是下降沿进行数据的发送和读取来决定。

CPOL表示SCLK在空闲时的状态:

CPOL=0,空闲时SCLK为低电平

CPOL=1,空闲时SCLK为高电平

CPHA表示采样时刻:

CPHA=0,每个时钟周期的第一个时钟沿采样

CPHA=1,每个时钟周期的第二个时钟沿采样。

注:本文仅用来记录作者学习。

(visio的图怎么才能直接插入到文章中?这样截图的形式好麻烦啊。整理了五千多字的文档,传一半就不想传了。)

全部评论 (0)

还没有任何评论哟~