SPI(串行外設接口)串行總線 同步全雙工接口
一根時鐘線宴抚,2根數(shù)據(jù)線
SCK:
I^2C時鐘用于起始和結束
時鐘極性(CPOL)? ? ? ?0低電平啟動? ? ? ? ? ? 1高電平啟動
時鐘相位(CPHA)(每周期兩個邊沿確認是第一個還是第二個邊沿)
? ? ? ? ? ? ? ? ? ? ? ? ?0為第一個邊沿? ? ? ? ? 1為第二個邊沿
CS片選線,低電平接通
注意拉低后,用完拉高。
SPI接受與發(fā)送使用同一移位寄存器做緩沖區(qū)
主設備控制從設備的控制結構
主設備發(fā)送數(shù)據(jù)的時候,會通過移位器將從設備緩沖區(qū)的數(shù)據(jù)擠回來
主設備發(fā)送從設備從設備返回信號主設備可以不進行接收揖庄,主設備發(fā)射信號覆蓋之前的數(shù)據(jù)
MOSI主輸出 從輸入? ? ? ? ? ? ? ? ? ? ? ? MISO主輸入 從輸出
同一時刻只能由一個設備被拉低
Mode ???0? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1? ? ? ? ? ? ? ? ? ? ? ? ? ?2? ? ? ? ? ? ? ? ? ? ? ? ? 3
Cpol ????0低電平? ? ? ? ? ? ? ? ? ?0? 低電平? ? ? ? ? ? ?1? ? 高電平? ? ? ? ?1? ? 高電平
Cpoh ???0第一邊沿上升沿 ??1? 第2下降沿? ? ? 0? ? ?第3沿上升 ??1? ? 第4上升
TI:半雙工模式? ? ? ? ? ? IIS:音頻? ? ? ? ? ?NNS:管理方式,分為軟/硬管理模式? 一般用軟管理模式
軟模式(常用)代碼里拉低拉高片選線
硬模式硬件上自動選擇片選線
SPIFLASH
W25Q128華邦
128M bit = 16M Byte
CHIP --- 65536 page --- 256 Block --- 16Mbyte(擦除單位)
Page --- 256 type
Sector(扇區(qū)) --- 16 page 4Kbyte(最小擦除單位)
Half Block(半塊) --- 128 page --- 8 sector ---32Kbyte(擦除單位)
Block(塊) --- 256 page --- 16 sector ---64Kbyte(擦除單位)
SPI :? ? ? ? ? ? ?1.時鐘速度
? ? ? ? ? ? ? ? ? ? ? ? ?2.時鐘極性和時鐘相位 模式0 或是 3 (00 11)
? ? ? ? ? ? ? ? ? ? ? ? ?3.有效位
CS —>使用 低電平有效 保證每個操作 都是處于 CS低電平
操作:
1.指令 寫 使能
2.獲取狀態(tài)寄存器 忙標志位 值
3.頁寫(地址6個F欠雌,用3個字節(jié)去存)(判定為非忙 要寫使能)
4.扇區(qū)擦除(不一定是扇區(qū)的首地址蹄梢,只要是扇區(qū)內的地址,低三的4位,共12位清零禁炒,變?yōu)樵撋葏^(qū)的首地址)(判定為非忙 要寫使能)
5.讀數(shù)據(jù)(用小括號包住是讀回來)(判定為非忙)
6.讀ID號(dummy空而咆,等3個時鐘周期)