CC3000 SPI 操作:

CC3000的SPI 是基于五根线CLCK,CSn,IRQ,MISO,MOSI;通信模式如下图:

CC3000 SPI接口编程介绍-LMLPHP

CLCK:时钟频率0-26M从主机到从机,提供SPI接口时钟

CSn:低电平激活从主机到从机,指示主机想和CC3000设备通信

MOSI:数据线,从主机到从机

IRQ:中断信号,来自从机,当没有数据传输时挂起,当低电平时指示CC3000设备要传输数据到主机

MISO:从几到主机

处理协议:

SPI接口用着去和CC3000设备通信,所有的数据被发送和接收通过16bit的SPI接口,每一个数据包包含了5字节的头,用户数据和衬底字节,总的数据长度是16bit,第一个字节的头是读写操作位,紧接着的是两字节的长度字节,两个忙标识字节。数据有效载荷字节紧跟着头帧,补充字节被添加当有效载荷的字节长度是奇数时

CC3000 SPI接口编程介绍-LMLPHP

主机写处理

主机上电,从新设置写过程时,主机第一次写处理有些微小的不同,头结构式独立的不管是不是第一个写操作

CC3000 SPI接口编程介绍-LMLPHP

第一个主机写操作:

主机SPI写的逻辑是:

CC3000 SPI接口编程介绍-LMLPHP

  1. 主机检测到IRQ低电平
  2. 主机使能CSn低
  3. 延时50us在主机读取数据前
  4. 主机传输头帧的四个字节
  5. 延时50us
  6. 主机传输剩下的数据包

一般的主机写操作

CC3000 SPI接口编程介绍-LMLPHP

  1. 主机使能CSn低,等待IRQ变低
  2. CC3000的IRQ置低,
  3. 主机开始写传输
  4. 最后一个字节,CSn置高
  5. IRQ变高

主机读操作:

主机读初始化被CC3000设备,通过设置IRQ低电平在总线处于挂起状态时。

  1. CC3000设备申明IRQ低电平
  2. 主机设置CSn第电平
  3. 主机传输头包中的三个字节:读操作位,两个busy
  4. CC3000设备返回主机要的数据
  5. 读结束操作后,主机使能CSn高电平
  6. CC3000设置IRQ高电平

CC3000 SPI接口编程介绍-LMLPHP

05-08 15:47