劉鐘宇
(中國電子科技集團公司第四十七研究所,沈陽110032)
嵌入式CPU總線接口單元設計
劉鐘宇
(中國電子科技集團公司第四十七研究所,沈陽110032)
隨著嵌入式技術的不斷發展,對嵌入式CPU的要求越來越高,而總線接口單元是嵌入式CPU不可或缺的重要組成部分,它為嵌入式CPU和外設及存儲器之間提供了接口控制,是決定系統性能的重要因素。深入了解總線接口單元的基本結構和設計方法對嵌入式的開發大有好處。
總線接口單元;處理器;片上系統;主機;從機
AHB是基于集中多總線機制的,這使得AHB總線可以在比較高的時鐘頻率下運行。一個以AMBA AHB為系統總線架構的SoC,一般來說包含了高性能的系統總線與低功耗的外設總線。AHB系統總線負責連接嵌入式處理器與DMA控制器,片上存儲器和其他接口外設。而外設總線則用來連接系統的周邊組件,其協議相對AHB來講較為簡單,與AHB之間則通過橋相連。
AHB系統由主機,從機,AHB總線接口邏輯三部分組成。整個AHB總線上的傳輸都是由主機所發出,由從機負責響應。
AHB之所以會需要仲裁器,是因為它支持多個主機,因此需要仲裁器來仲裁。而譯碼器則負責地址譯碼,從多個從機中選擇要響應傳輸的從機。兩個選擇器負責總線路由,將總線上的信號在主機和從機中傳送。圖1介紹了AHB大概的總線互聯網絡。

圖1 AHB總線互聯網絡
3.1 AHB總線接口單元時序分析
經過對AHB總線協議的詳細研究,嵌入式微處理器中的總線接口單元時序如圖2所示。

圖2 BIU接口時序圖
首先討論不使用cache(高速緩沖存儲器)的總線訪問操作模式。有兩種情況不會使用cache而直接通過總線操作:一是外部存儲器的請求在一個不可cache的區域;二是cache沒有使能。連續取指會做成不連續的讀操作。下面討論使用cache的總線訪問操作模式。如果外部存儲器請求到可cache區域且失效,處理器會完成一個行取值填充的傳輸。
下面是從機傳輸響應操作模式。主機發起傳輸后,從機的響應決定傳輸如何繼續。從機傳輸響應類型如表1所示。

表1 從機響應類型
3.2 AHB總線接口單元的模塊劃分和設計
BIU主要劃分為8個模塊,包括地址信號生成模塊、控制信號生成模塊、數據信號生成模塊、使能信號生成模塊、地址控制信號仲裁模塊、寫數據信號仲裁模塊、Split/retry邏輯模塊、對內接口信號生成模塊。其結構框圖如圖3所示。
地址信號生成模塊:地址在時鐘上升沿產生,包括三類地址,SRADDR1是第一個split(傳輸斷開)響應的保持地址,SRADDR2是第二個split響應的保持地址,NextAddr是地址仲裁產生的核或cache地址。結構如圖4所示。
控制信號生成模塊:控制信號生成模塊中按結構分成兩類控制信號,一類包括HWRITE、HSIZE及HPROT信號,它們有著與地址信號生成邏輯相似的結構。包括HTRANS、HBURST、HBUSREQ信號,它們由狀態機時序結構實現。

圖3 BIU硬件結構框圖

圖4 BIU地址寄存器
(1)傳輸類型信號狀態機
這個狀態機用于生成傳輸類型信號HTRANS,包括:IDLE(空閑)、NSEQ(單個傳輸)和SEQ(連續傳輸)。
(2)傳輸個數信號狀態機
這個狀態機用于生成傳輸個數信號HBURST,包括:未定義長度(INCR)、單個(SINGLE)、4個(INCR4)和8個(INCR8)。
(3)請求信號狀態機
這個狀態機用于生成BIU的請求信號HBUSREQ。REQ、LAST和SINGLE狀態都生成HBUSREQ信號,IDLE狀態不生成HBUSREQ信號。
數據信號生成模塊:BIU有兩類數據,一類是讀入數據,一類是寫出數據。讀入數據從外部存儲器讀入,通過BIU分別輸出到DEXT、IEXT兩個模塊,信號是DBIURD、IBIURD。寫出數據從內部寫入,通過BIU輸出到外部存儲器,信號是HWDATA。結構如圖5所示。
使能信號生成模塊:使能信號狀態機是標志當前總線工作狀態的,總線傳輸時的狀態是ACTIVE,空閑時的狀態是IDLE。

圖5 寫出數據寄存器
地址控制信號仲裁模塊:BIU對地址和控制信號通過仲裁模塊進行選擇輸入。仲裁原則是先數據后指令,先核后cache。結構如圖6所示。

圖6 地址及控制信號仲裁器示意圖
寫數據仲裁模塊:BIU的寫數據由核與cache提供,通過寫信號仲裁器選擇輸出NextWD。如圖7所示。

圖7 寫數據信號仲裁器示意圖
SPLIT/RETRY(傳輸斷開和重試)邏輯模塊:這部分邏輯用于產生SPLIT/RETRY狀態后地址和控制信號狀態。當傳輸可以繼續后,上一次傳輸未成功的地址和控制信號要進行重發。
反饋信號生成模塊:BIU的輸出信號有一部分需要反饋給內部模塊,包括DEXT、IEXT、DCACHE、 ICACHE等模塊。該模塊向其他內部模塊產生應答、準備、出錯等反饋信號。
3.3 驗證平臺建立
對于功能驗證,采用的驗證平臺為能夠組成最小系統的嵌入式平臺。連接CPU、仲裁器、譯碼器、選擇器、LED、Flash存儲器、Flash控制器、PSRAM存儲器和PSRAM控制器等部件。驗證過程是在復位之后進入工作狀態,將Flash中的程序搬運到PSRAM中,然后執行PSRAM中的程序。圖8為驗證平臺結構圖。

圖8 驗證平臺結構框圖
主要介紹了基本的AHB協議,由于AHB的復雜性,因此也探討了一些AHB重要的規范和特性,并重點介紹了在嵌入式微處理器中AHB總線接口單元的設計。希望可以為嵌入式處理器的設計工程師帶來一定的幫助。
[1]Steve Furber著.ARM SoC體系結構[M].田澤,于敦山,盛世敏,譯.北京:北京航空航天大學出版社,2002.
[2]杜春雷.ARM體系結構與編程[M].北京:清華大學出版社,2003.
Design on BIU of Built-in CPU
LIU Zhong-yu
(The 47th Research Institute of China Electronics Technology Group Corporation,Shenyang 110032,China)
According to the development of built-in technology,the requirement for the built-in CPU is getting higher and higher.The BIU,as the important port,provides the interface between CPU and peripheral equipmentwhich controls the capability of the system.It is useful for development of BIU to deeply study its structure and design.
BIU;CPU;SoC;Master;Slave
10.3969/j.issn.1002-2279.2014.04.004
TN4
:B
:1002-2279(2014)04-0012-03
劉鐘宇(1981-),男,遼寧沈陽人,學士學位,工程師,主研方向:集成電路設計及驗證。
2014-01-17