物联网工程关键技术

1.ESP8266 SPI 主机协议格式

1.1.SPI 主机⽀持的通信格式

 ESP8266 SPI 主机通信格式为命令 + 地址 + 读/写数据,具体为: • 命令:必须存在;⻓度,1 ~ 16 位;主机输出从机输⼊(MOSI)。 • 地址:可选;⻓度,0 ~ 32 位;主机输出从机输⼊(MOSI)。 Espressif 21/108 反馈⽂档意⻅ 2020.07 4. SPI 模块使⽤说明 • 数据写或读:可选;⻓度,0 - 512 位(64 字节);主机输出从机输⼊(MOSI)或 主机输⼊从机输出(MISO)。

1.2.现有 API⽀持的 SPI主机通信格式

ESP8266 SPI 的 API 函数中给出两个固定的主机初始化模式,⼀个模式⽀持⼤多数以字节 单位的常规 SPI 通信,另⼀个模式专为驱动⼀种彩⾊ LCD 屏设计,该设备需要⼀次 9 位 的⾮标准 SPI 通信格式。

2.ESP8266 SPI 从机协议格式

2.1.SPI 从机时钟极性配置要求

与 ESP8266 SPI 从机通信的主机设备时钟极性需配置为:空闲低电平,上升沿采样,下 降沿变换数据。并且在⼀次 16 位读/写过程中,务必保持⽚选信号 CS 的低电平,如果 在发送过程中 CS 被拉⾼,从机内部状态将会重置。

2.2.SPI 从机⽀持的通信格式

ESP8266 SPI 从机通信格式与主机模式基本相同为命令 + 地址 + 读/写数据,⽽从机读 写操作有固定硬件命令,且地址部分不能去除,具体为:

• 命令:必须存在;⻓度,3 ~ 16 位;主机输出从机输⼊(MOSI)。 • 地址:必须存在;⻓度,1 ~ 32 位;主机输出从机输⼊(MOSI)。 • 数据写或读:可选;⻓度,0 ~ 512 位(64 字节);主机输出从机输⼊(MOSI) 或主机输⼊从机输出(MISO)。

2.3.SPI 从机⽀持命令定义

从机接收命令⻓度⾄少是 3 位且低 3 位对应有固定的硬件读写操作,具体为:

• 010(从机接收):将主机发送数据通过 MOSI 写⼊从机数据缓存对应寄存器 SPI_FLASH_C0 ⾄ SPI_FLASH_C15。

• 011(从机发送):将从机缓存对应寄存器 SPI_FLASH_C0 ⾄ SPI_FLASH_C15 中 的数据通过 MISO 发送到主机。

• 110(从机同时收发):将从机数据缓存发送⾄ MISO 同时将 MOSI 上的主机数据写 ⼊数据缓存 SPI_FLASH_C0 ⾄ SPI_FLASH_C15。

注意: 其余数值⽤于读写 SPI 从机的状态寄存器 SPI_FLASH_STATUS,由于其通信格式与读写数据缓存不同,会 造成从机读写错误,请勿使⽤。

2.4.现有 API ⽀持的 SPI 从机通信格式

ESP8266 SPI 的 API 函数中给出⼀个固定的从机初始化模式,该模式为兼容⼤多数以字节 为单位的设备,将从机通信格式设定为:7 位命令 + 1 位地址 + 8 位读/写数据。这样其 他 SPI 主机设备进⾏⼀次 16 位(或两次 8 位且 CS 需要保持低电平)的通信就可以对 ESP8266 的 SPI 从机进⾏⼀字节的读或写操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值