串行接口介绍
/DTR /RTS /OUT2 INTR NC A0 A1 A2 /ADS CSOUT DDIS DISTR /DISTR
I2C总线
含义: I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式 (数据线SDA和时钟线SCL )串行总线,用于连接微控制器及其外围设 备。 特点: 简单性 有效性 多主控性
I2C与SPI的比较
SPI实施起来较I2C要复杂:SPI协议没有定义寻址机制,需通过外部SS信号 线选择设备,当出现多slave应用时,需要多根SS信号线 SPI总线不支持总线控制权仲裁,只能用于单Master的场合,而I2C可以支持 多Master的应用 SPI协议相对于I2C要简单,没有握手机制,数据传输效率高,速度快,通常 可以达到几Mbit/s,而I2C串行的8 位双向数据传输位速率在标准模式下可达 100kbit/s, 快速模式下可达400kbit/s, 高速模式下可达3.4Mbit/s。 SPI没有指定的流控制,没有应答机制确认是否接收到数据,而I2C有应答机 制。
I2C总线
仲裁 主机只能在总线空闲的时侯启动传输 当SCL 线是高电平时仲裁在SDA 线发生
I2C总线
用时钟同步机制作为握手 时钟同步机制除了在仲裁过程中使用外,还可以用于使能接收器处理字节 级或位级的快速数据传输。 在字节级的快速传输中器件可以快速接收数据字节,但需要更多时间保 存接收到的字节或准备另一个要发送的字节,然后从机以一种握手过程 在接收和响应一个字节后使SCL 线保持低电平,迫使主机进入等待状态, 直到从机准备好下一个要传输的字节。
I2C总线
工作原理 总线构成:I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接 收数据 。各种被控制电路均并联在这条总线上 ,每个电路和模块都有唯一的 地址,在信息的传输过程中,器件发送数据到总线上,则定义为发送器,器 件接收数据则定义为接收器,I2C总线上并接的每一模块电路既是主控器(或 被控器),又是发送器(或接收器)。 主控器件通常为微控制器
串行通信的类型
串行同步通信 数据格式
同步字符 数据1 数据2
…
数据n
校验字符1
校验字符2
工作原理:在通信协议中,通信双方约定同步字符的编码格式和同步字 符的个数。在传送过程中,接收设备首先搜索同步字符,与事先约定的 同步字符进行比较,如比较相同,则说明同步字符已经到来,接收方就 开始接收数据,并按规定的数据长度拼装成一个个数据字节,直至整个 数据块接收完毕,经校验无误传送错误时,结束一帧信息的传送。(接 收设备和发送设备必须使用同一时钟)
I2C总线
传输数据 响应:相关的响应时钟脉冲由主机产生,在响应的时钟脉冲期间,发送 器释放SDA 线(高)。在响应的时钟脉冲期间,接收器必须将SDA 线拉 低使它在这个时钟脉冲的高电平期间保持稳定的低电平。
• 从机不响应从机地址时 • 响应但不能接受更多的字节时 • 从主机(发送器)——主机(接收器)时
I2C总线
时钟同步 所有主机在SCL 线上产生它们自己的时钟来传输I2C 总线上的报文。 数据只在时钟的高电平周期有效。 首先完成高电平周期的器件会再次将SCL线拉低。 产生的同步SCL 时钟的低电平周期由低电平时钟周期最长的器件决定, 而高电平周期由高电平时钟周期最短的器件决定。
I2C总线
7位寻址 7位地址格式
B3 B2 B1 B0 A2 A1 A0
设备厂商标示 地址标示
读/写操作
SPI
SPI介绍 SPI接口的全称是“Serial Peripheral Interface”,意为串行外围接口,是 Motorola首先在其MC68HCXX系列处理器上定义的。 SPI接口主要应用在EEPROM、FLASH、实时时钟、AD转换器,还有数 字信号处理器和数字信号解码器之间。 SPI,是一种高速的、全双工、同步串行总线 SPI接口是以主从方式工作的,这种模式通常有一个主器件和一个或多个 从器件,其接口包括以下四种信号: • MOSI – 主器件数据输出,从器件数据输入 • MISO – 主器件数据输入,从器件数据输出 • SCLK – 时钟信号,由主器件产生 • /SS – 从器件使能信号,由主器件控制
I2C总线
数据的有效性 SDA 线上的数据必须在时钟的高电平周期保持稳定,数据线的高或低电 平状态只有在SCL 线的时钟信号是低电平时才能改变。
I2C总线
传输数据 字节格式:发送到SDA 线上的每个字节必须为8 位,每次传输可以发送 的字节数量不受限制,每个字节后必须跟一个响应位。如果从机要完成 一些其他功能后才能接收或发送下一个完整的数据字节,可以使时钟线 SCL 保持低电平迫使主机进入等待状态。当从机准备好接收下一个数据 字节并释放时钟线SCL 后,数据传输继续。
SPI
单主单从模式
单主多从模式
SPI
SPI基本组成 SPICR:SPI控制寄存器 SPICSR :SPI控制/状态寄存器 SPIDR :SPI数据寄存器
SPI
主模式操作 主模式下, 内部电平必须一直保持为高 串行时钟从SCK引脚上输出
SPI
主模式操作 配置SPI主模式功能 • 设置SPR[2~0]位选择时钟频率 • 配置CPOL和CPHA位,选择时钟极性和相位。 • 对SSM位和SSI位的设置选择主模式操作方式 • 设置MSTR和SPE位为1 主模式发送过程 • 配置完成后,当向SPIDR寄存器中写入一个字节数据时,数据字节被 写入8位移位寄存器,然后移位寄存器由数据最高位开始串行移出各 位到MOSI引脚,字节传输过程开始 • 字节传输结束时: – 硬件设置SPIF位为1 – 如果此时SPIE位=1,且CC寄存器中的中断屏蔽位被清除,则产 生一次中断
高 奇 位 偶 校 验 位
0 1/0 1/0 停 起 止 始 位 位
1
工作原理 • 异步通信是以字符为单位传送的,每传送一个字符,以起始位作为开 始标志,以停止位作为结束标志,字符之间的间隔(空闲)传送高电 平。传送开始后,接收设备不断检测传输线上是否有起始位到来,当 接收到一系列“1”后,检测到第一个“0”,说明起始位出现,就开始 接收所规定的数据位、奇偶校验位及停止位。经过接收器处理,将停 止位去掉,把数据位拼装成为一个字节数据,经校验无误,则接收完 毕。
I2C总线
信号类型 • 开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送 数据 • 结束信号:SCL为低电平时,SDA由低电平向高电平跳变,结束传送 数据 • 应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出 特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号 后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据 实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断 为受控单元出现故障。
I2S
I2S(Inter-IC Sound Bus)是飞利浦公司为数字音频设备之间的音频数据传 输而制定的一种总线标准。在飞利浦公司的I2S标准中,既规定了硬件接口规 范,也规定了数字音频数据的格式。 I2S 有3个主要信号: • 串行时钟(SCLK) – SCLK的频率=2×采样频率×采样位数 • 帧时钟(LRCK) – 为“1”表示正在传输的是左声道的数据 – 为“0”则表示正在传输的是右声道的数据 • 串行数据(SDATA) – 就是用二进制补码表示的音频数据
UART
定义: 通用异步收发器(UART:Universal Asynchronous Receiver / Transmitter)是一种串行接口,用于控制计算机与串行设备。它提供了一种 简单的途径,使两个器件无需共享一个时钟信号就能进行通信。 类型 硬件UART:控制计算机与串行设备的芯片 软件UART:控制计算机与串行设备的程序 功能(硬件): 由计算机内部传送过来的并行数据转换为输出的串行数据流,把计算机 外部来的串行数据转换为并行数据,供计算机内部使用并行数据的器件 使用。 输出的串行数据流中加入奇偶校验位,并对从外部接收的数据流进行奇 偶校验。 在输出数据流中加入启停标记,并从接收数据流中删除启停标记。 处理由键盘或鼠标发出的中断信号(键盘和鼠票也是串行设备)。 可以处理计算机与外部串行设备的同步管理问题。
I2S
一个典型的I2S信号
I2S
PCM(Pulse Code Modulation ):将声音等模拟信号经过抽样、量化、编 码后转换成数字信号。 PCM通信系统:
A/D变换 抽样 量化 编码 信道 干扰
D/A变换
低通 滤波 译码
串行接口介绍
Cellor Cao Audio Stream
串行通信的类型
串行异步通信 数据格式
第(n-1)个字符 第n个字符 5~8位数据 1/0 1/0 1 奇 停 偶 止 校 位 验 位 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 起 始 位 低 位 第(n+1)个字符
SPI
SPI数据、时钟极性和相位图
SPI
从模式操作 在从模式下,操作的串行时钟来自于主器件,由SCK引脚上输入,MISO 和MOSI引脚的输入输出方向互换。 设置从模式操作 • 时钟极性和相位应与主器件一致 • 对 引脚进行设置,方法类似主模式 • 清除MSTR位,同时还要设置SPE位=1,以启用SPI的I/O复用功能 从模式接收过程 • 从器件接收到时钟信号和在MOSI引脚上的数据最高位时,数据传输 过程开始 • 数据传输结束时 – 当SPIF为1时,访问SPICSR寄存器一次 – 对SPIDR寄存器进行一次读或写操作
UART
UART INS8250的内部结构
UART
数据缓冲寄存器 读/写控制逻辑 数据发送器 数据接受器 波特率发生器