2017年4月11日 星期二

DIY - ESP8266:ESP8266 的 SPI 硬件基本介紹(二十一)

DIY - ESP8266:ESP8266 的 SPI 硬件基本介紹(二十一):

ESP8266EX 共有 17 個 GPIO 管腳,通過配置適當的寄存器可以給它們分配不同的功能。每個 GPIO 都可以配置為內部上拉/下拉,或者被設置為高阻。當被配置為輸入時,可通過讀取寄存器獲取輸入值;輸入也可以被設置為邊緣觸發或電平觸發來產生 CPU 中斷。簡言之,IO 管腳是雙向、非反相和三態的,帶有三態控制的輸入和輸出緩衝器。這些管腳可以與其他功能複用,例如 I2C、I2S、UART、PWM、IR 遙控、LED、Light 和 Button 接口等。 

ESP8266 的內部功能原理
ESP8266 擁有兩組串行外設接口(Serial Peripheral Interface Bus,SPI)通信模組,命名分別為 SPI 與 HSPI(Hardware Serial Peripheral Interface Bus)。其中 SPI 通常專門用於從片外 Flash 讀取 CPU 程式碼。而 HSPI 則用於用戶 SPI 設備的通信操作。SPI 模式可由軟體編程實現。時鐘頻率最大為 80 MHz。通常的 SPI 從機設備通常使用四線通信,分別為 SCLK(Serial Clock)、MOSI(Master Output,Slave Input)、MISO(Master Input,Slave Output) 和 CS(Chip Selected)。

SPI 匯流排規定了4個保留邏輯訊號介面: 
  • SCLKSerial Clock):串行時鐘,由主機發出 
  • MOSIMaster Output,Slave Input):主機輸出從機輸入訊號,由主機發出 
  • MISOMaster Input,Slave Output):主機輸入從機輸出訊號,由從機發出 
  • CSChip  Selected):片選訊號,由主機發出,低電平有效

SPI 特性:
  • 支持標準的主機 (Master)和從機 (Slave) 模式。
  • 支持長度可編程的硬件指令(CMD) 和地址(ADDR),指令最大16位(16 bits),地址最長 64位(64 bits)。
  • 數據緩衝最大 64字節(64 bytes),以 word 對齊。
  • Slave模式下可編程的讀寫狀態寄存器。
  • 3 個片選管腳(CS / Chip Selected)。
  • 時鐘頻率高達 80MHz。可選的時鐘極性(Polarity)。
  • 可選的最高有效位(MSB)和最低有效位(LSB)傳輸。
  • 可選的數據緩衝區高字節和低字節先傳輸。
  • 傳輸結束,讀寫數據,讀寫狀態多個中斷源(Interrupt)可選擇。

General SPI Pin Definition
SDIO / SPI Pin Definition
HSPI Pin Definition
SPI / HSPI Overlap
ESP8266 ESP-12E 開發板 SPI 腳定義:
ESP8266
GPIO
Pin Name
Function Name
ESP-12E
Pin Name
15
IO0
GPIO0
SPICS2
27
D3
26
IO1
U0TXD
SPICS1
18
TX
21
IO6
SDIO_CLK
SPICLK
9
CLK
22
IO7
SDIO_DATA0
SPIQ/MISO
8
SD0
23
IO8
SDIO_DATA1
SPID / MOSI
6
SD1
18
IO9
SDIO_DATA2
SPIHD
5
SD2
19
IO10
SDIO_DATA3
SPIWP
4
SD3
20
IO11
SDIO_CMD
SPICS0
7
CMD
10
IO12
MTDI
HSPIQ / MISO
22
D6
12
IO13
MTCK
HSPID / MOSI
21
D7
9
IO14
MTMS
HSPICLK
23
D5
13
IO15
MTDO
HSPICS
20
D8

SPI 主機支持的通信格式 (Master Protocol Format):
SPI 主機通信格式為命令 +地址 + /讀數據(CMD + ADDR + DATA
命令:必須存在;長度 1 ~ 16 位; 主機輸出從機輸入(MOSI
地址:可選;長度 0 ~ 32 位; 主機輸出從機輸入(MOSI
數據寫或讀:可選;長度 0 ~ 512 位(64 bytes); 主機輸出從機輸入(MOSI)或主機輸入從機輸出(MISO

SPI 從機支持的通信格式(Slave Protocol Format):
SPI 從機通信格式與主機通信格式相同為命令 +地址 + /讀數據,而從機寫讀操作有固定硬件命令,且地址部分不能去除。
命令:必須存在;長度 3 ~ 16 位; 主機輸出從機輸入(MOSI
地址:可選;長度 1 ~ 32 位; 主機輸出從機輸入(MOSI
數據寫或讀:可選;長度 0 ~ 512 位(64 bytes); 主機輸出從機輸入(MOSI)或主機輸入從機輸出(MISO 


2017年 4月 11日 天氣報告
氣溫:23.0@ 22:00
相對濕度:百分之 93%
天氣:微雨

沒有留言:

張貼留言