第5章-TMS320C54x的引腳功能、流水線結(jié)構(gòu)和外部總線結(jié)構(gòu)10823_第1頁
第5章-TMS320C54x的引腳功能、流水線結(jié)構(gòu)和外部總線結(jié)構(gòu)10823_第2頁
第5章-TMS320C54x的引腳功能、流水線結(jié)構(gòu)和外部總線結(jié)構(gòu)10823_第3頁
第5章-TMS320C54x的引腳功能、流水線結(jié)構(gòu)和外部總線結(jié)構(gòu)10823_第4頁
第5章-TMS320C54x的引腳功能、流水線結(jié)構(gòu)和外部總線結(jié)構(gòu)10823_第5頁
已閱讀5頁,還剩55頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第5章--TMS320C54x的引腳功能、流水線結(jié)構(gòu)和外部總線結(jié)構(gòu)10823第一頁,共60頁。5.1TMS320C54x的引腳和信號說明TMS320C54xDSP基本上都采用超薄的塑料或陶瓷四方扁平封裝(TQFP),也有其他封裝形式。圖5-1所示是TMS320C541的引腳圖。本節(jié)重點描述TMS320C541芯片的引腳功能。第二頁,共60頁。圖5-1TMS320C541的引腳圖第三頁,共60頁。第四頁,共60頁。

TMS320C5402引腳:電源引腳時鐘引腳

控制引腳地址和數(shù)據(jù)引腳串行口引腳主機(jī)接口引腳通用I/O引腳測試引腳第五頁,共60頁。第六頁,共60頁。第七頁,共60頁。第八頁,共60頁。4.振蕩器及定時信號CLKOUT、TOUT:主時鐘輸出信號、定時器輸出信號。CLKMD1~CLKMD3:3個外部/內(nèi)部時鐘工作方式輸入信號,可以預(yù)置DSP的時鐘比。X2/CLKIN、X1:晶振到內(nèi)部振蕩器的輸入引腳、內(nèi)部振蕩器到外部晶振的輸出引腳。第九頁,共60頁。5.主機(jī)接口(HPI)信號(TMS320C542/545/548等具有)HD0~HD7:HPI雙向并行數(shù)據(jù)總線。HCNTL0、HCNTL1:HPI控制信號。HBIL:HPI字節(jié)確認(rèn)輸入。第十頁,共60頁。6.串口信號CLKR0、CLKR1:接收時鐘。CLKX0、CLKX1:發(fā)送時鐘。DR0、DR1:串行口數(shù)據(jù)接收端。DX0、DX1:串行口數(shù)據(jù)發(fā)送端。FSR0、FSR1:用于接收輸入的幀同步脈沖。FSX0、FSX1:用于發(fā)送的幀同步脈沖。7.電源信號CVDD、DVDD、VSS:CPU內(nèi)核電源電壓、I/O引腳的電源電壓和器件地。第十一頁,共60頁。8.IEEE1149.1測試引腳第十二頁,共60頁。5.2流水線結(jié)構(gòu)1.流水線概述指令流水線包括執(zhí)行指令時發(fā)生的一系列總線操作。TMS320C54x的流水線有6個獨立的階段:程序預(yù)取指、取指、指令譯碼、尋址、讀和執(zhí)行指令。由于這6個階段是獨立的,因此這些操作有可能重疊。在任意給定的周期里,可能有1~6條不同的指令是激活的,每一條指令都處于不同的階段。圖5-2說明了對于單字、單周期指令,在沒有等待狀態(tài)情況下6級流水線的操作。第十三頁,共60頁。圖5-26級流水線的操作第十四頁,共60頁。圖5-26級流水線的操作這6級流水線的功能如下:預(yù)取指(Prefetch):將所要取指的地址放在程序地址總線(PAB)上。取指(Fetch):從程序總線(PB)上取指令字,并裝入指令寄存器(IR)。譯碼(Decode):對IR中的內(nèi)容譯碼,產(chǎn)生執(zhí)行指令所需要的一系列控制信號。第十五頁,共60頁。尋址(Access):數(shù)據(jù)地址產(chǎn)生單元(DAGEN)在數(shù)據(jù)地址總線(DAB)上輸出讀操作數(shù)的地址。如果還需要第二個操作數(shù),則在另一個數(shù)據(jù)地址總線(CAB)上也裝入適當(dāng)?shù)牡刂罚瑫r更新間接尋址方式中的輔助寄存器和堆棧指針(SP)。讀(Read):從數(shù)據(jù)總線(DB)和控制總線(CB)上讀操作數(shù)。執(zhí)行(Execute):從數(shù)據(jù)總線(EB)上寫數(shù)據(jù)。6條單字、單周期指令的流水線操作如圖5-3所示。第十六頁,共60頁。圖5-36條指令的流水線的操作第十七頁,共60頁。’C54x存儲器操作情況:①執(zhí)行讀單操作數(shù)指令

例如:LD*AR1,A;單周期指令,讀單操作數(shù)

通過DB讀出數(shù)據(jù)讀地址加載DAB通過IR

指令譯碼通過PB讀取指令加載PAB執(zhí)行/寫數(shù)讀數(shù)R尋址A譯碼D取指F預(yù)取指P第十八頁,共60頁。②執(zhí)行讀雙操作數(shù)指令

例如:MAC*AR2+,*AR3,A;單周期指令,

讀雙操作數(shù)

通過DB和CB讀出數(shù)據(jù)讀地址加載DAB和CAB通過IR

指令譯碼通過PB讀取指令加載PAB執(zhí)行/寫數(shù)讀數(shù)R尋址A譯碼D取指F預(yù)取指P第十九頁,共60頁。第二十頁,共60頁。第二十一頁,共60頁。第二十二頁,共60頁。*存儲器的流水線操作

內(nèi)部存儲器雙尋址存儲器DARAM單尋址存儲器讀寫存儲器SARAM只讀存儲器ROM

存儲器的流水線操作:

①雙尋址存儲器的流水線操作

單尋址存儲器的流水線操作

第二十三頁,共60頁。2.雙尋址存儲器的流水線操作

DARAM分成若干個獨立的存儲器塊,CPU可以在單個周期內(nèi)對其訪問2次。

①在單個周期內(nèi)允許同時訪問不同的DARAM塊;

②CPU同時處理兩條指令訪問不同的存儲塊;

③處于流水線不同階段的兩條指令,可以同時訪問同一個存儲塊。

第二十四頁,共60頁。表5-1訪問DARAM塊操作類型訪問時間利用PAB/PB取指前半周期利用DAB/DB讀取第一個數(shù)據(jù)前半周期利用CAB/CB讀取第二個數(shù)據(jù)后半周期利用EAB/EB寫數(shù)據(jù)后半周期第二十五頁,共60頁。DARAM的半周期尋址圖①取指令操作

預(yù)取指P取指F譯碼D尋址A讀數(shù)R執(zhí)行E讀PB

在T2的前半周期,利用PB線進(jìn)行讀指令操作。②讀單操作數(shù)操作

預(yù)取指P取指F譯碼D尋址A讀數(shù)R執(zhí)行E讀DB

在T5的前半周期,利用DB線進(jìn)行讀存儲器操作。第二十六頁,共60頁。DARAM的半周期尋址圖③讀雙操作數(shù)操作

預(yù)取指P取指F譯碼D尋址A讀數(shù)R執(zhí)行E讀DB讀CB

T5的前半周期,利用DB線讀第一操作數(shù);

T5的后半周期,利用CB線讀第二操作數(shù)。④寫單操作數(shù)操作

預(yù)取指P取指F譯碼D尋址A讀數(shù)R執(zhí)行E寫EB在T6的后半周期,利用EB線寫操作數(shù)。第二十七頁,共60頁。CPU訪問DARAM會發(fā)生流水沖突的情況:

①同時從同一存儲塊中取指令和讀操作數(shù);

②同時對同一存儲塊進(jìn)行寫操作和讀第二操作數(shù)。

當(dāng)發(fā)生流水沖突時,CPU可通過寫操作延遲一個周期,或通過插入一個空操作來解決流水線沖突。第二十八頁,共60頁。

例如:當(dāng)執(zhí)行下列程序發(fā)生時序沖突時,CPU能對取指自動延遲一個周期。

LD*AR2+,A;AR2指向相同的DARAM塊

i2

;假定i2指令不訪問DARAM

i3;假定i3指令不訪問DARAM

i4PFDARELD*AR2+,A讀DBPFDAREi2讀PBPFDAREi3讀PBPFDAREi4讀PB第1條指令讀操作數(shù)i4指令取指操作發(fā)生時序沖突

LD*AR2+,Ai2

i3i4第二十九頁,共60頁。PFDARELD*AR2+,A讀DBPFDAREi2讀PBPFDAREi3讀PBPFDAREi4讀PB

LD*AR2+,Ai2

i3i4PFDARE空操作PFDAREi4讀PB第三十頁,共60頁。3.單尋址存儲器和流水線TMS320C54x片內(nèi)有兩種形式的單尋址存儲器:●單尋址讀/寫存儲器(SARAM)?!駟螌ぶ分蛔x存儲器(ROM或DROM)。第三十一頁,共60頁。4.流水線延時TMS320C54x流水線允許CPU多條指令同時訪問CPU資源。由于CPU的資源是有限的,因此當(dāng)一個CPU資源同時被一個以上流水線級訪問時,就會發(fā)生沖突。有些沖突可以由CPU通過延遲尋址的方法自動消除,但有些沖突是不能防止的,需要由程序重新安排指令順序,或者插入NOP(空操作)指令加以解決。對于下列存儲器映像寄存器,如果在流水線中同時對它們尋址,就有可能發(fā)生不能消除的沖突:第三十二頁,共60頁?!褫o助寄存器(AR0~AR7);●重復(fù)塊長度寄存器(BK);●堆棧指針(SP);●暫存器(T);●處理器工作方式狀態(tài)寄存器(PMST);●狀態(tài)寄存器(ST0和ST1);●塊重復(fù)計數(shù)器(BRC);●存儲器映像累加器(AG、AH、AL、BG、BH和BL)。第三十三頁,共60頁。5.3外部總線結(jié)構(gòu)5.3.1外部總線接口信號TMS320C54x具有很強(qiáng)的系統(tǒng)接口能力,其總線分為內(nèi)部總線和外部總線。TMS320C54x的內(nèi)部總線有1條PB,3條CB、DB和EB及4條PAB、CAB、DAB和EAB。片內(nèi)總線采用流水線結(jié)構(gòu),可以允許CPU同時尋址這些總線。TMS320C54xDSP在片內(nèi)可實現(xiàn)一個周期內(nèi)6次操作。第三十四頁,共60頁。TMS320C54x的外部總線由數(shù)據(jù)總線(D0~D15)、地址總線(A0~A15)和控制總線(11條)組成(參見5.1節(jié))。其中,TMS320C548、TMS320C549具有23條地址總線。外部總線對外部存儲器的訪問最快只能達(dá)到每周期進(jìn)行一次尋址。下面介紹控制信號的功能。第三十五頁,共60頁。第三十六頁,共60頁。第三十七頁,共60頁。5.3.2外部總線控制性能1.等待狀態(tài)發(fā)生器當(dāng)希望TMS320C54x與外部慢速器件相互接口時,必須要有等待狀態(tài)。在CPU讀/寫外部存儲器或端口時,通過增加等待狀態(tài),可以加長CPU等待響應(yīng)的時間。具體地說,對每個等待狀態(tài),CPU等待一個附加的周期(一個CLKOUT周期)。第三十八頁,共60頁。TMS320C54x有兩種可選擇的等待狀態(tài):●軟件可編程等待狀態(tài)發(fā)生器。利用它能夠產(chǎn)生0~7個等待狀態(tài)?!馬EADY信號。利用該信號能夠由外部控制產(chǎn)生任何數(shù)量的等待狀態(tài)。第三十九頁,共60頁。1)軟件可編程等待狀態(tài)發(fā)生器軟件可編程等待狀態(tài)發(fā)生器能夠延遲外部總線最多至7個周期與外部存儲器或I/O設(shè)備接口。軟件可編程等待狀態(tài)發(fā)生器不需要任何外部硬件設(shè)備。軟件可編程等待狀態(tài)發(fā)生器的工作受到軟件等待狀態(tài)寄存器(SWWSR)的控制,它是一個16位的存儲器映像寄存器,在數(shù)據(jù)空間的地址為0028H。將程序空間和數(shù)據(jù)空間分成兩個32K字塊,I/O空間由一個64K字塊組成。這5個字塊空間在SWWSR中都相應(yīng)地有一個3位字段,用來定義各個空間插入等待狀態(tài)的數(shù)目。SWWSR的結(jié)構(gòu)如圖5-4所示。第四十頁,共60頁。圖5-4SWWSR的結(jié)構(gòu)151412119865320保留XPA(僅TMS320C548)I/OHiDataLowDataHiProgLowProgRR/WR/WR/WR/WR/W第四十一頁,共60頁。上述SWWSR的各3位字段規(guī)定的插入等待狀態(tài)的最小數(shù)為0(不插入等待周期),最大數(shù)為7(111B)。其中:LowProg:定義對0000H~7FFFH的程序空間訪問時插入的等待狀態(tài)數(shù)。HiProg:定義對8000H~FFFFH的程序空間訪問時插入的等待狀態(tài)數(shù)。

第四十二頁,共60頁。LowData:定義對0000H~7FFFH的數(shù)據(jù)空間訪問時插入的等待狀態(tài)數(shù)。HiData:定義對8000H~FFFFH的數(shù)據(jù)空間訪問時插入的等待狀態(tài)數(shù)。I/O:定義對0000H~FFFFH的I/O空間訪問時插入的等待狀態(tài)數(shù)。

第四十三頁,共60頁。2)利用READY信號產(chǎn)生等待狀態(tài)TMS320C54x的系統(tǒng)有各種各樣,僅有軟件等待狀態(tài)是不夠的。如果外部器件要求插入7個以上的等待周期,則可以利用硬件READY線來接口。READY信號由外部慢速設(shè)備驅(qū)動控制,對DSP來說是輸入信號。當(dāng)READY信號為低電平時,表明外部設(shè)備尚未準(zhǔn)備好,TMS320C54x將等待一個CLKOUT周期,并再次校驗READY信號;在READY信號變?yōu)楦唠娖街埃琓MS320C54x將不能連續(xù)運行,一直處于等待狀態(tài)。因此,如果不用READY信號,應(yīng)在外部訪問期間將其上拉到高電平。第四十四頁,共60頁。2.分區(qū)轉(zhuǎn)換邏輯 可編程分區(qū)轉(zhuǎn)換邏輯允許TMS320C54x在外部存儲器分區(qū)之間切換時,不需要外部為存儲器插入等待狀態(tài)。當(dāng)跨越程序或數(shù)據(jù)空間內(nèi)部存儲器分區(qū)界線時,可編程分區(qū)轉(zhuǎn)換邏輯會自動地插入一個周期,這個額外周期的作用是防止總線沖突,保證在其他設(shè)備驅(qū)動總線之前,存儲器設(shè)備可以結(jié)束對總線的占用。存儲器塊的大小在塊切換控制存儲器(BSCR)中定義。

第四十五頁,共60頁。圖5-5BSCR的結(jié)NKCMPPS–DS保留位BHEXIOR/WR/W

R/WR/W第四十六頁,共60頁。分區(qū)轉(zhuǎn)換邏輯由分區(qū)轉(zhuǎn)換控制寄存器(BSCR)定義,它是一個16位的存儲器映像寄存器,在數(shù)據(jù)空間的地址為0029H。BSCR的結(jié)構(gòu)如圖5-5所示。 表5-2(略)列出了TMS320C54x分區(qū)轉(zhuǎn)換控制寄存器各字段功能的詳細(xì)說明。第四十七頁,共60頁。5.3.3外部總線接口時序圖1.存儲器尋址定時圖圖5-6是存儲器讀—讀—寫操作定時圖。在此圖中,雖然外部存儲器寫操作要花兩個機(jī)器周期,但每次在同一分區(qū)中來回讀(保持低電平)都是單周期尋址。

第四十八頁,共60頁。圖5-6存儲器讀—讀—寫操作定時圖第四十九頁,共60頁。圖5-7給出了存儲器寫—寫—讀操作定時圖。注意,圖中由低變高后,寫操作的地址線和數(shù)據(jù)線繼續(xù)保持約一個半周期有效。每次存儲器寫操作要花兩個機(jī)器周期,而緊跟其后的讀操作也要兩個機(jī)器周期。第五十頁,共60頁。圖5-7存儲器寫—寫—讀操作定時圖第五十一頁,共60頁。第五十二頁,共60頁。2.I/O尋址定時圖對I/O設(shè)備讀/寫操作要持續(xù)兩個機(jī)器周期,在此期間,地址線變化一般都發(fā)生在CLKOUT的下降沿(若I/O尋址前是一次存儲器尋址,則地址變化發(fā)生

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論