版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第二章 TMS320C54x的結(jié)構(gòu)原理 本章主要介紹TMS320C54X DSP的內(nèi)部結(jié)構(gòu)和工作原理,包括CPU結(jié)構(gòu)、總線結(jié)構(gòu)、存儲體結(jié)構(gòu)和外圍設(shè)備等。重點(diǎn): CPU和外設(shè)的寄存器設(shè)置編輯ppt第二章 TMS320C54x的結(jié)構(gòu)原理 本章內(nèi)容:TMS320系列DSP概述C54x數(shù)字信號處理器總線結(jié)構(gòu)存儲空間中央處理器程序存儲器地址生成方式流水線外圍電路串行口外部總線C54x引腳信號說明編輯ppt1. TMS320系列DSP概述TI市場地位:1.DSP產(chǎn)品全球第一2.模擬產(chǎn)品全球第一3.無線產(chǎn)品全球第一4.圖形計算器全球第一5.硬盤產(chǎn)品全球第一編輯pptTMS320系列DSP的分類和用途(1)T
2、MS320C2000系列 集成了flash存儲器、高速A/D轉(zhuǎn)換器以及可靠的CAN模塊及數(shù)字馬達(dá)控制的外圍模塊,適用于運(yùn)動控制領(lǐng)域。(2)TMS320C5000系列 包括TMS320C5X /C54X/ C55X 成本低,經(jīng)濟(jì)性好,主要用于個人電子類產(chǎn)品 。(3)TMS320C6000系列 TMS320C62X/C67X , C64x,在時鐘頻率為1.1GHz時,每秒可執(zhí)行90億條指令,適合進(jìn)行復(fù)雜運(yùn)算處理。 編輯ppt(1)TMS320C2000系列(包括:C20X,C24X,C28三大類)2000系列,又稱為DSP控制器。在一片DSP芯片上集成了FLASH存儲器、高速A/D轉(zhuǎn)換器以及數(shù)字馬
3、達(dá)控制模塊,所以2000系列特別適用于電動機(jī)、變頻器等一些高速實(shí)時工控產(chǎn)品的數(shù)字化控制。編輯pptTMS320C20X20X是2000系列中早期的產(chǎn)品主要特點(diǎn):處理能力強(qiáng):指令周期最短為25ns,運(yùn)算速度達(dá)到 40MIPSFlash存儲器:是最早使用閃存的DSP芯片低功耗:在5v電壓下工作,消耗電流為1.9mA/MIPS; 在3.3v電壓下工作,消耗電流為1.1mA/MIPS。編輯pptTMS320C24X24X系列在20X的基礎(chǔ)上,增加功能:增加16路10位A/D轉(zhuǎn)換器多個通用定時器,和一個監(jiān)視定時器(Watchdog)16個PWM(脈寬調(diào)制)輸出通道比較單元、編碼電路等編輯ppt TMS3
4、20C28X28X系列是目前數(shù)字控制領(lǐng)域中性能最好的DSP芯片。與24X相比做了如下的改進(jìn):32位的數(shù)據(jù)總線(運(yùn)算速度可達(dá)400MIPS)12位的A/D存儲空間增大降低功耗(DSP核工作電壓為1.8v;外設(shè)工作電壓為3.3v)編輯pptGeneral Purpose Input Output 多通道緩沖串行口。是在標(biāo)準(zhǔn)串行接口的基礎(chǔ)之上對功能進(jìn)行擴(kuò)展,因此,具有與標(biāo)準(zhǔn)串行接口相同的基本功。SCI是用于多處理器之間的異步串行通信,SPI則是用于CPU與外設(shè)之間的同步串行通信 編輯pptDSESSSCSIP數(shù)據(jù)暫存器執(zhí) 行 部 件控 制 電 路指令譯碼器總線接口控制電路AXBXCXDXAHBHCH
5、DHSIDIBPSPALBLCLDL寄存器組BIUABDBCB地址加法器指令隊列PSW標(biāo)志寄存器EU運(yùn)算器DSESSSCSIP數(shù)據(jù)暫存器執(zhí) 行 部 件控 制 電 路指令譯碼器總線接口控制電路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器組ABDBCB地址加法器指令隊列PSW標(biāo)志寄存器運(yùn)算器編輯pptATMPPSWBSPDPTRRAMPCROMP1P2P3P0定時中斷串口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í)時性高的優(yōu)點(diǎn),同時外部接口豐富,能滿足大多數(shù)嵌入式應(yīng)用的要求編輯ppt編輯pptTMS320C55X主要特點(diǎn)16位定點(diǎn)DSP,處理速度為600MIPS片上外設(shè)豐富: 實(shí)時時鐘RTCMcBSP接口USB2.0接口MMC/SD接口I2C接口UART接口編輯pptTMS320C55X主要特點(diǎn)(續(xù))大容量RAM(128K)和ROM(32K);功耗更低,1.26v的內(nèi)核工作電壓,3.3v外設(shè)工作電壓;價格便宜,第一款低于5美元的雙
7、核DSP;采用新型生產(chǎn)工藝,芯片體積小。編輯ppt編輯ppt(3)TMS320C6000系列(主要包括C62X,C64X,C67X三類)該系列DSP采用了與上述系列DSP不同的內(nèi)部 結(jié)構(gòu)設(shè)計,使得DSP能夠獲得極高的運(yùn)行速度: 指令周期最小為3.3ns,運(yùn)算能力為2400MIPS。編輯ppt編輯ppt(4)TMS320C5000+ARM7DSP芯片單獨(dú)支持音視頻編解碼處理,優(yōu)勢在于編解碼能力強(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è)計的好處是,可選擇輸入設(shè)備較多,后期升級潛力大。 編輯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)外有多個方陣形的插針,每個方陣形插針沿芯片的四周間隔一定距離排列。 編輯pptDSP常見封裝形式(續(xù))QFP( Quad Flat Package )-扁平式封裝的芯片引腳之
9、間距離很小,管腳很細(xì),一般大規(guī)?;虺笮图呻娐范疾捎眠@種封裝形式。 編輯ppt2. TMS320C54x數(shù)字信號處理器 C54x數(shù)字信號處理器是TI公司1996年推出的 新一代定點(diǎn)數(shù)字信號處理器。它采用先進(jìn)的修 正哈佛結(jié)構(gòu),片內(nèi)共有8條總線(1條程序總線、 3條數(shù)據(jù)總線和4條地址總線),高度并行的算 術(shù)邏輯單元ALU,專用硬件邏輯,片內(nèi)存儲 器,片內(nèi)外設(shè),再加上專用的指令系統(tǒng),使 C54x芯片速度更高,操作更靈活,非常適用于 遠(yuǎn)程通信等實(shí)時嵌入式應(yīng)用的需要。 編輯pptC54x的硬件結(jié)構(gòu)框圖 編輯pptC54xDSP特點(diǎn)改進(jìn)的哈佛結(jié)構(gòu)和8總線結(jié)構(gòu): 使處理器的性能大大提高,實(shí)現(xiàn)高度并行操作。
10、例如:可以在一條指令中,同時執(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的時間編輯pptC54xDSP特點(diǎn)(續(xù))PLL(phase-locked loop )鎖相環(huán)定時器(Timer)軟件可編程等待狀態(tài)發(fā)生器JTAG(
11、符合IEEE1149.1標(biāo)準(zhǔn))仿真接口電氣電子工程師協(xié)會(InstituteofElectricalandElectronicsEngineers) 編輯ppt3.總線結(jié)構(gòu)TMS320C54x DSP采用該進(jìn)的哈佛結(jié)構(gòu):具有八組總線;其中獨(dú)立的程序總線和數(shù)據(jù)總線允許同時讀取指令和操作數(shù),實(shí)現(xiàn)高度的并行操作。采用各自分開的數(shù)據(jù)總線分別用于讀數(shù)據(jù)和寫數(shù)據(jù),允許CPU在同一個機(jī)器周期內(nèi)進(jìn)行兩次讀操作數(shù)和一次寫操作數(shù)。編輯ppt編輯ppt3.總線結(jié)構(gòu)八組16-bit總線: 程序總線(PB)傳送從程序存儲器來的指令代碼和立即數(shù)。 三組數(shù)據(jù)總線(CB,DB和EB)連接各種元器件,如CPU、數(shù)據(jù)地址產(chǎn)生邏輯
12、、程序地址產(chǎn)生邏輯,片內(nèi)外設(shè)和數(shù)據(jù)存儲器。CB和DB總線傳送從數(shù)據(jù)存儲器讀出的操作數(shù)。EB總線傳送寫入到存儲器中的數(shù)據(jù)。 四組地址總線(PAB,CAB,DAB和EAB)傳送執(zhí)行指令和讀寫數(shù)據(jù)所需要的地址。編輯ppt3.總線結(jié)構(gòu)C54X利用數(shù)據(jù)地址發(fā)生器可在每個周期產(chǎn)生兩個數(shù)據(jù)的存儲地址。PB總線可將程序空間的操作數(shù)據(jù)送至乘法器加法器,以進(jìn)行乘法累加操作;或送至數(shù)據(jù)空間的目的地址以執(zhí)行數(shù)據(jù)移動指令。這一特性與一個機(jī)器周期可實(shí)現(xiàn)尋址兩次的存儲器雙操作存儲器(DARAM)相結(jié)合,支持單周期、3操作數(shù)指令的執(zhí)行。 編輯ppt各種讀/寫方式用到的總線編輯ppt4.存儲器與存儲空間C54x存儲空間為192
13、k,由3個獨(dú)立的可選擇空間組成:程序存儲空間(64k)、數(shù)據(jù)存儲空間(64k)和I/O空間(64k)。C54x的存儲空間可以在片內(nèi)也可以在片外,在片內(nèi)可由片內(nèi)存儲器提供;片外由擴(kuò)展存儲器提供。片內(nèi)存儲器形式分為兩類:ROM和RAM。片內(nèi)RAM也分為兩類: 單尋址RAM(SARAM)、雙尋址RAM(DARAM)編輯ppt片內(nèi)存儲器介紹(1)片內(nèi)ROMC54x系列DSP按照款式不同,片內(nèi)ROM大小也不同: 對于較小的ROM(2k)一般只在ROM里面存放一個引導(dǎo)程序,用來將程序引導(dǎo)至片內(nèi)或片外的快速RAM中 。 對于較大的ROM,既可以把ROM安排為程序存儲空間,又可以安排為數(shù)據(jù)存儲空間。編輯ppt
14、片內(nèi)存儲器介紹(續(xù))(2)片內(nèi)RAM(SARAM,DARAM)SARAM(single access RAM)單操作RAM, 由若干塊組成,每個塊在一個機(jī)器周期只能被訪問一次(讀/寫),常被安排為數(shù)據(jù)存儲空間,也能被安排為程序存儲空間。DARAM(double access RAM)雙操作RAM, 由若干塊組成,每個塊在一個機(jī)器周期可以被訪問兩次讀或者寫操作。常被安排為數(shù)據(jù)存儲空間,也能被安排為程序存儲空間。編輯ppt片內(nèi)ROM空間分配片內(nèi)ROM既可以作為程序存儲空間又可以作為數(shù)據(jù)存儲空間,但是在ROM的高2K字空間中,廠家事先固化了相關(guān)內(nèi)容,對這部分空間用戶不能隨意存儲其他內(nèi)容。編輯ppt片
15、內(nèi)ROM的分塊操作為了增強(qiáng)處理器的性能,可以對片內(nèi)ROM進(jìn)行分塊,這樣就能在片內(nèi)ROM的一個塊內(nèi)取指的同時又能在另一個塊內(nèi)取數(shù)。根據(jù)不同DSP的片內(nèi)ROM容量不同,片內(nèi)ROM可以分為2k字、4k字或8k的塊。編輯ppt片內(nèi)RAM的分塊操作片內(nèi)RAM也可以分為若干塊,分塊后,用戶可以在一個周期內(nèi)從一個DARAM塊中取出兩個操作數(shù),同時可在另一個RAM塊中存數(shù)。根據(jù)不同DSP的片內(nèi)RAM容量不同,片內(nèi)RAM可以分為1k字、2k字或8k的塊。編輯ppt程序存儲空間和數(shù)據(jù)存儲空間程序存儲空間:存放要執(zhí)行的指令和執(zhí)行指令時要用的系數(shù)表。數(shù)據(jù)存儲空間:存放執(zhí)行指令所要用的數(shù)據(jù)。通過“處理器工作方式狀態(tài)寄存
16、器”(PMST)來設(shè)定程序/數(shù)據(jù)存儲空間的分配情況(片外、ROM和RAM)編輯pptPMST和存儲空間分配關(guān)系PMST中相關(guān)位:MP/MC,OVLY,DROM編輯ppt數(shù)據(jù)存儲空間分頁管理數(shù)據(jù)空間的分頁管理: 所謂分頁就是把64k字的存儲空間分為512頁(0頁511頁)每頁128字空間在數(shù)據(jù)存儲空間的第0頁上(0000H007FH)固定存放的是存儲器映射寄存器和暫存器的內(nèi)容編輯ppt程序存儲空間分頁管理如果程序存儲空間只需要64k的空間,則不分頁。如果需要擴(kuò)展程序存儲空間,則采用分頁擴(kuò)展的方法:比如C5402可以將程序存儲空間擴(kuò)展至1M(1024k)字,擴(kuò)展后的程序存儲空間被分為16頁(0頁1
17、5頁),每頁64k字的空間。編輯pptC5402分頁擴(kuò)展程序存儲空間圖(1)當(dāng)OVLY=0時(RAM不安排作為程序存儲空間),程序存儲空間被分為16頁,每頁64k空間,按頁號尋址。頁號由“程序計數(shù)器擴(kuò)展寄存器”XPC提供:XPC=0表示選中第0頁, XPC=1表示選中第1頁編輯pptC5402分頁擴(kuò)展程序存儲空間圖(2)當(dāng)OVLY=1時(RAM安排作為程序存儲空間)每頁被分為兩部分:公共32k字(低32k字)和獨(dú)立32k字(高32k字)。對于每頁的公共32k字,全部映射到片內(nèi)RAM中; 對于獨(dú)立32k字仍然按頁尋址,頁號由XPC指定。編輯pptC5402分頁擴(kuò)展程序存儲空間圖(3)當(dāng)MP/MC
18、=0時(片內(nèi)ROM被安排作為程序存儲空間)存儲空間的第0頁必須被安排在片內(nèi)ROM中。XPC(程序計數(shù)器擴(kuò)展寄存器)映射在數(shù)據(jù)存儲空間的001E單元中,每次機(jī)器復(fù)位時,XPC都初始化為0。編輯ppt存儲器映射CPU寄存器把CPU寄存器映射到存儲空間的好處是:在對CPU寄存器尋址時不需要插入等待周期,直接在存儲器內(nèi)部就可以完成,提高了運(yùn)行速度。存儲器映射CPU寄存器的名稱及地址見書P38表2-6編輯ppt存儲器映射CPU寄存器功能簡介(1)輔助寄存器(AR0AR7):8個16位的輔助寄存器可以由中心算術(shù)邏輯單元CALU訪問,也可以由輔助寄存器算術(shù)單元ARUA修改,主要功能是產(chǎn)生16位的數(shù)據(jù)地址,也
19、可以作為通用寄存器和計數(shù)器使用。T寄存器(TREG):主要用于存放乘法指令的一個乘數(shù),也可以為移位指令存放移位計數(shù),還可以存放指數(shù)運(yùn)算指令EXP的指數(shù)值等。編輯ppt存儲器映射CPU寄存器功能簡介(2)狀態(tài)轉(zhuǎn)移寄存器(TRN):在執(zhí)行比較指令CMPS時,可以通過該寄存器位值的變化來判斷比較結(jié)果。堆棧指針寄存器(SP):用于存放棧頂?shù)?6位地址。循環(huán)緩沖區(qū)長度寄存器(BK):用來在循環(huán)尋址時確定循環(huán)緩沖區(qū)的大小。編輯ppt存儲器映射CPU寄存器功能簡介(3)塊循環(huán)寄存器(BRC,RSA,REA):在執(zhí)行塊循環(huán)指令時由BRC確定一塊代碼需要循環(huán)的次數(shù);由RSA指定需要循環(huán)塊的起始地址,由REA指定
20、循環(huán)塊的結(jié)束地址。中斷寄存器(IMR,IFR):中斷屏蔽寄存器IMR用于屏蔽指定的中斷,中斷狀態(tài)寄存器IFR用來表示各個中斷的當(dāng)前狀態(tài)。編輯ppt存儲器映射外圍電路寄存器外圍電路寄存器用于對外圍電路的控制和存放數(shù)據(jù),對它們尋址需要兩個機(jī)器周期。編輯pptI/O存儲空間除程序存儲器空間和數(shù)據(jù)存儲器空間外,C54x系列器件還提供了I/O存儲空間(64k字),這個空間在DSP外部,里面存放的是外部設(shè)備的端口地址,訪問I/O存儲空間就是通過I/O空間中存放的端口地址去訪問對應(yīng)的外設(shè)。有兩條指令PORTR和PORTW可以對I/O存儲器空間操作。如: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個機(jī)器周期,乘法是一系列的移位和加法,需要數(shù)十個機(jī)器周期。DSP的CPU設(shè)置硬件乘法器,可以在單周期內(nèi)完成乘法和累加編輯ppt編輯pptCPU的基本組成CPU狀態(tài)和控制寄存器 40位算術(shù)邏輯單元(ALU) 40位累加器A和B桶形移位寄存器乘法器/加法器單元比較、選擇和存儲單元(CSSU)指數(shù)編碼器編輯ppt算術(shù)邏輯單元(ALU)和累加器TMS320C54x使用40位算術(shù)邏輯單元(ALU)和兩個40位累加器(ACCA和ACCB)
22、來完成算術(shù)運(yùn)算和邏輯運(yùn)算,且大多數(shù)都是單周期指令。編輯pptALU功能框圖16位數(shù)據(jù)的符號位擴(kuò)展:(1)當(dāng)ST1寄存器中的SXM=0時;高位全部添0(2)當(dāng)ST1寄存器中的SXM=1,進(jìn)行符號位擴(kuò)展,正數(shù)全部添0;負(fù)數(shù)全部添1編輯ppt溢出處理由狀態(tài)寄存器ST1中的OVM位值來判斷是否使能飽和邏輯OVM=0,不啟動溢出處理功能,ALU的實(shí)際結(jié)果直接送累加器OVM=1,啟動溢出處理功能,此時根據(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位可以作為乘法器的一個輸入編輯ppt累加器內(nèi)容保存 用戶可以使用STH、STL等指令將累加器中的內(nèi)容放到數(shù)據(jù)存儲器中保存,在存儲前有時需要對累加器中的內(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、存儲單元T中,T=2112HSTH A,8,T;累加器A右移8位后,高位存 在存儲單元T中,T=FF43HSTL A,8,T;累加器A左移8位后,低位存 在存儲單元T中,T=3400HSTL A,8,T;累加器A右移8位后,低位存 在存儲單元T中,T=2112H編輯ppt移位DSP可以在一個機(jī)器周期內(nèi)左移或右移多個bit,可以用來對數(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總線寫入指定存儲單元。編輯ppt桶型移位器功能框圖編輯ppt乘法器/加法器單元C54x CPU有一個17x17位的硬件乘法器,與40位的專用加法器相連,可以在單周期內(nèi)完成一次乘法累加運(yùn)算。乘法器的輸出經(jīng)小數(shù)/整數(shù)乘法(FRCT/INT)輸入控制后加到加法器的一個輸入端,加法器的另一個輸入端來自累加器A或B。加法器還包括零檢測器、舍入器(二進(jìn)制補(bǔ)碼)及溢出/飽和邏輯電路。編輯ppt乘法器/加法器單元功能框圖(1)有符號數(shù)乘法:對16位操作數(shù)的擴(kuò)展符號位至17位(2)無符號
26、數(shù)乘法:16位數(shù)前加0,變?yōu)?7位(3)無符號數(shù)數(shù)與有符號數(shù)相乘:無符號數(shù)17位添0;有符號數(shù)17位擴(kuò)展符號位編輯ppt 乘/加單元實(shí)現(xiàn)XiYi運(yùn)算過程編輯ppt比較、選擇和存儲單元功能框圖編輯ppt比較、選擇和存儲單元功能框圖例如,用CMPS指令對累加器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;測試指定位,
27、由BITC指定要測 試的位BITT Smem;測試指定位,由T寄存器指定要測試的 位(測試位為1,則TC=1)CMPM Smem ,#lk;存儲器操作數(shù)和立即數(shù)比較CMPR CC,ARx;輔助寄存器ARx和AR0比較 (=,則TC=1)SFTC src;測試指定累加器的第31位和第30位是否 相同,不同TC=1編輯ppt利用DP進(jìn)行直接尋址LD #4,DP ;指向頁4(0200h-027Fh)ADD 9h,A ;將數(shù)據(jù)頁4中地址9h的數(shù)據(jù)加給AccA編輯ppt利用SP進(jìn)行直接尋址例:SSBX CPL ;對狀態(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 指令對CPL清零編輯ppt循環(huán)對XF位置1和清0, 控制LED亮滅*循環(huán)對XF位置1和清0,用示波器可以在XF腳檢測到電平高低周期性變化,常用于檢測DSP是否工作*CodeStart: ;程序入口SSBX XF ;XF置1RPT #999 ;重復(fù)執(zhí)行下面一條指令1000次NOP ;空指令產(chǎn)生延時RSBX XF ;XF清0RPT #999 ;重復(fù)執(zhí)行1000次空指令產(chǎn)生延時NOP
29、B CodeStart ;跳轉(zhuǎn)到程序開頭循環(huán)執(zhí)行.end NOP指令執(zhí)行時間為一個時鐘周期,設(shè)DSP工作頻率是50MHz,可以估算出XF引腳電平的變化頻率約為:50M/2000=25kHz 編輯ppt用兩級減一計數(shù)器來增長延時時間CodeStart: ;程序入口 SSBX XF ;XF置1 CALL Delay;調(diào)用延時程序 RSBX XF ;XF清0 CALL Delay;調(diào)用延時程序 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按此法延時的近似公式為:4*(AR2+1)*(AR1+1)時鐘周期,當(dāng)DSP工作在50MHz(時鐘周期20ns),AR1=999, AR2=4999時,延時約為400ms,則LED閃爍的周期為800ms,頻率1.25Hz.編輯ppt6.程序地址生成器 由程序地址生成器(PAGEN)生成程序地址,并加載到程序地址總線(PAB)上。 程序地址指出程序存儲器的位置,程序存儲器中存放著程序代碼、系數(shù)表以及立即操作數(shù)。程序地址生成器(PAGEN)的組成包括: 程序
31、計數(shù)器(PC) 重復(fù)計數(shù)器(RC) 塊重復(fù)計數(shù)器(BRC) 塊重復(fù)起始地址寄存器(RSA) 塊重復(fù)結(jié)束地址寄存器(REA)編輯ppt程序計數(shù)器PC 程序計數(shù)器(PC)是一個16位計數(shù)器,其中保存的是某個內(nèi)部或者外部程序存儲器的地址,這個地址中存放的則是即將取指的某條指令。(或者是即將訪問的某個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,可以改變程序的流向。 對C
32、54X而言,有兩種分支轉(zhuǎn)移形式:條件分支轉(zhuǎn)移、無條件分支轉(zhuǎn)移。編輯ppt(1)無條件分支轉(zhuǎn)移B pmad;此時PC=pmad,pmad為一個16位 的地址,程序轉(zhuǎn)移到在此地址處的 指令開始執(zhí)行。例如: B start;start為符號地址BACC src;src為累加器(A/B);此時把累加 器低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為一個操作數(shù),若此 操作數(shù)不為0,則PC=pmad。編輯ppt調(diào)用和返回 當(dāng)采用調(diào)用指令進(jìn)行子程序或函數(shù)調(diào)用時,DSP會中斷當(dāng)前運(yùn)行的程序,轉(zhuǎn)移到程序存儲器的其它地址繼續(xù)運(yùn)行。轉(zhuǎn)移前,原程序的下一條指令的地址被壓入堆棧,而返回時則將這個地址彈出至PC,使被中斷的原程序能繼續(xù)執(zhí)行。 對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)指令需要多重條件判斷時,如:BC pmad,cond,condcond 必須所有的條件都得到滿足,程序才能轉(zhuǎn)移到pmad。由于有的條件是相互排斥的,因此在一條多重條件指令
35、中,不是所有的條件都能用,只能進(jìn)行部分組合。如下表所示。見書P214 圖6-1編輯ppt多重條件組合要求第一組:可以從A類中選用一個條件,同時從B類中選擇一個條件,但是不能從一類中選擇兩個條件。另外兩個條件測試的累加器必須是同一個,例如:可以同時測試AGT和AOV,但是不能同時測試AGT和BGT。第二組:可以在A、B、C三類中各選擇一個條件,但是不能從同一類中選擇兩個條件。編輯ppt條件執(zhí)行指令XC如果條件分支轉(zhuǎn)移指令要轉(zhuǎn)移去的地方只有12個字的程序段,則可以用一條單周期的條件執(zhí)行指令來代替條件分支轉(zhuǎn)移指令。 XC n,cond,cond,cond;其中n1或2(1)當(dāng)n1時,如果條件都成立,
36、則執(zhí)行緊跟在此條指令后的1條單字指令。(2)當(dāng)n2時,如果條件都成立,則執(zhí)行緊跟在此條指令后的2條單字指令,或1條雙字指令。(3)當(dāng)條件不被滿足時,就依照n的值,執(zhí)行1或2條NOP指令。XC 1, BLT ;若累加器B小于0則執(zhí)行下面一條指令NEG B ; 累加器B求負(fù)DST B, DATA;把累加器B值存儲到一DATA開始 的連續(xù)兩個內(nèi)存單元編輯ppt條件存儲指令編輯ppt重復(fù)操作指令C54X具有重復(fù)執(zhí)行下一條指令或重復(fù)執(zhí)行一個程序塊的功能。(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ù)計數(shù)器BRC設(shè)置重復(fù)次數(shù),由塊重復(fù)起始地址寄存器RSA和塊重復(fù)結(jié)束地址寄存器REA提供待重復(fù)的程序塊的地址范圍。例: STM #99,BRC ;(BRC)=99 RPTB NEXT1 ;對從下一條指令開始至標(biāo)號為NEXT前 ;的一段程序執(zhí)行(BRC)1 次重復(fù)操作NEXT: ;重復(fù)程序以外的指令需重復(fù)的內(nèi)容編輯ppt復(fù)位操作 硬件復(fù)位(/RS)是一個不可屏蔽的外部中斷,正常的復(fù)位操作是上電后至少保持5個時鐘周期的低電平,以確保數(shù)據(jù)、地址以及控制線
38、的正確配置。復(fù)位后變高電平,處理器從FF80H處取指,即PC= FF80H 。 軟件復(fù)位(RESET指令)是一個不可屏蔽的軟件中斷,該指令執(zhí)行后PC= FF80H 。編輯ppt中斷操作 中斷是由硬件驅(qū)動或軟件驅(qū)動的信號。中斷使DSP暫停正在執(zhí)行的程序,并進(jìn)入中斷服務(wù)程序。軟件中斷:INTR、TRAP、RESET硬件中斷:受外部中斷口信號觸發(fā)的外部硬件中斷。受片內(nèi)外圍電路信號觸發(fā)的內(nèi)部硬件中斷。中斷類型 :可屏蔽中斷 、非屏蔽中斷 編輯ppt中斷操作1. 可屏蔽中斷:DSP芯片根據(jù)型號不同,所支持的可屏蔽中斷數(shù)目也不盡相同,以C5402為例,其支持的可屏蔽中斷為:(1)INT0INT3:四級片外
39、中斷(2)RINT0、XINT0:片內(nèi)串口0收、發(fā)中斷(3)RINT1、XINT1:片內(nèi)串口1收、發(fā)中斷(4)TINT0、TINT1:片內(nèi)定時器0、1的定時中斷(5)HPINT:主機(jī)接口中斷(6)DMAC0DMAC5:6通道DMA中斷編輯ppt中斷操作可屏蔽中斷是否被響應(yīng),取決于三要素:(1)優(yōu)先級別最高中斷優(yōu)先級表 P109。(2)ST1中的INTM位為0中斷方式位。(3)IMR中的相應(yīng)位為1中斷屏蔽寄存器 P107。對INTM位和STM寄存器進(jìn)行設(shè)置,開指定放對應(yīng)的可屏蔽中斷:STM #0008h,IMR ;開放定時0中斷RSBX INTM ;全局開放中斷編輯ppt中斷操作2. 不可屏蔽中
40、斷:DSP總是會響應(yīng)這些中斷,不可屏蔽中斷包括:(1)所有的軟件中斷(2)由/RS引腳引入的硬件復(fù)位中斷(3)由非屏蔽中斷引腳/NMI引入的外部中斷 不可屏蔽中斷不受INTM和IMR的限制。編輯ppt中斷操作軟件中斷:(1)軟件中斷指令:INTR k; 當(dāng)CPU響應(yīng)INTR中斷時,INTM位被置1,屏蔽其他可屏蔽中斷。指令中的操作數(shù)k是中斷號(P109),表示CPU所要轉(zhuǎn)移的中斷向量的位置。(2)軟件中斷指令:TRAP k; 功能和INTR指令相同,區(qū)別是執(zhí)行TRAP指令不影響INTM的位值。(3)軟件復(fù)位指令:RESET; 是一個不可屏蔽的軟件中斷,該指令影響狀態(tài)寄存器ST0和ST1,但不影
41、響PMST寄存器。編輯ppt中斷處理步驟(1)C54X中斷分為三個階段:第一階段:接受中斷請求當(dāng)硬件或軟件指令請求中斷時,CPU中的IFR相應(yīng)位置1。IFR中斷標(biāo)志寄存器,當(dāng)有中斷請求出現(xiàn)時IFR中的對應(yīng)中斷標(biāo)志位置1,有四種情況會清除該中斷標(biāo)志位:(1)該中斷得到CPU處理;(2)DSP硬件復(fù)位;(3)重新將1寫入該位,以清除尚未處理完的中斷;(4)利用INTR指令執(zhí)行該位中斷的中斷號;P107STM #0008h,IFR ;清除尚未處理完的定時中斷INTR 19 ;利用INTR指令清除尚未處理;完的定時中斷編輯ppt中斷處理步驟(2)第二階段:中斷響應(yīng)對于軟件中斷和非屏蔽中斷,CPU立即響
42、應(yīng),對于可屏蔽中斷只有滿 足一定條件才能響應(yīng)。 當(dāng)CPU響應(yīng)了某中斷后,INTM被自動置1(屏蔽其它可屏蔽中斷)。如果該中斷返回采用的是RETE指令,則在該中斷返回后, INTM被重新使能。CPU做出中斷響應(yīng)后,會發(fā)出/IACA(中斷應(yīng)答)信號。然后在下一 個時鐘周期的上升沿,由地址線A6A2指出中斷號。編輯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位和左移兩位后的中斷號共同組成.如:IPTR=001H;/INT0的中斷號=16(10H)則:IPTR作為中斷向量地址的高9位 /INT0的中斷號10H左移兩位后作為中斷向量地址低7位故:該中斷向量地址為:00C0H編輯ppt程序舉例分支轉(zhuǎn)移指令;BC new,AGT,AOV;若累加器A0,且溢出,則轉(zhuǎn) 至new,否則接著往下執(zhí)行。 該指令中的兩個條件是“與”的關(guān)系,如果需要兩個條件相“或”,就只能寫成兩條指令。 比如:“若累加器A大于0或溢出,則轉(zhuǎn)移至new” BC new,AGT BC
44、new,AOV編輯ppt編寫計算 的主要程序 .bss x,4 ;為x建立4個單元,放置x1、x2、x3、x4 .bss y,1 ;為y建立一個單元,放置y STM #x,AR1 ;將x1的地址傳給AR1 STM #3,AR2 ;將循環(huán)次數(shù)3傳給AR2 LD #0,A ;對累加器A清零loop:ADD *AR1+,A ;對x1、x2、x3、x4循環(huán)累加,結(jié) 果放在A中 BANZ loop, *AR2- ;檢查循環(huán)是否結(jié)束 STL A,y ;將結(jié)果存入y中編輯ppt利用單條指令的重復(fù)操作對數(shù)組進(jìn)行初始化x50,0,0,0,0.bss x,5 ;為數(shù)組x分配5個存儲單元STM #x,AR1 ;將x
45、的首址賦給AR1LD #0,A ;對累加器A清零RPT #4 ;設(shè)置重復(fù)執(zhí)行下條指令5次STL A,*AR1+ ;對x5各單元清零思考:用RPTZ指令實(shí)現(xiàn)上述功能。編輯ppt利用塊重復(fù)操作對數(shù)組x5中的每個元素加1 .bss x,5 ;為數(shù)組x分配5個單元Begin:LD #1,16,B ;將1左移16位放入B的高端字的最 低位 STM #4,BRC ;為塊重復(fù)計數(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 ;對B清零編輯ppt7.流水線 C54X有一個6級深度的指令流水線。這6級流水線彼此是獨(dú)立的。在任何一個機(jī)器周期內(nèi),可以有1至6條不同的指令在同時工作,每條指令工作在不同的流水線上。這6級流水線的功能如下: 預(yù)取指和取指是指令的取指順序。第3級是對指令進(jìn)行譯碼,產(chǎn)生執(zhí)行指令所需要的一系列控制信號。接著的兩級是尋址并讀出操作數(shù)。編輯ppt流水線沖突 由于CPU的資源是有限的,當(dāng)一個CPU資源同時被一個以上流水線訪問時,就有可能發(fā)生時序上的沖突。編輯ppt解決流水線沖突辦法例:解決對輔助寄存器執(zhí)行標(biāo)準(zhǔn)的寫操作引起的時間等
47、待 這兩條指令的流水線圖中,W表示把值寫到AR1中,N表示取出AR1中的值,由圖上可見,STLM指令是在流水線執(zhí)行階段進(jìn)行寫操作的,而LD指令需要在尋址階段獲得寫入AR1中的值作為尋址地址,所以當(dāng)?shù)诙l指令到AR1中取數(shù)的時候,第一條指令還沒有把數(shù)寫到AR1中。編輯ppt解決流水線沖突辦法解決辦法:插入NOP指令編輯ppt引起流水線沖突的硬件輔助寄存器(AR0-AR7) 重復(fù)塊長度寄存器(BK) 堆棧指針(SP) 暫存器(T) 處理器工作方式狀態(tài)寄存器(PMST) 狀態(tài)寄存器(ST0和ST1) 塊重復(fù)計數(shù)器(BRC) 累加器(AG,AH,AL,BG,BH,BL) 編輯ppt8.在片外圍電路通用
48、I/O引腳BIO和XF定時器時鐘發(fā)生器串行口主機(jī)接口軟件可編程等待狀態(tài)發(fā)生器可編程分區(qū)轉(zhuǎn)換邏輯不同子系列器件差別通用I/O引腳BIO和XF定時器時鐘發(fā)生器串行口編輯ppt8.1 通用I/O引腳受軟件控制的專用引腳: 跳轉(zhuǎn)控制輸入引腳BIO、外部標(biāo)志輸出引腳XFBIO引腳用法舉例: XC 2,BIO;BIO為低,則執(zhí)行后面一條雙字或2條單字指令XF引腳用法舉例:SSBXXF;XF=1;即CPU通過XF引腳發(fā)出一個高電平RSBXXF;XF=0;即CPU通過XF引腳發(fā)出一個低電平編輯ppt8.2 定時器片內(nèi)定時器是一個軟件可編程定時器,可以用來周期的產(chǎn)生中斷。片內(nèi)定時器有三個存儲器映像寄存器: TI
49、M :定時寄存器(-1計數(shù)器) PRD :周期寄存器(存放時間常數(shù),工作時向TIM加載它的值) TCR :定時器控制寄存器(包含定時器的控制位和狀態(tài)位)三個映像寄存器在數(shù)據(jù)存儲空間的地址分別為0024h、0025h和0026h編輯ppt8.2 定時器控制寄存器(TCR)15 1211109 6543 0TCR0026h保留 Soft Free PSC TRB TSS TDDR 保留位軟件調(diào)試控制位 預(yù)定標(biāo)計數(shù)器 重新加載位 停止?fàn)顟B(tài)位 分 頻系 數(shù) 編輯ppt8.2 條件定時器控制寄存器(TCR)的功能編輯ppt8.2 定時器工作原理編輯ppt8.2 定時中斷的周期定時中斷周期=CLKOUT(
50、TDDR1)(PRD1)其中:CLKOUT時鐘周期TDDR定時器分頻系數(shù)PRD定時器時間常數(shù)編輯ppt8.2 定時中斷的周期設(shè):CLKOUT主頻f=5MHz ,要求得到2ms定時中斷則:200ns*(1+TDDR)*(1+PRD) =2msTDDR可選9PRD可選999編輯ppt8.2 定時器的用法關(guān)閉定時器: 只要將TCR的TSS位置1,切斷時鐘輸入,定時器停止工作,減小功耗定時器初始化:(1) 將TCR的TSS位置1(關(guān)閉定時器)(2) 加載PRD(3)加載TCR(使TDDR初始化,令TSS位為0,TRB位置1),啟動 定時器開放定時中斷:(1) 將IFR中的TINT位置1,清除尚未處理完
51、的定時器中斷(2) 將IMR中的TINT位置1,開放定時中斷(3) 將ST1中的INTM位清0,從整體上開放中斷復(fù)位時: TIM和PRD都置成FFFF,定時器的分頻系數(shù)(TCR的TDDR位)清0,定時器開始工作編輯ppt8.2 定時器初始化程序?qū)崿F(xiàn)STM #0000h,SWWSR;不插等待周期STM #0010h,TCR ;TSS=1(TCR第4位TSS置1)STM #X,PRD ;加載定時器周期寄存器(PRD=X);定時中斷周期=CLKOUT(TDDR+1) (PRD+1)STM #0C2Yh,TCR ;定時分頻系數(shù)TDDR初始化為Y ;TSS=0,啟動定時器工作 ;TRB=1,當(dāng)TIM減到
52、0后重新加載PRD ;Soft=1,F(xiàn)ree=1定時器遇到斷點(diǎn)后繼續(xù)運(yùn)行STM #0008h,IFR ;清除尚未處理完的定時中斷STM #0008h,IMR ;開放定時中斷RSBX INTM ;開放中斷(狀態(tài)寄存器ST1的INTM位復(fù)位)編輯ppt8.2 定時器應(yīng)用定時器中斷CodeStart: ;程序入口 SSBX XF ;XF置1 CALL Delay;調(diào)用延時程序 RSBX XF ;XF清0 CALL Delay;調(diào)用延時程序 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)延時,定時不準(zhǔn)確;且占用CPU開銷。編輯ppt8.2 定時器應(yīng)用定時器中斷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 時鐘發(fā)生器時鐘發(fā)生器的時鐘源由以下兩種方式輸入:
55、1)晶體振蕩器,接在X1和X2之間;2)將外部時鐘信號接到X2引腳,X1懸空。內(nèi)部晶體振蕩電路外部時鐘源電路編輯ppt8.3 CPU時鐘頻率產(chǎn)生CPU時鐘頻率CLKOUT內(nèi)部晶體振蕩頻率外部時鐘頻率CLKIN?編輯ppt8.3 硬件配置的PLL引腳狀態(tài)時鐘方式CLKMD1CLKMD2CLKMD3選擇方案1選擇方案2000工作頻率=外時鐘3工作頻率=外時鐘5110工作頻率=外時鐘2工作頻率=外時鐘4100工作頻率=內(nèi)振蕩器3工作頻率=內(nèi)振蕩器5010工作頻率=外時鐘1.5工作頻率=外時鐘4.5001工作頻率=外時鐘/2工作頻率=外時鐘/2111工作頻率=內(nèi)振蕩器/2工作頻率=內(nèi)振蕩器/2101工
56、作頻率=外時鐘1工作頻率=外時鐘1011停止方式停止方式P59 表2-14編輯ppt8.3 軟件可編程PLL對PLL編程實(shí)際上是對16位的存儲器映射寄存器CLKMD(時鐘方式寄存器)進(jìn)行編程。 CLKMD地址為0058H。對時鐘方式寄存器(CLKMD)進(jìn)行編程,可以:(1) 控制PLL的通和斷(2) 控制時鐘發(fā)生器的工作方式(3) 提供各種時鐘的乘法系數(shù)(4) 自動延遲定時,直到PLL鎖定(穩(wěn)定)軟件可編程PLL的工作方式:(1) PLL方式(倍頻):輸入時鐘(CLKIN)(0.2515)(2) DIV方式 (分頻) :輸入時鐘(CLKIN)(2或4)編輯ppt8.3 時鐘方式寄存器(CLKM
57、D)各位的定義時鐘方式寄存器(CLKMD)各位段的功能PLLMUL15 12PLLDIV2PLLCOUNT11PLLON/OFF10 3PLLNDIV10PLLSTATUS時鐘發(fā)生器選擇位乘數(shù)除數(shù)計數(shù)器通/斷位 工作狀態(tài)位P 60編輯ppt8.3 時鐘方式寄存器(CLKMD)各位段的功能編輯ppt8.3 PLL分頻倍頻系數(shù)表編輯ppt8.3 軟件可編程PLL的編程考慮(1)對PLL計數(shù)器設(shè)置初值在PLL穩(wěn)定之前,CLKOUT是不能用作DSP時鐘的,從啟動到PLL完全穩(wěn)定,這段時間稱為“牽引時間”??梢酝ㄟ^對CLKMD寄存器中的PLLCOUNT位編程,使CLKOUT延遲一段時間,等PLL完全穩(wěn)定
58、后才把CLKOUT輸入到DSP。編輯ppt8.3設(shè)計舉例(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)制計數(shù)值為41。編輯ppt8.3設(shè)計舉例(2) 從PLL3方式轉(zhuǎn)為二分頻DIV方式, 與例1不同,從PLL方式變?yōu)镈IV方式時沒有PL
59、LCOUNT的延時,所以,要通過檢測PLLSTATUS位來確定是否已轉(zhuǎn)換為DIV方式。 STM #0B,CLKMD;切換到DIVtest: LDM CLKMD,A AND #01B,A;測試STATUS位 BC test,ANEQ;若不為0則等待 STM #0B,CLKMD;若為0,關(guān)PLL編輯ppt8.3設(shè)計舉例(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 時分多路同步串口TMD編輯ppt8.4 C54串行口帶緩沖的串行口(BSP):由標(biāo)準(zhǔn)同步串行口和一個自動緩沖單元(ABU)組成。ABU的功能是控制串行接口與內(nèi)部C54x DSP存儲器之間的數(shù)據(jù)傳送,且不需要CPU的干預(yù)。時分復(fù)用(TDM)串行口:允許C54x DSP與7個其他器件進(jìn)行時分串行通信。當(dāng)緩沖串口和時分串口工作在標(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等.壓縮文件請下載最新的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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度木結(jié)構(gòu)建筑設(shè)計與施工總承包合同8篇
- 國際貿(mào)易課件:WTO的反傾銷制度
- 2025年度數(shù)據(jù)中心承建與信息安全防護(hù)合同4篇
- 二零二五年度LED顯示屏產(chǎn)品安全認(rèn)證合同3篇
- 2025版環(huán)保設(shè)施運(yùn)營維護(hù)管理承包合同范本4篇
- 2025年度木材市場風(fēng)險管理與價格波動合同4篇
- 二零二五年度養(yǎng)老產(chǎn)業(yè)項(xiàng)目合伙人分紅及服務(wù)質(zhì)量保障合同
- 二零二五年度池塘水域漁業(yè)養(yǎng)殖技術(shù)培訓(xùn)與推廣協(xié)議
- 2025年度企業(yè)銷售團(tuán)隊績效目標(biāo)協(xié)議書
- 二零二五年度順豐快遞員勞動合同爭議解決機(jī)制
- 2024生態(tài)環(huán)境相關(guān)法律法規(guī)考試試題
- 有砟軌道施工工藝課件
- 兩辦意見八硬措施煤礦安全生產(chǎn)條例宣貫學(xué)習(xí)課件
- 40篇短文搞定高中英語3500單詞
- 人教版高中數(shù)學(xué)必修二《第九章 統(tǒng)計》同步練習(xí)及答案解析
- 兒科護(hù)理安全警示教育課件
- 三年級下冊口算天天100題
- 國家中英文名稱及代碼縮寫(三位)
- 人員密集場所消防安全培訓(xùn)
- 液晶高壓芯片去保護(hù)方法
- 拜太歲科儀文檔
評論
0/150
提交評論