【學(xué)習(xí)課件】第2章TMS320C54x的硬件結(jié)構(gòu)原理_第1頁(yè)
【學(xué)習(xí)課件】第2章TMS320C54x的硬件結(jié)構(gòu)原理_第2頁(yè)
【學(xué)習(xí)課件】第2章TMS320C54x的硬件結(jié)構(gòu)原理_第3頁(yè)
【學(xué)習(xí)課件】第2章TMS320C54x的硬件結(jié)構(gòu)原理_第4頁(yè)
【學(xué)習(xí)課件】第2章TMS320C54x的硬件結(jié)構(gòu)原理_第5頁(yè)
已閱讀5頁(yè),還剩173頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第二章 TMS320C54x的結(jié)構(gòu)原理 本章主要介紹TMS320C54X DSP的內(nèi)部結(jié)構(gòu)和工作原理,包括CPU結(jié)構(gòu)、總線結(jié)構(gòu)、存儲(chǔ)體結(jié)構(gòu)和外圍設(shè)備等。重點(diǎn): CPU和外設(shè)的寄存器設(shè)置編輯ppt第二章 TMS320C54x的結(jié)構(gòu)原理 本章內(nèi)容:TMS320系列DSP概述C54x數(shù)字信號(hào)處理器總線結(jié)構(gòu)存儲(chǔ)空間中央處理器程序存儲(chǔ)器地址生成方式流水線外圍電路串行口外部總線C54x引腳信號(hào)說明編輯ppt1. TMS320系列DSP概述TI市場(chǎng)地位:1.DSP產(chǎn)品全球第一2.模擬產(chǎn)品全球第一3.無線產(chǎn)品全球第一4.圖形計(jì)算器全球第一5.硬盤產(chǎn)品全球第一編輯pptTMS320系列DSP的分類和用途(1)T

2、MS320C2000系列 集成了flash存儲(chǔ)器、高速A/D轉(zhuǎn)換器以及可靠的CAN模塊及數(shù)字馬達(dá)控制的外圍模塊,適用于運(yùn)動(dòng)控制領(lǐng)域。(2)TMS320C5000系列 包括TMS320C5X /C54X/ C55X 成本低,經(jīng)濟(jì)性好,主要用于個(gè)人電子類產(chǎn)品 。(3)TMS320C6000系列 TMS320C62X/C67X , C64x,在時(shí)鐘頻率為1.1GHz時(shí),每秒可執(zhí)行90億條指令,適合進(jìn)行復(fù)雜運(yùn)算處理。 編輯ppt(1)TMS320C2000系列(包括:C20X,C24X,C28三大類)2000系列,又稱為DSP控制器。在一片DSP芯片上集成了FLASH存儲(chǔ)器、高速A/D轉(zhuǎn)換器以及數(shù)字馬

3、達(dá)控制模塊,所以2000系列特別適用于電動(dòng)機(jī)、變頻器等一些高速實(shí)時(shí)工控產(chǎn)品的數(shù)字化控制。編輯pptTMS320C20X20X是2000系列中早期的產(chǎn)品主要特點(diǎn):處理能力強(qiáng):指令周期最短為25ns,運(yùn)算速度達(dá)到 40MIPSFlash存儲(chǔ)器:是最早使用閃存的DSP芯片低功耗:在5v電壓下工作,消耗電流為1.9mA/MIPS; 在3.3v電壓下工作,消耗電流為1.1mA/MIPS。編輯pptTMS320C24X24X系列在20X的基礎(chǔ)上,增加功能:增加16路10位A/D轉(zhuǎn)換器多個(gè)通用定時(shí)器,和一個(gè)監(jiān)視定時(shí)器(Watchdog)16個(gè)PWM(脈寬調(diào)制)輸出通道比較單元、編碼電路等編輯ppt TMS3

4、20C28X28X系列是目前數(shù)字控制領(lǐng)域中性能最好的DSP芯片。與24X相比做了如下的改進(jìn):32位的數(shù)據(jù)總線(運(yùn)算速度可達(dá)400MIPS)12位的A/D存儲(chǔ)空間增大降低功耗(DSP核工作電壓為1.8v;外設(shè)工作電壓為3.3v)編輯pptGeneral Purpose Input Output 多通道緩沖串行口。是在標(biāo)準(zhǔn)串行接口的基礎(chǔ)之上對(duì)功能進(jìn)行擴(kuò)展,因此,具有與標(biāo)準(zhǔn)串行接口相同的基本功。SCI是用于多處理器之間的異步串行通信,SPI則是用于CPU與外設(shè)之間的同步串行通信 編輯pptDSESSSCSIP數(shù)據(jù)暫存器執(zhí) 行 部 件控 制 電 路指令譯碼器總線接口控制電路AXBXCXDXAHBHCH

5、DHSIDIBPSPALBLCLDL寄存器組BIUABDBCB地址加法器指令隊(duì)列PSW標(biāo)志寄存器EU運(yùn)算器DSESSSCSIP數(shù)據(jù)暫存器執(zhí) 行 部 件控 制 電 路指令譯碼器總線接口控制電路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器組ABDBCB地址加法器指令隊(duì)列PSW標(biāo)志寄存器運(yùn)算器編輯pptATMPPSWBSPDPTRRAMPCROMP1P2P3P0定時(shí)中斷串口IRPLAID振蕩X1X2 PSEN RST ALE EAP0P1P2P3ALU編輯ppt(2)TMS320C5000系列(包括:C54X,C55X兩大類)這兩類芯片完全兼容,所不同的是C55X具有更高的

6、性能和更低的功耗。編輯pptTMS320C55XC55X DSP是一款低功耗、高性能處理器,主要應(yīng)用領(lǐng)域是3G手機(jī)、PDA、MP3、數(shù)碼相機(jī)等手持便攜式數(shù)字設(shè)備。它具有省電、實(shí)時(shí)性高的優(yōu)點(diǎn),同時(shí)外部接口豐富,能滿足大多數(shù)嵌入式應(yīng)用的要求編輯ppt編輯pptTMS320C55X主要特點(diǎn)16位定點(diǎn)DSP,處理速度為600MIPS片上外設(shè)豐富: 實(shí)時(shí)時(shí)鐘RTCMcBSP接口USB2.0接口MMC/SD接口I2C接口UART接口編輯pptTMS320C55X主要特點(diǎn)(續(xù))大容量RAM(128K)和ROM(32K);功耗更低,1.26v的內(nèi)核工作電壓,3.3v外設(shè)工作電壓;價(jià)格便宜,第一款低于5美元的雙

7、核DSP;采用新型生產(chǎn)工藝,芯片體積小。編輯ppt編輯ppt(3)TMS320C6000系列(主要包括C62X,C64X,C67X三類)該系列DSP采用了與上述系列DSP不同的內(nèi)部 結(jié)構(gòu)設(shè)計(jì),使得DSP能夠獲得極高的運(yùn)行速度: 指令周期最小為3.3ns,運(yùn)算能力為2400MIPS。編輯ppt編輯ppt(4)TMS320C5000+ARM7DSP芯片單獨(dú)支持音視頻編解碼處理,優(yōu)勢(shì)在于編解碼能力強(qiáng),支持的媒體類型非常豐富,提供多種最流行的錄制壓縮及播放格式,包括MPEG-4、MPEG-1、MPEG-2、DivX、WMV WMA V9、QuickTime 6、H.264、AAC-LC、MP3等等。

8、而ARM處理器負(fù)責(zé)系統(tǒng)處理及提供外圍設(shè)備接口。這樣設(shè)計(jì)的好處是,可選擇輸入設(shè)備較多,后期升級(jí)潛力大。 編輯ppt編輯pptDSP+ARM RISC多應(yīng)用于多媒體設(shè)備編輯pptTI DSP命名方式編輯pptDSP常見封裝形式DIP(Double In-Line Package)-雙列直插式封裝。編輯pptDSP常見封裝形式(續(xù))PGA(Pin Grid Array Package)-插針網(wǎng)格陣列封裝 。芯片封裝形式在芯片的內(nèi)外有多個(gè)方陣形的插針,每個(gè)方陣形插針沿芯片的四周間隔一定距離排列。 編輯pptDSP常見封裝形式(續(xù))QFP( Quad Flat Package )-扁平式封裝的芯片引腳之

9、間距離很小,管腳很細(xì),一般大規(guī)模或超大型集成電路都采用這種封裝形式。 編輯ppt2. TMS320C54x數(shù)字信號(hào)處理器 C54x數(shù)字信號(hào)處理器是TI公司1996年推出的 新一代定點(diǎn)數(shù)字信號(hào)處理器。它采用先進(jìn)的修 正哈佛結(jié)構(gòu),片內(nèi)共有8條總線(1條程序總線、 3條數(shù)據(jù)總線和4條地址總線),高度并行的算 術(shù)邏輯單元ALU,專用硬件邏輯,片內(nèi)存儲(chǔ) 器,片內(nèi)外設(shè),再加上專用的指令系統(tǒng),使 C54x芯片速度更高,操作更靈活,非常適用于 遠(yuǎn)程通信等實(shí)時(shí)嵌入式應(yīng)用的需要。 編輯pptC54x的硬件結(jié)構(gòu)框圖 編輯pptC54xDSP特點(diǎn)改進(jìn)的哈佛結(jié)構(gòu)和8總線結(jié)構(gòu): 使處理器的性能大大提高,實(shí)現(xiàn)高度并行操作。

10、例如:可以在一條指令中,同時(shí)執(zhí)行2次讀操作和1次寫操作。編輯pptC54xDSP特點(diǎn)(續(xù))獨(dú)立的DMA總線和控制器:獨(dú)立的DMA總線,與CPU的程序、數(shù)據(jù)總線并行工作,在不影響CPU工作的條件下,DMA速度目前已達(dá)800Mbyte/s編輯pptC54xDSP特點(diǎn)(續(xù))數(shù)據(jù)地址發(fā)生器(DAG):在通用CPU中,數(shù)據(jù)地址的產(chǎn)生和數(shù)據(jù)的處理都由ALU來完成在DSP中,設(shè)置了專門的數(shù)據(jù)地址發(fā)生器(實(shí)際上是專門的ALU),來產(chǎn)生所需要的數(shù)據(jù)地址,節(jié)省公共ALU的時(shí)間編輯pptC54xDSP特點(diǎn)(續(xù))PLL(phase-locked loop )鎖相環(huán)定時(shí)器(Timer)軟件可編程等待狀態(tài)發(fā)生器JTAG(

11、符合IEEE1149.1標(biāo)準(zhǔn))仿真接口電氣電子工程師協(xié)會(huì)(InstituteofElectricalandElectronicsEngineers) 編輯ppt3.總線結(jié)構(gòu)TMS320C54x DSP采用該進(jìn)的哈佛結(jié)構(gòu):具有八組總線;其中獨(dú)立的程序總線和數(shù)據(jù)總線允許同時(shí)讀取指令和操作數(shù),實(shí)現(xiàn)高度的并行操作。采用各自分開的數(shù)據(jù)總線分別用于讀數(shù)據(jù)和寫數(shù)據(jù),允許CPU在同一個(gè)機(jī)器周期內(nèi)進(jìn)行兩次讀操作數(shù)和一次寫操作數(shù)。編輯ppt編輯ppt3.總線結(jié)構(gòu)八組16-bit總線: 程序總線(PB)傳送從程序存儲(chǔ)器來的指令代碼和立即數(shù)。 三組數(shù)據(jù)總線(CB,DB和EB)連接各種元器件,如CPU、數(shù)據(jù)地址產(chǎn)生邏輯

12、、程序地址產(chǎn)生邏輯,片內(nèi)外設(shè)和數(shù)據(jù)存儲(chǔ)器。CB和DB總線傳送從數(shù)據(jù)存儲(chǔ)器讀出的操作數(shù)。EB總線傳送寫入到存儲(chǔ)器中的數(shù)據(jù)。 四組地址總線(PAB,CAB,DAB和EAB)傳送執(zhí)行指令和讀寫數(shù)據(jù)所需要的地址。編輯ppt3.總線結(jié)構(gòu)C54X利用數(shù)據(jù)地址發(fā)生器可在每個(gè)周期產(chǎn)生兩個(gè)數(shù)據(jù)的存儲(chǔ)地址。PB總線可將程序空間的操作數(shù)據(jù)送至乘法器加法器,以進(jìn)行乘法累加操作;或送至數(shù)據(jù)空間的目的地址以執(zhí)行數(shù)據(jù)移動(dòng)指令。這一特性與一個(gè)機(jī)器周期可實(shí)現(xiàn)尋址兩次的存儲(chǔ)器雙操作存儲(chǔ)器(DARAM)相結(jié)合,支持單周期、3操作數(shù)指令的執(zhí)行。 編輯ppt各種讀/寫方式用到的總線編輯ppt4.存儲(chǔ)器與存儲(chǔ)空間C54x存儲(chǔ)空間為192

13、k,由3個(gè)獨(dú)立的可選擇空間組成:程序存儲(chǔ)空間(64k)、數(shù)據(jù)存儲(chǔ)空間(64k)和I/O空間(64k)。C54x的存儲(chǔ)空間可以在片內(nèi)也可以在片外,在片內(nèi)可由片內(nèi)存儲(chǔ)器提供;片外由擴(kuò)展存儲(chǔ)器提供。片內(nèi)存儲(chǔ)器形式分為兩類:ROM和RAM。片內(nèi)RAM也分為兩類: 單尋址RAM(SARAM)、雙尋址RAM(DARAM)編輯ppt片內(nèi)存儲(chǔ)器介紹(1)片內(nèi)ROMC54x系列DSP按照款式不同,片內(nèi)ROM大小也不同: 對(duì)于較小的ROM(2k)一般只在ROM里面存放一個(gè)引導(dǎo)程序,用來將程序引導(dǎo)至片內(nèi)或片外的快速RAM中 。 對(duì)于較大的ROM,既可以把ROM安排為程序存儲(chǔ)空間,又可以安排為數(shù)據(jù)存儲(chǔ)空間。編輯ppt

14、片內(nèi)存儲(chǔ)器介紹(續(xù))(2)片內(nèi)RAM(SARAM,DARAM)SARAM(single access RAM)單操作RAM, 由若干塊組成,每個(gè)塊在一個(gè)機(jī)器周期只能被訪問一次(讀/寫),常被安排為數(shù)據(jù)存儲(chǔ)空間,也能被安排為程序存儲(chǔ)空間。DARAM(double access RAM)雙操作RAM, 由若干塊組成,每個(gè)塊在一個(gè)機(jī)器周期可以被訪問兩次讀或者寫操作。常被安排為數(shù)據(jù)存儲(chǔ)空間,也能被安排為程序存儲(chǔ)空間。編輯ppt片內(nèi)ROM空間分配片內(nèi)ROM既可以作為程序存儲(chǔ)空間又可以作為數(shù)據(jù)存儲(chǔ)空間,但是在ROM的高2K字空間中,廠家事先固化了相關(guān)內(nèi)容,對(duì)這部分空間用戶不能隨意存儲(chǔ)其他內(nèi)容。編輯ppt片

15、內(nèi)ROM的分塊操作為了增強(qiáng)處理器的性能,可以對(duì)片內(nèi)ROM進(jìn)行分塊,這樣就能在片內(nèi)ROM的一個(gè)塊內(nèi)取指的同時(shí)又能在另一個(gè)塊內(nèi)取數(shù)。根據(jù)不同DSP的片內(nèi)ROM容量不同,片內(nèi)ROM可以分為2k字、4k字或8k的塊。編輯ppt片內(nèi)RAM的分塊操作片內(nèi)RAM也可以分為若干塊,分塊后,用戶可以在一個(gè)周期內(nèi)從一個(gè)DARAM塊中取出兩個(gè)操作數(shù),同時(shí)可在另一個(gè)RAM塊中存數(shù)。根據(jù)不同DSP的片內(nèi)RAM容量不同,片內(nèi)RAM可以分為1k字、2k字或8k的塊。編輯ppt程序存儲(chǔ)空間和數(shù)據(jù)存儲(chǔ)空間程序存儲(chǔ)空間:存放要執(zhí)行的指令和執(zhí)行指令時(shí)要用的系數(shù)表。數(shù)據(jù)存儲(chǔ)空間:存放執(zhí)行指令所要用的數(shù)據(jù)。通過“處理器工作方式狀態(tài)寄存

16、器”(PMST)來設(shè)定程序/數(shù)據(jù)存儲(chǔ)空間的分配情況(片外、ROM和RAM)編輯pptPMST和存儲(chǔ)空間分配關(guān)系PMST中相關(guān)位:MP/MC,OVLY,DROM編輯ppt數(shù)據(jù)存儲(chǔ)空間分頁(yè)管理數(shù)據(jù)空間的分頁(yè)管理: 所謂分頁(yè)就是把64k字的存儲(chǔ)空間分為512頁(yè)(0頁(yè)511頁(yè))每頁(yè)128字空間在數(shù)據(jù)存儲(chǔ)空間的第0頁(yè)上(0000H007FH)固定存放的是存儲(chǔ)器映射寄存器和暫存器的內(nèi)容編輯ppt程序存儲(chǔ)空間分頁(yè)管理如果程序存儲(chǔ)空間只需要64k的空間,則不分頁(yè)。如果需要擴(kuò)展程序存儲(chǔ)空間,則采用分頁(yè)擴(kuò)展的方法:比如C5402可以將程序存儲(chǔ)空間擴(kuò)展至1M(1024k)字,擴(kuò)展后的程序存儲(chǔ)空間被分為16頁(yè)(0頁(yè)1

17、5頁(yè)),每頁(yè)64k字的空間。編輯pptC5402分頁(yè)擴(kuò)展程序存儲(chǔ)空間圖(1)當(dāng)OVLY=0時(shí)(RAM不安排作為程序存儲(chǔ)空間),程序存儲(chǔ)空間被分為16頁(yè),每頁(yè)64k空間,按頁(yè)號(hào)尋址。頁(yè)號(hào)由“程序計(jì)數(shù)器擴(kuò)展寄存器”XPC提供:XPC=0表示選中第0頁(yè), XPC=1表示選中第1頁(yè)編輯pptC5402分頁(yè)擴(kuò)展程序存儲(chǔ)空間圖(2)當(dāng)OVLY=1時(shí)(RAM安排作為程序存儲(chǔ)空間)每頁(yè)被分為兩部分:公共32k字(低32k字)和獨(dú)立32k字(高32k字)。對(duì)于每頁(yè)的公共32k字,全部映射到片內(nèi)RAM中; 對(duì)于獨(dú)立32k字仍然按頁(yè)尋址,頁(yè)號(hào)由XPC指定。編輯pptC5402分頁(yè)擴(kuò)展程序存儲(chǔ)空間圖(3)當(dāng)MP/MC

18、=0時(shí)(片內(nèi)ROM被安排作為程序存儲(chǔ)空間)存儲(chǔ)空間的第0頁(yè)必須被安排在片內(nèi)ROM中。XPC(程序計(jì)數(shù)器擴(kuò)展寄存器)映射在數(shù)據(jù)存儲(chǔ)空間的001E單元中,每次機(jī)器復(fù)位時(shí),XPC都初始化為0。編輯ppt存儲(chǔ)器映射CPU寄存器把CPU寄存器映射到存儲(chǔ)空間的好處是:在對(duì)CPU寄存器尋址時(shí)不需要插入等待周期,直接在存儲(chǔ)器內(nèi)部就可以完成,提高了運(yùn)行速度。存儲(chǔ)器映射CPU寄存器的名稱及地址見書P38表2-6編輯ppt存儲(chǔ)器映射CPU寄存器功能簡(jiǎn)介(1)輔助寄存器(AR0AR7):8個(gè)16位的輔助寄存器可以由中心算術(shù)邏輯單元CALU訪問,也可以由輔助寄存器算術(shù)單元ARUA修改,主要功能是產(chǎn)生16位的數(shù)據(jù)地址,也

19、可以作為通用寄存器和計(jì)數(shù)器使用。T寄存器(TREG):主要用于存放乘法指令的一個(gè)乘數(shù),也可以為移位指令存放移位計(jì)數(shù),還可以存放指數(shù)運(yùn)算指令EXP的指數(shù)值等。編輯ppt存儲(chǔ)器映射CPU寄存器功能簡(jiǎn)介(2)狀態(tài)轉(zhuǎn)移寄存器(TRN):在執(zhí)行比較指令CMPS時(shí),可以通過該寄存器位值的變化來判斷比較結(jié)果。堆棧指針寄存器(SP):用于存放棧頂?shù)?6位地址。循環(huán)緩沖區(qū)長(zhǎng)度寄存器(BK):用來在循環(huán)尋址時(shí)確定循環(huán)緩沖區(qū)的大小。編輯ppt存儲(chǔ)器映射CPU寄存器功能簡(jiǎn)介(3)塊循環(huán)寄存器(BRC,RSA,REA):在執(zhí)行塊循環(huán)指令時(shí)由BRC確定一塊代碼需要循環(huán)的次數(shù);由RSA指定需要循環(huán)塊的起始地址,由REA指定

20、循環(huán)塊的結(jié)束地址。中斷寄存器(IMR,IFR):中斷屏蔽寄存器IMR用于屏蔽指定的中斷,中斷狀態(tài)寄存器IFR用來表示各個(gè)中斷的當(dāng)前狀態(tài)。編輯ppt存儲(chǔ)器映射外圍電路寄存器外圍電路寄存器用于對(duì)外圍電路的控制和存放數(shù)據(jù),對(duì)它們尋址需要兩個(gè)機(jī)器周期。編輯pptI/O存儲(chǔ)空間除程序存儲(chǔ)器空間和數(shù)據(jù)存儲(chǔ)器空間外,C54x系列器件還提供了I/O存儲(chǔ)空間(64k字),這個(gè)空間在DSP外部,里面存放的是外部設(shè)備的端口地址,訪問I/O存儲(chǔ)空間就是通過I/O空間中存放的端口地址去訪問對(duì)應(yīng)的外設(shè)。有兩條指令PORTR和PORTW可以對(duì)I/O存儲(chǔ)器空間操作。如:PORTR PA, SMEM ; PA為端口地址,SME

21、M為內(nèi)存地址 PORTW SMEM, PA;編輯ppt5.中央處理單元(CPU)通用微處理器的CPU由ALU和CU組成,其算術(shù)運(yùn)算和邏輯運(yùn)算通過軟件來實(shí)現(xiàn),如加法需要10個(gè)機(jī)器周期,乘法是一系列的移位和加法,需要數(shù)十個(gè)機(jī)器周期。DSP的CPU設(shè)置硬件乘法器,可以在單周期內(nèi)完成乘法和累加編輯ppt編輯pptCPU的基本組成CPU狀態(tài)和控制寄存器 40位算術(shù)邏輯單元(ALU) 40位累加器A和B桶形移位寄存器乘法器/加法器單元比較、選擇和存儲(chǔ)單元(CSSU)指數(shù)編碼器編輯ppt算術(shù)邏輯單元(ALU)和累加器TMS320C54x使用40位算術(shù)邏輯單元(ALU)和兩個(gè)40位累加器(ACCA和ACCB)

22、來完成算術(shù)運(yùn)算和邏輯運(yùn)算,且大多數(shù)都是單周期指令。編輯pptALU功能框圖16位數(shù)據(jù)的符號(hào)位擴(kuò)展:(1)當(dāng)ST1寄存器中的SXM=0時(shí);高位全部添0(2)當(dāng)ST1寄存器中的SXM=1,進(jìn)行符號(hào)位擴(kuò)展,正數(shù)全部添0;負(fù)數(shù)全部添1編輯ppt溢出處理由狀態(tài)寄存器ST1中的OVM位值來判斷是否使能飽和邏輯OVM=0,不啟動(dòng)溢出處理功能,ALU的實(shí)際結(jié)果直接送累加器OVM=1,啟動(dòng)溢出處理功能,此時(shí)根據(jù)溢出方向來確定送入累加器的數(shù)值:(1)正向溢出:將最大的正數(shù)007FFFFFFF送累加器(2)負(fù)向溢出:將最大的負(fù)數(shù)FF80000000送累加器 出現(xiàn)溢出后,相應(yīng)的溢出標(biāo)志位OVA或OVB被置1,直到復(fù)位

23、或在溢出狀態(tài)下執(zhí)行條件指令后,OVA或OVB才重新被置0編輯ppt累加器A和B累加器A和B被分成三段: AG、AH、AL(BG、BH、BL)可用堆棧指令將各部分進(jìn)行進(jìn)棧和出棧操作,以保存或恢復(fù)累加器數(shù)據(jù)累加器A的3116位可以作為乘法器的一個(gè)輸入編輯ppt累加器內(nèi)容保存 用戶可以使用STH、STL等指令將累加器中的內(nèi)容放到數(shù)據(jù)存儲(chǔ)器中保存,在存儲(chǔ)前有時(shí)需要對(duì)累加器中的內(nèi)容進(jìn)行移位操作。 右移:AG(BG)AH(BH) AL(BL) AG(BG)不變 左移: AH(BH) AL(BL)低位補(bǔ)0 編輯ppt例如:累加器A=FF 4321 1234HSTH A,8,T;累加器A左移8位后,高位存 在

24、存儲(chǔ)單元T中,T=2112HSTH A,8,T;累加器A右移8位后,高位存 在存儲(chǔ)單元T中,T=FF43HSTL A,8,T;累加器A左移8位后,低位存 在存儲(chǔ)單元T中,T=3400HSTL A,8,T;累加器A右移8位后,低位存 在存儲(chǔ)單元T中,T=2112H編輯ppt移位DSP可以在一個(gè)機(jī)器周期內(nèi)左移或右移多個(gè)bit,可以用來對(duì)數(shù)字定標(biāo),使之放大或縮小,以保證精度和防止溢出;還可以用來作定點(diǎn)數(shù)和浮點(diǎn)數(shù)之間的轉(zhuǎn)換例:ADD A,4,B; 累加器A右移4位后加到累加器BADD A,ASM,B;累加器A按ASM指定的位數(shù)移位 后加到累加器B編輯ppt桶形移位寄存器桶形移位寄存器的輸入可以為:從D

25、B獲得的16位操作數(shù);從DB和CB獲得的32位操作數(shù);從累加器A或B獲得的40位操作數(shù)。桶形移位寄存器的輸出連到ALU或經(jīng)EB總線寫入指定存儲(chǔ)單元。編輯ppt桶型移位器功能框圖編輯ppt乘法器/加法器單元C54x CPU有一個(gè)17x17位的硬件乘法器,與40位的專用加法器相連,可以在單周期內(nèi)完成一次乘法累加運(yùn)算。乘法器的輸出經(jīng)小數(shù)/整數(shù)乘法(FRCT/INT)輸入控制后加到加法器的一個(gè)輸入端,加法器的另一個(gè)輸入端來自累加器A或B。加法器還包括零檢測(cè)器、舍入器(二進(jìn)制補(bǔ)碼)及溢出/飽和邏輯電路。編輯ppt乘法器/加法器單元功能框圖(1)有符號(hào)數(shù)乘法:對(duì)16位操作數(shù)的擴(kuò)展符號(hào)位至17位(2)無符號(hào)

26、數(shù)乘法:16位數(shù)前加0,變?yōu)?7位(3)無符號(hào)數(shù)數(shù)與有符號(hào)數(shù)相乘:無符號(hào)數(shù)17位添0;有符號(hào)數(shù)17位擴(kuò)展符號(hào)位編輯ppt 乘/加單元實(shí)現(xiàn)XiYi運(yùn)算過程編輯ppt比較、選擇和存儲(chǔ)單元功能框圖編輯ppt比較、選擇和存儲(chǔ)單元功能框圖例如,用CMPS指令對(duì)累加器A中AH和AL的內(nèi)容進(jìn)行比較,并將較大的數(shù)存放到指定單元CMPS A,*AR1;(AH)(AL),則(AH)*AR1,TRN左移1位,低位補(bǔ)0,TC置0(AH)A編輯ppt處理器方式狀態(tài)寄存器PMST的位結(jié)構(gòu)編輯ppt狀態(tài)寄存器PMST編輯ppt利用輔助寄存器進(jìn)行間接尋址示意圖編輯ppt影響TC位的指令BIT Xmem,BITC;測(cè)試指定位,

27、由BITC指定要測(cè) 試的位BITT Smem;測(cè)試指定位,由T寄存器指定要測(cè)試的 位(測(cè)試位為1,則TC=1)CMPM Smem ,#lk;存儲(chǔ)器操作數(shù)和立即數(shù)比較CMPR CC,ARx;輔助寄存器ARx和AR0比較 (=,則TC=1)SFTC src;測(cè)試指定累加器的第31位和第30位是否 相同,不同TC=1編輯ppt利用DP進(jìn)行直接尋址LD #4,DP ;指向頁(yè)4(0200h-027Fh)ADD 9h,A ;將數(shù)據(jù)頁(yè)4中地址9h的數(shù)據(jù)加給AccA編輯ppt利用SP進(jìn)行直接尋址例:SSBX CPL ;對(duì)狀態(tài)寄存器ST1的CPL位置1 (選擇利用SP進(jìn)行直接尋址)LD X1,A ;SP指針加X

28、1所形成的地址中的內(nèi) 容送累加器AADD Y1,A;SP指針加Y2所形成的地址中的內(nèi) 容與累加器A中的值相加 由于DP與SP兩種直接尋址方式是相互排斥的,所以當(dāng)采用SP尋址后再次使用DP尋址前,必須用RSBX CPL 指令對(duì)CPL清零編輯ppt循環(huán)對(duì)XF位置1和清0, 控制LED亮滅*循環(huán)對(duì)XF位置1和清0,用示波器可以在XF腳檢測(cè)到電平高低周期性變化,常用于檢測(cè)DSP是否工作*CodeStart: ;程序入口SSBX XF ;XF置1RPT #999 ;重復(fù)執(zhí)行下面一條指令1000次NOP ;空指令產(chǎn)生延時(shí)RSBX XF ;XF清0RPT #999 ;重復(fù)執(zhí)行1000次空指令產(chǎn)生延時(shí)NOP

29、B CodeStart ;跳轉(zhuǎn)到程序開頭循環(huán)執(zhí)行.end NOP指令執(zhí)行時(shí)間為一個(gè)時(shí)鐘周期,設(shè)DSP工作頻率是50MHz,可以估算出XF引腳電平的變化頻率約為:50M/2000=25kHz 編輯ppt用兩級(jí)減一計(jì)數(shù)器來增長(zhǎng)延時(shí)時(shí)間CodeStart: ;程序入口 SSBX XF ;XF置1 CALL Delay;調(diào)用延時(shí)程序 RSBX XF ;XF清0 CALL Delay;調(diào)用延時(shí)程序 B CodeStart ;跳轉(zhuǎn)到程序開頭循環(huán)執(zhí)行Delay: STM #999,AR1 ;循環(huán)次數(shù)1000LOOP1: STM #4999, AR2 ;循環(huán)次數(shù)5000LOOP2: BANZ LOOP2,*A

30、R2- ;如果AR2不等于0,AR2減1,再判斷 BANZ LOOP1,*AR1- ;如果AR1不等于0,AR1減1,跳轉(zhuǎn)到LOOP1 RET按此法延時(shí)的近似公式為:4*(AR2+1)*(AR1+1)時(shí)鐘周期,當(dāng)DSP工作在50MHz(時(shí)鐘周期20ns),AR1=999, AR2=4999時(shí),延時(shí)約為400ms,則LED閃爍的周期為800ms,頻率1.25Hz.編輯ppt6.程序地址生成器 由程序地址生成器(PAGEN)生成程序地址,并加載到程序地址總線(PAB)上。 程序地址指出程序存儲(chǔ)器的位置,程序存儲(chǔ)器中存放著程序代碼、系數(shù)表以及立即操作數(shù)。程序地址生成器(PAGEN)的組成包括: 程序

31、計(jì)數(shù)器(PC) 重復(fù)計(jì)數(shù)器(RC) 塊重復(fù)計(jì)數(shù)器(BRC) 塊重復(fù)起始地址寄存器(RSA) 塊重復(fù)結(jié)束地址寄存器(REA)編輯ppt程序計(jì)數(shù)器PC 程序計(jì)數(shù)器(PC)是一個(gè)16位計(jì)數(shù)器,其中保存的是某個(gè)內(nèi)部或者外部程序存儲(chǔ)器的地址,這個(gè)地址中存放的則是即將取指的某條指令。(或者是即將訪問的某個(gè)16位的立即操作數(shù)或系數(shù)表。)編輯ppt加載地址到PC的幾種途徑BACC src B pmad CALL pmad CALA src INTR KPC中的地址是如何得到的編輯ppt分支轉(zhuǎn)移操作 利用程序的分支和轉(zhuǎn)移可執(zhí)行:分支轉(zhuǎn)移、循環(huán)控制和子程序操作;通過分支轉(zhuǎn)移指令改寫PC,可以改變程序的流向。 對(duì)C

32、54X而言,有兩種分支轉(zhuǎn)移形式:條件分支轉(zhuǎn)移、無條件分支轉(zhuǎn)移。編輯ppt(1)無條件分支轉(zhuǎn)移B pmad;此時(shí)PC=pmad,pmad為一個(gè)16位 的地址,程序轉(zhuǎn)移到在此地址處的 指令開始執(zhí)行。例如: B start;start為符號(hào)地址BACC src;src為累加器(A/B);此時(shí)把累加 器低16位中的值作為指令地址加載 到PC,程序從此地址處的指令開 始執(zhí)行。例如:ld #80h,a bacc a;從0 x80起始的內(nèi)存處開始程序。 編輯ppt(2)條件分支轉(zhuǎn)移BC pmad,cond;cond作為轉(zhuǎn)移條件,如果 cond成立,則PC=pmad, 即從此地址處的指令開始執(zhí) 行。BANZ

33、pmad,sind;sind為一個(gè)操作數(shù),若此 操作數(shù)不為0,則PC=pmad。編輯ppt調(diào)用和返回 當(dāng)采用調(diào)用指令進(jìn)行子程序或函數(shù)調(diào)用時(shí),DSP會(huì)中斷當(dāng)前運(yùn)行的程序,轉(zhuǎn)移到程序存儲(chǔ)器的其它地址繼續(xù)運(yùn)行。轉(zhuǎn)移前,原程序的下一條指令的地址被壓入堆棧,而返回時(shí)則將這個(gè)地址彈出至PC,使被中斷的原程序能繼續(xù)執(zhí)行。 對(duì)C54X而言,分無條件調(diào)用返回和有條件調(diào)用返回。 編輯ppt(1)無條件調(diào)用返回?zé)o條件調(diào)用和返回指令有以下幾種:CALL pmad;將返回地址壓入堆棧,pmad加載 PC。CALA src;將返回地址壓入堆棧,累加器低 16位加載PC。RET;用棧頂?shù)姆祷氐刂芳虞dPC。RETF;返回地址

34、加載PC,并開放中斷。編輯ppt(2)條件調(diào)用返回條件調(diào)用和返回指令有兩種:CC pmad,cond;如果指令規(guī)定的條件得到滿 足,則先將返回地址壓入堆 棧,然后用所指定的地址加 載PC。RC cond;如果指令中的條件得到滿足,則將 棧頂?shù)姆祷氐刂芳虞dPC。編輯ppt條件指令中的條件判斷條件分支轉(zhuǎn)移和條件調(diào)用返回指令中,所涉及的條件如下表所示:見書附錄C編輯ppt條件指令中的條件判斷(續(xù))編輯ppt多重條件指令中的條件組合當(dāng)指令需要多重條件判斷時(shí),如:BC pmad,cond,condcond 必須所有的條件都得到滿足,程序才能轉(zhuǎn)移到pmad。由于有的條件是相互排斥的,因此在一條多重條件指令

35、中,不是所有的條件都能用,只能進(jìn)行部分組合。如下表所示。見書P214 圖6-1編輯ppt多重條件組合要求第一組:可以從A類中選用一個(gè)條件,同時(shí)從B類中選擇一個(gè)條件,但是不能從一類中選擇兩個(gè)條件。另外兩個(gè)條件測(cè)試的累加器必須是同一個(gè),例如:可以同時(shí)測(cè)試AGT和AOV,但是不能同時(shí)測(cè)試AGT和BGT。第二組:可以在A、B、C三類中各選擇一個(gè)條件,但是不能從同一類中選擇兩個(gè)條件。編輯ppt條件執(zhí)行指令XC如果條件分支轉(zhuǎn)移指令要轉(zhuǎn)移去的地方只有12個(gè)字的程序段,則可以用一條單周期的條件執(zhí)行指令來代替條件分支轉(zhuǎn)移指令。 XC n,cond,cond,cond;其中n1或2(1)當(dāng)n1時(shí),如果條件都成立,

36、則執(zhí)行緊跟在此條指令后的1條單字指令。(2)當(dāng)n2時(shí),如果條件都成立,則執(zhí)行緊跟在此條指令后的2條單字指令,或1條雙字指令。(3)當(dāng)條件不被滿足時(shí),就依照n的值,執(zhí)行1或2條NOP指令。XC 1, BLT ;若累加器B小于0則執(zhí)行下面一條指令NEG B ; 累加器B求負(fù)DST B, DATA;把累加器B值存儲(chǔ)到一DATA開始 的連續(xù)兩個(gè)內(nèi)存單元編輯ppt條件存儲(chǔ)指令編輯ppt重復(fù)操作指令C54X具有重復(fù)執(zhí)行下一條指令或重復(fù)執(zhí)行一個(gè)程序塊的功能。(1)單條指令的重復(fù)操作重復(fù)操作指令RPT和RPTZRPT n;(RC)n,將RPT指令后面的一條指令重復(fù) 執(zhí)行(RC)1次。RPTZ A,n;將累加器

37、A清零,(RC)n,將RPTZ 指令后面的一條指令重復(fù)執(zhí)行(RC)1 次。編輯ppt重復(fù)操作指令(續(xù))(2)塊重復(fù)操作塊重復(fù)操作指令RPTB利用塊重復(fù)計(jì)數(shù)器BRC設(shè)置重復(fù)次數(shù),由塊重復(fù)起始地址寄存器RSA和塊重復(fù)結(jié)束地址寄存器REA提供待重復(fù)的程序塊的地址范圍。例: STM #99,BRC ;(BRC)=99 RPTB NEXT1 ;對(duì)從下一條指令開始至標(biāo)號(hào)為NEXT前 ;的一段程序執(zhí)行(BRC)1 次重復(fù)操作NEXT: ;重復(fù)程序以外的指令需重復(fù)的內(nèi)容編輯ppt復(fù)位操作 硬件復(fù)位(/RS)是一個(gè)不可屏蔽的外部中斷,正常的復(fù)位操作是上電后至少保持5個(gè)時(shí)鐘周期的低電平,以確保數(shù)據(jù)、地址以及控制線

38、的正確配置。復(fù)位后變高電平,處理器從FF80H處取指,即PC= FF80H 。 軟件復(fù)位(RESET指令)是一個(gè)不可屏蔽的軟件中斷,該指令執(zhí)行后PC= FF80H 。編輯ppt中斷操作 中斷是由硬件驅(qū)動(dòng)或軟件驅(qū)動(dòng)的信號(hào)。中斷使DSP暫停正在執(zhí)行的程序,并進(jìn)入中斷服務(wù)程序。軟件中斷:INTR、TRAP、RESET硬件中斷:受外部中斷口信號(hào)觸發(fā)的外部硬件中斷。受片內(nèi)外圍電路信號(hào)觸發(fā)的內(nèi)部硬件中斷。中斷類型 :可屏蔽中斷 、非屏蔽中斷 編輯ppt中斷操作1. 可屏蔽中斷:DSP芯片根據(jù)型號(hào)不同,所支持的可屏蔽中斷數(shù)目也不盡相同,以C5402為例,其支持的可屏蔽中斷為:(1)INT0INT3:四級(jí)片外

39、中斷(2)RINT0、XINT0:片內(nèi)串口0收、發(fā)中斷(3)RINT1、XINT1:片內(nèi)串口1收、發(fā)中斷(4)TINT0、TINT1:片內(nèi)定時(shí)器0、1的定時(shí)中斷(5)HPINT:主機(jī)接口中斷(6)DMAC0DMAC5:6通道DMA中斷編輯ppt中斷操作可屏蔽中斷是否被響應(yīng),取決于三要素:(1)優(yōu)先級(jí)別最高中斷優(yōu)先級(jí)表 P109。(2)ST1中的INTM位為0中斷方式位。(3)IMR中的相應(yīng)位為1中斷屏蔽寄存器 P107。對(duì)INTM位和STM寄存器進(jìn)行設(shè)置,開指定放對(duì)應(yīng)的可屏蔽中斷:STM #0008h,IMR ;開放定時(shí)0中斷RSBX INTM ;全局開放中斷編輯ppt中斷操作2. 不可屏蔽中

40、斷:DSP總是會(huì)響應(yīng)這些中斷,不可屏蔽中斷包括:(1)所有的軟件中斷(2)由/RS引腳引入的硬件復(fù)位中斷(3)由非屏蔽中斷引腳/NMI引入的外部中斷 不可屏蔽中斷不受INTM和IMR的限制。編輯ppt中斷操作軟件中斷:(1)軟件中斷指令:INTR k; 當(dāng)CPU響應(yīng)INTR中斷時(shí),INTM位被置1,屏蔽其他可屏蔽中斷。指令中的操作數(shù)k是中斷號(hào)(P109),表示CPU所要轉(zhuǎn)移的中斷向量的位置。(2)軟件中斷指令:TRAP k; 功能和INTR指令相同,區(qū)別是執(zhí)行TRAP指令不影響INTM的位值。(3)軟件復(fù)位指令:RESET; 是一個(gè)不可屏蔽的軟件中斷,該指令影響狀態(tài)寄存器ST0和ST1,但不影

41、響PMST寄存器。編輯ppt中斷處理步驟(1)C54X中斷分為三個(gè)階段:第一階段:接受中斷請(qǐng)求當(dāng)硬件或軟件指令請(qǐng)求中斷時(shí),CPU中的IFR相應(yīng)位置1。IFR中斷標(biāo)志寄存器,當(dāng)有中斷請(qǐng)求出現(xiàn)時(shí)IFR中的對(duì)應(yīng)中斷標(biāo)志位置1,有四種情況會(huì)清除該中斷標(biāo)志位:(1)該中斷得到CPU處理;(2)DSP硬件復(fù)位;(3)重新將1寫入該位,以清除尚未處理完的中斷;(4)利用INTR指令執(zhí)行該位中斷的中斷號(hào);P107STM #0008h,IFR ;清除尚未處理完的定時(shí)中斷INTR 19 ;利用INTR指令清除尚未處理;完的定時(shí)中斷編輯ppt中斷處理步驟(2)第二階段:中斷響應(yīng)對(duì)于軟件中斷和非屏蔽中斷,CPU立即響

42、應(yīng),對(duì)于可屏蔽中斷只有滿 足一定條件才能響應(yīng)。 當(dāng)CPU響應(yīng)了某中斷后,INTM被自動(dòng)置1(屏蔽其它可屏蔽中斷)。如果該中斷返回采用的是RETE指令,則在該中斷返回后, INTM被重新使能。CPU做出中斷響應(yīng)后,會(huì)發(fā)出/IACA(中斷應(yīng)答)信號(hào)。然后在下一 個(gè)時(shí)鐘周期的上升沿,由地址線A6A2指出中斷號(hào)。編輯ppt中斷處理步驟(3)第三階段:執(zhí)行中斷服務(wù)程序(1)PC值入棧,作為中斷返回地址;(2)將中斷向量地址加載PC;(3)獲取位于該向量地址的分支轉(zhuǎn)移指令;(4)執(zhí)行該轉(zhuǎn)移指令,轉(zhuǎn)到中斷服務(wù)程序;(5)中斷服務(wù)程序結(jié)束,執(zhí)行中斷返回指令;(6)從堆棧頂部彈出返回地址;(7)回到主程序繼續(xù)執(zhí)

43、行。編輯ppt中斷處理步驟(4)中斷向量地址的產(chǎn)生 中斷向量的地址(16位)由PMST寄存器中的IPTR位和左移兩位后的中斷號(hào)共同組成.如:IPTR=001H;/INT0的中斷號(hào)=16(10H)則:IPTR作為中斷向量地址的高9位 /INT0的中斷號(hào)10H左移兩位后作為中斷向量地址低7位故:該中斷向量地址為:00C0H編輯ppt程序舉例分支轉(zhuǎn)移指令;BC new,AGT,AOV;若累加器A0,且溢出,則轉(zhuǎn) 至new,否則接著往下執(zhí)行。 該指令中的兩個(gè)條件是“與”的關(guān)系,如果需要兩個(gè)條件相“或”,就只能寫成兩條指令。 比如:“若累加器A大于0或溢出,則轉(zhuǎn)移至new” BC new,AGT BC

44、new,AOV編輯ppt編寫計(jì)算 的主要程序 .bss x,4 ;為x建立4個(gè)單元,放置x1、x2、x3、x4 .bss y,1 ;為y建立一個(gè)單元,放置y STM #x,AR1 ;將x1的地址傳給AR1 STM #3,AR2 ;將循環(huán)次數(shù)3傳給AR2 LD #0,A ;對(duì)累加器A清零loop:ADD *AR1+,A ;對(duì)x1、x2、x3、x4循環(huán)累加,結(jié) 果放在A中 BANZ loop, *AR2- ;檢查循環(huán)是否結(jié)束 STL A,y ;將結(jié)果存入y中編輯ppt利用單條指令的重復(fù)操作對(duì)數(shù)組進(jìn)行初始化x50,0,0,0,0.bss x,5 ;為數(shù)組x分配5個(gè)存儲(chǔ)單元STM #x,AR1 ;將x

45、的首址賦給AR1LD #0,A ;對(duì)累加器A清零RPT #4 ;設(shè)置重復(fù)執(zhí)行下條指令5次STL A,*AR1+ ;對(duì)x5各單元清零思考:用RPTZ指令實(shí)現(xiàn)上述功能。編輯ppt利用塊重復(fù)操作對(duì)數(shù)組x5中的每個(gè)元素加1 .bss x,5 ;為數(shù)組x分配5個(gè)單元Begin:LD #1,16,B ;將1左移16位放入B的高端字的最 低位 STM #4,BRC ;為塊重復(fù)計(jì)數(shù)器設(shè)置初值4 STM #x,AR4 ;將x的首址賦給AR4 RPTB next1 ;重復(fù)執(zhí)行下條指令到next1之間 的指令 ADD *AR4,16,B,A;將AR4所指地址的內(nèi)容左移16位加到B 的高端字上,結(jié)果放入A STH A

46、,*AR4+ ;將A的高端字存入x單元,完成加1操作next:LD #0,B ;對(duì)B清零編輯ppt7.流水線 C54X有一個(gè)6級(jí)深度的指令流水線。這6級(jí)流水線彼此是獨(dú)立的。在任何一個(gè)機(jī)器周期內(nèi),可以有1至6條不同的指令在同時(shí)工作,每條指令工作在不同的流水線上。這6級(jí)流水線的功能如下: 預(yù)取指和取指是指令的取指順序。第3級(jí)是對(duì)指令進(jìn)行譯碼,產(chǎn)生執(zhí)行指令所需要的一系列控制信號(hào)。接著的兩級(jí)是尋址并讀出操作數(shù)。編輯ppt流水線沖突 由于CPU的資源是有限的,當(dāng)一個(gè)CPU資源同時(shí)被一個(gè)以上流水線訪問時(shí),就有可能發(fā)生時(shí)序上的沖突。編輯ppt解決流水線沖突辦法例:解決對(duì)輔助寄存器執(zhí)行標(biāo)準(zhǔn)的寫操作引起的時(shí)間等

47、待 這兩條指令的流水線圖中,W表示把值寫到AR1中,N表示取出AR1中的值,由圖上可見,STLM指令是在流水線執(zhí)行階段進(jìn)行寫操作的,而LD指令需要在尋址階段獲得寫入AR1中的值作為尋址地址,所以當(dāng)?shù)诙l指令到AR1中取數(shù)的時(shí)候,第一條指令還沒有把數(shù)寫到AR1中。編輯ppt解決流水線沖突辦法解決辦法:插入NOP指令編輯ppt引起流水線沖突的硬件輔助寄存器(AR0-AR7) 重復(fù)塊長(zhǎng)度寄存器(BK) 堆棧指針(SP) 暫存器(T) 處理器工作方式狀態(tài)寄存器(PMST) 狀態(tài)寄存器(ST0和ST1) 塊重復(fù)計(jì)數(shù)器(BRC) 累加器(AG,AH,AL,BG,BH,BL) 編輯ppt8.在片外圍電路通用

48、I/O引腳BIO和XF定時(shí)器時(shí)鐘發(fā)生器串行口主機(jī)接口軟件可編程等待狀態(tài)發(fā)生器可編程分區(qū)轉(zhuǎn)換邏輯不同子系列器件差別通用I/O引腳BIO和XF定時(shí)器時(shí)鐘發(fā)生器串行口編輯ppt8.1 通用I/O引腳受軟件控制的專用引腳: 跳轉(zhuǎn)控制輸入引腳BIO、外部標(biāo)志輸出引腳XFBIO引腳用法舉例: XC 2,BIO;BIO為低,則執(zhí)行后面一條雙字或2條單字指令XF引腳用法舉例:SSBXXF;XF=1;即CPU通過XF引腳發(fā)出一個(gè)高電平RSBXXF;XF=0;即CPU通過XF引腳發(fā)出一個(gè)低電平編輯ppt8.2 定時(shí)器片內(nèi)定時(shí)器是一個(gè)軟件可編程定時(shí)器,可以用來周期的產(chǎn)生中斷。片內(nèi)定時(shí)器有三個(gè)存儲(chǔ)器映像寄存器: TI

49、M :定時(shí)寄存器(-1計(jì)數(shù)器) PRD :周期寄存器(存放時(shí)間常數(shù),工作時(shí)向TIM加載它的值) TCR :定時(shí)器控制寄存器(包含定時(shí)器的控制位和狀態(tài)位)三個(gè)映像寄存器在數(shù)據(jù)存儲(chǔ)空間的地址分別為0024h、0025h和0026h編輯ppt8.2 定時(shí)器控制寄存器(TCR)15 1211109 6543 0TCR0026h保留 Soft Free PSC TRB TSS TDDR 保留位軟件調(diào)試控制位 預(yù)定標(biāo)計(jì)數(shù)器 重新加載位 停止?fàn)顟B(tài)位 分 頻系 數(shù) 編輯ppt8.2 條件定時(shí)器控制寄存器(TCR)的功能編輯ppt8.2 定時(shí)器工作原理編輯ppt8.2 定時(shí)中斷的周期定時(shí)中斷周期=CLKOUT(

50、TDDR1)(PRD1)其中:CLKOUT時(shí)鐘周期TDDR定時(shí)器分頻系數(shù)PRD定時(shí)器時(shí)間常數(shù)編輯ppt8.2 定時(shí)中斷的周期設(shè):CLKOUT主頻f=5MHz ,要求得到2ms定時(shí)中斷則:200ns*(1+TDDR)*(1+PRD) =2msTDDR可選9PRD可選999編輯ppt8.2 定時(shí)器的用法關(guān)閉定時(shí)器: 只要將TCR的TSS位置1,切斷時(shí)鐘輸入,定時(shí)器停止工作,減小功耗定時(shí)器初始化:(1) 將TCR的TSS位置1(關(guān)閉定時(shí)器)(2) 加載PRD(3)加載TCR(使TDDR初始化,令TSS位為0,TRB位置1),啟動(dòng) 定時(shí)器開放定時(shí)中斷:(1) 將IFR中的TINT位置1,清除尚未處理完

51、的定時(shí)器中斷(2) 將IMR中的TINT位置1,開放定時(shí)中斷(3) 將ST1中的INTM位清0,從整體上開放中斷復(fù)位時(shí): TIM和PRD都置成FFFF,定時(shí)器的分頻系數(shù)(TCR的TDDR位)清0,定時(shí)器開始工作編輯ppt8.2 定時(shí)器初始化程序?qū)崿F(xiàn)STM #0000h,SWWSR;不插等待周期STM #0010h,TCR ;TSS=1(TCR第4位TSS置1)STM #X,PRD ;加載定時(shí)器周期寄存器(PRD=X);定時(shí)中斷周期=CLKOUT(TDDR+1) (PRD+1)STM #0C2Yh,TCR ;定時(shí)分頻系數(shù)TDDR初始化為Y ;TSS=0,啟動(dòng)定時(shí)器工作 ;TRB=1,當(dāng)TIM減到

52、0后重新加載PRD ;Soft=1,F(xiàn)ree=1定時(shí)器遇到斷點(diǎn)后繼續(xù)運(yùn)行STM #0008h,IFR ;清除尚未處理完的定時(shí)中斷STM #0008h,IMR ;開放定時(shí)中斷RSBX INTM ;開放中斷(狀態(tài)寄存器ST1的INTM位復(fù)位)編輯ppt8.2 定時(shí)器應(yīng)用定時(shí)器中斷CodeStart: ;程序入口 SSBX XF ;XF置1 CALL Delay;調(diào)用延時(shí)程序 RSBX XF ;XF清0 CALL Delay;調(diào)用延時(shí)程序 B CodeStart ;跳轉(zhuǎn)到程序開頭循環(huán)執(zhí)行Delay: STM #999,AR1 ;循環(huán)次數(shù)1000LOOP1: STM #4999, AR2 ;循環(huán)次數(shù)5

53、000LOOP2: BANZ LOOP2,*AR2- ;如果AR2不等于0,AR2減1,再判斷 BANZ LOOP1,*AR1- ;如果AR1不等于0,AR1減1,跳轉(zhuǎn)到LOOP1 RET方波發(fā)生器原理;軟件循環(huán)延時(shí),定時(shí)不準(zhǔn)確;且占用CPU開銷。編輯ppt8.2 定時(shí)器應(yīng)用定時(shí)器中斷XF_Flag .word 1 ;當(dāng)前XF的電平標(biāo)志,;如果XF_Flag=1,則XF=1 STM #XF_Flag,AR2 ;AR指向XF標(biāo)志 STM #0000h,SWWSRSTM #0010h,TCR STM #79,PRD STM #0C29h,TCR STM #0008h,IFR STM #0008h,

54、IMR RSBX INTMend:NOPB end PSHM ST0 ;本中斷程序影響TC,位于ST0中;判斷當(dāng)前XF狀態(tài)并作電平變化BITF *AR2,#1 ;IF XF_Flag=1 then TC=1 else TC=0BC ResetXF,TC ;IF TC=1 then XF=0 else XF=1setXF: SSBX XF ;置XF為高電平ST #1,*AR2 ;相應(yīng)修改標(biāo)志B NextResetXF:RSBX XF ;置XF為低電平ST #0,*AR2 ;相應(yīng)修改標(biāo)志Next:POPM ST0RETE .end 編輯ppt8.3 時(shí)鐘發(fā)生器時(shí)鐘發(fā)生器的時(shí)鐘源由以下兩種方式輸入:

55、1)晶體振蕩器,接在X1和X2之間;2)將外部時(shí)鐘信號(hào)接到X2引腳,X1懸空。內(nèi)部晶體振蕩電路外部時(shí)鐘源電路編輯ppt8.3 CPU時(shí)鐘頻率產(chǎn)生CPU時(shí)鐘頻率CLKOUT內(nèi)部晶體振蕩頻率外部時(shí)鐘頻率CLKIN?編輯ppt8.3 硬件配置的PLL引腳狀態(tài)時(shí)鐘方式CLKMD1CLKMD2CLKMD3選擇方案1選擇方案2000工作頻率=外時(shí)鐘3工作頻率=外時(shí)鐘5110工作頻率=外時(shí)鐘2工作頻率=外時(shí)鐘4100工作頻率=內(nèi)振蕩器3工作頻率=內(nèi)振蕩器5010工作頻率=外時(shí)鐘1.5工作頻率=外時(shí)鐘4.5001工作頻率=外時(shí)鐘/2工作頻率=外時(shí)鐘/2111工作頻率=內(nèi)振蕩器/2工作頻率=內(nèi)振蕩器/2101工

56、作頻率=外時(shí)鐘1工作頻率=外時(shí)鐘1011停止方式停止方式P59 表2-14編輯ppt8.3 軟件可編程PLL對(duì)PLL編程實(shí)際上是對(duì)16位的存儲(chǔ)器映射寄存器CLKMD(時(shí)鐘方式寄存器)進(jìn)行編程。 CLKMD地址為0058H。對(duì)時(shí)鐘方式寄存器(CLKMD)進(jìn)行編程,可以:(1) 控制PLL的通和斷(2) 控制時(shí)鐘發(fā)生器的工作方式(3) 提供各種時(shí)鐘的乘法系數(shù)(4) 自動(dòng)延遲定時(shí),直到PLL鎖定(穩(wěn)定)軟件可編程PLL的工作方式:(1) PLL方式(倍頻):輸入時(shí)鐘(CLKIN)(0.2515)(2) DIV方式 (分頻) :輸入時(shí)鐘(CLKIN)(2或4)編輯ppt8.3 時(shí)鐘方式寄存器(CLKM

57、D)各位的定義時(shí)鐘方式寄存器(CLKMD)各位段的功能PLLMUL15 12PLLDIV2PLLCOUNT11PLLON/OFF10 3PLLNDIV10PLLSTATUS時(shí)鐘發(fā)生器選擇位乘數(shù)除數(shù)計(jì)數(shù)器通/斷位 工作狀態(tài)位P 60編輯ppt8.3 時(shí)鐘方式寄存器(CLKMD)各位段的功能編輯ppt8.3 PLL分頻倍頻系數(shù)表編輯ppt8.3 軟件可編程PLL的編程考慮(1)對(duì)PLL計(jì)數(shù)器設(shè)置初值在PLL穩(wěn)定之前,CLKOUT是不能用作DSP時(shí)鐘的,從啟動(dòng)到PLL完全穩(wěn)定,這段時(shí)間稱為“牽引時(shí)間”??梢酝ㄟ^對(duì)CLKMD寄存器中的PLLCOUNT位編程,使CLKOUT延遲一段時(shí)間,等PLL完全穩(wěn)定

58、后才把CLKOUT輸入到DSP。編輯ppt8.3設(shè)計(jì)舉例(1) 從DIV方式轉(zhuǎn)為PLL3方式 已知CLKIN的頻率為13MHz,要求PLLCOUNT=41(十進(jìn)制數(shù)),只要在程序中加入如下指令即可: STM #0010 0001 0100 1111 b,CLKMD其中,PLLMUL=0010(2),PLLDIV=0,PLLNDIV=1,故由PLL分頻倍頻系數(shù)表可得乘系數(shù)為3;PLLON/OFF=1,表示PLL處于工作狀態(tài);PLLCOUNT=00101001,十進(jìn)制計(jì)數(shù)值為41。編輯ppt8.3設(shè)計(jì)舉例(2) 從PLL3方式轉(zhuǎn)為二分頻DIV方式, 與例1不同,從PLL方式變?yōu)镈IV方式時(shí)沒有PL

59、LCOUNT的延時(shí),所以,要通過檢測(cè)PLLSTATUS位來確定是否已轉(zhuǎn)換為DIV方式。 STM #0B,CLKMD;切換到DIVtest: LDM CLKMD,A AND #01B,A;測(cè)試STATUS位 BC test,ANEQ;若不為0則等待 STM #0B,CLKMD;若為0,關(guān)PLL編輯ppt8.3設(shè)計(jì)舉例(3) 注意:(1)倍頻之間不能直接互相切換,必須先把某一倍頻切換到分頻模式;然后再切換到新的倍頻模式。P64 2-2(2)2分頻和4分頻之間不能直接切換;必須先轉(zhuǎn)換為倍頻,切換到分頻。編輯ppt8.4 C54串行口串行口可以與編碼解碼器,串行模數(shù)(A/D)轉(zhuǎn)換器以及其他串行系統(tǒng)進(jìn)行

60、通信。C54x為用戶提供了豐富的同步串行口,可與雙向串口器件實(shí)現(xiàn)高效的串行通信。C54x的串行口有四種類型: 標(biāo)準(zhǔn)串口SP 緩沖串口BSP 多路緩沖串口McBSP 時(shí)分多路同步串口TMD編輯ppt8.4 C54串行口帶緩沖的串行口(BSP):由標(biāo)準(zhǔn)同步串行口和一個(gè)自動(dòng)緩沖單元(ABU)組成。ABU的功能是控制串行接口與內(nèi)部C54x DSP存儲(chǔ)器之間的數(shù)據(jù)傳送,且不需要CPU的干預(yù)。時(shí)分復(fù)用(TDM)串行口:允許C54x DSP與7個(gè)其他器件進(jìn)行時(shí)分串行通信。當(dāng)緩沖串口和時(shí)分串口工作在標(biāo)準(zhǔn)方式下與標(biāo)準(zhǔn)串口功能相同,下面討論標(biāo)準(zhǔn)串口工作方式。編輯ppt標(biāo)準(zhǔn)串行口SP 1.SP串口結(jié)構(gòu) 結(jié)構(gòu)組成:

溫馨提示

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

評(píng)論

0/150

提交評(píng)論