华大电子MCU-CIU32F011x3、CIU32F031x5同步串行接口

发布时间:2024-08-13  

12. 同步串行接口(SSP)

12.1. 模块介绍

SPI_IIC 模块可用作 SPI 接口通信和 IIC 接口通信,两种功能同一时间只能选择其中一种使用。该模块集成两种接口协议,节省资源的同时又能满足不同的应用需求。

12.2. 功能特点

12.2.1. SPI 功能

• 支持主模式和从模式工作

• 可编程时钟极性,采样相位,支持 4 种模式

• 支持 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 模式,并且往缓冲区中写入要发送的数据。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>