0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

沈阳芯硕科技 来源:jetson024 作者:jetson024 2022-12-28 14:07 次阅读

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

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    447

    文章

    47801

    浏览量

    409166
  • 单片机
    +关注

    关注

    6001

    文章

    43977

    浏览量

    620862
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16019

    浏览量

    343640
  • 接口
    +关注

    关注

    33

    文章

    7640

    浏览量

    148507
  • SSP
    SSP
    +关注

    关注

    0

    文章

    14

    浏览量

    11513
收藏 人收藏

    评论

    相关推荐

    不管AD7689的配置是0x3c7f还是0x3fff,读出来的数据都是IN0通道的数据是什么原因引起的?

    在应用AD7689时,MCU选用TI的c28系列,SPI用主模式 不管AD7689的配置是0x3c7f,还是0x3fff,读出来的数据都是IN0通道的数据,无法改变 请问是什么原因引起的?
    发表于 12-25 06:15

    #芯圣通用型8051MCU 高性能,高性价比 :HC89F160X系列

    mcu
    上海芯圣电子股份有限公司
    发布于 :2023年12月14日 09:38:53

    STM32L011x3/4数据手册

    超低功耗STM32L011x3/4系列包括7种不同封装类型的设备从14到32个引脚。以下描述概述了该家族中提出的外围设备。 这些功能使超低功耗STM32L011x3/4微控制器适用于 广泛
    发表于 10-09 07:06

    CW32F003x3/x4产品介绍

    CW32F003x3/x4是一款基于eFlash的单芯片微控制器,集成了ARM®Cortex®-M0+内核 具有高达48 MHz的主频率、高速嵌入式存储器(高达20 KB的FLASH和 至3K字节
    发表于 09-14 08:16

    CW32F003x3/x4数据手册

    CW32F003x3/x4 是基于 eFlash 的单芯片微控制器,集成了主频高达 48MHz 的 ARM® Cortex®-M0+ 内核、高速嵌入式存储器(多至 20K 字节 FLASH 和多至
    发表于 09-14 08:05

    CW32F030x6/x8数据手册

    CW32F030x6/x8 是基于 eFlash 的单芯片微控制器,集成了主频高达 64MHz 的 ARM® Cortex®-M0+ 内核、高速嵌入式存储器(多至 64K 字节 FLASH 和多至
    发表于 09-14 07:19

    CW32F030x6/x8产品介绍

    CW32F030x6/x8是一款基于eFlash的单芯片微控制器,集成了ARM®Cortex®-M0+内核 主频率高达64MHz,高速嵌入式存储器(高达64K字节的FLASH和高达 8K字节
    发表于 09-14 07:03

    专用R5F+双核A53,异构多核AM64x让工控“更实时”

    运行FreeRTOS或NO RTOS(裸机),Cortex-A53与Cortex-R5F之间通过TI-RPMsg实现核间通信。 创龙科技为客户提供了AM64x基于Cortex-R5F的开发案例,包括CAN、UART、GPIO等
    发表于 08-23 15:34

    为什么使用Keil的Memory查看0X0001F000~0x0001F027内的数据都是0x55?

      我使用的芯片型号为M0516ZDN,编译器为Keil5.23   昨天晚上试着去读写DataFlash,向0x0001F000~0x0001F027内写入数据0x55555555,在写入成功之后
    发表于 08-21 06:59

    USB通讯和PD电源双功能Type-C接口MCU-CH32X035

    CH32X035系列是基于青稞RISC-V4C内核设计的工业级Type-C接口特色微控制器,提供62K FLASH程序空间,支持48MHz系统主频,支持3.3V和5V供电,具有双路OPA或PGA运放
    发表于 08-09 11:19

    华大电子MCU CIU32M010、CIU32M030循环冗余校验计算单元及电源管理

    华大电子MCU CIU32M010、CIU32M030循环冗余校验计算单元及电源管理
    的头像 发表于 06-20 10:22 385次阅读
    华大<b class='flag-5'>电子</b><b class='flag-5'>MCU</b>  <b class='flag-5'>CIU</b>32M010、<b class='flag-5'>CIU</b>32M030循环冗余校验计算单元及电源管理

    华大电子MCU CIU32M010、CIU32M030嵌入式闪存及中断和事件

    CIU32M010、CIU32M030 集成了嵌入式 FLASH 控制模块,该模块控制 FLASH 的擦除、编程以及读取数据。上电时会从 FLASH 中读取相关数据进行校验以及初始化配置,保证芯片程序在正确且安全的情况下运行。
    的头像 发表于 06-20 10:17 461次阅读
    华大<b class='flag-5'>电子</b><b class='flag-5'>MCU</b> <b class='flag-5'>CIU</b>32M010、<b class='flag-5'>CIU</b>32M030嵌入式闪存及中断和事件

    TI AM64x开发板规格书(双核ARM Cortex-A53 + 单/四核Cortex-R5F + 单核Cortex-M4F,主频1GHz)

    电源指示灯(核心板1个,评估底板1个) 5x 用户可编程指示灯(核心板2个,评估底板3个) 1x 4G模块通信指示灯(评估底板) KEY1x 系统复位按键 1
    发表于 06-13 17:18

    高可靠高赋能M3系列(MG32F1x) - 智能门锁的大脑

    高可靠高赋能M3系列(MG32F10x/157) - 智能锁的大脑 稳健增长的市场智能门锁是一种可以通过智能手机、指纹识别、密码等方式打开的电子门锁。近年来,随着人们对智能家居的需求不断增加,智能
    发表于 06-12 09:42

    如何移植RT-thread官方的系统源码到STM32F10x特定的MCU平台中?

    如何移植RT-thread官方的系统源码到STM32F10x特定的MCU平台中?
    发表于 05-16 10:31