許多設(shè)備通過I2C和 SPI 數(shù)據(jù)協(xié)議進行交互。在本文中,我們將展示如何使用GreenPAK? SLG46811?集成電路 (IC) 在這兩種協(xié)議之間進行轉(zhuǎn)換。由于?其?小?尺寸?和?高?功能?,?以及?低成本?和?電流?,?這?是?該?應用?程序的?絕佳?選擇?。? _?
轉(zhuǎn)換如何工作?
SLG46811V 可以雙向轉(zhuǎn)換,從 I2C 到 SPI,反之亦然。
圖 1:應用電路
圖 1 顯示了一個典型的轉(zhuǎn)換器原理圖。I2C總線接PIN5、PIN6,SPI總線接PIN9、PIN10、PIN11、PIN12。PIN8 用于控制傳輸方向。I2C 總線必須上拉至 VDD。
轉(zhuǎn)換方向由 nSPI/I2C 信號選擇。該電路提供四個字節(jié)的傳輸,其中一個是 I2C 控制字節(jié)。
圖 2:設(shè)計實現(xiàn)
該設(shè)計是使用基于 GUI 的免費G??reenPAK Designer 軟件?(Go Configure?軟件中心的一部分)創(chuàng)建的。完整的設(shè)計文件可在此處獲得。
SPI 數(shù)據(jù)接收和 I2C 數(shù)據(jù)傳輸
當 nSPI/I2C 信號為低電平時,IC 接收 SPI 命令并發(fā)送 I2C 命令。
圖 3:SPI 數(shù)據(jù)接收
SPI_EN 信號決定了 SPI 數(shù)據(jù)接收的開始和停止。當 SPI_EN 信號由高變低時,IC 從輸入 SPI_DATA_IN 讀取。與時鐘信號 SPI_CLK 同步,IC 讀取移位寄存器 SHR 0 – SHR 3 中的數(shù)據(jù)。
圖 4:I2C 數(shù)據(jù)傳輸
當數(shù)據(jù)完全接收時,信號 SPI_EN 變高,IC 開始形成 I2C 數(shù)據(jù)包。EDGE DET 檢測何時接收到數(shù)據(jù),將 SRFF 觸發(fā)器的輸出轉(zhuǎn)換為 1。這允許擴展碼型發(fā)生器 (EPG) 和時鐘發(fā)生器的操作。EPG 單元處理 I2C 數(shù)據(jù)包的形成并控制數(shù)據(jù)發(fā)布過程。
圖 5:EPG 波形
EPG單元記錄一組用于產(chǎn)生I2C操作信號的模式。輸出 OUT0 用于形成 Start、Stop和 ASK 位。輸出 OUT1 為 I2C_CLK 生成時鐘信號。OUT2 信號在 SHR 寄存器中提供數(shù)據(jù)偏移。I2C 傳輸完成后,OUT3 信號將 SRFF 觸發(fā)轉(zhuǎn)換為 0,之后系統(tǒng)進入初始狀態(tài)。
例如,我們將嘗試使用 SPI/I2C 橋接器更改 SLG46826 中的計數(shù)器數(shù)據(jù) CNT0。
圖 6:測試示意圖
圖 6 顯示了構(gòu)建在 SLG46811 上的 SPI/I2C 橋接器和構(gòu)建在 SLG46826 上的發(fā)生器的測試連接圖。SLG46826有用于 I2C 總線連接的?PIN8 和 PIN9 以及用于脈沖輸出的 PIN17。
圖 7:SLG46826 內(nèi)部原理圖
以下是圖 8 的關(guān)鍵:
SLG46811
通道 1(黃線/頂線)– PIN5 (I2C_CLK) ,帶有外部 5k Ω上拉電阻
通道 2(淺藍色/第 2 行)– PIN6 (I2C_DATA) ,帶有外部 5k Ω上拉電阻
B1 – I2C 數(shù)據(jù)解碼
B2 – SPI 數(shù)據(jù)解碼
D0 – PIN12 (SPI_EN)
D1 – PIN11 (SPI_CLK)
D2 – PIN10 (SPI_DATA_IN)
SLG46826
D5 – PIN17 (PULSE_OUT)
圖 8:SPI 數(shù)據(jù)接收
圖 9:I2C 數(shù)據(jù)傳輸
I2C 數(shù)據(jù)接收/ SPI 數(shù)據(jù)傳輸
當 nSPI/I2C 信號為高電平時,IC 工作在 I2C 從機/ SPI 主機模式。
圖 10:I2C 數(shù)據(jù)接收/SPI 數(shù)據(jù)傳輸
在這種模式下,I2C 數(shù)據(jù)接收和 SPI 數(shù)據(jù)傳輸同時發(fā)生。以下組件用于檢測 I2C 啟動/停止組合:檢測器 EDGE 模式下的 P DLY、3 位LUT8、3 -L11 和 DFF4。當開始組合到達時,觸發(fā)器 DFF4 的輸出變?yōu)?0,這允許 EPG 操作并激活 SPI_EN 信號。EPG 的第二部分生成用于處理來自 I2C 的數(shù)據(jù)的信號,并且還生成 ASK 響應信號。來自 I2C 的數(shù)據(jù)立即傳輸?shù)捷敵?SPI_DATA_OUT。當SPI_CLK時鐘暫停時,SPI_CLK 僅在啟動、停止和 ASK 等服務(wù)組合的時間使用 I2C_CLK 計時. 當Stop組合到達時,觸發(fā)器 DFF4 的輸出變?yōu)?1,使 EPG 處于初始狀態(tài),并向 SPI 總線信號 SPI_EN 發(fā)出信號,完成數(shù)據(jù)傳輸。一些 IC 輸出具有輸出使能 (OE) 信號以改變操作方向。
圖 11:EPG 波形
對于接收 I2C 命令和發(fā)送 SPI 命令,我們使用 EPG 信號:
OUT5 –阻止檢測器啟動/停止的操作,并在形成 ASK 信號時反轉(zhuǎn) EPG 單元的 CLK 信號。
OUT6 –產(chǎn)生一個 ASK 信號。
OUT7 –控制 SPI 時鐘。
以下是圖 12 的圖例:
通道 1(黃線/頂線)– PIN5 (I2C_CLK) ,帶有外部 5k Ω上拉電阻
通道 2(淺藍色/第 2 行)– PIN6 (I2C_DATA) ,帶有外部 5k Ω上拉電阻
B1 – I2C 數(shù)據(jù)解碼
B2 – SPI 數(shù)據(jù)解碼
D0 – PIN12 (SPI_EN)
D1 – PIN11 (SPI_CLK)
D2 – PIN10 (SPI_DATA_OUT)
圖 12:測試結(jié)果
結(jié)論---
在本文中,我們使用 GreenPAK SLG46811 IC 實現(xiàn)了一個 I2C/SPI 轉(zhuǎn)換器。GreenPAK IC 提供了許多功能元件來實現(xiàn)各種電路設(shè)計。GreenPAK 產(chǎn)品系列中有 50 多個 IC,每一個都有自己的特殊特性和功能。它們可以顯著減少外部電路元件的數(shù)量,并能夠開發(fā)具有高度特殊要求的系統(tǒng)。此外,GreenPAK 產(chǎn)品可實現(xiàn)非??焖俚脑O(shè)計時間,并提供低功耗、小電路板面積和低成本。
審核編輯:湯梓紅
評論