Apb總線到dcr總線之間的總線橋實現方法
【專利摘要】本發明提供了一種APB總線到DCR總線之間的總線橋實現方法,包含如下內容:將接收的APB總線請求的地址信號,控制信號和數據信號轉換為符合DCR總線協議的地址信號,控制信號和寫數據信號;將接收的符合DCR總線協議的應答信號和讀數據信號轉換為符合APB總線協議的應答信號和讀數據信號;且正向數據通路和反向數據通路邏輯都需要有APB時鐘、復位信號和DCR時鐘、復位信號參與。本發明將APB總線標準通過該總線橋映射為DCR總線標準。特別地,當APB總線時鐘和DCR總線時鐘為異步關系時,該總線橋可以作為一個IP連接APB總線和DCR總線,將符合APB總線協議的讀寫請求轉換為符合DCR總線協議的讀寫請求。
【專利說明】
APB總線到DCR總線之間的總線橋實現方法
技術領域
[0001]本發明屬于總線技術領域,尤其是涉及一種APB總線到DCR總線之間的總線橋實現方法。【背景技術】[〇〇〇2]設備控制寄存器總線(Devices Control Register,DCR)和高級外圍總線(Advanced Peripheral Bus,APB)是片上系統模塊中重要的寄存器配置接口。在工業控制, 消費類電子等領域的SoC芯片使用的處理器中,AMBA總線架構的設計占據很大的份額,APB 總線是處理器訪問低速設備,訪問IP配置寄存器的重要接口。而隨著SoC芯片復雜性和規模性的增加,越來越多的具有DCR寄存器配置接口的IP需要應用在一個AMBA架構的S0C芯片中。[0003 ]為了能夠使處理器通過APB寄存器配置接口訪問具有DCR配置寄存器接口的IP,該IP的配置寄存器接口需要修改,以兼容APB總線協議。這樣的修改非常不利于IP的可重復使用。
【發明內容】
[0004]有鑒于此,本發明旨在提出一種APB總線到DCR總線之間的總線橋實現方法,可以將APB總線標準通過該總線橋映射為DCR總線標準。[〇〇〇5]為達到上述目的,本發明的技術方案是這樣實現的:
[0006]—種APB總線到DCR總線之間的總線橋實現方法,包含如下內容:
[0007]將符合APB總線協議的數據信號PWDATA直接映射為符合DCR總線協議的數據信號 DCR_DBUS0UT;[〇〇〇8]將符合總線協議的地址信號PADDR右移兩位得到符合DCR總線協議的地址信號 DCR_ABUS;[〇〇〇9]將符合APB總線協議的控制信號PWRITE與DCR時鐘域下有效訪問電平信號進行邏輯與運算得到符合DCR總線協議的控制信號DCR_WRI TE;
[0010]將符合Aro總線協議的控制信號PWRITE先進行邏輯非運算再與DCR時鐘域下有效訪問電平信號進行邏輯與運算得到符合DCR總線協議的控制信號DCR_READ;[〇〇11]當DCR_ACK信號有效時,將數據信號DCR_DBUSIN采樣到APB讀數據信號PRDATA;
[0012]其中,所述DCR時鐘域下有效訪問電平信號由DCR時鐘域下有效訪問脈沖信號進行設置,所述DCR時鐘域下有效訪問脈沖信號由DCR時鐘域下有效訪問電平信號和其延時一個 DCR時鐘周期的信號進行邏輯與運算得到。
[0013]進一步的,所述DCR時鐘域下有效訪問電平信號的第二清除信號為DCR_ACK。[〇〇14]進一步的,所述DCR時鐘域下有效訪問電平信號是APB時鐘域下有效訪問電平信號經過DCR時鐘雙采樣后的信號;[00彳5]當APB總線的控制信號PSEL和PENABLE同時有效時,得到有效訪問信號;有效訪問信號與其延時一個APB時鐘周期的信號產生APB時鐘域下有效訪問脈沖信號,APB時鐘域下有效訪問脈沖信號作為APB時鐘域下有效訪問電平的設置信號。[〇〇16]進一步的,DCR時鐘域下有效訪問電平信號經過APB時鐘信號雙采樣后的第一清除信號作為APB時鐘域下有效訪問電平的清除信號。[0〇17] 進一步的,APB時鐘域下響應信號PREADY由APB時鐘域下響應脈沖信號進行設置; 且時鐘域下響應信號PREADY的清除信號為PSEL與PENABLE取反后進行邏輯與運算得到的;[〇〇18] 其中,所述APB時鐘域下響應脈沖信號由APB時鐘域響應電平信號通過延時一個 APB時鐘周期的信號與APB時鐘域響應電平信號取反后的信號進行邏輯與運算得到。[〇〇19] 進一步的,將DCR_ACK脈沖信號轉換為DCR時鐘域響應電平信號,時鐘域響應電平信號是DCR時鐘域的響應電平信號經過兩個APB時鐘雙采樣后的信號。
[0020]進一步的,時鐘域響應電平信號經過兩個DCR時鐘兩級同步后的信號作為DCR 時鐘域的響應電平信號的清除信號。[0021 ]相對于現有技術,本發明具有以下優勢:[〇〇22] 本發明將APB總線標準通過該總線橋映射為DCR總線標準。當APB總線時鐘和DCR總線時鐘為異步關系時,該總線橋可以作為一個IP連接APB總線和DCR總線,將符合APB總線協議的讀寫請求轉換為符合DCR總線協議的讀寫請求。【附圖說明】
[0023]構成本發明的一部分的附圖用來提供對本發明的進一步理解,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
[0024]圖1為本發明實施例所述總線橋的接口信號圖;
[0025]圖2為本發明實施例所述總線橋應用的連接圖;[〇〇26]圖3為本發明實施例所述總線橋的原理框圖;[〇〇27]圖4為本發明實施例所述協議轉換正向數據通路的實現電路原理圖;圖5為本發明實施例所述協議轉換反向數據通路的實現電路原理圖。【具體實施方式】
[0028]需要說明的是,在不沖突的情況下,本發明中的實施例及實施例中的特征可以相互組合。[〇〇29]下面將參考附圖并結合實施例來詳細說明本發明。
[0030]本發明APB總線到DCR總線之間的總線橋實現方法,包含如下內容:[〇〇31]如圖3所示,所述總線橋包括協議轉換正向數據通路和協議轉換反向數據通路,所述協議轉換正向數據通路,用于將接收的APB總線請求的地址信號,控制信號和數據信號轉換為符合DCR總線協議的地址信號,控制信號和寫數據信號;協議轉換反向數據通路,用于將接收的符合DCR總線協議的應答信號和讀數據信號轉換為符合APB總線協議的應答信號和讀數據信號;且正向數據通路和反向數據通路邏輯都需要有APB時鐘、復位信號和DCR時鐘、復位信號參與。[〇〇32]所述總線橋的接口信號如圖1所示,由于DCR訪問全部為32比特訪問,所以APB接口符合APB3協議即可。
[0033]如圖4所示,所述協議轉換正向數據通路具體實現如下內容:[〇〇34]將符合APB總線協議的數據信號PWDATA直接映射為符合DCR總線協議的數據信號 DCR_DBUS0UT;[〇〇35]將符合總線協議的地址信號PADDR右移兩位得到符合DCR總線協議的地址信號 DCR_ABUS,因為DCR的地址信號具有空間地址關系的特點;[〇〇36]將符合總線協議的控制信號PWRITE與DCR時鐘域下有效訪問電平信號306進行邏輯與運算得到符合DCR總線協議的控制信號DCR_WRI TE;[〇〇37]將符合總線協議的控制信號PWRITE先進行邏輯非運算再與DCR時鐘域下有效訪問電平信號306進行邏輯與運算得到符合DCR總線協議的控制信號DCR_READ;其中 [〇〇38]由于協議保證在PREADY沒有有效之前,APB端地址、數據、控制信號必須保持不變,所以,最終DCR訪問的控制信號DCR_WRI TE,DCR_READ為DCR時鐘域下有效訪問電平信號 306和PWRITE做基本邏輯與、非操作的結果。[〇〇39]所述DCR時鐘域下有效訪問電平信號306由DCR時鐘域下有效訪問脈沖信號305進行設置,所述DCR時鐘域下有效訪問脈沖信號305由DCR時鐘域下有效訪問電平信號303和其延時一個DCR時鐘周期的信號進行邏輯與運算得到。
[0040] DCR時鐘域下有效訪問脈沖信號305的實現電路是DCR時鐘域下有效訪問電平信號 303通過一寄存器實現延時一個DCR時鐘周期后的信號一再與DCR時鐘域下有效訪問電平信號303通過一非門取反后的信號二通過一與門做邏輯與操作得到的;DCR時鐘域下有效訪問電平信號306的產生電路包括串聯的第三多路選擇器、第四多路選擇器二和寄存器三得到的,DCR時鐘域下有效訪問脈沖信號305作為第三多路選擇器的通道選擇信號,只有當DCR時鐘域下有效訪問脈沖信號305和第四多路選擇器的通道選擇信號均為0時,DCR時鐘域下有效訪問電平信號306保持不變。[〇〇411所述DCR時鐘域下有效訪問電平信號306的第二清除信號為DCR_ACK(307),第二清除信號為DCR_ACK(307)作為第四多路選擇器的通道選擇信號。[〇〇42]所述DCR時鐘域下有效訪問電平信號303是時鐘域下有效訪問電平信號302經過DCR時鐘雙采樣后的信號,解決異步時鐘之間數據交互的亞穩態問題。[〇〇43]所述時鐘域下有效訪問電平信號302是由時鐘域下有效訪問脈沖信號301 進行設置的。[〇〇44] 所述時鐘域下有效訪問脈沖信號301是由總線的控制信號PSEL和PENABLE 控制的,具體的,當總線的控制信號PSEL和PENABLE同時有效時,才是APB有效的訪問的開始,得到APB有效訪問信號300; APB有效訪問信號300與其延時一個APB時鐘周期的信號產生APB時鐘域下的有效訪問脈沖信號301,此脈沖信號作為APB時鐘域下有效訪問電平302的設置信號,為了保證APB時鐘和DCR時鐘任何頻率關系下此異步橋可以正確工作,APB時鐘域下有效訪問電平302是關鍵,這樣可以保證DCR時鐘能夠正確采樣。
[0045]具體的實現電路包括第一與門、寄存器一和第二與門,所述第一與門的兩個輸入端為APB總線的控制信號PSEL和PENABLE,第一與門的輸出信號通過寄存器一實現延時一個 APB時鐘周期后再與第一與門的輸出信號經過第二與門做邏輯與運算得到APB時鐘域下的有效訪問脈沖信號301;所述APB時鐘域下有效訪問電平信號302的產生電路包括串聯的第一多路選擇器、第二多路選擇器和寄存器二,所述APB時鐘域下有效訪問脈沖信號301作為第一多路選擇器通道選擇信號,當APB時鐘域下有效訪問脈沖信號301和第二多路選擇器的通道選擇信號均為〇時,APB時鐘域下有效訪問電平信號302不變。[〇〇46]另外,DCR時鐘域下有效訪問電平信號303經過時鐘信號雙采樣,即通過兩個寄存器后的第一清除信號304作為APB時鐘域下有效訪問電平302的清除信號,從而實現異步握手機制,具體電路實現為將第一清除信號304作為第二多路選擇器的通道選擇信號,當第一清除信號304為1時,APB時鐘域下有效訪問電平302在下一個APB周期為0。
[0047]所述協議轉換反向數據通路具體實現如下內容:[〇〇48]由于DCR讀數據信號DCR_DBUSIN在DCR_ACK有效時數據才有效,所以當DCR_ACK信號有效時,將數據信號DCR_DBUSIN采樣到APB讀數據信號PRDATA。如圖5所示,具體電路是通過串聯的多路選擇器和寄存器實現,DCR_ACK作為此多路選擇器的通道選擇信號,只有DCR_ ACK為1時,將DCR_DBUS IN通過寄存器映射為APB讀數據信號PRDATA。[〇〇49]時鐘域下響應信號PREADY的設置電路包括串聯的第七多路選擇器、第八多路選擇器和寄存器,由APB時鐘域下響應脈沖信號402通過作為第七多路選擇器的通道選擇信號,只有當APB時鐘域下響應脈沖信號402和第八多路選擇器的通道選擇信號均為0時,APB 時鐘域下響應信號PREADY保持不變;
[0050]因為PSEL有效的下一個APB時鐘周期PREADY就應該無效,所以時鐘域下響應信號PREADY的清除信號為PSEL與PENABLE取反后進行邏輯與運算得到的,作為第八多路選擇器的通道選擇信號。[〇〇51 ] 所述時鐘域下響應脈沖信號402由時鐘域響應電平信號401通過一寄存器實現的延時一個APB時鐘周期的信號與APB時鐘域響應電平信號401通過一非門取反后的信號進行邏輯與運算得到。[〇〇52]由于DCR_ACK是DCR時鐘域的脈沖信號,為了保證時鐘可以采到,將DCR_ACK脈沖信號轉換為DCR時鐘域響應電平信號400, DCR時鐘域響應電平信號400的是由串聯的第五多路選擇器、第六多路選擇器和寄存器四實現的,DCR_ACK作為第五多路選擇器的通道選擇信號,只有當DCR_ACK和第六多路選擇器的通道選擇信號均為0時,DCR時鐘域響應電平信號 400保持不變;時鐘域響應電平信號401是DCR時鐘域的響應電平信號400經過兩個寄存器實現APB時鐘雙采樣后的信號,解決異步時鐘之間數據交互的亞穩態問題。[〇〇53] 同時,時鐘域響應電平信號401經過兩個寄存器實現DCR時鐘兩級同步后的信號作為DCR時鐘域的響應電平信號400的清除信號,從而實現異步握手機制。[〇〇54]因為DCR端無錯誤情況發生,所以將PSLVERR固定為“0”。[〇〇55]本發明方法可以將APB總線標準通過該總線橋映射為DCR總線標準。特別地,當APB 總線時鐘和DCR總線時鐘為異步關系時,該總線橋可以作為一個IP連接APB總線和DCR總線, 將符合APB總線協議的讀寫請求轉換為符合DCR總線協議的讀寫請求。[〇〇56] 如圖2所示,APB總線Master(主機)發出讀或寫請求,該請求符合APB總線協議。該請求傳遞到DCR總線上的本發明方法實現的總線橋。該總線橋將接收符合APB總線協議的讀寫請求,并轉換為符合DCR總線協議的讀寫請求。轉換后的符合APB總線協議的讀寫請求通過APB總線傳遞到APB接口的設備。[〇〇57]以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【主權項】
1.APB總線到DCR總線之間的總線橋實現方法,其特征在于包含如下內容:將符合APB總線協議的數據信號PWDATA直接映射為符合DCR總線協議的數據信號DCR_ DBUSOUT;將符合總線協議的地址信號PADDR右移兩位得到符合DCR總線協議的地址信號DCR_ ABUS;將符合APB總線協議的控制信號PWRITE與DCR時鐘域下有效訪問電平信號(306)進行邏 輯與運算得到符合DCR總線協議的控制信號DCR_WRI TE;將符合APB總線協議的控制信號PWRITE先進行邏輯非運算再與DCR時鐘域下有效訪問 電平信號(306)進行邏輯與運算得到符合DCR總線協議的控制信號DCR_READ;當DCR_ACK信號有效時,將數據信號DCR_DBUSIN采樣到APB讀數據信號PRDATA;其中,所述DCR時鐘域下有效訪問電平信號(306)由DCR時鐘域下有效訪問脈沖信號 (305)進行設置,所述DCR時鐘域下有效訪問脈沖信號(305)由DCR時鐘域下有效訪問電平信 號(303)和其延時一個DCR時鐘周期的信號進行邏輯與運算得到。2.根據權利要求1所述的APB總線到DCR總線之間的總線橋實現方法,其特征在于:所述 DCR時鐘域下有效訪問電平信號(306)的第二清除信號為DCR_ACK(307)。3.根據權利要求1所述的APB總線到DCR總線之間的總線橋實現方法,其特征在于:所述 DCR時鐘域下有效訪問電平信號(303)是APB時鐘域下有效訪問電平信號(302)經過DCR時鐘 雙采樣后的信號;當APB總線的控制信號PSEL和PENABLE同時有效時,得到APB有效訪問信號(300);有效訪問信號(300)與其延時一個APB時鐘周期的信號產生APB時鐘域下有效訪問脈沖信號 (301),時鐘域下有效訪問脈沖信號(301)作為時鐘域下有效訪問電平(302)的設置信號。4.根據權利要求3所述的APB總線到DCR總線之間的總線橋實現方法,其特征在于:DCR 時鐘域下有效訪問電平信號(303)經過APB時鐘信號雙采樣后的第一清除信號(304)作為 APB時鐘域下有效訪問電平(302)的清除信號。5.根據權利要求1所述的APB總線到DCR總線之間的總線橋實現方法,其特征在于:APB 時鐘域下響應信號PREADY由時鐘域下響應脈沖信號(40 2)進行設置;且APB時鐘域下響 應信號PREADY的清除信號為PSEL與PENABLE取反后進行邏輯與運算得到的;其中,所述時鐘域下響應脈沖信號(40 2)由APB時鐘域響應電平信號(401)通過延時 一個APB時鐘周期的信號與APB時鐘域響應電平信號(401)取反后的信號進行邏輯與運算得 到。6.根據權利要求5所述的APB總線到DCR總線之間的總線橋實現方法,其特征在于:將 DCR_ACK脈沖信號轉換為DCR時鐘域響應電平信號(400)41?時鐘域響應電平信號(401)是 DCR時鐘域的響應電平信號(400)經過兩個APB時鐘雙采樣后的信號。7.根據權利要求6所述的APB總線到DCR總線之間的總線橋實現方法,其特征在于:APB 時鐘域響應電平信號(401)經過兩個DCR時鐘兩級同步后的信號作為DCR時鐘域的響應電平 信號(400)的清除信號。
【文檔編號】G06F13/40GK105955909SQ201610260211
【公開日】2016年9月21日
【申請日】2016年4月22日
【發明人】王勇, 鄭茳, 肖佐楠
【申請人】天津國芯科技有限公司