一種TMS320C6000擴展總線與MPC860的接口設計方案
擴展總線的管腳定義
XCNTL A[29] MPC860用于控制信號的地址位,A31是MPC860地址總線的LSB
XBLAST 觸發(fā)傳輸指示,XBLAST的極性(在這個例子高有效)由復位時XD[13]的上拉電阻決定
讀寫存取指示,的極性(在這個例子高有效)由復位時候的XD[12]的上拉電阻決定
XD[31:0] D[0:31] MPC860用D[0:31]作為32位的接口。D0是MPC860數(shù)據(jù)總線的MSB,而XD31是擴展總線的MSB
XCLK CLKOUT 自身(擴展)總線時鐘
XHOLD 間接邏輯需與 擴展總線仲裁信號
XHOLDA BR、BG 注意內(nèi)部擴展總線仲
和BB連接 裁已經(jīng)處于使能端
新的轉(zhuǎn)移開始指示
A[28:0] MPC860的地址解碼從而產(chǎn)生信號
TSIZE[1:0]、 字節(jié)使能用TSIZE和A
A[31:30][31:30]的解碼來實現(xiàn)
SETA bit 在MPC860選擇寄存器中設置為1,用于指示由外部總線產(chǎn)生
MPC860的內(nèi)部總線仲裁處于禁止狀態(tài),相反擴展總線的仲裁處于使能狀態(tài)。DSP的字節(jié)使能信號由TSIZE[1:0]和MPC860的地址線A[31:30]通過解碼得到,DSP字節(jié)使能換算表如表1所示。
4.2 自舉配置
MPC860及擴展總線把數(shù)據(jù)總線的上拉和下拉電阻用于硬件復位的BOOT配置,MPC860和DSP需要不同的上拉電阻配置。方法之一就是用總線開關。在這個例子中用SN74CBT16390(2個16bit和32bit之間FET復用/解復用總線開關)在復位的時候分離MPC860和DSP的數(shù)據(jù)總線,允許每一個設備有自己不同的復位配置字。方法之二就是首先硬件復位(復位的過程中,XBUS的上拉和下拉電阻用于配置MPC860),而DSP復位應該在MPC860之后。在DSP復位之后,MPC860有效地驅(qū)動數(shù)據(jù)總線上用于配置DSP的數(shù)據(jù)值,從而DSP將被配置。
由于兩個設備都可以運行在內(nèi)部總線仲裁使能或者禁止方式,所以內(nèi)部擴展總線仲裁處理總線的仲裁。不管內(nèi)部還是外部的仲裁配置都在系統(tǒng)復位時設置。如果設備處于外部仲裁,那么在MPC860從數(shù)據(jù)總線上取樣硬件復位配置字的候,MPC860的ERAB位必須設置為1;而當DSP從復位到內(nèi)部總線仲裁的數(shù)據(jù)總線上取樣硬件復位配置字的時候,TMS320C6000的XARB位必須設置為1。
通過在XD[31:0]上拉和下拉電阻的擴展總線自舉配置如下:
字段(field) 定義
BLPOL 當DSPs作為擴展總線的從屬時,XBLAST信號的極性BLPOL=1,XBLAST是高有效
RWPOL 擴展總線讀/寫信號的極性,RWPOL=1, 為
HMOD 主機(host)的模式(對應于HPIC中的XB狀態(tài)),HMOD=1,外部的主機接口處于同步的主/從模式
XARB 擴展總線仲裁使能(對應于XBGC中的狀態(tài)), XARB=1,內(nèi)部擴展總線仲裁處于使能狀態(tài)
FMOD FIFO模式(對應于XBGC中的狀態(tài))
LEND 小端模式,LEND=1,系統(tǒng)運行在小端模式
BootMode[4:0] 設定設備自舉模式,包括主機口自舉、ROM、boot、存儲器映射選擇
為使工作準確,MPC860的高速緩存必須關閉使能。數(shù)據(jù)緩存是否使用,只要將相應的狀態(tài)寫入DC_CST寄存器。在禁止狀態(tài),緩存標志狀態(tài)位被忽略,訪問將通過總線傳輸。數(shù)據(jù)緩存在復位后默認為禁止。禁止的數(shù)據(jù)緩存不影響數(shù)據(jù)地址的邏輯轉(zhuǎn)換,在MSRDR位的控制下繼續(xù)進行,任何寫入DC_CST寄存器的操作必須優(yōu)先于一個同步指令,則確保在數(shù)據(jù)存儲時,數(shù)據(jù)緩存的使能變化。由于總線錯誤或者執(zhí)行特定的直接緩存線性控制時,數(shù)據(jù)緩存產(chǎn)生一個中斷信號,緩存進入禁止狀態(tài),類似于禁止。每一頁都有不同的存儲控制屬性, MPC860支持緩存禁止(CI)、 寫入(WT)和監(jiān)視(G)屬性,但不支持存儲器的一致性。對于要求存儲一致性的頁,必須編程設置為緩存禁止。G屬性用于映射那些對不確定存儲比較敏感的I/O設備,有G屬性的頁使存儲強行停止,除非是非敏感性存儲或者被核(core)取消。是否可緩存的區(qū)域必須定義,對于主要存儲區(qū)的寫回(write-back)或?qū)懲?write-through)模式,必須在使數(shù)據(jù)緩存使能之前通過初始化MMU來選擇。
經(jīng)實驗驗證,MPC860可以對擴展總線進行讀操作,也可以寫操作,該設計方案已經(jīng)實現(xiàn)了初步的功能。因此具有一定的實用性。
評論