




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第8章C55x的片上外設2
C55x的片內外設分為如下幾類。
1.時鐘與定時器
時鐘與定時器包括時鐘產生器、通用定時器、實時時鐘以及看門狗定時器等。時鐘產生器的功能是產生CPU的工作時鐘,并提供CLKOUT時鐘輸出;通用定時器、實時時鐘及看門狗定時器的功能是通過計數器為系統提供定時時鐘和年、月、日、時、分、秒等時鐘信號,以及監控系統正常運行的看門狗時鐘,并能發出相應中斷。3
2.外部設備連接接口外部設備連接接口包括外部存儲器連接接口、主機接口等。外部存儲器接口主要用來同并行存儲器連接,這些存儲器包括SDRAM、SBSRAM、Flash、SRAM存儲器等,外部存儲器接口還可以同外部并行設備進行連接,這些設備包括并行A/D、D/A轉換器、具有異步并行接口的專用芯片,并可以通過外部存儲器接口同FPGA、CPLD等連接;主機接口主要用來為主控CPU和C55x處理器之間提供一條方便、快捷的并行連接接口,這個接口用來對DSP進行控制、程序加載、數據傳輸等工作。
C55x的片內外設分為如下幾類。2024年2月17日TMS320C55xDSP原理及應用43.信號采集
信號采集類的外設包括采集模擬信號的模/數轉換器和提供數字信號輸入、輸出功能的通用輸入/輸出接口。模/數轉換器為DSP提供了多通道模擬/數字轉換能力,通用輸入、輸出接口可以完成數字信號的采集,當其被設置為輸出模式時,可以通過這些接口對其他設備進行控制。
C55x的片內外設分為如下幾類。54.通信接口C55x處理器為用戶提供了多種類型的通信接口,包括多通道緩沖串口、I2C接口、異步串口、USB接口以及多媒體卡/SD卡接口等。多通道緩沖串口可以連接串行存儲器、A/D、D/A轉換器,并可以通過該接口實現與其他處理器的高速串行連接,多媒體卡/SD卡接口可以用來擴展SD存儲卡等移動存儲設備,I2C接口、異步串口和USB接口為DSP通過了各種通用通信接口。
5.其他外設
其他外設包括DMA控制器、指令流水線等,這些外設主要用來輔助CPU工作,提高DSP的工作效率。
C55x的片內外設分為如下幾類。8.1時鐘發生器
時鐘發生器概況時鐘工作模式
CLKOUT輸出使用方法8.1.1時鐘發生器概況圖8-1時鐘發生器從CLKIN引腳接收輸入時鐘信號,將其變換為CPU及其外設所需要的工作時鐘工作時鐘經過分頻通過引腳CLKOUT輸出,可供其他器件使用時鐘發生器內有一個數字鎖相環(DPLL)和一個時鐘模式寄存器(CLKMD),如表8-1表8-1時鐘模式寄存器CLKMD(1)位字段說明15Rsvd保留14IAI退出Idle狀態后,決定PLL是否重新鎖定0PLL將使用與進入Idle狀態之前相同的設置進行鎖定1PLL將重新鎖定過程13IOB處理失鎖0時鐘發生器不中斷PLL,PLL繼續輸出時鐘1時鐘發生器切換到旁路模式,重新開始PLL鎖相過程12TEST必須保持為011~7PLLMULT鎖定模式下的PLL倍頻值,0~31表8-1時鐘模式寄存器CLKMD(2)位字段說明6~5PLLDIV鎖定模式下的PLL分頻值,0~34PLLENABLE使能或關閉PLL0關閉PLL,進入旁路模式1使能PLL,進入鎖定模式3~2BYPASSDIV旁路下的分頻值00一分頻01二分頻10或11四分頻1BREAKLNPLL失鎖標志0PLL已經失鎖1鎖定狀態或有對CLKMD寄存器的寫操作0LOCK鎖定模式標志0時鐘發生器處于旁路模式1時鐘發生器處于鎖定模式8.1.2時鐘工作模式時鐘發生器有三種工作模式:旁路模式(BYPASS)鎖定模式(LOCK)Idle模式時鐘模式寄存器(CLKMD)中的PLLENABLE位控制旁路模式和鎖定模式可以通過關閉CLKGENIdle模塊使時鐘發生器工作在Idle模式。1.旁路模式(BYPASS)如果PLLENABLE=0,PLL工作于旁路模式,PLL對輸入時鐘信號進行分頻。分頻值由BYPASSDIV確定:如果BYPASSDIV=00,輸出時鐘信號的頻率與輸入信號的頻率相同,即1分頻如果BYPASSDIV=01,輸出時鐘信號的頻率是輸入信號的1/2,即2分頻如果BYPASSDIV=1x,輸出時鐘信號的頻率是輸入信號的1/4,即4分頻2.鎖定模式(LOCK)如果PLLENABLE=1,PLL工作于鎖定模式,輸出的時鐘頻率由下面公式確定:鎖定模式下的PLL倍頻值鎖定模式下的PLL分頻值3.Idle模式為了降低功耗,可以加載Idle配置,使DSP的時鐘發生器進入Idle模式當時鐘發生器處于Idle模式時,輸出時鐘停止,引腳被拉為高電平。8.1.3CLKOUT輸出CPU時鐘可以通過一個時鐘分頻器對外提供CLKOUT信號CLKOUT的頻率由系統寄存器(SYSR)中的CLKDIV確定當CLKDIV=000b時,CLKOUT的頻率等于CPU時鐘頻率當CLKDIV=001b時,CLKOUT的頻率等于CPU時鐘頻率的1/2當CLKDIV=010b時,CLKOUT的頻率等于CPU時鐘頻率的1/3當CLKDIV=011b時,CLKOUT的頻率等于CPU時鐘頻率的1/4當CLKDIV=100b時,CLKOUT的頻率等于CPU時鐘頻率的1/5當CLKDIV=101b時,CLKOUT的頻率等于CPU時鐘頻率的1/6當CLKDIV=110b時,CLKOUT的頻率等于CPU時鐘頻率的1/7當CLKDIV=111b時,CLKOUT的頻率等于CPU時鐘頻率的1/88.1.4使用方法通過對時鐘模式寄存器(CLKMD)的操作,可以根據需要設定時鐘發生器的工作模式和輸出頻率在設置過程中除了工作模式、分頻值和倍頻值以外,還要注意其他因素對PLL的影響
1.省電(Idle)為了減少功耗,可以使時鐘發生器處于省電狀態當時鐘發生器退出省電狀態時,PLL自動切換到旁路模式,進行跟蹤鎖定,鎖定后返回到鎖定模式時鐘模式寄存器與省電有關的位是IAIIAI=0:PLL將使用與進入Idle狀態之前相同的設置進行鎖定IAI=1:PLL將重新鎖定過程2.DSP復位在DSP復位期間和復位之后,PLL工作于旁路模式,輸出的時鐘頻率由CLKMD引腳上的電平確定如果CLKMD引腳為低電平,則輸出頻率等于輸入頻率如果CLKMD引腳為高電平,則輸出頻率等于輸入頻率的1/2。
3.失鎖鎖相環對輸入時鐘跟蹤鎖定之后,可能會由于其他原因使其輸出時鐘發生偏移,導致失鎖。出現失鎖現象后,PLL的動作由時鐘模式寄存器中的IOB確定IOB=0:時鐘發生器不中斷PLL,PLL繼續輸出時鐘IOB=1:時鐘發生器切換到旁路模式,重新開始PLL鎖相過程208.1.5時鐘發生器的調試時鐘發生器所產生的DSP工作時鐘,如果時鐘產生器沒有正常工作,DSP將無法正常運行,而調試DSP也是不可能的。
調試時鐘發生器應遵循以下步驟:
(1)檢查DSP的時鐘輸入引腳CLKIN、時鐘輸出引腳CLKOUT和時鐘模式引腳CLKMD連接是否正確,正常情況下CLKIN應接時鐘源,而CLKMD應拉高或降低,CLKOUT應是信號輸出引腳。
(2)系統加電后測量CLKIN引腳時鐘輸入是否正常,信號的高低電平及占空比是否滿足需要。
2024年2月17日TMS320C55xDSP原理及應用218.1.5時鐘發生器的調試(3)在沒有進行軟件設置的情況下,DSP在復位后CLKOUT的輸出直接受CLKMD控制,當CLKMD為高,CLKOUT的輸出頻率將等于CLKIN的頻率,CLKMD為低,則CLKOUT輸出將等于CLKIN的頻率的1/2。
(4)如果以上步驟運行正常,則利用軟件設置CLKMD寄存器,使時鐘產生器工作于PLL鎖相環模式下,此時再檢測CLKOUT信號,查看鎖相環是否正常工作。8.2通用定時器定時器概況工作原理定時器使用要點定時器應用實例8.2.1定時器概況C55x芯片提供了兩個定時器TMS320VC5503/5507/5509A/5510提供的是兩個20位的定時器定時器由兩部分組成:預定標計數寄存器(PSC),4位主計數器(TIM),16位寄存器:計數寄存器(PSC,TIM)周期寄存器(TDDR,PRD):在定時器初始化或定時值重新裝入過程中,將周期寄存器的內容復制到計數寄存器中圖8-2定時器結構框圖8.2.2工作原理定時器的工作時鐘DSP內部的CPU時鐘引腳TIN/TOUT利用定時器控制寄存器(TCR)中的字段FUNC可以確定時鐘源和TIN/TOUT引腳的功能當FUNC=00b時,TIN/TOUT為高阻態,時鐘源是內部時鐘(CPU時鐘)。當FUNC=01b時,TIN/TOUT為定時器輸出,時鐘源是內部時鐘(CPU時鐘)。當FUNC=10b時,TIN/TOUT為通用輸出,時鐘源是內部時鐘(CPU時鐘)。當FUNC=11b時,TIN/TOUT為定時器輸入,時鐘源是外部時鐘。字段FUNC可以確定時鐘源和TIN/TOUT引腳的功能定時器發送中斷信號或同步事件信號的頻率可用下式計算:預定標計數寄存器(PSC)由輸入時鐘驅動,PSC在每個輸入時鐘周期減1;當其減到0時,TIM減1,當TIM減到0,定時器向CPU發送一個中斷請求(TINT)或向DMA控制器發送同步事件通過設置定時器控制寄存器(TCR)中的自動重裝控制位ARB,可使定時器工作于自動重裝模式:當TIM減到0,重新將周期寄存器(TDDR,PRD)的內容復制到計數寄存器(PSC,TIM)中,繼續定時定時器包括4個寄存器定時器預定標寄存器PRSC,表8-2主計數寄存器TIM,表8-3主周期寄存器PRD,表8-4定時器控制寄存器TCR,表8-5表8-2定時器預定標寄存器PRSC位字段數值說明15~10Rsvd-—保留9~6PSC0h~Fh預定標計數寄存器5~4Rsvd-—保留3~0TDDR0h~Fh當PSC重新裝入時,將TDDR的內容復制到PSC中表8-3主計數寄存器TIM位字段數值說明15~0TIM0000h~FFFFh主計數寄存器表8-4主周期寄存器PRD位字段數值說明15~0PRD0000h~FFFFh主周期寄存器。當TIM必須重新裝入時,將PRD的內容復制到TIM中表8-5定時器控制寄存器TCR(1)位字段數值說明15IDLEEN01定時器的Idle使能位。定時器不能進入idle狀態如果idle狀態寄存器中的PERIS=1,定時器進入idle狀態14INTEXT01時鐘源從內部切換到外部標志位定時器沒有準備好使用外部時鐘源定時器準備使用外部時鐘源13ERRTIM01定時器錯誤標志沒有監測到錯誤,或ERRTIM已被讀取出錯12~11FUNCFUNC=00bFUNC=01bFUNC=10bFUNC=11b定時器工作模式選擇位TIN/TOUT為高阻態,時鐘源是內部CPU時鐘TIN/TOUT為定時器輸出,時鐘源是內部CPU時鐘TIN/TOUT為通用輸出,引腳電平反映的是DATOUT位的值TIN/TOUT為定時器輸入,時鐘源是外部時鐘表8-5定時器控制寄存器TCR(2)位字段數值說明10TLB01定時器裝載位TIM、PSC不重新裝載將PRD、TDDR分別復制到TIM、PSC中9SOFT在調試中遇到斷點時定時器的處理方法FREESOFT定時器狀態00定時器立即停止工作01當計數器減到0時停止工作1x定時器繼續運行8FREE7~6PWID00011011定時器輸出脈沖的寬度1個CPU時鐘周期2個CPU時鐘周期4個CPU時鐘周期8個CPU時鐘周期5ARB01自動重裝控制位ARB清0每次TIM減為0,PRD裝入TIM中,TDDR裝入PSC中表8-5定時器控制寄存器TCR(3)位字段數值說明4TSS01定時器停止狀態位啟動定時器停止定時器3C/P01定時器輸出時鐘/脈沖模式選擇輸出脈沖。脈沖寬度由PWID定義,極性由POLAR定義輸出時鐘。引腳上信號的占空比為50%。2POLAR01時鐘輸出極性位正極性負極性1DATOUT01當TIN/TOUT作為通用輸出引腳,該位控制引腳上的電平低電平高電平0Rsvd0保留8.2.3定時器使用要點1.初始化定時器(1)停止計時(TSS=1),使能定時器自動裝載(TLB=1)(2)將預定標計數器周期數寫入TDDR(以輸入的時鐘周期為基本單位)(3)將主計數器周期數裝入PRD
(4)關閉定時器自動裝載(TLB=0),啟動計時(TSS=0)2.停止/啟動定時器利用時鐘控制寄存器(TCR)中的TSS位可以停止(TSS=1)或啟動定時器(TSS=0)3.DSP復位后定時器寄存器的值停止定時(TSS=1)預定標計數器值為0主計數器值為FFFFh定時器不進行自動重裝(ARB=0)IDLE指令不能使定時器進入省電模式仿真時遇到軟件斷點定時器立即停止工作TIN/TOUT為高阻態,時鐘源是內部時鐘(FUNC=00b)8.2.4定時器應用實例
例8-1,在TIN/TOUT引腳上產生一個2MHz的時鐘,假定DSP的CPU時鐘為200MHz。要點:TIN/TOUT引腳配置為定時器輸出,FUNC設置為01b為了使這個引腳工作在時鐘模式,CP設置為1bTIN/TOUT的極性為默認的0b由于每當計數器減為0時,引腳的電平就會翻轉一次。要將CPU的時鐘頻率除以100倍,就要求每個高電平和低電平周期內的計數為50設置自動裝入(ARB=1),使每次計數器減為0時,計時器自動裝入計數值,并重新開始計數置TCR中的FREEbit為1,使計時器在遇到仿真斷點時能夠繼續工作將TCR中的IDLEENbit清0,使計時器即便在外設時鐘模塊處于idle狀態下仍然工作;********************************************************;定時器寄存器地址;********************************************************TIM0 .set0x1000;TIMER0計數寄存器PRD0 .set0x1001;TIMER0周期寄存器TCR0 .set0x1002;TIMER0控制寄存器PRSC0 .set0x1003;TIMER0預定標寄存器;********************************************************;定時器配置;********************************************************TIMER_PERIOD .set9 ;定時器的周期為10TIMER_PRESCALE .set4 ;預定標值為5 .textINIT:
mov#TIMER_PERIOD,port(#PRD0) ;配置定時器周期寄存器
mov#TIMER_PRESCALE,port(#PRSC0) ;配置定時器預定標寄存器
mov#0000110100111000b,port(#TCR0);0~~~~~~~~~~~~~~~IDLEEN 0=不和外設域一起idle;~0~~~~~~~~~~~~~~INTEST n/a
初始化代碼如下:;~~0~~~~~~~~~~~~~ERR_TIM1=如果非法功能改變發生;~~~01~~~~~~~~~~~FUNC 01=TIN/TOU
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論