專利名稱:一種基于amba總線的8051系列微處理器應用系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及一種基于32位AMBA總線的8位微處理器應用系統(tǒng),具體涉及一種基于AMBA總線的8051系列微處理器應用系統(tǒng)。
背景技術:
通常系統(tǒng)芯片SOC設計中利用總線的分層技術以使得各種不同特性的模塊與總線更好的相連接,片上總線(on-chip bus)是SOC集成系統(tǒng)的互連結構,一般分為系統(tǒng)總線(system bus)與外圍總線(peripheral bus)兩部分。系統(tǒng)總線可認為是處理器核與系統(tǒng)模塊相連的中樞,負責主系統(tǒng)初始化、主系統(tǒng)之間以及與系統(tǒng)其他模塊的數(shù)據(jù)傳輸,需要總線仲裁來控制多個請求信號。從系統(tǒng)只響應數(shù)據(jù)請求。外圍總線往往是為了滿足功耗、便攜性、重用性等方面的特別要求,提供低帶寬的接口,掛接低速從設備。系統(tǒng)總線與外圍總線之間通過橋接器(Bridge)相連。
在通常的片上總線結構中,由于系統(tǒng)總線只有一個,數(shù)據(jù)傳輸至少有控制傳輸和數(shù)據(jù)傳輸兩個部分,不可避免的要發(fā)生犧牲高速的數(shù)據(jù)傳輸來進行相應的控制傳輸;低速外設的訪問也必須由系統(tǒng)總線的介入才能完成,造成高速系統(tǒng)總線要花費額外的時間來等待其信號到低速的外圍總線的轉換,接下來的高速數(shù)據(jù)傳輸必須等待外圍總線結束傳輸。
8051系列微處理器,由于它的廣泛使用、成熟的技術以及價格的優(yōu)勢,設計開發(fā)以其為內核的SOC,不僅提供了有效的解決方案,同時縮短設計周期,增加市場競爭力。但是其性能不夠出色,采用通常的總線結構已不能滿足現(xiàn)代高速大批量的數(shù)據(jù)傳輸。因此被許多高端的芯片摒棄,取而代之的是更高性能的微處理器,如ARM系列處理器。
發(fā)明內容
本發(fā)明的目的在于克服上述論述中的不足之處,應用低端的8051系列微處理器(8位微處理器)來實現(xiàn)高性能的芯片,提供一個基于AMBA總線(32位總線)的8051系列微處理器應用系統(tǒng)。
為達到上述目的,本發(fā)明采用的技術方案是一種基于AMBA總線的8051系列微處理器應用系統(tǒng),AMBA總線結構包含AHB總線和APB總線,AHB總線到APB總線設有第一橋接器;基于AMBA總線結構,以8051系列微處理器作為總線控制單元,進行如下改造(1)、將APB總線作為系統(tǒng)總線,在8051系列微處理器的總線到APB總線間設置第二橋接器來完成8051系列微處理器信號到APB總線轉換;所述第二橋接器包含a)寄存器組,該寄存器組包含三個基地址寄存器,用來進行8051系列微處理器地址到APB總線系統(tǒng)的地址擴展;b)模塊選擇邏輯,該邏輯根據(jù)應用系統(tǒng)對每個模塊地址空間大小和APB基地址的設置采用函數(shù)的方法對地址譯碼,而后給出APB總線模塊的選擇信號;c)傳輸狀態(tài)機,包括空閑、建立、使能、完成四個狀態(tài),根據(jù)8051系列微處理器外部數(shù)據(jù)存取和APB數(shù)據(jù)存取的時序特征,將8051系列微處理器外部12周期的數(shù)據(jù)存取轉化為具有等待周期的APB數(shù)據(jù)存取,地址和其他轉換過的控制信號將在傳輸狀態(tài)機邏輯的控制下傳輸?shù)紸PB總線;d)傳輸控制邏輯,該邏輯根據(jù)8051系列微處理器總線和APB總線的控制信號和數(shù)據(jù)信號,對總線的訪問進行控制;(2)、在APB總線到第一橋接器和第二橋接器之間設置一個對APB總線訪問的多路選擇器,用于支持AHB總線橋接器和8051系列微處理器對APB總線的二選一訪問,其中8051系列微處理器作為默認的APB總線主設備;(3)、給掛接在AHB總線上的模塊添加APB總線接口,使AHB總線上的模塊在保持與AHB總線連接同時,通過APB總線接口連接在APB總線上,使8051系列微處理器能夠通過APB總線配置和控制AHB總線上的模塊,同時將8051系列微處理器到APB總線的訪問與AHB總線上的高速數(shù)據(jù)傳輸相分離;(4)、8051系列微處理器的地址映射方案如下a)8051系列微處理器的外部數(shù)據(jù)存儲空間的一部分分配給APB系統(tǒng),用來和APB系統(tǒng)以及AHB系統(tǒng)交換數(shù)據(jù);b)外部數(shù)據(jù)存儲空間到APB地址空間的擴展是通過第二橋接器中的三個基地址寄存器將8051系列微處理器分配給APB系統(tǒng)的外部數(shù)據(jù)存儲空間擴展到APB系統(tǒng)的地址空間,PADDR[310]={APBA2,APBA1,APBA0[78-N],RAMADDR[15-N0]}其中,PADDR[310]指APB總線的地址信號,APBA2,APBA1,APBA0三個寄存器分別代表第二橋接器中的三個8位的基地址寄存器的值,RAMADDR代表8051系列微處理器給出的外部數(shù)據(jù)地址,該方法可以將APB地址最大擴展為4G,N根據(jù)8051系列微處理器分配給APB系統(tǒng)的空間大小變化,見下表;
c)32位的AHB系統(tǒng)和8位寬的APB系統(tǒng)有著獨立的地址空間,系統(tǒng)分配每個模塊的空間大小和每個模塊的基地址,這些地址空間是由可綜合的參數(shù)化的邏輯實現(xiàn)的。
上述技術方案中的有關內容解釋如下1、上述方案中,“AMBA”為先進微控制器總線體系結構;“AHB”為先進高性能總線;“APB”為先進外設總線。
2、上述方案中,AHB總線上的模塊添加APB總線接口,用來實現(xiàn)模塊的兩個總線訪問(即AHB總線和APB總線的訪問),依據(jù)實際應用有下面三種情況a)對于具有32位APB接口的硬核模塊,需要設置8到32位的APB接口模塊;b)對于只具有AHB接口的硬核模塊,需要設置提供APB接口和仲裁兩個總線的接口模塊;c)對于非硬核的AHB模塊需要根據(jù)APB總線協(xié)議添加相應的APB接口。
3、上述方案中,需要設置程序存儲管理邏輯,負責處理8051系列微處理器的1周期的內部數(shù)據(jù)讀取、4周期的指令讀取和12周期的外部數(shù)據(jù)訪問,其中前面兩種訪問通過該邏輯直接和8051系列微處理器配備的專用存儲器相連,而12周期的外部讀寫由其傳送給第二橋接器完成。
4、上述方案中,為了處理AHB總線和APB總線同時訪問一個模塊的情況,上述8051系列微處理器的地址映射方案的內容還應該包括對具有APB接口的AHB總線上的模塊設置地址訪問的優(yōu)先級,即AHB系統(tǒng)和APB系統(tǒng)兩者同時對一個具有APB接口的AHB總線上的模塊進行訪問時,需要設置優(yōu)先級。
本發(fā)明的設計原理是參見附圖1所示,一種基于AMBA總線的8051微處理器應用系統(tǒng)設計框圖,基于AMBA總線結構,通過在AMBA總線結構中添加一個專用的APB多路選擇器MUX,并設置8位微處理器總線到AMBA的APB總線第二橋接器512APBBridge,使得8位微處理器集成到AMBA總線結構中的APB總線系統(tǒng)中。
由圖1可以看出,APB總線系統(tǒng)不再是只通過AHB總線進行訪問,系統(tǒng)中原來的第一橋接器AHB2APBBridge的位置設置有一個專用的多路選擇器MUX,來支持兩個APB主控制設備對總線的訪問。一個主控制設備是原來意義上的AHB總線到APB總線的第一橋接器AHB2APBBridge,另一個是低速的8051系列微處理器,該微處理器由一個其總線到APB總線的第二橋接器512APBBridge完成微處理器的信號到APB的轉換。APB總線依舊遵循單主控制設備系統(tǒng),多路選擇器MUX在同一時刻只允許一個總線主控制設備連接到APB總線上,可以根據(jù)需要定義兩者的優(yōu)先級。這樣的結構顯得更為靈活,不僅依舊可以通過AHB總線訪問APB總線,更重要的是APB總線有了專門的主控制設備來控制總線的操作,可以完全獨立于AHB系統(tǒng),使得AHB總線上的高速數(shù)據(jù)傳輸和APB總線上的低速數(shù)據(jù)傳輸能夠并行進行。
AHB系統(tǒng)仍然由總線主控制設備、總線從設備和控制部分組成。不同的是,總線中控制設備和總線從設備可以根據(jù)需要同時跟APB總線進行連接,由APB總線系統(tǒng)負責這些模塊的配置和控制,和AHB系統(tǒng)中的高速數(shù)據(jù)傳輸相分離,并且各個模塊之間可以很方便的進行直接的數(shù)據(jù)交換。
由于上述技術方案運用,本發(fā)明與現(xiàn)有技術相比具有下列優(yōu)點和效果1、本發(fā)明將低速的8051系列微處理器應用于32位的高速AMBA總線結構中構成一個應用系統(tǒng),在這樣的應用系統(tǒng)中,低速的8051系列微處理器已足夠滿足控制信息的傳輸,而8051系列微處理器,外圍模塊和接口邏輯連接在一起,來實現(xiàn)該系統(tǒng)的特性——支持高速的大流量數(shù)據(jù)傳輸,使芯片達到較高的性價比。
2、本發(fā)明打破了AMBA的AHB總線作為系統(tǒng)總線的常規(guī)做法,通過設計第二橋接器,將8051系列微處理器應用到AMBA的APB總線系統(tǒng)中,使得APB總線系統(tǒng)獨立于AHB總線系統(tǒng),成為芯片的系統(tǒng)總線。
3、本發(fā)明將APB系統(tǒng)獨立,實現(xiàn)AHB總線系統(tǒng)和APB總線系統(tǒng)的并行工作,高速的數(shù)據(jù)傳輸?shù)耐瑫r可以進行低速的數(shù)據(jù)傳輸,提高了總線的帶寬。
4、本發(fā)明給AHB總線上的模塊添加了APB總線接口,AHB總線系統(tǒng)中的模塊可以同時連接到APB總線系統(tǒng)中,由APB總線系統(tǒng)負責這些模塊的配置和控制,和AHB系統(tǒng)中的高速數(shù)據(jù)傳輸相分離。在高速數(shù)據(jù)傳輸進行的同時,配置好下一次數(shù)據(jù)傳輸所需要的信息,數(shù)據(jù)傳輸可以不間斷地進行,提高了帶寬和總線的靈活性。
5、本發(fā)明對AMBA的總線結構進行特別的改進和設計,發(fā)明了基于AMBA總線的8051系列微處理器應用系統(tǒng)。該發(fā)明能夠很好的實現(xiàn)上面分析的情況,將8051系列微處理器集成到采用AMBA總線的芯片中,并且實現(xiàn)數(shù)據(jù)傳輸和控制傳輸流水作業(yè)和高低速數(shù)據(jù)傳輸?shù)牟⑿泄ぷ鳎岣吡讼到y(tǒng)的性能和靈活性。并且這樣的設計能夠很方便的實現(xiàn)AHB系統(tǒng)中各個模塊之間數(shù)據(jù)的直接交換,滿足了面向高速數(shù)據(jù)傳輸?shù)腟OC系統(tǒng)的需要。
附圖1為本發(fā)明應用系統(tǒng)框圖;附圖2為本發(fā)明實施例芯片的系統(tǒng)結構框圖;附圖3為本發(fā)明8051系列微處理器總線到AMBA的APB總線的第二橋接器單元實現(xiàn)框圖;附圖4為本發(fā)明8051系列微處理器到第二橋接器的傳輸狀態(tài)機狀態(tài)轉移圖。
具體實施例方式
下面結合附圖及實施例對本發(fā)明作進一步描述實施例參見附圖2所示,是應用本發(fā)明所提出的一種基于AMBA總線的8051微處理器應用系統(tǒng)設計的一款實施例芯片。該實施例采用8051系列的一款低速8位微處理器作為芯片的核,由AMBA總線作為整個芯片的總線,根據(jù)本發(fā)明的方法用專用的多路選擇器MUX、第二橋接器512APBBridge將8051微處理器集成到AMBA總線結構中,與DMA(直接存儲器存取)、SRAM(靜態(tài)存儲器)、USBC(通用串行總線控制器)、NFC(與非型閃存控制器)等AHB總線上的模塊和GPIO(通用輸入輸出設備)、I2C(內部集成電路總線接口)、EIC(外部中斷控制器)、SCM(系統(tǒng)控制模塊)等APB總線模塊構成了該款實施例。
一.系統(tǒng)總體設計附圖2是該款實施例芯片的結構示意圖。AHB總線系統(tǒng)進行高速數(shù)據(jù)傳輸,DMA和TIC(Test Interface Controller)是該系統(tǒng)中的兩個總線主控制設備,USBC、SDDC、SDDC、NFC是該系統(tǒng)的總線從設備,另外基于對芯片可擴展性的考慮,根據(jù)需要該AHB總線系統(tǒng)可支持各16個總線主控制設備和總線從設備,并設計了虛擬的總線主控制設備和默認的總線從設備。在實施例芯片系統(tǒng)正常運行的情況下,DMA模塊作為AHB總線主控制設備,負責USBC、SDDC、NFC、SRAM之間的數(shù)據(jù)通路,以及它們之間大數(shù)據(jù)量的交換。AHB總線系統(tǒng)中,數(shù)據(jù)傳輸通過DMA的控制,實現(xiàn)上述模塊的數(shù)據(jù)和SRAM數(shù)據(jù)的傳輸,更實現(xiàn)了不需要由SRAM做媒介USBC/SDDC,USBC/NFC,SDDC/NFC之間數(shù)據(jù)的直接交換,使系統(tǒng)成為一個高速高效的數(shù)據(jù)交換平臺。根據(jù)本發(fā)明設計的方法AHB總線的模塊USBC、SDDC、NFC、DMA、SRAM各模塊都擁有AHB總線和APB總線接口APBGasket,可以通過AHB和APB兩個總線訪問,在AHB總線系統(tǒng)中主要進行高速的數(shù)據(jù)傳輸。
APB總線系統(tǒng)成為該實施例芯片的系統(tǒng)總線,負責對系統(tǒng)各個模塊進行控制以及進行低速數(shù)據(jù)傳輸。采用了8051系列的微處理器通過第二橋接器512APBBridge作為APB的總線主控制設備,同時第一橋接器AHB2APBBridge的是APB的另外一個總線主控制設備,多路選擇器MUX對兩個總線主控制設備進行二選一的選擇,使得在通常情況下8位的8051系列微處理器控制APB總線,只有在AHB的TIC模塊作為總線主控制設備對整個實施例進行測試的時候,第一橋接器AHB2APBBridge才作為總線主控制設備接管APB的總線控制權,通過這種方式保證了同一時刻APB總線系統(tǒng)只有一個總線主控制設備。I2C、GPIO、EIC、SCM等模塊為APB總線系統(tǒng)中的總線從設備,系統(tǒng)控制模塊給芯片提供時鐘、復位以及不同的系統(tǒng)控制功能,EIC模塊協(xié)助8051系列微處理器采樣處理芯片所有模塊的中斷信號。DMA,NFC,USBC等模塊同樣也是APB系統(tǒng)中的總線從設備,8位微處理器在APB總線域中對他們進行寄存器的讀寫配置。
該款實施例芯片運用了本發(fā)明中提到的地址映射方法,AHB和APB兩個系統(tǒng)有著獨立的地址空間,通過合理的設計實現(xiàn)了完全分離,8051系列微處理器通過對其外部地址空間實現(xiàn)對芯片系統(tǒng)的訪問。
該款實施例芯片AHB總線系統(tǒng)中的DMA模塊進行AHB的高速總線傳輸?shù)耐瑫r,8051系列微處理器可以對兩個總線系統(tǒng)中的模塊進行配置,從而APB系統(tǒng)中的I2C、GPIO模塊可以在AHB總線傳輸?shù)耐瑫r進行配置和數(shù)據(jù)傳輸。AHB系統(tǒng)中除了正在進行傳輸?shù)哪K,其他模塊都可以同樣在不打擾高速數(shù)據(jù)傳輸?shù)耐瑫r進行配置和讀寫。下面描述與該發(fā)明相關的該實施例芯片的設計實現(xiàn)。
下面對該實施例芯片的地址映射方法、涉及本發(fā)明的APB總線單元和8051微處理器應用到系統(tǒng)中的方法進行描述。
二.APB總線系統(tǒng)APB總線系統(tǒng)為該芯片的系統(tǒng)總線,負責對系統(tǒng)各個模塊進行控制以及進行低速數(shù)據(jù)傳輸。APB總線主設備選擇邏輯來選擇通過第二橋接器512APBBridge連接的8051系列微處理器或是第一橋接器AHB2APBBridge作為當時唯一的APB系統(tǒng)的總線主設備單元。8051系列微處理器外部設置一個專用的程序存儲控制器負責8051系列微處理器的存儲管理。DMA、NFC、USBC等模塊同樣也是APB系統(tǒng)中的總線從設備,8位的8051系列微處理器在APB總線域中對他們進行寄存器的讀寫配置。
1、APB總線多路選擇器MUX該模塊是非標準的APB器件,APB總線主設備選擇邏輯對兩個總線主控制設備進行選擇,使得在通常情況下8位的8051系列微處理器控制APB總線,只有在AHB的TIC模塊作為總線主控制設備對整個芯片進行測試的時候,第一橋接器AHB2APBBridge才作為總線主控制設備接管APB的總線控制權,通過這種方式保證了同一時刻APB總線系統(tǒng)只有一個總線主控制設備。
2、第二橋接器512APBBridge該橋接器起到連接APB總線系統(tǒng)和8051系列微處理器的作用,由APB總線模塊選擇邏輯、傳輸控制邏輯和傳輸狀態(tài)機組成,并且包含一組寄存器來完成APB域的基地址配置功能,圖3是第二橋接器512APBBridge的設計框圖。
a)APB總線模塊選擇邏輯根據(jù)地址給出相應的選擇信號。模塊選擇邏輯用來產生具體從設備的選擇信號。在模塊選擇邏輯中有每一個從設備的基地址,當8051系列微處理器發(fā)起一次訪問的時候,模塊選擇邏輯比較p_addr的LSB位(具體的LSB位是由系統(tǒng)集成進來的時候定義好的)和每一個從設備的基地址。只要他們相匹配,就說明有一個APB的訪問發(fā)起了。Apb_select和apb_module_select信號是模塊選擇邏輯輸出給傳輸狀態(tài)機的。Apb_select信號將在APB訪問開始的時候有效,而apb_module_select信號將會指出哪一個從設備被選擇。
b)傳輸控制邏輯根據(jù)需要存儲和產生相關的8051系列微處理器總線的地址和其他的總線信號。
c)傳輸狀態(tài)機第二橋接器512APBBridge中的狀態(tài)機用來控制8051系列微處理器訪問到APB總線訪問,地址和其他轉換過的控制信號將在該狀態(tài)機的控制下傳輸?shù)紸PB總線。傳輸狀態(tài)機包括空閑IDLE,建立SETUP,使能ENABLE,完成DONE四個狀態(tài),狀態(tài)轉移情況如圖4所示。當總線被復位或者總線上沒有傳輸?shù)臅r候,狀態(tài)機處于空閑IDLE狀態(tài),當總線上面發(fā)生了一次針對某一個APB域,包括橋接器和APB模塊的有效操作,此時內部信號滿足((~rd|~wr)&apb_access)的條件,第二橋接器512APBBridge將會進入建立SETUP狀態(tài),否則將維持空閑IDLE狀態(tài);在建立SETUP狀態(tài)中PSELx信號被置起,該狀態(tài)只維持一個周期,而后進入使能ENABLE狀態(tài);同樣一個周期后,狀態(tài)機由ENABLE狀態(tài)直接進入完成DONE狀態(tài);在完成DONE狀態(tài)中,當滿足(rd&wr)條件時,狀態(tài)機進入空閑IDLE狀態(tài),否則維持完成DONE狀態(tài),其中,rd和wr信號就是8051系列微處理器中的讀寫信號。
d)基地址配置寄存器組該寄存器組包含三個基地址寄存器APBA2、APBA1、APBA0,用來進行8051系列微處理器地址到APB總線系統(tǒng)的地址擴展。第二橋接器512APBBridge是由可綜合的參數(shù)化方法實現(xiàn)的,基地址配置寄存器組可以滿足APB系統(tǒng)的任何配置要求,支持一個虛擬的沒有限制的APB總線從設備個數(shù)。APBA0寄存器可以配置為支持APB地址空間從512B到32K的大小。APB總線系統(tǒng)的地址譯碼和從設備選擇所需的32位地址是由第二橋接器的基地址配置寄存器組和8051系列微處理器外部數(shù)據(jù)存儲器的地址組成。8051系列微處理器的外部數(shù)據(jù)地址空間擴展為APB地址空間是通過第二橋接器512APBBridge寄存器中的上述三個基地址配置寄存器來實現(xiàn)的。
PADDR[310]={APBA2,APBA1,APBA0[78-N],RAMADDR[15-N0]}其中,PADDR[310]是指APB總線的地址信號,APBA2、APBA1、APBA0三個寄存器分別代表第二橋接器512APBBridge中的三個8位的基地址寄存器的值,RAMADDR代表8051系列微處理器給出的外部數(shù)據(jù)地址,該方法可以將APB地址最大擴展為4G,N根據(jù)8051系列微處理器分配給APB系統(tǒng)的空間大小變化,該實施例芯片中,將N設為“1”來支持32K大小的APB地址空間。該地址空間對于8051系列微處理器來說是其外部數(shù)據(jù)地址空間從0x8000到0xFFFF。
表1 基地址配置寄存器組
3、AHB模塊的APB接口除了標準的APB模塊具有APB接口外,為了實現(xiàn)APB總線系統(tǒng)對AHB總線上的模塊進行控制,設置了AHB總線上模塊的APB接口用于提供APB總線的訪問。對于NFC、USBC、DMA模塊都需要具有APB接口,APB總線通過該接口對這些模塊進行配置。具體的設計需要根據(jù)情況來實現(xiàn)。
a)8到32位的APB Gasket該接口邏輯提供給原本32位APB接口的AHB模塊一個應用到發(fā)明中的8位APB總線的8位接口,即對于具有32位APB接口的硬核模塊,需要設置8到32位的APB接口模塊。該邏輯包含3個8位的寄存器,來儲存要寫入的數(shù)據(jù)的前三個字節(jié),當?shù)谒膫€字節(jié)寫入的時候,一起組成32位的數(shù)據(jù)傳給模塊原有的32位APB接口。例如要寫入0x33221100到DMA的地址為0x0000b000寄存器時,8051處理器需要先寫數(shù)據(jù)0x33到地址0xb003,0x22到地址0xb002,0x11到地址0xb001,最后將數(shù)據(jù)0x00寫入地址0xb000時該接口邏輯才會真正的將四個字節(jié)的數(shù)據(jù)寫給DMA模塊。
b)只具有AHB接口的硬核模塊的APB Gasket該接口邏輯要提供APB總線訪問模塊的接口,芯片中的該模塊采用的是只具有AHB接口的硬核,因此首先APB Gasket需要提供AHB模塊APB接口,其次需要仲裁兩個總線訪問同一模塊的情況。由于這個模塊的特殊性,當兩個總線同時對其訪問的時候,AHB總線具有優(yōu)先權,此時APB總線需要進入等待狀態(tài),對于不同的模塊優(yōu)先級的高低可以不同。該款實施例芯片中USBC模塊對應這種情況。
c)非硬核的AHB模塊的APB接口對于非硬核的AHB模塊來講,不必單獨添加一個APB Gasket,由于模塊邏輯可以修改,因此需要在該模塊的內部增加針對APB總線的接口邏輯,該邏輯同時完成兩個總線的訪問進行仲裁或區(qū)分。該款芯片中NFC模塊對應這種情況。
4、8051系列微處理器的程序存儲控制器PMC(Program MemoryController)在實施例芯片中該模塊負責處理芯片中的不同任務,連接程序存儲器、內部數(shù)據(jù)存儲器和外部數(shù)據(jù)存儲器的接口。PMC允許程序存儲器地址映射中的16塊4K大小的塊配置成為包含ROM或者SRAM。并且PMC允許程序存儲空間映射的第一個256字節(jié)映射為物理存儲器的地址是0x00或者0xff00。PMC在APB域中的空間大小為1K。PMC中設置了8個可訪問的寄存器單元。
表2 PMC可訪問的寄存器單元
a)RAM Address Register(RAMAU,RAMAL)RAMAU和RAMAL兩個寄存器和在一起是16位的地址ADDR[150],該地址指向64K的SRAM空間中。當RAMDA寄存器被訪問時,數(shù)據(jù)就會從該地址所指向的存儲器空間寫入或者讀出數(shù)據(jù)。任何一次RAMDA寄存器的訪問,都會使地址的值增加,當?shù)刂返闹禐?xffff時,再次的訪問將會使該地址的溢出為0。
b)RAM Enable Register(RAMEU,RAMEL)該寄存器的每一位對應一個4K大小的SRAM存儲塊。當該位被設置有效的時候,地址映射中相應的存儲塊就與SRAM相連,如果該位被清除,從4K存儲塊來的指令將會從ROM中讀取。如果SRAM或者ROM塊沒有物理實現(xiàn),將會返回數(shù)據(jù)0。RAMEL
的值如果改變,8051微處理器將會被重新復位,這樣8051微處理器將會從被選擇的存儲段開始引導,而這個復位不會影響到芯片的其他部分。
c)RAM Data Access Register(RAMDA)該寄存器為訪問16個SRAM塊的數(shù)據(jù)暫存空間,當該寄存器被寫操作的時候,該數(shù)據(jù)將會被存儲到RAM地址寄存器所對應的空間里;當該寄存器被讀操作的時候,由RAM地址寄存器所指向空間的數(shù)據(jù)將會被讀出。
d)Generate 8051 Reset(Mask)Register(GENDR)該寄存器可以屏蔽掉8051微處理器的復位操作,當GENDR為被置為有效的時候,RAMEL
的變化將引起8051微處理器的復位;當該位被清除的時候,RAMEL
的變化將不會引起8051微處理器的復位。
e)Vector Table Swap Register(TSWAP)該寄存器允許程序存儲空間應設的第一個256B的空間可以重新映射到最后一個256B的空間上去。當Swap為有效的時候,從地址空間0x0000到0x00FF的指令讀取將會被映射到0xFF00到0xFFFF空間去。
三.地址映射及其映射方法該款實施例芯片的地址區(qū)間被分為了五部分,64K大小的8051微處理器的程序存儲器,256B大小的8051微處理器內部數(shù)據(jù)存儲器,64K大小的8051微處理器的外部數(shù)據(jù)存儲器,4G/32K的8位APB系統(tǒng)區(qū)域,4G的32位AHB系統(tǒng)區(qū)域。其中,APB和AHB域分別擁有理論上為4G的地址空間。
對于該款實施例芯片,APB域實際只用到了32K,訪問這32K之外的空間是允許的,但是寫操作將被忽略而讀操作將會返回0x0數(shù)據(jù)。而AHB域的地址空間理論上可以擴展到整個4G大小,但該款實施例芯片的大部分AHB地址空間是空的,如果對這些地址空間進行訪問將會返回AHB域的錯誤。
1、地址擴展方法8051微處理器的外部數(shù)據(jù)地址空間擴展為APB地址空間是通過8051微處理器到APB的第二橋接器寄存器組的上述三個基地址配置寄存器來實現(xiàn)的。
PADDR[310]={APBA2,APBA1,APBA0[78-N],RAMADDR[15-N0]}。這樣可知,地址可擴展的最大空間是4G。N的變化是由8051微處理器分配給APB的外部存儲空間大小決定的。該實施例芯片中,將N設為“1”來支持32K大小的APB地址空間。該地址空間對于8051微處理器來說是其外部數(shù)據(jù)地址空間從0x8000到0xFFFF。
2、8051系列微處理器程序存儲器的地址映射該程序存儲器是8位寬,64KB深的存儲器,支持8051微處理器的內部和外部的指令存取。該存儲器由16個4KB大小的塊組成,每一塊都可以配置成為ROM和SRAM,會在下面的8051微處理器存儲空間管理器里面詳細描述。
3、8051系列微處理器的內部數(shù)據(jù)存儲器地址映射該處理器的內部數(shù)據(jù)存儲器是8位寬,256B深,由256Byte組成的SRAM,僅僅對8051微處理器的控制器可見。
4、8051系列微處理器的外部數(shù)據(jù)存儲器地址映射該處理器的外部數(shù)據(jù)存儲器是8位寬,64KB深,它的分配情況見表3。64K存儲空間的第一個2K空間分配給SRAM,最上面的32K空間通過第二橋接器512APBBridge分配給APB域。
表3 微處理器的外部數(shù)據(jù)存儲器地址映射表
5、APB總線域的地址映射APB域的地址映射如表4所示,APB總線從設備的基地址的設法,是為了使APB總線從設備的地址映射正好跟32K的8051微處理器的外部地址空間相匹配。APB總線在該款實施例芯片中采用了8位寬。DMA和USBC模塊的接口都是32位的,而APB總線為8位,因此該芯片設計了8位到32位數(shù)據(jù)的訪問接口。
表4 APB總線域地址映射表
6、AHB總線域的地址映射AHB域的地址映射如表5所示,該款實施例芯片的AHB總線是32位寬并且支持字、半字和字節(jié)的讀寫操作。AHB總線域和APB總線域的某些地址分配是重疊的,當APB和AHB都對一地址進行訪問時,通常情況下APB總線擁有優(yōu)先權,但對于USBC模塊來說,是AHB的優(yōu)先級高。
模塊SDDC、USBC、SRAM是APB和AHB總線都可以進行訪問的,DMA模塊是APB總線的總線從設備,但它又是AHB總線的總線主控制設備。NFC模塊同樣連接在兩個總線當中,該模塊在APB和AHB域中的地址相同,但是訪問的內容卻不同,APB總線訪問NFC模塊的寄存器,AHB接口來存取外部Flash傳輸?shù)臄?shù)據(jù)。
表5 AHB總線域的地址映射表
AHB總線域中存在一個APB窗口,總線的主控制設備同樣可以通過該窗口由第一橋接器AHB2APBBridge訪問APB域。當?shù)谝粯蚪悠鰽HB2APBBridge訪問時,它將接管APB總線,此時8051微處理器沒有對APB進行訪問。由于芯片的APB總線是8位寬,因此對于AHB總線的半字和字訪問,都將在高位缺省附為0。AHB總線域中的APB窗口地址和APB總線內部的地址映射除了多了一個偏移地址外是一致的。
7、上面的描述,可發(fā)現(xiàn)APB域的窗口和AHB域的地址區(qū)間是重疊的,但并不是說地址對于所有的設備都是一個或是相同的。例如NFC模塊是不同的,AHB訪問的時候,是通過地址0x0000_f000來訪問NFC的數(shù)據(jù)端口;APB訪問的時候是8051微處理器通過地址0xf000訪問NFC的控制寄存器。SRAM模塊是相同的,AHB通過地址0x0000_8000,或者是APB通過地址0x8000訪問,是一樣的。當AHB和APB同時訪問的時候,APB的優(yōu)先級要高,這時AHB總線處于等待狀態(tài)直到APB訪問結束。
上述實施例只為說明本發(fā)明的技術構思及特點,其目的在于讓熟悉此項技術的人士能夠了解本發(fā)明的內容并據(jù)以實施,并不能以此限制本發(fā)明的保護范圍。凡根據(jù)本發(fā)明精神實質所作的等效變化或修飾,都應涵蓋在本發(fā)明的保護范圍之內。
權利要求
1.一種基于AMBA總線的8051系列微處理器應用系統(tǒng),AMBA總線結構包含AHB總線和APB總線,AHB總線到APB總線設有第一橋接器,其特征在于基于AMBA總線結構,以8051系列微處理器作為總線控制單元,進行如下改造(1)、將APB總線作為系統(tǒng)總線,在8051系列微處理器的總線到APB總線間設置第二橋接器來完成8051系列微處理器信號到APB總線轉換;所述第二橋接器包含a)寄存器組,該寄存器組包含三個基地址寄存器,用來進行8051系列微處理器地址到APB總線系統(tǒng)的地址擴展;b)模塊選擇邏輯,該邏輯根據(jù)應用系統(tǒng)對每個模塊地址空間大小和APB基地址的設置采用函數(shù)的方法對地址譯碼,而后給出APB總線模塊的選擇信號;c)傳輸狀態(tài)機,包括空閑、建立、使能、完成四個狀態(tài),根據(jù)8051系列微處理器外部數(shù)據(jù)存取和APB數(shù)據(jù)存取的時序特征,將8051系列微處理器外部12周期的數(shù)據(jù)存取轉化為具有等待周期的APB數(shù)據(jù)存取,地址和其他轉換過的控制信號將在傳輸狀態(tài)機邏輯的控制下傳輸?shù)紸PB總線;d)傳輸控制邏輯,該邏輯根據(jù)8051系列微處理器總線和APB總線的控制信號和數(shù)據(jù)信號,對總線的訪問進行控制;(2)、在APB總線到第一橋接器和第二橋接器之間設置一個對APB總線訪問的多路選擇器,用于支持AHB總線橋接器和8051系列微處理器對APB總線的二選一訪問,其中8051系列微處理器作為默認的APB總線主設備;(3)、給掛接在AHB總線上的模塊添加APB總線接口,使AHB總線上的模塊在保持與AHB總線連接同時,通過APB總線接口連接在APB總線上,使8051系列微處理器能夠通過APB總線配置和控制AHB總線上的模塊,同時將8051系列微處理器到APB總線的訪問與AHB總線上的高速數(shù)據(jù)傳輸相分離;(4)、8051系列微處理器的地址映射方案如下a)8051系列微處理器的外部數(shù)據(jù)存儲空間的一部分分配給APB系統(tǒng),用來和APB系統(tǒng)以及AHB系統(tǒng)交換數(shù)據(jù);b)外部數(shù)據(jù)存儲空間到APB地址空間的擴展是通過第二橋接器中的三個基地址寄存器將8051系列微處理器分配給APB系統(tǒng)的外部數(shù)據(jù)存儲空間擴展到APB系統(tǒng)的地址空間,PADDR[31:0]={APBA2,APBA1,APBA0[7:8-N]RAMADDR[15-N:0]}其中,PADDR[31:0]是指APB總線的地址信號,APBA2,APBA1,APBA0三個寄存器分別代表第二橋接器中的三個8位的基地址寄存器的值,RAMADDR代表8051系列微處理器給出的外部數(shù)據(jù)地址,該方法可以將APB地址最大擴展為4G,N根據(jù)8051系列微處理器分配給APB系統(tǒng)的空間大小變化,見下表;
c)32位的AHB系統(tǒng)和8位寬的APB系統(tǒng)有著獨立的地址空間,系統(tǒng)分配每個模塊的空間大小和每個模塊的基地址,這些地址空間是由可綜合的參數(shù)化的邏輯實現(xiàn)的。
2.根據(jù)權利要求1所述的基于AMBA總線的8051系列微處理器應用系統(tǒng),其特征在于AHB總線上的模塊添加APB總線接口,依據(jù)實際應用有下面三種情況a)對于具有32位APB接口的硬核模塊,需要設置8到32位的APB接口模塊;b)對于只具有AHB接口的硬核模塊,需要設置提供APB接口和仲裁兩個總線的接口模塊;c)對于非硬核的AHB模塊需要根據(jù)APB總線協(xié)議添加相應的APB接口。
3.根據(jù)權利要求1所述的基于AMBA總線的8051系列微處理器應用系統(tǒng),其特征在于設置程序存儲管理邏輯,負責處理8051系列微處理器的1周期的內部數(shù)據(jù)讀取、4周期的指令讀取和12周期的外部數(shù)據(jù)訪問,其中前面兩種訪問通過該邏輯直接和8051系列微處理器配備的專用存儲器相連,而12周期的外部讀寫由其傳送給第二橋接器完成。
4.根據(jù)權利要求1所述的基于AMBA總線的8051系列微處理器應用系統(tǒng),其特征在于所述8051系列微處理器的地址映射方案的內容還包括對具有APB接口的AHB總線上的模塊設置地址訪問的優(yōu)先級,即AHB系統(tǒng)和APB系統(tǒng)兩者同時對一個具有APB接口的AHB總線上的模塊進行訪問時,需要設置優(yōu)先級。
全文摘要
一種基于AMBA總線的8051系列微處理器應用系統(tǒng),特征是基于AMBA總線結構,以8051系列微處理器作為總線控制單元,作如下改造(1)在微處理器的總線到APB總線間設置第二橋接器進行轉換;第二橋接器由寄存器組、模塊選擇邏輯、傳輸狀態(tài)機和傳輸控制邏輯構成;(2)在APB總線到第一橋接器和第二橋接器之間設置一個對APB總線二選一訪問的多路選擇器;(3)給掛接在AHB總線上的模塊添加APB總線接口;(4)微處理器的地址映射方案a)將外部數(shù)據(jù)存儲空間的一部分分配給APB系統(tǒng);b)外部數(shù)據(jù)存儲空間到APB地址空間的擴展通過第二橋接器中的寄存器組來實現(xiàn);C)AHB系統(tǒng)和APB系統(tǒng)有著獨立的地址空間,并由可綜合的參數(shù)化的邏輯實現(xiàn)。本發(fā)明將低速的8位微處理器應用于32位的高速AMBA總線結構中構成一個應用系統(tǒng),使芯片支持高速的大流量數(shù)據(jù)傳輸,達到較高的性價比。
文檔編號G06F13/40GK1763734SQ20051009544
公開日2006年4月26日 申請日期2005年11月10日 優(yōu)先權日2005年11月10日
發(fā)明者肖佐楠, 于麥口, 林雄鑫, 周焰超 申請人:蘇州國芯科技有限公司