高級(jí)外設(shè)總線 (APB) 接口:架構(gòu)、協(xié)議與應(yīng)用解析(下)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
一、APB 協(xié)議詳解
讀操作流程
APB 讀操作的具體步驟如下:
SETUP 階段:主設(shè)備驅(qū)動(dòng) PADDR 信號(hào)指定要讀取的地址,驅(qū)動(dòng) PSELx 信號(hào)選擇目標(biāo)從設(shè)備,并將 PWRITE 信號(hào)置低表示讀操作。此時(shí) PENABLE 信號(hào)保持低電平。
ENABLE 階段:主設(shè)備將 PENABLE 信號(hào)置高,啟動(dòng)讀操作。從設(shè)備檢測(cè)到 PENABLE 信號(hào)有效后,將讀取的數(shù)據(jù)驅(qū)動(dòng)到 PRDATA 總線上,并將 PREADY 信號(hào)置高表示數(shù)據(jù)就緒。
數(shù)據(jù)采集:主設(shè)備在檢測(cè)到 PREADY 信號(hào)有效后,從 PRDATA 總線上采集數(shù)據(jù),完成讀操作。
寫操作流程
APB 寫操作的步驟如下:
SETUP 階段:主設(shè)備驅(qū)動(dòng) PADDR 信號(hào)指定要寫入的地址,驅(qū)動(dòng) PSELx 信號(hào)選擇目標(biāo)從設(shè)備,將 PWRITE 信號(hào)置高表示寫操作,并將寫入的數(shù)據(jù)驅(qū)動(dòng)到 PWDATA 總線上。此時(shí) PENABLE 信號(hào)保持低電平。
ENABLE 階段:主設(shè)備將 PENABLE 信號(hào)置高,啟動(dòng)寫操作。從設(shè)備檢測(cè)到 PENABLE 信號(hào)有效后,讀取 PWDATA 總線上的數(shù)據(jù),并將 PREADY 信號(hào)置高表示寫操作完成。
操作完成:主設(shè)備在檢測(cè)到 PREADY 信號(hào)有效后,認(rèn)為寫操作已完成,可以開始下一個(gè)傳輸周期。
等待狀態(tài)處理
當(dāng)從設(shè)備需要更多時(shí)間來完成操作時(shí) (如訪問慢速存儲(chǔ)器),可以通過拉低 PREADY 信號(hào)來插入等待狀態(tài)。主設(shè)備在 ENABLE 階段會(huì)持續(xù)監(jiān)測(cè) PREADY 信號(hào),只有當(dāng) PREADY 信號(hào)有效時(shí)才會(huì)完成當(dāng)前傳輸周期。這種機(jī)制使 APB 能夠適應(yīng)不同速度的外設(shè),提高了總線的靈活性。
錯(cuò)誤處理
APB 協(xié)議定義了 PSLVERR 信號(hào)用于指示傳輸過程中是否發(fā)生錯(cuò)誤。當(dāng)從設(shè)備檢測(cè)到錯(cuò)誤條件時(shí) (如訪問非法地址),可以將 PSLVERR 信號(hào)置高。主設(shè)備在檢測(cè)到 PSLVERR 信號(hào)有效后,可以采取相應(yīng)的錯(cuò)誤處理措施,如重試操作或報(bào)告錯(cuò)誤。
二、APB 與其他 AMBA 總線的比較
APB vs AHB
設(shè)計(jì)目標(biāo):APB 專為低速外設(shè)設(shè)計(jì),強(qiáng)調(diào)簡(jiǎn)單性和低功耗;AHB (Advanced High-performance Bus) 則針對(duì)高性能應(yīng)用,支持高速數(shù)據(jù)傳輸和突發(fā)傳輸。
傳輸機(jī)制:APB 采用兩階段傳輸機(jī)制,而 AHB 采用多周期傳輸機(jī)制,支持更復(fù)雜的傳輸模式。
信號(hào)復(fù)雜度:APB 的信號(hào)集相對(duì)簡(jiǎn)單,而 AHB 的信號(hào)集更復(fù)雜,包括更多的控制信號(hào)和狀態(tài)信號(hào)。
應(yīng)用場(chǎng)景:APB 適用于連接 UART、GPIO 等低速外設(shè);AHB 適用于連接 CPU、內(nèi)存控制器、高速外設(shè)等。
APB vs AXI
設(shè)計(jì)目標(biāo):AXI (Advanced eXtensible Interface) 是 AMBA 4.0 規(guī)范中引入的新一代總線協(xié)議,專為高性能、高帶寬應(yīng)用設(shè)計(jì),支持亂序傳輸和非阻塞事務(wù);APB 則保持了簡(jiǎn)單性和低功耗的特點(diǎn)。
傳輸方式:AXI 采用分離的地址和數(shù)據(jù)通道,支持并發(fā)傳輸;APB 則采用共享總線結(jié)構(gòu),地址和數(shù)據(jù)在同一總線上分時(shí)傳輸。
性能:AXI 的性能遠(yuǎn)高于 APB,適合用于高速數(shù)據(jù)傳輸和復(fù)雜系統(tǒng);APB 則適用于對(duì)性能要求不高的低速外設(shè)。
APB 的優(yōu)勢(shì)與局限性
優(yōu)勢(shì):結(jié)構(gòu)簡(jiǎn)單,實(shí)現(xiàn)成本低;功耗低,適合電池供電的嵌入式系統(tǒng);易于理解和使用,降低了開發(fā)難度。
局限性:傳輸效率較低,不適合高速數(shù)據(jù)傳輸;不支持并發(fā)傳輸和亂序處理,難以滿足復(fù)雜系統(tǒng)的需求。