12.同步串行接口(SSP)
12.1.模块介绍
SPI_IIC 模块可用作 SPI接口通信和 IIC接口通信,两种功能同一时间只能选择其中一种使用。该模块集成两种接口协议,节省资源的同时又能满足不同的应用需求。
12.2.功能特点
12.2.1. SPI功能
• 支持主模式和从模式工作
• 支持 1~32bit传输
• 支持 5byte发送/接收数据缓冲
• 传输数据顺序 MSB和 LSB
• 支持标准模式,三线模式
• 可触发中断的专用发送和接收标志
12.2.2. IIC功能
• 支持主模式和从模式
• 主模式支持时钟同步和总线仲裁
• 从模式支持在发送数据没有准备好或者接收缓冲器满时候拉低 SCL
• 从模式支持 7bit地址或者 10bit地址
• 从模式支持接收广播地址
• 支持 5byte发送/接收数据缓冲
12.3.功能说明
12.3.1. SPI工作模式
• 模式 0:时钟空闲为 0,上升沿采样,下降沿出数据
• 模式 1:时钟空闲为 0,下降沿采样,上升沿出数据
• 模式 2:时钟空闲为 1,下降沿采样,上升沿出数据
• 模式 3:时钟空闲为 1,上升沿采样,下降沿出数据
12.3.2. SPI接口模式
• 标准模式:通信线有 CLK,CS,IO0(MOSI),IO1(MISO),一个 CLK传输 1bit数据
• 三线模式:通信线有 CLK,CS,IO0,接收和发送都通过 IO0,一个 CLK传输 1bit数据12.3.3. SPI数据帧与内部缓存
SPI可支持 1~32bit帧数据传输,内部集成了一个 40bit的缓冲区,根据配置的数据帧长度不同,缓冲区能缓存的帧数也不一样。数据帧长度<=8bit 时,缓冲区可容纳 5 帧数据,8bit<数据帧长度<=16bit时,缓冲区可容纳两帧数据,数据帧长度>16bit时,缓冲区可容纳 1帧数据,当缓冲区无法再容下一帧数据时,缓冲区满标志会置 1。
12.3.4. IIC主机时钟同步和总线仲裁
IIC主机模式时,在多主机的应用场景下,支持时钟同步和总线仲裁。当总线上连接了不止一个主机时,就会存在同时发起通信的情况,这时候需要时钟同步以及总线仲裁机制决定由哪个主机占用总线完成数据传输。
时钟同步的原理:IIC总线上的不同主机可能发起传输时的时钟频率不一样,通过时钟同步机制,可以让所有主机的时钟同步,才能进行逐位仲裁。所有主机的 SCL在总线上是线与的关系,当总线上的 SCL由高切换到低电平时,所有主机从 0开始计算低电平周期时间。当电平时间达到时,如果总线上的其它主机的 SCL低电平仍然保持,那么其它主机进入高电平等待状态,等低电平时间最长的主机的 SCL拉高时再统一拉高。因此,总线上同步后的 SCL的低电平时间由低电平周期最长的主机决定,而高电平时间由高电平周期最短的主机决定。总线仲裁原理:IIC总线上不同主机的 SDA线也是线与的关系,各主机在 SCL线为高电平时,检查SDA线的电平是否和自己发送的 SDA信号一致,如果检测到 SDA线为低电平时,自己要发送的 SDA信号为高电平,那么该主机仲裁失败,停止总线上的传输动作。
12.3.5. IIC从机拉低 SCL
IIC从机在发送状态下如果缓冲区中没有可发送的数据,或者在接收状态下缓冲区已满时,将会在 SCL端口输出低电平,拉低总线上的 SCL信号使主机暂停发送时钟。当从机准备好发送或者接收后,将在 SCL输出高电平,主机又可以重新控制总线上的 SCL线,恢复数据传输。
12.3.6. IIC从机支持 7bit/10bit寻址
IIC从机支持 7bit或者 10bit寻址模式,由寄存器 CON0的 IIC_SLAVE_ADDR_WIDTH位决定。7bit模式下,主机需要在 TX模式下发送带 START位的 7bit地址,最后 1bit为 R/W标志。当主机写从机时,寻址完成即可进行数据发送。当主机读从机时,寻址完成后,主机需要改成 RX模式,然后配置准备接收的数据长度(寄存器 DMA_LEN),然后对寄存器 CMD_DATA写任意值启动接收。10bit模式下,主机需要在 TX模式下发送带 START位的第 1byte地址(此时 R/W位为 1),接着发送第 2byte地址,此时如果收到从机的 ACK信号,则为寻址成功。接下来如果是主机写从机,就可以直接进行数据发送。如果是主机读从机,那么需要主机再次发送带 START为的第 1byte地址(此时 R/W为 1),然后切换成 RX模式,配置寄存器 DMA_LEN,并且对寄存器 CMD_DATA写任意值启动读数据。
主机读从机时,从机被寻址成功且收到读标志时,需要切换成 TX模式,并且往缓冲区中写入要发送的数据。
审核编辑:汤梓红
-
芯片
+关注
关注
453文章
50387浏览量
421786 -
单片机
+关注
关注
6032文章
44514浏览量
632959 -
mcu
+关注
关注
146文章
16984浏览量
350294 -
接口
+关注
关注
33文章
8496浏览量
150834 -
SSP
+关注
关注
0文章
16浏览量
11566
发布评论请先 登录
相关推荐
评论