Labview實驗:SPI的讀寫(Flash)

Flash Vi 通信 技術 RAM與LabVIEW RAM與LabVIEW 2017-09-09

SPI 是英語Serial Peripheral interface的縮寫,顧名思義就是串行外圍設備接口。是Motorola首先在其MC68HCXX系列處理器上定義的。

SPI,是一種高速的,全雙工,同步的通信總線,並且在芯片的管腳上只佔用四根線,節約了芯片的管腳,同時為PCB的佈局上節省空間,提供方便,主要應用在 EEPROM,FLASH,實時時鐘,AD轉換器,還有數字信號處理器和數字信號解碼器之間。

一,SPI部分內容介紹

1,SPI內部示意圖

MISO 主設備數據輸入,從設備數據輸出;

MOSI 主設備數據輸出,從設備數據輸入;

SCLK時鐘信號,由主設備產生;

CS從設備片選信號,由主設備控制。

Labview實驗:SPI的讀寫(Flash)

2,SPI工作原理

(1)主機和從機都有一個串行移位寄存器,主機通過向它的SPI串行寄存器寫入一個字節來發起一次傳輸。

(2)串行移位寄存器通過MOSI信號線將字節傳送給從機,從機也將自己的串行移位寄存器中的內容通過MISO信號線返回給主機。這樣,兩個移位寄存器中的內容就被交換。

(3)外設的寫操作和讀操作是同步完成的。如果只進行寫操作,主機只需忽略接收到的字節;反之,若主機要讀取從機的一個字節,就必須發送一個空字節來引發從機的傳輸。

二,程序編寫實驗

與IIC的讀寫程序相類似。

用開關KEY_UP的按下與鬆開來切換不同的字符串分別寫入Flash,再通過LCD顯示出來。

實驗預期效果:程序啟動運行後,LCD顯示出一組字符串,代表從Flash中讀取出來的數據;當按下KEY_UP,LCD顯示出另一組字符串,代表Flash又重寫入另一組數據;KEY_UP再鬆開,LCD顯示出原先的字符串。

程序編寫,只需要一個主VI。

(一)程序步驟:

1,LCD初始化

2,SPI2初始化

3,Flash ID讀取

4,Flash字節數組寫入

5,Flash字節數組讀取

6,LCD清除背景

7,LCD字符串顯示

程序編寫:

1,LCD初始化

Labview實驗:SPI的讀寫(Flash)

2,SPI2初始化

Labview實驗:SPI的讀寫(Flash)

硬件SPI W25Q64連接圖:

Labview實驗:SPI的讀寫(Flash)

3,Flash ID讀取

Labview實驗:SPI的讀寫(Flash)

4,Flash字節數組寫入

KEY_UP按下或鬆開,分別給Flash寫入不同的字符串:字符串轉換成字節數組再寫入。

Labview實驗:SPI的讀寫(Flash)

5,Flash字節數組讀取

字節數組轉換成字符串,將送至LCD顯示。

Labview實驗:SPI的讀寫(Flash)

6,LCD清除背景

Labview實驗:SPI的讀寫(Flash)

7,LCD字符串顯示

Labview實驗:SPI的讀寫(Flash)

完整的程序

Labview實驗:SPI的讀寫(Flash)

三,編譯,下載到開發板,程序運行後,進行KEY_UP按鍵操作,效果如預期。

相關推薦

推薦中...