欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種總線接口裝置和方法

文檔序號:6562844閱讀:407來源:國知局
專利名稱:一種總線接口裝置和方法
技術(shù)領(lǐng)域
本發(fā)明涉及總線接口技術(shù),尤其涉及一種總線接口裝置和方法。
背景技術(shù)
隨著信息處理技術(shù)的發(fā)展,通用的信息處理設(shè)備越來越被人們認可并被廣泛地應(yīng)用。例如,各種針對不同問題提供解決方案的處理器系統(tǒng)都按一定的標準規(guī)范做成了通用的芯片。只要處理器芯片與應(yīng)用系統(tǒng)的地址總線位寬與數(shù)據(jù)總線位寬都相互匹配,兩者之間既可以實現(xiàn)通信。因此,這些通用的處理器芯片被廣泛地應(yīng)用在各類系統(tǒng)中。
Locosto是德州儀器(TI)推出的集成了數(shù)字基帶和數(shù)字射頻的一種通用的單芯片基帶處理器。該產(chǎn)品作為新型的單芯片基帶處理系統(tǒng),不僅為低成本手機提供了數(shù)字射頻的解決方案,也為便攜式設(shè)備增加無線功能提供了良好的解決方案。Locosto具有16位的數(shù)據(jù)總線和24位的地址總線,且地址總線的低16位與數(shù)據(jù)總線復(fù)用。因此該芯片目前被廣泛地應(yīng)用在數(shù)據(jù)總線位寬為16位,地址總線位寬不超過24位的系統(tǒng)中。下面通過描述Locosto對16位寄存器和16位存儲器執(zhí)行的讀寫操作來說明Locosto與數(shù)據(jù)總線位寬為16位的系統(tǒng)之間的數(shù)據(jù)傳輸。
Locosto與16位寄存器之間的數(shù)據(jù)傳輸是異步的,既Locosto對寄存器的讀寫與時鐘信號無關(guān),完全由讀寫信號來控制。
圖1是Locosto對16位寄存器進行寫操作時的時序圖。如圖1所示,按從上到下的順序分別是Locosto片選信號CE、Locosto讀使能信號OE、Locosto寫使能信號WE、Locosto地址有效信號ADV、Locosto地址總線的高8位AB[23:16]和Locosto地址的低16位和數(shù)據(jù)復(fù)用的地址/數(shù)據(jù)總線AB/DB[15:0]。其中,CE、OE、WE和ADV都為低電平有效的信號。
圖1中,在CE低電平有效的條件下,ADV低電平有效時Locosto讀入有效的寄存器地址,AB[23:16]上傳送寄存器地址的高8位A[23:16],AB/DB[15:0]上傳送寄存器地址的低16位A[15:0]。此后,在WE為低電平,OE為高電平時,Locosto將數(shù)據(jù)寫入寄存器地址指示的存儲單元中,AB/DB[15:0]上傳送的是16位的寫數(shù)據(jù)D[15:0]。
圖2是Locosto對16位寄存器進行讀操作時的時序圖。如圖2所示,在CE低電平有效的條件下,ADV低電平有效時Locosto讀入有效的寄存器地址,AB[23:16]上傳送寄存器地址的高8位A[23:16],AB/DB[15:0]上傳送寄存器地址的低16位A[15:0]。此后,在OE為低電平,WE為高電平時,Locosto讀出寄存器地址指示的存儲單元中的數(shù)據(jù),AB/DB[15:0]上傳送的是16位的讀數(shù)據(jù)D[15:0]。
Locosto與16位的存儲器之間的數(shù)據(jù)傳輸采用高速的同步連續(xù)讀寫,這是一個多周期的按既定順序執(zhí)行的序列操作。
圖3是Locosto對16位存儲器進行寫操作時的時序圖。圖3中CKM是時鐘信號。如圖3所示,當CE低電平有效,并且ADV也為低電平有效時,Locosto在CKM的第一個上升沿鎖存即將要訪問的存儲器的地址,AB[23:16]上傳送存儲器地址的高8位A[23:16],AB/DB[15:0]上傳送存儲器地址的低16位A[15:0]。此次訪問的屬性由CKM第一個上升沿對應(yīng)的WE的值決定若WE是低電平,為寫操作;反之為讀操作。圖3中,當CKM的第一個上升沿到來時WE是低電平,因此是寫操作。鎖存地址并延遲三個時鐘周期后,以CKM的上升沿為參考沿,Locosto向地址指示的存儲器單元連續(xù)寫入四個16位的數(shù)據(jù),AB/DB[15:0]上依次傳送四個寫入存儲器的16位的數(shù)據(jù)D1[15:0]、D2[15:0]、D3[15:0]和D4[15:0]。
圖4是Locosto對16位存儲器進行讀操作時的時序圖。如圖4所示,當CE低電平有效,并且ADV也為低電平有效時,Locosto在CKM的第一個上升沿鎖存即將要訪問的存儲器單元的地址,AB[23:16]上傳送存儲器地址的高8位A[23:16],AB/DB[15:0]上傳送存儲器地址的低16位A[15:0]。圖4中,當CKM的第一個上升沿到來時WE是高電平,因此是讀操作。鎖存地址并延遲三個時鐘周期后,以CKM的上升沿為參考沿,Locosto從地址指示的存儲器單元中連續(xù)讀出四個16位的數(shù)據(jù),AB/DB[15:0]上依次傳送四個從存儲器讀出的16位的數(shù)據(jù)D1[15:0]、D2[15:0]、D3[15:0]和D4[15:0]。
綜上所述,Locosto由于具有16位的數(shù)據(jù)總線和24位的地址總線,因此能夠與數(shù)據(jù)總線位寬為16位,地址總線位寬不超過24位的系統(tǒng)實現(xiàn)數(shù)據(jù)通信。但是,當系統(tǒng)的數(shù)據(jù)總線位寬超過16位,地址總線位寬超過24位時,Locosto不能實現(xiàn)與該系統(tǒng)之間的數(shù)據(jù)傳輸。例如Locosto由于總線位寬不匹配而不能應(yīng)用到數(shù)據(jù)總線位寬和地址總線位寬都為32位的32位系統(tǒng)中。
同樣,當任意兩個系統(tǒng)的數(shù)據(jù)總線位寬不匹配、地址總線位寬不匹配或者數(shù)據(jù)和地址總線的位寬都不匹配時,這兩個系統(tǒng)之間都不能實現(xiàn)信息傳輸。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種總線接口裝置,使總線位寬不匹配的兩個系統(tǒng)之間能夠?qū)崿F(xiàn)信息傳輸。
本發(fā)明的另一目的在于提供一種總線接口方法,使總線位寬不匹配的兩個系統(tǒng)之間能夠?qū)崿F(xiàn)信息傳輸。
為達到上述目的,本發(fā)明的技術(shù)方案具體是這樣實現(xiàn)的本發(fā)明公開了一種總線接口裝置,該裝置連接總線位寬不匹配的第一系統(tǒng)和第二系統(tǒng),首先根據(jù)第一系統(tǒng)和第二系統(tǒng)的總線位寬比例確定分段傳輸?shù)拇螖?shù)n,之后根據(jù)傳輸次數(shù)n將第一系統(tǒng)總線上的信息傳輸?shù)降诙到y(tǒng)的總線上。
當所述第一系統(tǒng)具有低位寬總線,所述第二系統(tǒng)具有高位寬總線時,該裝置包括數(shù)據(jù)移位模塊,用于接收第一系統(tǒng)總線上的信息,并將分別在n次接收到的信息進行拼接處理后傳輸?shù)降诙到y(tǒng)的總線上。
當所述第一系統(tǒng)具有高位寬總線,所述第二系統(tǒng)具有低位寬總線時,該裝置包括數(shù)據(jù)移位模塊,用于接收第一系統(tǒng)總線上的信息,并將一次接收到的信息進行拆分處理后,分n次傳輸?shù)降诙到y(tǒng)的總線上。
該裝置進一步包括控制模塊,用于生成控制信號輸出至所述數(shù)據(jù)移位模塊;所述數(shù)據(jù)移位模塊,在接收到控制信號后,執(zhí)行所述的處理。
當所述具有低位寬總線的第一系統(tǒng)是Locosto,所述具有高位寬總線的第二系統(tǒng)是32位系統(tǒng),且Locosto對32位系統(tǒng)執(zhí)行寫操作時,所述數(shù)據(jù)移位模塊,接收Locosto的地址和數(shù)據(jù)復(fù)用的總線AB/DB[15:0]上傳送的高16位地址和低16位地址,并將兩個地址拼接成32位的地址,供32位系統(tǒng)的地址總線讀取;接收AB/DB[15:0]上傳送的高16位寫數(shù)據(jù)和低16位寫數(shù)據(jù),并將兩個數(shù)據(jù)拼接成32位的寫數(shù)據(jù),供32位系統(tǒng)的寫數(shù)據(jù)總線讀取。
上述裝置中,所述數(shù)據(jù)移位模塊包括32位地址移位寄存器,先接收所述AB/DB[15:0]上傳送的高16位地址,并存入自身的低16位存儲單元中,之后接收所述AB/DB[15:0]上傳送的低16位地址,并將所述高16位地址移入自身的高16位存儲單元、將接收到的低16位地址存入自身的低16位存儲單元后,供32位系統(tǒng)的地址總線讀?。?2位寫數(shù)據(jù)移位寄存器,先接收所述AB/DB[15:0]上傳送的高16位寫數(shù)據(jù),并存入自身的低16位存儲單元中,之后接收所述AB/DB[15:0]上傳送的低16位寫數(shù)據(jù),并將所述高16位寫數(shù)據(jù)移入自身的高16位存儲單元、將接收到的低16位寫數(shù)據(jù)存入自身的低16位存儲單元后,供32位系統(tǒng)的寫數(shù)據(jù)總線讀取。
當所述具有高位寬總線的第一系統(tǒng)是32位系統(tǒng),所述具有低位寬總線的第二系統(tǒng)是Locosto,且Locosto對32位系統(tǒng)執(zhí)行讀操作時,所述數(shù)據(jù)移位模塊,接收AB/DB[15:0]上傳送的高16位地址和低16位地址,并將兩個地址拼接成32位的地址,供32位系統(tǒng)的地址總線讀取;接收32位系統(tǒng)讀數(shù)據(jù)總線上的32位讀數(shù)據(jù),并拆分成高16位讀數(shù)據(jù)和低16位讀數(shù)據(jù)后,供所述AB/DB[15:0]依次讀取。
上述裝置中,所述數(shù)據(jù)移位模塊包括32位地址移位寄存器,先接收所述AB/DB[15:0]上傳送的高16位地址,并存入自身的低16位存儲單元中,之后接收所述AB/DB[15:0]上傳送的低16位地址,并將所述高16位地址移入自身的高16位的存儲單元、將接收到的低16位地址存入自身的低16位存儲單元后,供32位系統(tǒng)的地址總線讀取;32位讀數(shù)據(jù)移位寄存器,接收并寄存32位系統(tǒng)讀數(shù)據(jù)總線上的32位讀數(shù)據(jù),先供所述AB/DB[15:0]讀取自身高16位存儲單元中的高16位讀數(shù)據(jù),之后將自身低16位存儲單元中的低16位讀數(shù)據(jù)移入自身的高16位存儲單元后,供所述AB/DB[15:0]讀取。
該裝置進一步包括控制模塊,接收Locosto提供的信號并生成控制所述AB/DB[15:0]與所述數(shù)據(jù)移位模塊之間數(shù)據(jù)傳輸?shù)目刂菩盘枴⑸煽刂?2位系統(tǒng)讀寫的讀寫控制信號。
所述數(shù)據(jù)移位模塊進一步包括選通單元,所述控制模塊生成的控制信號通過選通單元來控制所述AB/DB[15:0]與所述數(shù)據(jù)移位模塊之間的數(shù)據(jù)傳輸。
該裝置進一步包括專用寄存器,用于存儲Locosto發(fā)送的訪問基地址和操作數(shù)據(jù)的長度,供32位系統(tǒng)讀取。
上述裝置可以集成到所述第一系統(tǒng)中,或集成到所述第二系統(tǒng)中,或設(shè)置在任意的第三方系統(tǒng)中。
本發(fā)明還公開了一種總線接口方法,該方法適用于總線位寬不匹配的第一系統(tǒng)和第二系統(tǒng),包括以下步驟A、根據(jù)第一系統(tǒng)和第二系統(tǒng)的總線位寬比例,確定分段傳輸?shù)拇螖?shù)n;
B、根據(jù)分段傳輸?shù)拇螖?shù)n,將第一系統(tǒng)總線上的信息傳輸?shù)降诙到y(tǒng)的總線上。
上述方法,當所述第一系統(tǒng)具有低位寬總線,所述第二系統(tǒng)具有高位寬總線時,步驟B中所述根據(jù)n將第一系統(tǒng)總線上的信息發(fā)送到第二系統(tǒng)的總線上包括接收第一系統(tǒng)總線上的信息,并將分別在n次接收到的信息進行拼接處理后傳輸?shù)降诙到y(tǒng)的總線上。
上述方法,當所述第一系統(tǒng)具有高位寬總線,所述第二系統(tǒng)具有低位寬總線時,步驟B中所述根據(jù)n將第一系統(tǒng)總線上的信息發(fā)送到第二系統(tǒng)的總線上包括接收第一系統(tǒng)總線上的信息,并將一次接收到的信息進行拆分處理后,分n次傳輸?shù)降诙到y(tǒng)的總線上。
上述方法中,所述信息是地址或數(shù)據(jù)。
上述方法,當所述第一系統(tǒng)是具有低位寬總線的Locosto,所述第二系統(tǒng)是具有高位寬總線的32位系統(tǒng),且Locosto對32位系統(tǒng)的寄存器執(zhí)行寫操作時,步驟A中所述n的值為2;步驟B中所述根據(jù)n將第一系統(tǒng)總線上的信息傳輸?shù)降诙到y(tǒng)的總線上的方法包括以下步驟a1、使Locosto的地址和數(shù)據(jù)復(fù)用的總線AB/DB[15:0]先后輸出高16位地址、高16位寫數(shù)據(jù)、低16位地址和低16位寫數(shù)據(jù);b1、將所述高16位地址和低16位地址拼接成32位的地址,供32位系統(tǒng)的地址總線讀??;將所述高16位寫數(shù)據(jù)和低16位寫數(shù)據(jù)拼接成32位的寫數(shù)據(jù),供32位系統(tǒng)的寫數(shù)據(jù)總線讀取。
步驟a1中所述通過AB/DB[15:0]先后輸出高16位地址、高16位寫數(shù)據(jù)、低16位地址和低16位寫數(shù)據(jù)是在Locosto的片選信號CE第一次有效的時段內(nèi),地址有效信號ADV有效時,AB/DB[15:0]上輸出高16位地址、寫使能信號WE有效時、AB/DB[15:0]上輸出高16位寫數(shù)據(jù);在CE第二次有效的時段內(nèi),ADV有效時,AB/DB[15:0]上輸出低16位地址;WE有效時,AB/DB[15:0]上輸出低16位寫數(shù)據(jù)。
上述方法,當所述第一系統(tǒng)是具有高位寬總線的32位系統(tǒng),所述第二系統(tǒng)是具有低位寬總線的Locosto,且Locosto對32位系統(tǒng)的寄存器執(zhí)行讀操作時,步驟A中所述n的值為2;步驟B中所述根據(jù)n將第一系統(tǒng)總線上的信息傳輸?shù)降诙到y(tǒng)的總線上的方法包括以下步驟a2、使所述Locosto的AB/DB[15:0]先后輸出高16位地址和低16位地址,并將高16位地址和低16位地址拼接成32位地址,供32位系統(tǒng)的地址總線讀?。籦2、將32位系統(tǒng)讀數(shù)據(jù)總線上的32位讀數(shù)據(jù)拆分成高16位讀數(shù)據(jù)和低16位讀數(shù)據(jù)后,先后通過所述AB/DB[15:0]讀入Locosto。
步驟a2中所述使Locosto的AB/DB[15:0]先后輸出高16位地址和低16位地址是在CE第一次有效的時段內(nèi),WE有效時,AB/DB[15:0]上輸出高16位地址;在CE第二次有效的時段內(nèi),ADV有效時,AB/DB[15:0]上輸出低16位地址;步驟b2中所述將高16位讀數(shù)據(jù)和低16位讀數(shù)據(jù)先后通過AB/DB[15:0]讀入Locosto是在CE第二次有效的時段內(nèi),在讀使能信號OE有效時,將高16位讀數(shù)據(jù)通過AB/DB[15:0]讀入Locosto;在CE第三次有效的時段內(nèi),在OE有效時,將低16位的讀數(shù)據(jù)通過AB/DB[15:0]讀入Locosto。
上述方法,當所述第一系統(tǒng)是具有低位寬總線的Locosto,所述第二系統(tǒng)是具有高位寬總線的32位系統(tǒng),且Locosto對32位系統(tǒng)的存儲器執(zhí)行連續(xù)寫操作時,步驟A中所述n的值為2;步驟B中所述根據(jù)n將第一系統(tǒng)總線上的信息傳輸?shù)降诙到y(tǒng)的總線上的方法包括以下步驟a3、將訪問基地址和操作數(shù)據(jù)長度寫入專用寄存器,供32位系統(tǒng)讀取;
b3、將16位的寫數(shù)據(jù)通過AB/DB[15:0]連續(xù)輸出,并依次將連續(xù)的兩個高16位寫數(shù)據(jù)和低16位寫數(shù)據(jù)拼接成32位的寫數(shù)據(jù)后,供32位系統(tǒng)的寫數(shù)據(jù)總線依次讀取。
步驟b3中所述將16位的寫數(shù)據(jù)通過AB/DB[15:0]連續(xù)輸出是,在CE有效的時段內(nèi),WE有效后,并延遲足夠的時鐘周期后,依次在時鐘信號CKM的時鐘沿將16位的寫數(shù)據(jù)通過AB/DB[15:0]連續(xù)輸出。
上述方法,當所述第一系統(tǒng)是具有高位寬總線的32位系統(tǒng),所述第二系統(tǒng)是具有低位寬總線的Locosto,且Locosto對32位系統(tǒng)的存儲器執(zhí)行連續(xù)讀操作時,步驟A中所述n的值為2;步驟B中所述根據(jù)n將第一系統(tǒng)總線上的信息傳輸?shù)降诙到y(tǒng)的總線上的方法包括以下步驟a4、將訪問基地址和操作數(shù)據(jù)長度寫入專用寄存器,供32位系統(tǒng)讀??;b4、將32位系統(tǒng)讀數(shù)據(jù)總線上的讀數(shù)據(jù),依次拆分成高16位讀數(shù)據(jù)和低16位讀數(shù)據(jù)后,通過AB/DB[15:0]連續(xù)讀入Locosto。
步驟b4中所述將拆分后的高16位讀數(shù)據(jù)和低16位讀數(shù)據(jù)通過所述AB/DB[15:0]連續(xù)讀入Locosto是,在CE有效的時段內(nèi),WE無效,并延遲足夠的時鐘周期后,依次在時鐘信號CKM的時鐘沿,將16位的讀數(shù)據(jù)通過AB/DB[15:0]連續(xù)讀入Locosto。
上述方法中,步驟A中所述根據(jù)第一系統(tǒng)和第二系統(tǒng)的總線位寬比例,確定分段傳輸?shù)拇螖?shù)n的方法是當?shù)谝幌到y(tǒng)和第二系統(tǒng)的總線中,高位寬總線的位寬與低位寬總線的位寬的比值為整數(shù)時,n直接等于所述比值;如果所述比值不為整數(shù),則n等于所述比值向上取整時的數(shù)值。
由上述技術(shù)方案可見,本發(fā)明提供的一種總線接口裝置和一種總線接口方法,具有以下優(yōu)點根據(jù)信息流向?qū)⑿畔⑦M行拼接或拆分后再傳送的方案,使得位寬不匹配的總線之間能夠?qū)崿F(xiàn)信息傳輸,進而使得總線位寬不匹配的系統(tǒng)之間能夠?qū)崿F(xiàn)信息傳輸。


圖1是Locosto對16位寄存器進行寫操作時的時序圖;圖2是Locosto對16位寄存器進行讀操作時的時序圖;圖3是Locosto對16位存儲器進行寫操作時的時序圖;圖4是Locosto對16位存儲器進行讀操作時的時序圖;圖5是本發(fā)明實施例一種總線接口裝置的結(jié)構(gòu)框圖;圖6是本發(fā)明實施例一種總線接口方法的流程圖;圖7是本發(fā)明實施例Locosto與32位協(xié)處理器的總線接口裝置的結(jié)構(gòu)框圖;圖8是Locosto通過圖5所示的總線接口裝置對32位協(xié)處理器的寄存器實現(xiàn)異步寫操作時的時序圖;圖9是Locosto通過圖5所示的總線接口裝置對32位協(xié)處理器的寄存器實現(xiàn)異步讀操作時的時序圖;圖10是Locosto通過圖5所示的總線接口裝置對32位協(xié)處理器的存儲器實現(xiàn)4個16位數(shù)據(jù)的連續(xù)寫操作時的時序圖;圖11是Locosto通過圖5所示的總線接口裝置對32位協(xié)處理器的存儲器實現(xiàn)2個32位數(shù)據(jù)的連續(xù)讀操作時的時序圖。
具體實施例方式
本發(fā)明的核心思想是當兩個系統(tǒng)的總線位寬不匹配時,利用分段傳輸?shù)姆椒▽崿F(xiàn)兩個系統(tǒng)之間的信息傳輸。
圖5是本發(fā)明實施例一種總線接口裝置的結(jié)構(gòu)框圖。如圖5所示,該裝置包括控制模塊101和數(shù)據(jù)移位模塊102。
當具有低位寬總線的第一系統(tǒng)和具有高位寬的第二系統(tǒng)需要進行通信時,圖5所示的總線接口裝置首先根據(jù)第一系統(tǒng)和第二系統(tǒng)的總線位寬比例確定分段傳輸?shù)拇螖?shù)n;之后,當信息流向是從第一系統(tǒng)到第二系統(tǒng)時,數(shù)據(jù)移位模塊102將第一系統(tǒng)總線上的n個信息進行拼接后,再發(fā)送到第二系統(tǒng)的總線上;當信息流向是從第二系統(tǒng)到第一系統(tǒng)時,數(shù)據(jù)移位模塊102將第二系統(tǒng)總線上的信息拆分成n個信息后,再依次發(fā)送到第一系統(tǒng)的總線上??刂颇K101生成控制信號輸出至數(shù)據(jù)移位模塊102,用于控制數(shù)據(jù)移位模塊102與第一系統(tǒng)和第二系統(tǒng)之間的數(shù)據(jù)傳輸。
圖6是本發(fā)明實施例一種總線接口方法的流程圖。當具有低位寬總線的第一系統(tǒng)和具有高位寬總線的第二系統(tǒng)需要進行通信時,該方法包括如圖6所示的步驟步驟201,根據(jù)具有低位寬總線的第一系統(tǒng)和具有高位寬總線的第二系統(tǒng)的總線位寬比例確定分段傳輸?shù)拇螖?shù)n。
步驟202,判斷信息流向是否從第一系統(tǒng)到第二系統(tǒng)。是則執(zhí)行步驟203,否則當信息流向是從第二系統(tǒng)到第一系統(tǒng)時,執(zhí)行步驟204。
步驟203,將第一系統(tǒng)總線上的n個信息進行拼接后,發(fā)送到第二系統(tǒng)的總線上。
步驟204,將第二系統(tǒng)總線上的信息拆分成n個信息后,依次發(fā)送到第一系統(tǒng)的總線上。
分段傳輸次數(shù)n的取法可以是當高位寬總線的位寬與低位寬總線的位寬的比值為整數(shù),則n直接等于該比值;當比值不為整數(shù),則n等于該比值向上取整時的數(shù)值,例如,當比值為大于2.0,小于3.0的任何分數(shù)時,n的值都為3。
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,下面以總線相互不匹配的Locosto與32位協(xié)處理器之間實現(xiàn)數(shù)據(jù)傳輸?shù)倪^程作為本發(fā)明的較佳實施例,對本發(fā)明進一步詳細說明。
圖7是本發(fā)明實施例Locosto與32位協(xié)處理器的總線接口裝置的結(jié)構(gòu)框圖。本實施例中,舍棄Locosto地址總線的高8位,只用與數(shù)據(jù)總線復(fù)用的地址總線的低16位;32位協(xié)處理器的數(shù)據(jù)總線位寬和地址總線位寬都為32位。如圖7所示,該總線接口裝置主要包括控制模塊101、數(shù)據(jù)移位模塊102和專用寄存器103。其中,數(shù)據(jù)移位模塊102可以包括32位地址移位寄存器104、32位寫數(shù)據(jù)移位寄存器105、32位讀數(shù)據(jù)移位寄存器106、選通單元107、選通單元108和選通單元109。。
控制模塊101根據(jù)Locosto輸出的信號生成控制信號A1、W1和R1,并輸出至數(shù)據(jù)移位模塊102;生成讀控制信號Write_en和寫控制信號Read_en輸出至32位協(xié)處理器。Locosto的輸出信號包括時鐘信號CKM、片選信號CE、讀使能信號OE、寫使能信號WE、地址有效信號ADV和地址線和數(shù)據(jù)線復(fù)用的總線AB/DB[15:0]上的信號??刂菩盘朅1、W1和R1分別通過選通單元107、選通單元108和選通單元109來控制32位地址移位寄存器104、32位寫數(shù)據(jù)移位寄存器105和32位讀數(shù)據(jù)移位寄存器106與Locosto的AB/DB[15:0]之間的數(shù)據(jù)傳輸。讀控制信號Read_en和寫控制信號Write_en分別用于控制32位協(xié)處理器的讀和寫。
控制模塊101在其內(nèi)部,用地址計數(shù)器和數(shù)據(jù)計數(shù)器的計數(shù)狀態(tài),分別標記AB/DB[15:0]上傳送的地址的高低位和數(shù)據(jù)的高低位。在本實施例中,地址計數(shù)器和數(shù)據(jù)計數(shù)器都為1位的計數(shù)器,且當?shù)刂酚嫈?shù)器的狀態(tài)為“0”時,表示AB/DB[15:0]上傳送的是地址的高16位,為“1”時,表示AB/DB[15:0]上傳送的是地址的低16位;同樣,當數(shù)據(jù)計數(shù)器的狀態(tài)為“0”時,表示AB/DB[15:0]上傳送的是數(shù)據(jù)的高16位,為“1”時,表示AB/DB[15:0]上傳送的是數(shù)據(jù)的低16位。
數(shù)據(jù)移位模塊102根據(jù)控制模塊101輸出的控制信號從AB/DB[15:0]上接收訪問地址和寫數(shù)據(jù),或者把讀數(shù)據(jù)放在該總線上。AB/DB[15:0]分別通過選通單元107與32位地址移位寄存器104連接、通過選通單元108與32位寫數(shù)據(jù)移位寄存器105連接、通過選通單元109與32位讀數(shù)據(jù)移位寄存器106連接,并且選通單元107、選通單元108和選通單元109分別在控制信號A1、W1和R1為高電平時導(dǎo)通。
32位地址移位寄存器104用于寄存Locosto的復(fù)用總線AB/DB[15:0]上傳送的高16位地址和低16位地址。當AB/DB[15:0]上輸出高16位地址時,控制模塊101使控制信號A1為高電平,導(dǎo)通選通單元107,使高16位地址輸入到32位地址移位寄存器104的低16位存儲單元;當AB/DB[15:0]上輸出低16位地址時,控制模塊101再次使控制信號A1為高電平,導(dǎo)通選通單元107,使低16位地址輸入到32位地址移位寄存器104的低16位存儲單元,而原來寄存在32位地址移位寄存器104低16位存儲單元的高16位地址移入32位地址移位寄存器104的高16位存儲單元。
32位寫數(shù)據(jù)移位寄存器105用于寄存Locosto的復(fù)用總線AB/DB[15:0]上傳送的高16位寫數(shù)據(jù)和低16位寫數(shù)據(jù)。當AB/DB[15:0]上輸出高16位寫數(shù)據(jù)時,控制模塊101使控制信號W1為高電平,導(dǎo)通選通單元108,使高16位寫數(shù)據(jù)輸入到32位寫數(shù)據(jù)移位寄存器105的低16位存儲單元;當AB/DB[15:0]上輸出低16位寫數(shù)據(jù)時,控制模塊101再次使控制信號W1為高電平,導(dǎo)通選通單元108,使低16位寫數(shù)據(jù)輸入到32位寫數(shù)據(jù)移位寄存器105的低16位存儲單元,而原來寄存在32位寫數(shù)據(jù)移位寄存器105低16位存儲單元的高16位寫數(shù)據(jù)移入32位寫數(shù)據(jù)移位寄存器105的高16位存儲單元。
32位讀數(shù)據(jù)移位寄存器106用于寄存32位協(xié)處理器讀數(shù)據(jù)總線上的32位讀數(shù)據(jù)。當Locosto處于讀狀態(tài)時,控制模塊101先使控制信號R1為高電平,導(dǎo)通選通單元109,使Locosto的總線AB/DB[15:0]讀入32位讀數(shù)據(jù)移位寄存器106高16位存儲單元中的高16位讀數(shù)據(jù);之后,原來寄存在32位讀數(shù)據(jù)移位寄存器106低16位存儲單元的低16位讀數(shù)據(jù)移入32位讀數(shù)據(jù)移位寄存器106的高16位存儲單元,控制模塊101再次使控制信號R1為高電平,導(dǎo)通選通單元109,使Locosto的總線AB/DB[15:0]讀入32位讀數(shù)據(jù)移位寄存器106高16位存儲單元中的低16位讀數(shù)據(jù)。
專用寄存器103在Locosto對32位協(xié)處理器執(zhí)行連續(xù)讀寫操作時,存儲訪問基地址和操作數(shù)據(jù)的長度。
下面通過具體地描述Locosto對32位協(xié)處理器的寄存器和存儲器進行讀寫操作的過程,來說明圖5所示總線接口裝置的工作原理。
圖8是Locosto通過圖7所示的總線接口裝置對32位協(xié)處理器的寄存器實現(xiàn)異步寫操作時的時序圖。如圖8所示,控制模塊101內(nèi)部的地址計時器和數(shù)據(jù)計數(shù)器的起始狀態(tài)都為“0”。在Locosto的片選有效信號CE為低電平時,圖7所示的連接裝置進入有效操作時段,執(zhí)行如下操作當ADV低電平有效時,AB/DB[15:0]上輸出地址的高16位A[31:16],此時地址計數(shù)器計數(shù)加1,從“0”狀態(tài)變?yōu)椤?”狀態(tài);控制模塊101輸出高電平的控制信號A1,導(dǎo)通選通單元107,將AB/DB[15:0]上的高16位地址A[31:16]寄存到32位地址移位寄存器104的低16位存儲單元中。
接下來當WE為低電平有效時,AB/DB[15:0]上輸出數(shù)據(jù)的高16位D[31:16],此時數(shù)據(jù)計數(shù)器計數(shù)加1,從“0”狀態(tài)變?yōu)椤?”狀態(tài);控制模塊101輸出高電平的控制信號W1,導(dǎo)通選通單元108,將AB/DB[15:0]上的高16位數(shù)據(jù)D[31:16]寄存到32位寫數(shù)據(jù)移位寄存器105的低16位存儲單元中。
當CE第二次變?yōu)榈碗娖綍r,圖7所示的總線接口裝置再次進入有效操作時段,執(zhí)行如下操作當ADV低電平有效時,AB/DB[15:0]上輸出地址的低16位A[15:0],此時地址計數(shù)器計數(shù)加1,從“1”狀態(tài)變?yōu)椤?”狀態(tài);控制模塊101輸出高電平的控制信號A1,導(dǎo)通選通單元107,將AB/DB[15:0]上的低16位地址A[15:0]寄存到32位地址移位寄存器104的低16位存儲單元中,而32位地址移位寄存器104將自身低16位存儲單元內(nèi)的高16位地址A[31:16]移入自身的高16位存儲單元中。32位協(xié)處理器的地址總線從32位地址移位寄存器104讀取32位的地址A[31:0]。
接下來當WE為低電平有效時,AB/DB[15:0]上輸出數(shù)據(jù)的低16位D[15:0],此時數(shù)據(jù)計數(shù)器計數(shù)加1,從“1”狀態(tài)變?yōu)椤?”狀態(tài);控制模塊101輸出高電平的控制信號W1,導(dǎo)通選通單元108,將AB/DB[15:0]上的低16位數(shù)據(jù)D[15:0]寄存到32位寫數(shù)據(jù)移位寄存器105的低16位存儲單元中,而32位寫數(shù)據(jù)移位寄存器105將自身低16位存儲單元內(nèi)的高16位數(shù)據(jù)D[31:16]移入自身的高16位存儲單元中。32位協(xié)處理器的寫數(shù)據(jù)總線從32位寫數(shù)據(jù)移位寄存器105中讀取32位的寫數(shù)據(jù)D[31:0]。
最后,控制模塊101輸出低電平有效的寫控制信號Write_en,控制32位協(xié)處理器將寫數(shù)據(jù)總線上的數(shù)據(jù)D[31:0]寫入地址總線上的地址A[31:0]所指示的寄存器存儲單元中。
從上述過程可以看出,通過兩次的異步寫操作,可以完整地取得32位的地址和32位的數(shù)據(jù),再將32位的數(shù)據(jù)寫入32位地址指示的寄存器存儲單元中。
圖9是Locosto通過圖7所示的總線接口裝置對32位協(xié)處理器的寄存器實現(xiàn)異步讀操作時的時序圖。如圖9所示,控制模塊101內(nèi)部的地址計時器和數(shù)據(jù)計數(shù)器的起始狀態(tài)都為“0”。在CE第一次為低電平有效時,圖7所示的總線接口裝置進入有效操作時段,執(zhí)行如下操作當ADV低電平有效時,AB/DB[15:0]上輸出的是地址高位的標志AH_flag,表示接下來總線AB/DB[15:0]上將要傳送訪問地址的高16位;此時地址計數(shù)器不計數(shù),保持“0”狀態(tài)。
當WE低電平有效時,AB/DB[15:0]上輸出地址的高16位A[31:16],地址計數(shù)器計數(shù)加1,從“0”狀態(tài)變?yōu)椤?”狀態(tài);控制模塊101輸出高電平的控制信號A1,導(dǎo)通選通單元107,將AB/DB[15:0]上的高16位地址A[31:16]寄存到32位地址移位寄存器104的低16位存儲單元中。
在CE第二次為低電平有效時,圖7所示的總線接口裝置執(zhí)行如下操作當ADV低電平有效時,AB/DB[15:0]上輸出地址的低16位A[15:0],此時地址計數(shù)器計數(shù)加1,從“1”狀態(tài)變?yōu)椤?”狀態(tài);控制模塊101輸出高電平的控制信號A1,導(dǎo)通選通單元107,將AB/DB[15:0]上的低16位地址A[15:0]寄存到32位地址移位寄存器104的低16位存儲單元中,而32位地址移位寄存器104將自身低16位存儲單元內(nèi)的高16位地址A[31:16]移入自身的高16位存儲單元中。32位協(xié)處理器的地址總線從32位地址移位寄存器104讀取32位的地址A[31:0]。
控制模塊101輸出低電平有效的讀控制信號Read_en,控制32位協(xié)處理器取出地址總線上的地址A[31:0]所指示的寄存器存儲單元中的32位數(shù)據(jù)D[31:0],并放到讀數(shù)據(jù)總線上;總線接口裝置將32位協(xié)處理器讀數(shù)據(jù)總線上的數(shù)據(jù)D[31:0]存入32位讀數(shù)據(jù)移位寄存器106中。
接下來當OE為低電平有效時,控制模塊101輸出高電平的控制信號R1,導(dǎo)通選通單元109,將32位讀數(shù)據(jù)移位寄存器106高16位存儲單元中的數(shù)據(jù)D[31:16]上載到AB/DB[15:0]上供Locosto讀取,此時數(shù)據(jù)計數(shù)器計數(shù)加1,從“0”狀態(tài)變?yōu)椤?”狀態(tài)。
在CE第三次為低電平有效時,圖7所示的總線接口裝置執(zhí)行如下操作當ADV低電平有效時,AB/DB[15:0]上輸出的是地址高位的標志AH_flag,此時地址計數(shù)器104不計數(shù),保持“1”狀態(tài)。
當OE為低電平有效時,32位讀數(shù)據(jù)移位寄存器106將自身低16位存儲單元中的數(shù)據(jù)D[15:0]移入自身的高16位存儲單元;控制模塊101輸出高電平的控制信號R1,導(dǎo)通選通單元109,將32位讀數(shù)據(jù)移位寄存器106高16位存儲單元中的D[15:0]上載到AB/DB[15:0]上供Locosto讀取,此時數(shù)據(jù)計數(shù)器計數(shù)加1,從“1”狀態(tài)變?yōu)椤?”狀態(tài)。
到此為止,Locosto利用圖7所示的總線接口裝置,通過一次寫操作和兩次讀操作,完成了一次對32位寄存器的異步讀操作。
與寄存器的異步讀寫不同,對于存儲器的同步連續(xù)讀寫,Locosto除了提供CE、WE、OE、ADV和AB/DB[15:0]之外,還提供同步時鐘信號CKM。所有的有效讀寫都要求在時鐘的上升沿完成。
在進行連續(xù)寫或讀操作之前,Locosto首先確定總線接口是否空閑,如果空閑則把訪問基地址和需要進行讀或?qū)懖僮鞯臄?shù)據(jù)長度寫入專用寄存器103中。在進行存儲器的連續(xù)寫或連續(xù)讀操作時,以訪問基地址為起始地址連續(xù)寫入或讀出數(shù)據(jù),直至完成指定長度的數(shù)據(jù)讀寫操作。
圖10是Locosto通過圖7所示的總線接口裝置對32位協(xié)處理器的存儲器實現(xiàn)4個16位數(shù)據(jù)的連續(xù)寫操作時的時序圖。在本實施例中,Locosto和32位協(xié)處理器之間的延遲為三個CKM時鐘,Locosto將訪問基地址和操作數(shù)據(jù)長度預(yù)先寫入專用寄存器103,供32位協(xié)處理器讀取。如圖10所示,控制模塊101內(nèi)部的數(shù)據(jù)計數(shù)器和時鐘計數(shù)器的初始狀態(tài)都為“0”。
在CE、WE和ADV都為低電平有效時,AB/DB[15:0]上輸出的是地址高位的標志AH_flag;延遲三個時鐘周期后,在四個連續(xù)的時鐘上升沿AB/DB[15:0]上依次輸出4個16位的數(shù)據(jù)D0[31:16]、D0[15:0]、D1[31:16]和D1[15:0],倆倆合并后依次寫入以專用寄存器103中的訪問基地址為起始地址的32位協(xié)處理的存儲器存儲單元中,其具體過程如下在時鐘CKM的第一個有效上升沿AB/DB[15:0]輸出第一個16位數(shù)據(jù)D0[31:16];控制模塊101輸出高電平的控制信號W1,導(dǎo)通選通單元108,將AB/DB[15:0]上的數(shù)據(jù)D0[31:16]寄存到32位寫數(shù)據(jù)移位寄存器105的低16位存儲單元中。數(shù)據(jù)計數(shù)器105計數(shù)加1,從“0”狀態(tài)變?yōu)椤?”狀態(tài)。
在CKM的第二個有效上升沿AB/DB[15:0]輸出第二個16位數(shù)據(jù)D0[15:0];控制模塊101輸出高電平的控制信號W1,導(dǎo)通選通單元108,將AB/DB[15:0]上的數(shù)據(jù)D0[15:0]寄存到32位寫數(shù)據(jù)移位寄存器105的低16位存儲單元中,而32位寫數(shù)據(jù)移位寄存器105將自身低16位存儲單元內(nèi)的高16位數(shù)據(jù)D0[31:16]移入自身的高16位存儲單元中。數(shù)據(jù)計數(shù)器105計數(shù)加1,從“1”狀態(tài)變?yōu)椤?”狀態(tài)。
32位協(xié)處理器的寫數(shù)據(jù)總線從32位寫數(shù)據(jù)移位寄存器105中讀取32位的寫數(shù)據(jù)D0[31:0]??刂颇K101輸出低電有效的寫控制信號Write_en,控制32位協(xié)處理器將寫數(shù)據(jù)總線上的數(shù)據(jù)D0[31:0]寫入專用寄存器103中的訪問基地址所指示的存儲器存儲單元中。
在CKM的第三和第四個有效上升沿重復(fù)上述步驟,32位寫數(shù)據(jù)移位寄存器105將數(shù)據(jù)D1[31:16]和D1[15:0]拼接成32位的寫數(shù)據(jù)D1[31:0];32位協(xié)處理器從32位寫數(shù)據(jù)移位寄存器105中讀取32位的寫數(shù)據(jù)D1[31:0],并將D1[31:0]寫入數(shù)據(jù)D0[31:0]之后的存儲器存儲單元中。
圖11是Locosto通過圖7所示的總線接口裝置對32位協(xié)處理器的存儲器實現(xiàn)2個32位數(shù)據(jù)的連續(xù)讀操作時的時序圖。在本實施例中,Locosto和32位協(xié)處理器之間的延遲為三個CKM時鐘,Locosto將訪問基地址和操作數(shù)據(jù)長度預(yù)先寫入專用寄存器103,供32位協(xié)處理器讀取。如圖11所示,數(shù)據(jù)計數(shù)器105和時鐘計數(shù)器106的初始狀態(tài)都為“0”。
在CE和ADV都為低電平有效,且WE為高電平無效時,在時鐘的上升沿,AB/DB[15:0]上輸出的是地址高位的標志AH_flag;此后,延遲一個時鐘周期后,OE變?yōu)榈碗娖接行?、延遲三個時鐘周期后,控制模塊101輸出低電平有效的讀控制信號Read_en,控制32位協(xié)處理器從以專用寄存器103中的訪問基地址為起始地址的存儲器單元中依次讀取出2個32位的數(shù)據(jù),放在讀數(shù)據(jù)總線上供Locosto讀取,其具體過程如下32位協(xié)處理器讀取專用寄存器103中的訪問基地址,將訪問基地址所指示的存儲器存儲單元中的32位數(shù)據(jù)D0[31:0]發(fā)送到讀數(shù)據(jù)總線上。數(shù)據(jù)移位模塊102讀取32位協(xié)處理器讀數(shù)據(jù)總線上的數(shù)據(jù)D0[31:0],并寄存到32位讀數(shù)據(jù)移位寄存器106中。
在CKM的第一個有效上升沿,控制模塊101輸出高電平的控制信號R1,導(dǎo)通選通單元109,將32位讀數(shù)據(jù)移位寄存器106高16位存儲單元中的D0[31:16]上載到AB/DB[15:0]上。數(shù)據(jù)計數(shù)器計數(shù)加1,從“0”狀態(tài)變?yōu)椤?”狀態(tài)。
在CKM的第二個有效上升沿,32位讀數(shù)據(jù)移位寄存器106將自身低16位存儲單元中的數(shù)據(jù)D0[15:0]移入自身的高16位存儲單元中;控制模塊101輸出高電平的控制信號R1,導(dǎo)通選通單元109,將32位讀數(shù)據(jù)移位寄存器106高16位存儲單元中的數(shù)據(jù)D0[15:0]上載到AB/DB[15:0]上。數(shù)據(jù)計數(shù)器計數(shù)加1,從“1”狀態(tài)變?yōu)椤?”狀態(tài)。
由于專用寄存器103中的操作數(shù)據(jù)長度為2,因此32位協(xié)處理器繼續(xù)將D0[31:0]后的數(shù)據(jù)D1[31:0]發(fā)送到讀數(shù)據(jù)總線上。數(shù)據(jù)移位模塊102讀取數(shù)據(jù)32位協(xié)處理器讀數(shù)據(jù)總線上的D1[31:0],并將D1[31:0]寄存到32位讀數(shù)據(jù)移位寄存器106中。
在CKM的第三和第四個有效上升沿重復(fù)上述步驟,將數(shù)據(jù)D1[31:0]的高16位D1[31:16]和低16位D1[15:0]先后上載到AB/DB[15:0]上。
Locosto通過上述過程實現(xiàn)了對32位存儲器的同步連續(xù)讀寫。
顯而易見,應(yīng)用同樣的思想和方案,可以實現(xiàn)Locosto與數(shù)據(jù)總線位寬和地址總線位寬都為64位的系統(tǒng)之間的數(shù)據(jù)傳輸。由于64位系統(tǒng)的總線位寬是Locosto地址數(shù)據(jù)復(fù)用總線AB/DB[15:0]位寬的4倍,因此將數(shù)據(jù)分4次傳輸,即傳輸次數(shù)n為4。當Locosto向64位系統(tǒng)寫入數(shù)據(jù)時,將Locosto總線上順序傳送的4個16位的地址或數(shù)據(jù)拼接成64位的地址或數(shù)據(jù)發(fā)送給64位系統(tǒng)的地址總線或數(shù)據(jù)總線;當Locosto從64位系統(tǒng)讀出數(shù)據(jù)時,將64位系統(tǒng)總線上的64位數(shù)據(jù)拆分成4個16位的數(shù)據(jù),再通過Locosto的總線順序讀出。
延伸本發(fā)明實施例的思想即可得到本發(fā)明一種總線接口裝置和方法的核心思想當兩個系統(tǒng)的總線位寬不匹配時,利用分段傳輸?shù)姆椒▽崿F(xiàn)兩個系統(tǒng)之間的信息傳輸。首先根據(jù)兩個系統(tǒng)的總線位寬比例確定分段傳輸?shù)拇螖?shù)n;之后,當信息流向是從具有低位寬總線的第一系統(tǒng)到具有高位寬總線的第二系統(tǒng)時,將第一系統(tǒng)總線上的n個信息進行拼接后,再發(fā)送到第二系統(tǒng)的總線上;當信息流向是從第二系統(tǒng)到第一系統(tǒng)時,將第二系統(tǒng)總線上的信息拆分成n個信息后,再發(fā)送到第一系統(tǒng)的總線上。這種將信息分段傳送的方案,使總線位寬不匹配的系統(tǒng)之間都能夠?qū)崿F(xiàn)信息傳輸。系統(tǒng)之間傳輸?shù)男畔⒖梢允堑刂?,也可以是?shù)據(jù)。
以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍,凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種總線接口裝置,其特征在于,該裝置連接總線位寬不匹配的第一系統(tǒng)和第二系統(tǒng),首先根據(jù)第一系統(tǒng)和第二系統(tǒng)的總線位寬比例確定分段傳輸?shù)拇螖?shù)n,之后根據(jù)傳輸次數(shù)n將第一系統(tǒng)總線上的信息傳輸?shù)降诙到y(tǒng)的總線上。
2.如權(quán)利要求1所述的裝置,其特征在于,當所述第一系統(tǒng)具有低位寬總線,所述第二系統(tǒng)具有高位寬總線時,該裝置包括數(shù)據(jù)移位模塊,用于接收第一系統(tǒng)總線上的信息,并將分別在n次接收到的信息進行拼接處理后傳輸?shù)降诙到y(tǒng)的總線上。
3.如權(quán)利要求1所述的裝置,其特征在于,當所述第一系統(tǒng)具有高位寬總線,所述第二系統(tǒng)具有低位寬總線時,該裝置包括數(shù)據(jù)移位模塊,用于接收第一系統(tǒng)總線上的信息,并將一次接收到的信息進行拆分處理后,分n次傳輸?shù)降诙到y(tǒng)的總線上。
4.如權(quán)利要求2或3所述的裝置,其特征在于,該裝置進一步包括控制模塊,用于生成控制信號輸出至所述數(shù)據(jù)移位模塊;所述數(shù)據(jù)移位模塊,在接收到控制信號后,執(zhí)行所述的處理。
5.如權(quán)利要求2所述的裝置,其特征在于,當所述具有低位寬總線的第一系統(tǒng)是Locosto,所述具有高位寬總線的第二系統(tǒng)是32位系統(tǒng),且Locosto對32位系統(tǒng)執(zhí)行寫操作時,所述數(shù)據(jù)移位模塊,接收Locosto的地址和數(shù)據(jù)復(fù)用的總線AB/DB[15:0]上傳送的高16位地址和低16位地址,并將兩個地址拼接成32位的地址,供32位系統(tǒng)的地址總線讀??;接收AB/DB[15:0]上傳送的高16位寫數(shù)據(jù)和低16位寫數(shù)據(jù),并將兩個數(shù)據(jù)拼接成32位的寫數(shù)據(jù),供32位系統(tǒng)的寫數(shù)據(jù)總線讀取。
6.如權(quán)利要求3所述的裝置,其特征在于,當所述具有高位寬總線的第一系統(tǒng)是32位系統(tǒng),所述具有低位寬總線的第二系統(tǒng)是Locosto,且Locosto對32位系統(tǒng)執(zhí)行讀操作時,所述數(shù)據(jù)移位模塊,接收AB/DB[15:0]上傳送的高16位地址和低16位地址,并將兩個地址拼接成32位的地址,供32位系統(tǒng)的地址總線讀??;接收32位系統(tǒng)讀數(shù)據(jù)總線上的32位讀數(shù)據(jù),并拆分成高16位讀數(shù)據(jù)和低16位讀數(shù)據(jù)后,供所述AB/DB[15:0]依次讀取。
7.如權(quán)利要求5所述的裝置,其特征在于,所述數(shù)據(jù)移位模塊包括32位地址移位寄存器,先接收所述AB/DB[15:0]上傳送的高16位地址,并存入自身的低16位存儲單元中,之后接收所述AB/DB[15:0]上傳送的低16位地址,并將所述高16位地址移入自身的高16位存儲單元、將接收到的低16位地址存入自身的低16位存儲單元后,供32位系統(tǒng)的地址總線讀??;32位寫數(shù)據(jù)移位寄存器,先接收所述AB/DB[15:0]上傳送的高16位寫數(shù)據(jù),并存入自身的低16位存儲單元中,之后接收所述AB/DB[15:0]上傳送的低16位寫數(shù)據(jù),并將所述高16位寫數(shù)據(jù)移入自身的高16位存儲單元、將接收到的低16位寫數(shù)據(jù)存入自身的低16位存儲單元后,供32位系統(tǒng)的寫數(shù)據(jù)總線讀取。
8.如權(quán)利要求6所述的裝置,其特征在于,所述數(shù)據(jù)移位模塊包括32位地址移位寄存器,先接收所述AB/DB[15:0]上傳送的高16位地址,并存入自身的低16位存儲單元中,之后接收所述AB/DB[15:0]上傳送的低16位地址,并將所述高16位地址移入自身的高16位的存儲單元、將接收到的低16位地址存入自身的低16位存儲單元后,供32位系統(tǒng)的地址總線讀取;32位讀數(shù)據(jù)移位寄存器,接收并寄存32位系統(tǒng)讀數(shù)據(jù)總線上的32位讀數(shù)據(jù),先供所述AB/DB[15:0]讀取自身高16位存儲單元中的高16位讀數(shù)據(jù),之后將自身低16位存儲單元中的低16位讀數(shù)據(jù)移入自身的高16位存儲單元后,供所述AB/DB[15:0]讀取。
9.如權(quán)利要求7或8所述的裝置,其特征在于,該裝置進一步包括控制模塊,接收Locosto提供的信號并生成控制所述AB/DB[15:0]與所述數(shù)據(jù)移位模塊之間數(shù)據(jù)傳輸?shù)目刂菩盘?、生成控?2位系統(tǒng)讀寫的讀寫控制信號。
10.如權(quán)利要求9所述的裝置,其特征在于,所述數(shù)據(jù)移位模塊進一步包括選通單元,所述控制模塊生成的控制信號通過選通單元來控制所述AB/DB[15:0]與所述數(shù)據(jù)移位模塊之間的數(shù)據(jù)傳輸。
11.如權(quán)利要求9所述的裝置,其特征在于,該裝置進一步包括專用寄存器,用于存儲Locosto發(fā)送的訪問基地址和操作數(shù)據(jù)的長度,供32位系統(tǒng)讀取。
12.如權(quán)利要求1、2、3、5或6所述的裝置,其特征在于,該裝置集成到所述第一系統(tǒng)中,或集成到所述第二系統(tǒng)中,或設(shè)置在任意的第三方系統(tǒng)中。
13.一種總線接口方法,其特征在于,該方法適用于總線位寬不匹配的第一系統(tǒng)和第二系統(tǒng),包括以下步驟A、根據(jù)第一系統(tǒng)和第二系統(tǒng)的總線位寬比例,確定分段傳輸?shù)拇螖?shù)n;B、根據(jù)分段傳輸?shù)拇螖?shù)n,將第一系統(tǒng)總線上的信息傳輸?shù)降诙到y(tǒng)的總線上。
14.如權(quán)利要求13所述的方法,其特征在于,當所述第一系統(tǒng)具有低位寬總線,所述第二系統(tǒng)具有高位寬總線時,步驟B中所述根據(jù)n將第一系統(tǒng)總線上的信息發(fā)送到第二系統(tǒng)的總線上包括接收第一系統(tǒng)總線上的信息,并將分別在n次接收到的信息進行拼接處理后傳輸?shù)降诙到y(tǒng)的總線上。
15.如權(quán)利要求13所述的方法,其特征在于,當所述第一系統(tǒng)具有高位寬總線,所述第二系統(tǒng)具有低位寬總線時,步驟B中所述根據(jù)n將第一系統(tǒng)總線上的信息發(fā)送到第二系統(tǒng)的總線上包括接收第一系統(tǒng)總線上的信息,并將一次接收到的信息進行拆分處理后,分n次傳輸?shù)降诙到y(tǒng)的總線上。
16.如權(quán)利要求13、14或15所述的方法,其特征在于,所述信息是地址或數(shù)據(jù)。
17.如權(quán)利要求13所述的方法,其特征在于,當所述第一系統(tǒng)是具有低位寬總線的Locosto,所述第二系統(tǒng)是具有高位寬總線的32位系統(tǒng),且Locosto對32位系統(tǒng)的寄存器執(zhí)行寫操作時,步驟A中所述n的值為2;步驟B中所述根據(jù)n將第一系統(tǒng)總線上的信息傳輸?shù)降诙到y(tǒng)的總線上的方法包括以下步驟a1、使Locosto的地址和數(shù)據(jù)復(fù)用的總線AB/DB[15:0]先后輸出高16位地址、高16位寫數(shù)據(jù)、低16位地址和低16位寫數(shù)據(jù);b1、將所述高16位地址和低16位地址拼接成32位的地址,供32位系統(tǒng)的地址總線讀取;將所述高16位寫數(shù)據(jù)和低16位寫數(shù)據(jù)拼接成32位的寫數(shù)據(jù),供32位系統(tǒng)的寫數(shù)據(jù)總線讀取。
18.如權(quán)利要求17所述的方法,其特征在于,步驟a1中所述通過AB/DB[15:0]先后輸出高16位地址、高16位寫數(shù)據(jù)、低16位地址和低16位寫數(shù)據(jù)是在Locosto的片選信號CE第一次有效的時段內(nèi),地址有效信號ADV有效時,AB/DB[15:0]上輸出高16位地址、寫使能信號WE有效時、AB/DB[15:0]上輸出高16位寫數(shù)據(jù);在CE第二次有效的時段內(nèi),ADV有效時,AB/DB[15:0]上輸出低16位地址;WE有效時,AB/DB[15:0]上輸出低16位寫數(shù)據(jù)。
19.如權(quán)利要求13所述的方法,其特征在于,當所述第一系統(tǒng)是具有高位寬總線的32位系統(tǒng),所述第二系統(tǒng)是具有低位寬總線的Locosto,且Locosto對32位系統(tǒng)的寄存器執(zhí)行讀操作時,步驟A中所述n的值為2;步驟B中所述根據(jù)n將第一系統(tǒng)總線上的信息傳輸?shù)降诙到y(tǒng)的總線上的方法包括以下步驟a2、使所述Locosto的AB/DB[15:0]先后輸出高16位地址和低16位地址,并將高16位地址和低16位地址拼接成32位地址,供32位系統(tǒng)的地址總線讀??;b2、將32位系統(tǒng)讀數(shù)據(jù)總線上的32位讀數(shù)據(jù)拆分成高16位讀數(shù)據(jù)和低16位讀數(shù)據(jù)后,先后通過所述AB/DB[15:0]讀入Locosto。
20.如權(quán)利要求19所述的方法,其特征在于,步驟a2中所述使Locosto的AB/DB[15:0]先后輸出高16位地址和低16位地址是在CE第一次有效的時段內(nèi),WE有效時,AB/DB[15:0]上輸出高16位地址;在CE第二次有效的時段內(nèi),ADV有效時,AB/DB[15:0]上輸出低16位地址;步驟b2中所述將高16位讀數(shù)據(jù)和低16位讀數(shù)據(jù)先后通過AB/DB[15:0]讀入Locosto是在CE第二次有效的時段內(nèi),在讀使能信號OE有效時,將高16位讀數(shù)據(jù)通過AB/DB[15:0]讀入Locosto;在CE第三次有效的時段內(nèi),在OE有效時,將低16位的讀數(shù)據(jù)通過AB/DB[15:0]讀入Locosto。
21.如權(quán)利要求13所述的方法,其特征在于,當所述第一系統(tǒng)是具有低位寬總線的Locosto,所述第二系統(tǒng)是具有高位寬總線的32位系統(tǒng),且Locosto對32位系統(tǒng)的存儲器執(zhí)行連續(xù)寫操作時,步驟A中所述n的值為2;步驟B中所述根據(jù)n將第一系統(tǒng)總線上的信息傳輸?shù)降诙到y(tǒng)的總線上的方法包括以下步驟a3、將訪問基地址和操作數(shù)據(jù)長度寫入專用寄存器,供32位系統(tǒng)讀取;b3、將16位的寫數(shù)據(jù)通過AB/DB[15:0]連續(xù)輸出,并依次將連續(xù)的兩個高16位寫數(shù)據(jù)和低16位寫數(shù)據(jù)拼接成32位的寫數(shù)據(jù)后,供32位系統(tǒng)的寫數(shù)據(jù)總線依次讀取。
22.如權(quán)利要求21所述的方法,其特征在于,步驟b3中所述將16位的寫數(shù)據(jù)通過AB/DB[15:0]連續(xù)輸出是,在CE有效的時段內(nèi),WE有效后,并延遲足夠的時鐘周期后,依次在時鐘信號CKM的時鐘沿將16位的寫數(shù)據(jù)通過AB/DB[15:0]連續(xù)輸出。
23.如權(quán)利要求13所述的方法,其特征在于,當所述第一系統(tǒng)是具有高位寬總線的32位系統(tǒng),所述第二系統(tǒng)是具有低位寬總線的Locosto,且Locosto對32位系統(tǒng)的存儲器執(zhí)行連續(xù)讀操作時,步驟A中所述n的值為2;步驟B中所述根據(jù)n將第一系統(tǒng)總線上的信息傳輸?shù)降诙到y(tǒng)的總線上的方法包括以下步驟a4、將訪問基地址和操作數(shù)據(jù)長度寫入專用寄存器,供32位系統(tǒng)讀??;b4、將32位系統(tǒng)讀數(shù)據(jù)總線上的讀數(shù)據(jù),依次拆分成高16位讀數(shù)據(jù)和低16位讀數(shù)據(jù)后,通過AB/DB[15:0]連續(xù)讀入Locosto。
24.如權(quán)利要求13所述的方法,其特征在于,步驟b4中所述將拆分后的高16位讀數(shù)據(jù)和低16位讀數(shù)據(jù)通過所述AB/DB[15:0]連續(xù)讀入Locosto是,在CE有效的時段內(nèi),WE無效,并延遲足夠的時鐘周期后,依次在時鐘信號CKM的時鐘沿,將16位的讀數(shù)據(jù)通過AB/DB[15:0]連續(xù)讀入Locosto。
25.如權(quán)利要求13所述的方法,其特征在于,步驟A中所述根據(jù)第一系統(tǒng)和第二系統(tǒng)的總線位寬比例,確定分段傳輸?shù)拇螖?shù)n的方法是當?shù)谝幌到y(tǒng)和第二系統(tǒng)的總線中,高位寬總線的位寬與低位寬總線的位寬的比值為整數(shù)時,n直接等于所述比值;如果所述比值不為整數(shù),則n等于所述比值向上取整時的數(shù)值。
全文摘要
本發(fā)明公開了一種總線接口裝置和方法。首先,根據(jù)具有低位寬總線的第一系統(tǒng)和具有高位寬總線的第二系統(tǒng)的總線位寬比例確定分段傳輸?shù)拇螖?shù)n;之后,當信息流向是從第一系統(tǒng)到第二系統(tǒng)時,接收第一系統(tǒng)總線上的n個信息,進行拼接后發(fā)送到第二系統(tǒng)的總線上;當信息流向是從第二系統(tǒng)到第一系統(tǒng)時,接收第二系統(tǒng)總線上的信息,并拆分成n個信息后發(fā)送到第一系統(tǒng)的總線上。這種根據(jù)信息流向?qū)⑿畔⑦M行拼接或拆分后再傳送的方案,使得位寬不匹配的總線之間能夠?qū)崿F(xiàn)數(shù)據(jù)傳輸,進而使得總線位寬不匹配的系統(tǒng)之間能夠?qū)崿F(xiàn)通信。
文檔編號G06F5/00GK1959661SQ20061014576
公開日2007年5月9日 申請日期2006年11月21日 優(yōu)先權(quán)日2006年11月21日
發(fā)明者馬鳳翔, 龐科 申請人:北京中星微電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
青阳县| 竹山县| 横峰县| 准格尔旗| 新晃| 双城市| 内江市| 武穴市| 如皋市| 古浪县| 磴口县| 凤庆县| 上杭县| 佳木斯市| 万载县| 巴里| 东乡县| 鹤壁市| 松阳县| 南丹县| 勃利县| 湖北省| 桐庐县| 清新县| 保德县| 西乌| 虎林市| 武鸣县| 临漳县| 旺苍县| 南京市| 哈巴河县| 沙洋县| 谷城县| 巨鹿县| 通道| 萝北县| 什邡市| 龙门县| 怀柔区| 大悟县|