ZHCAFO7 August 2025 TXE8116 , TXE8116-Q1 , TXE8124-Q1
串行外設(shè)接口 (SPI) 總線是一種廣泛使用的同步通信協(xié)議、可在控制器器件與一個(gè)或多個(gè)外設(shè)之間實(shí)現(xiàn)高速、全雙工數(shù)據(jù)傳輸。SPI 由 Motorola 于 20 世紀(jì) 80 年代開(kāi)發(fā)、現(xiàn)已成為嵌入式系統(tǒng)中外設(shè)連接的標(biāo)準(zhǔn)接口。由于其簡(jiǎn)單性、多功能性和高效性,SPI 已成為工程師設(shè)計(jì)可靠、高速通信系統(tǒng)時(shí)的重要工具。圖 1 展示了總線上 SPI 連接的典型示意圖。
SPI 通信通過(guò)共享時(shí)鐘信號(hào)實(shí)現(xiàn)同步,從而確保數(shù)據(jù)傳輸時(shí)序的精確性。與集成電路總線 (I2C) 等其他串行協(xié)議不同,串行外設(shè)接口 (SPI) 沒(méi)有規(guī)定標(biāo)準(zhǔn)的通信格式,因此開(kāi)發(fā)者可根據(jù)具體應(yīng)用需求靈活定制協(xié)議參數(shù)。表 1 展示了 SPI、I2C 與通用異步收發(fā)傳輸器 (UART) 之間的差異。
| 功能 | SPI | I2C | UART |
|---|---|---|---|
| 通信類型 | 同步 | 同步 | 異步 |
| 數(shù)據(jù)傳輸模式 | 全雙工 | 半雙工 | 全雙工 |
| 時(shí)鐘信號(hào) | 是 | 是 | 否 |
| 尋址 | 片選 (CS) 線 | 尋址協(xié)議 | 不適用 |
| 速度 | 高 | 中 | 低 |
SPI 支持全雙工通信、這意味著可以同時(shí)發(fā)送和接收數(shù)據(jù)。SPI 支持全雙工通信,這意味著可以同時(shí)發(fā)送和接收數(shù)據(jù)。協(xié)議采用一組基本信號(hào)來(lái)建立通信連接,而這些信號(hào)可能因 SPI 配置的不同有所變化。
| 信號(hào)名稱 | 用途 |
|---|---|
| PICO(控制器 SDO、外設(shè) SDI) | 將數(shù)據(jù)從控制器發(fā)送到外設(shè) |
| POCI(控制器 SDI、外設(shè) SDO) | 將數(shù)據(jù)從外設(shè)發(fā)送到控制器 |
| SCLK(串行時(shí)鐘) | 由控制器生成,用于同步數(shù)據(jù)傳輸 |
| CS(片選) | 一種由控制器用于選擇并啟用特定外設(shè)設(shè)備的低電平有效信號(hào) |
SPI 總線的架構(gòu)較為簡(jiǎn)單,由一個(gè)控制器和一個(gè)或多個(gè)外設(shè)組成。控制器負(fù)責(zé)發(fā)起通信、控制時(shí)鐘以及選擇與之通信的外設(shè)。該架構(gòu)支持三種主要配置:
SPI 支持四種工作模式,具體由時(shí)鐘極性 (CPOL) 和時(shí)鐘相位 (CPHA) 決定。表 3 所示的這些模式定義了時(shí)鐘信號(hào)的特性以及數(shù)據(jù)采樣的時(shí)序。
| 模式 | CPOL | CPHA | 說(shuō)明 |
|---|---|---|---|
| 模式 0 | 0 | 0 | 數(shù)據(jù)會(huì)在時(shí)鐘的上升沿進(jìn)行采樣,且時(shí)鐘空閑時(shí)為低電平。 |
| 模式 1 | 0 | 1 | 數(shù)據(jù)會(huì)在時(shí)鐘的下降沿進(jìn)行采樣,且時(shí)鐘空閑時(shí)為低電平。 |
| 模式 2 | 1 | 0 | 數(shù)據(jù)會(huì)在時(shí)鐘的下降沿進(jìn)行采樣,且時(shí)鐘空閑時(shí)為高電平。 |
| 模式 3 | 1 | 1 | 數(shù)據(jù)會(huì)在時(shí)鐘的上升沿進(jìn)行采樣,且時(shí)鐘空閑時(shí)為高電平。 |
由于 SPI 是一種同步全雙工通信協(xié)議,能夠?qū)崿F(xiàn)控制器與一個(gè)或多個(gè)外設(shè)之間的數(shù)據(jù)交換。TI 的 TXE8116/24 器件采用固定的 24 位 SPI 事務(wù)格式,按高位優(yōu)先 (MSB first) 的方式傳輸,且工作于 SPI 模式 0(時(shí)鐘極性 CPOL=0,時(shí)鐘相位 CPHA=0)。該器件支持全雙工操作,可同時(shí)交換輸入的命令幀與輸出的數(shù)據(jù)或狀態(tài)幀。每次 SPI 事務(wù)必須以 CS 信號(hào)拉低開(kāi)始,并在整個(gè) 24 位序列期間保持低電平。圖 2 展示了 TXE8116/24 器件中的 SPI 數(shù)據(jù)幀。
要向寄存器寫(xiě)入數(shù)據(jù),控制器需傳輸一個(gè) 24 位字,且 MSB(第 23 位)需設(shè)為 0。寄存器地址編碼在第 [22:16] 位中,第 [15:8] 位用于選擇目標(biāo) GPIO 端口或配置多端口模式。最后 8 位 [7:0] 則攜帶實(shí)際要寫(xiě)入的數(shù)據(jù)。
要從寄存器讀取數(shù)據(jù),主機(jī)需將第 23 位設(shè)為 1 并傳輸目標(biāo)寄存器地址。低 16 位可填充虛擬數(shù)據(jù)。在同一傳輸過(guò)程中,TXE8124 會(huì)通過(guò) POCI 線返回所尋址寄存器的當(dāng)前值。
| 參數(shù) | 說(shuō)明 | 典型值 |
|---|---|---|
| tSCLK | SPI 時(shí)鐘周期 (3.3V < VCC < 5.5V) | 100ns (10MHz) |
| tCSS/tCSH | CS 設(shè)置保持時(shí)間 | ≥50ns |
| tV(SDO) | POCI 在 SCLK 邊沿之后有效 | ≤27ns |
| tDIS(SDO) | CS 置為無(wú)效后,POCI 線呈高阻態(tài) | ≤50ns |
所有 SPI 事務(wù)都必須滿足《具有中斷輸出、復(fù)位輸入和 I/O 配置寄存器的 TXE81xx-Q1 汽車級(jí) 24 位 SPI 總線 I/O 擴(kuò)展器數(shù)據(jù)手冊(cè)》中規(guī)定的最低時(shí)序約束,以確保通信正常。