DSP片上外設資料_第1頁
DSP片上外設資料_第2頁
DSP片上外設資料_第3頁
DSP片上外設資料_第4頁
DSP片上外設資料_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

會計學1DSP片上外設資料C54xDSP具有的主要外設

通用I/O引腳定時器時鐘發生器軟件可編程的等待狀態發生器可編程的分區轉換模塊主機接口(HPI)

串行接口,包括標準同步串行接口、帶緩沖的串行接口(BSP)、多通道緩沖串行接口(McBSP)和時分復用串行接口(TDM)直接存儲器訪問(DMA)控制器第1頁/共32頁§9.1片內外設映射寄存器地址范圍:0020h—005Fh(第0頁數據頁面

)存儲器映射控制寄存器可以控制外設:設置和清除控制寄存器的位可以使能、禁止、初始化和動態重配置外設器件。

存儲器映射數據寄存器可以從外設取數據或者將數據傳輸到外設。C5402的片內外設映射寄存器第2頁/共32頁第3頁/共32頁第4頁/共32頁§9.2通用I/O

C54xDSP提供了兩個通用I/O引腳

分支轉移控制輸入引腳(/BIO):用于監視外設器件的狀態。外部標志輸出引腳(XF):為外設提供信號,XF引腳由軟件控制。設置ST1寄存器的XF位為1:SSBXXF清除XF位為0:RSBX1,13第5頁/共32頁BC和XC指令第6頁/共32頁BC和XC指令的條件第7頁/共32頁§9.3定時器片內定時器可以用于周期地產生中斷。最高分辨率為處理器的CPU時鐘速度。通過帶4位預定標器的16位計數器,獲得較大范圍的定時器頻率。

§9.3.1定時器寄存器片內定時器是可編程的,由三個16位的寄存器組成定時器寄存器(TIM):減1計數器,可加載周期寄存器(PRD)的值。定時器周期寄存器(PRD):時間常數寄存器,用于重載定時器寄存器(TIM)。定時器控制寄存器(TCR):包含定時器的控制和狀態位。第8頁/共32頁§9.3.1定時器寄存器—續定時器的寄存器

定時器號定時器地址寄存器描述定時器00024hTIM定時器寄存器0025hPRD定時器周期寄存器0026hTCR定時器控制寄存器定時器1(僅C5402有)0030hTIM1定時器1寄存器0031hPRD1定時器1周期寄存器0032hTCR1定時器1控制寄存器第9頁/共32頁§9.3.1定時器寄存器—TCR位名稱復位時的值功能位15~12保留位-讀總為0位11位10SoftFree00Soft與Free位一起結合使用,決定當在高級語言調試時遇到斷點時定時器的狀態。

FreeSoft定時器狀態

00定時器立即停止工作

01定時器減到0時,停止工作

1X定時器繼續運行位9~6PSC-4位的預定標計數器(減1計數器)當PSC減到0時或者定時器復位:PSC加載TDDR的內容,TIM減少1位5TRB-定時器重載。當TRB復位時(=1),復位片內定時器。TIM加載PRD中的值,而PSC加載TDDR的值,TRB讀總為0位4TSS0定時器停止狀態。停止或啟動片內定時器。復位時,TSS被清除并且定制其立即啟動計數。TSS=0時,計數器開始工作TSS=1時,計數器停止工作位3~0TDDR0000定時器分頻系數。指定片內定時器的分頻系數(周期)。當PSC減計數到0時,PSC載入TDDR的內容第10頁/共32頁§9.3.2定時器操作主定時器模塊:由PRD和TIM組成預定標器模塊:由TCR的TDDR和PSC位組成定時器由CPU提供時鐘系統復位定時器重載定時器分頻系數(4bit)預定標計數器(4bit)0:啟動1:停止定時器中斷送到CPU定時器輸出引腳(84)第11頁/共32頁§9.3.2定時器操作—續定時器中斷的周期:TOUT周期=(TDDR+1)×(PRD+1)×CLKOUTCLKOUT為CPU時鐘周期,

PRD為定時器周期值,

TDDR為定時器分頻系數。當復位時,PRD=FFFFH,TIM=FFFFH,TDDR=0H,TSS=0

(可見復位時,定時器已經開始工作)第12頁/共32頁§9.3.2定時器操作—續定時器可用于產生外設電路(如模擬接口電路)所需的采樣時鐘信號。一種方法是使用TOUT信號為外設提供時鐘;另一種方法是利用中斷,周期地讀一個寄存器。1.初始化定時器的步驟:

(1)將TCR中的TSS位置1,停止定時器。

(2)加載PRD。

(3)重新加載TCR:加載TDDR,

TSS=0重新啟動定時器

TRB=1復位片內定時器

(TIM加載PRD中的值,而PSC加載TDDR的值)第13頁/共32頁§9.3.2定時器操作—續2.開放定時器中斷的操作步驟

(假定INTM=1:所有可屏蔽中斷被禁止):

(1)將IFR中的TINT位置1,清除尚未處理完(掛起)的定時器中斷。

(2)將IMR中的TINT位置1,使能定時器中斷。

(3)將ST1中的INTM位清0,全局使能中斷。例:CPU時鐘頻率10MHz,要求每秒鐘執行一個中斷服務程序,問如何設置寄存器PRD和TDDR的值

?第14頁/共32頁§9.4時鐘發生器§9.4.1時鐘發生器的硬件連接時鐘發生器可以采用兩種方法實現:(1)使用具有內部振蕩電路的晶體振蕩器(必須配置CLKMD引腳以使能內部振蕩器)(2)使用外部時鐘(可以采用封裝好的晶體振蕩器,此時內部振蕩器無效)

C54xDSP的時鐘發生器包括一個內部振蕩器和一個鎖相環(PLL)C54xDSP有兩種類型的PLL:硬件可配置的;軟件可編程的NC(不連接)外部時鐘信號晶體振蕩器GNDNC輸出VDD第15頁/共32頁§9.4.2硬件可配置的PLL硬件配置的PLL:就是通過配置C54x的3個引腳CLKMD1、CLKMD2和CLKMD3的狀態,來選定時鐘方式。

模式選擇引腳

時鐘模式CLKMD1CLKMD2CLKMD3選項1選項2000使用外部時鐘源,PLL×3使用外部時鐘源,PLL×5110使用外部時鐘源,PLL×2使用外部時鐘源,PLL×4100使用內部振蕩器,PLL×3使用內部振蕩器,PLL×5010使用外部時鐘源,PLL×1.5使用外部時鐘源,PLL×4.5001使用外部時鐘源,時鐘頻率除以2使用外部時鐘源,時鐘頻率除以2111使用內部振蕩器,時鐘頻率除以2使用內部振蕩器,時鐘頻率除以2101使用外部時鐘源,PLL×1使用外部時鐘源,PLL×1011

停止模式

停止模式第16頁/共32頁§9.4.3軟件可配置的PLL具有軟件可編程PLL的DSP器件可以選用兩種時鐘方式之一來配置:

(1)PLL模式—倍頻:CLKIN×倍頻系數(從0.25~15共31個)(2)DIV模式—分頻:CLKIN除以2或41.復位時的時鐘模式(由3個外部引腳的狀態所決定)CLKMD1CLKMD2CLKMD3CLKMD復位值時鐘模式000E007h使用內部振蕩器,PLL×150019007h使用內部振蕩器,PLL×100104007h使用內部振蕩器,PLL×51001007h使用內部振蕩器,PLL×2110F007h使用內部振蕩器,PLL×11110000h使用內部振蕩器,1/2(禁止PLL)101F000h使用內部振蕩器,1/4(禁止PLL)011-保留(旁路模式)第17頁/共32頁§9.4.3軟件可配置的PLL—續軟件可編程PLL的方法:對16位存儲器映射時鐘模式寄存器(CLKMD)編程加載PLL,以配置所要求的時鐘方式。CLKMD(地址為58h):包含定時器的控制和狀態位第18頁/共32頁§9.4.3軟件可配置的PLL—續位名稱功能15~12PLLMULPLL乘法系數(乘法器)。11PLLDIVPLL乘法系數(除法器)。10~3PLLCOUNTPLL計數器值。每16個輸入時鐘CLKIN到來后PLL計數器減1。(提供牽引時間:從PLL工作到PLL提供穩定時鐘所需的時間)PLL計數器可以用于確保處理器直到PLL鎖定之后才被鎖定,以便只有有效的時鐘信號送到DSP2PLLON/OFFPLL開/關。與PLLNDIV一起使能或禁止時鐘發生器的PLL部分PLLON/OFFPLLNDIVPLL狀態

00關

01開

10開

11開1PLLNDIVPLL時鐘發生器選擇。PLLNDIV=0時,工作在分頻器(DIV)模式PLLNDIV=1時,工作在PLL模式0PLLSTATUSPLL狀態。表示時鐘發生器的工作模式:PLLSTATUS=0時,分頻器(DIV)模式PLLSTATUS=1時,PLL模式第19頁/共32頁§9.4.3軟件可配置的PLL—續PLL的乘法系數(CLKOUT=CLKIN×乘法系數)PLLNDIVPLLDIVPLLMUL乘法系數0X0~140.5(/2)0X150.25(/4)100~14PLLMUL+110151(旁路)110或偶數(PLLMUL+1)÷211奇數PLLMUL÷4第20頁/共32頁§9.4.3軟件可配置的PLL—續2.軟件可編程PLL的編程注意事項(1)使用PLLCOUNT可編程鎖定定時器PLL鎖定定時器是一個減1計數器每16個CLKIN計數器減1鎖定延遲時間可以設置為0~4080(255×16)個CLKIN周期。公式

TCLKIN為輸入時鐘周期,LockupTime為所要求的PLL鎖定時間。為了安全,也可以將PLLCOUNT設置為全1,即最大值第21頁/共32頁§9.4.3軟件可配置的PLL—續第22頁/共32頁§9.4.3軟件可配置的PLL—續(2)時鐘模式由DIV模式轉換為PLL模式通過修改PLLMUL、PLLDIV和PLLNDIV位來完成只有在DIV模式時,才能改變以下幾個值:PLLMUL,PLLCOUNT,PLLON/OFF一旦PLLNDIV位被置1,PLLCOUNT定時器開始減計數直到0。當完成了PLL模式轉換時,CLKMD的PLLSTATUS位讀為1。例:C549DSP轉換DIV模式為PLL×3模式,輸入CLKIN頻率為13MHz,并且PLLCOUNT=18(十進制):19us/(16/13M)≈16<18STM#0010000010010111b,CLKMD第23頁/共32頁§9.4.3軟件可配置的PLL—續(3)時鐘模式由PLL模式轉換為DIV模式通過加載CLKMD寄存器來完成PLLNDIV=0,選擇DIV模式設置PLLMUL位從PLL模式轉換為DIV模式時,會在一個短暫的延遲后完成這兩種模式之間的轉換

,所以不用設置PLLCOUNT當完成了DIV模式轉換時,CLKMD寄存器的PLLSTATUS位讀為0例:從PLL×3模式→DIV/2模式。

STM#0b,CLKMD;轉換為DIV模式TstStatu:LDMCLKMD,AAND#01b,A;查詢PLLSTATUS位

BCTstStatu,ANEQ;ANEQ表示(A)≠0

第24頁/共32頁§9.4.3軟件可配置的PLL—續(4)改變PLL乘法系數

(思想:PLL→DIV→PLL,因為只有在DIV模式時,才能改變以下幾個值:PLLMUL,PLLCOUNT,PLLON/OFF)步驟:

(1)清除PLLNDIV位為0,選擇DIV模式。

(2)查詢PLLSTATUS位,直到該位變為0,表示DIV模式有效。

(3)修改CLKMD,設置PLLMUL、PLLDIV和PLLNDIV位,以獲得所期望的頻率乘法系數。

(4)設置PLLCOUNT位為所期望的鎖定時間。

第25頁/共32頁§9.4.3軟件可配置的PLL—續注:在除以2模式和除以4模式之間的轉換是不可能的。為了轉換這兩種模式,時鐘發生器必須首先設置為PLL模式,然后設置回期望的除數配置的DIV模式。例:將時鐘模式從PLL×(X)轉換為PLL×1:

STM#0b,CLKMD;轉換為DIV模式TstStatu:

LDMCLKMD,AAND#1b,A;查詢PLLSTATUS位

BCTstStatu,ANEQSTM#0000001111101111b,CLKMD

;轉換為PLL×1模式第26頁/共32頁§9.4.3軟件可配置的PLL—續(5)緊跟復位后的PLL操作復位后,時鐘模式由三條外部引腳的值決定,即CLKMD1、CLKMD2和CLKMD3。通過修改CLKMD的內容,可以很容易實現從初始時鐘模式向任何其他模式的轉換。

如果使用了帶外部晶振的內部振蕩器,則期間的CLKMD引腳在復位時必須進行配置,以使能內部振蕩器例:

產生4ms方波的程序。其中:CPU時鐘由10MHz倍頻到100MHz,采用定時器0,四分頻:TDDR=3+1=4;PRD0=49999+1=50000,即每2ms定時器產生一次中斷,方波周期為4ms。程序名稱:Timer.pjt

第27頁/共32頁§9.5軟件可編程的等待狀態發生器作用:CPU與慢速設備進行接口等待狀態發生器是一種軟設備,完全由軟件等待狀態寄存器(SWWSR)來控制。軟件等待狀態控制寄存器(SWCR)中的軟件等待狀態乘數位(SWSM)定義等待狀態數的倍數是1還是2。在訪問周期內最多可以插入14個等待時鐘周期。

第28頁/共32頁SWWSR的位描述位名稱功能15XPA擴展程序地址控制位。選擇由程序字段所選擇的地址范圍。XPA=0則不擴展,XPA=1則擴展。14~12I/OI/O空間位。該位段值(0~7)指定對0000~FFFFh的I/O空間的插入等待狀態數11~9數據數據空間位。該位段值(0~7)指定對8000~FFFFh的數據空間的插入等待狀態數8~6數據數據空間位。該位段值(0~7)指定對0000~7FFFh的數據空間的插入等待狀態數5~3程序程序空間位。該位段值(0~7)指定如下程序空間的插入等待狀態數:XPA=0:xx8000~xxFFFFhXPA=1:400000~7FFFFFh2~0程序程序空間位。該位段值(0~7)指定如下程序空間的插入等待狀態數:XPA=0:xx0000~xx7FFFhXPA=1:000000~3FFFFFh第29頁/共32頁

溫馨提示

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

評論

0/150

提交評論