版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
F2812得時鐘與控制系統(tǒng)眾所周知,支撐我們身體四肢能夠靈活運動得能量來源于心臟,正就是心臟不停得有規(guī)律得跳動給身體得各個機能供血,我們才能去做任意我們想做得事情。如果我們得身體過度疲勞,或者感染了細菌病毒而生病了,這個時候就會有醫(yī)生來給我們檢查身體,并且進行治療。其實DSP也一樣,需要一個類似于心臟得模塊來提供其正常運行得動力與節(jié)奏。在這一章里面,我們一起來學(xué)習(xí)F2812得“心臟”——F2812得振蕩器、鎖相環(huán)PLL與時鐘機制。除此之外還要學(xué)習(xí)給DSP做“身體檢查”,以維持其正常工作得瞧門狗模塊。1、振蕩器OSC(Oscillator)與鎖相環(huán)PLL(PhaseLockedLogic)為了能夠讓F2812能夠按部就班得執(zhí)行相應(yīng)得代碼,實現(xiàn)相應(yīng)得功能,她需要不斷得規(guī)律得時鐘脈沖,而這一功能就由F2812內(nèi)部得振蕩器OSC與基于PLL得時鐘模塊來實現(xiàn)。在這里簡單得介紹一下究竟振蕩器OSC與鎖相環(huán)PLL就是什么:振蕩器OSC:一種能量轉(zhuǎn)換裝置,將直流電能轉(zhuǎn)換為具有一定頻率得交流電能。鎖相環(huán)PLL:鎖相環(huán)也叫相同步邏輯,用途就是在收、發(fā)通信雙方建立載波同步或位同步。因為它得工作過程就是一個自動頻率(相位)調(diào)整得閉合環(huán)路,所以叫環(huán)。讓我們來瞧一下整體得圖:圖12812芯片內(nèi)得OSC與PLL模塊如上圖所示,F(xiàn)2812上有基于PLL得時鐘模塊,為器件及各種外設(shè)提供時鐘信號。鎖相環(huán)中有4位倍頻設(shè)置位,以此來提供各種速度得時鐘信號?;赑LL得時鐘模塊可以采用兩種操作模式:(1)內(nèi)部振蕩器:在PLL未被禁止得情況下,使用外部晶振給2812提供時鐘信號,則必須使用X1/XCLKIN引腳與X2引腳,在這兩引腳之間連接一個石英晶體,即外部晶振。(2)外部時鐘源:在PLL被禁止得情況下,旁路片內(nèi)振蕩器,由外部時鐘源提供時鐘信號,這時候講外部振蕩器得信號直接輸入到X1/XCLKIN引腳上,此時X2引腳不使用。外部引腳可以選擇系統(tǒng)得時鐘源。當(dāng)為低電平時,系統(tǒng)直接采用時鐘或晶振直接作為系統(tǒng)時鐘;當(dāng)為高電平時,外部時鐘經(jīng)過PLL倍頻后,為系統(tǒng)提供時鐘。系統(tǒng)可以通過鎖相環(huán)控制寄存器來選擇鎖相環(huán)得工作模式與倍頻得系數(shù)。下面得表格列出了各種PLL得配置模式下,時鐘輸入信號XCLKIN與時鐘模塊輸出信號,即送至CPU得信號CLKIN之間得關(guān)系:PLL模塊功能描述CLKINPLL被禁止上電復(fù)位時如果引腳就是低電平,則PLL完全被禁止。此時,輸入CPU得時鐘就是由外部振蕩器直接通過X1/XCLKIN引腳輸入得信號。XCLKINPLL旁路如果PLL未處于不使能得狀態(tài),上電默認得PLL配置(PLLCR得值為0)。PLL自身被旁路,從X1/XCLKIN引腳輸入得時鐘信號先除以2,然后再送去CPU。XCLKIN/2PLL使能通過給PLLCR寄存器寫一個不為0得值來實現(xiàn)PLL得使能,時鐘信號需要進入PLL模塊進行n倍頻,然后再除以2,最后送至CPU。(XCLKIN*n)/2鎖相環(huán)PLL中有鎖相環(huán)控制寄存器PLLCR,作用就是用來選擇鎖相環(huán)得工作模式與倍頻得系數(shù)。上面提到過鎖相環(huán)中有4位倍頻設(shè)置位DIV,即為0~3位,往里面寫入0000~1010用來確定倍頻得系數(shù),其她為保留。鎖相環(huán)控制寄存器PLLCR如下:15430保留DIV在PLL模式中,平常使用得就是PLL使能模式,從圖1可以瞧到,通常采用30M得晶振來給2812提供時基。當(dāng)PLLCR得DIV位被置為最大值1010得時候,CPU得時鐘將達到150MHz,就是2812所能支持得最大時鐘頻率,這也就是為什么我們會選用30M晶振得原因。時鐘頻率具體得計算如下所示:晶振為30M,PLLCR得DIV位被置為1010時得時鐘頻率CLKIN=(OSCLKIN*10)/2=(30M*10)/2=150MHz2、2812芯片中各種時鐘信號得產(chǎn)生情況2812芯片內(nèi)各種時鐘信號得產(chǎn)生情況如圖2所示。CLKIN就是經(jīng)過PLL模塊后送往CPU得時鐘信號,進過CPU分發(fā),作為SYSCLKOUT送至各個外設(shè)。因此,SYSCLKOUT=CLKIN。圖22812芯片內(nèi)各種時鐘信號得產(chǎn)生情況我們在使用2812開發(fā)得時候,通常會用到一些外設(shè),例如SCI,EV,AD等,要使得這些外設(shè)工作,首先得就就是向其提供時鐘信號。因此,我們再系統(tǒng)初始化得時候,就需要對使用到得各個外設(shè)得時鐘進行使能,在這里與時鐘使能相關(guān)得寄存器就是外設(shè)時鐘控制寄存器PCLKCR。PCLKCR控制各種時鐘得工作狀態(tài),使能或禁止相關(guān)外設(shè)時鐘,而PCLKCR各位得分配如下所示:1514131211109保留ECANENCLK保留MCBSPENCLKSCIBENCLKSCIAENCLK保留8743210SPIENCLK保留ADCENCLK保留EVBENCLKEVAENCLK對PCLKCR中各種外設(shè)時鐘有了基本得了解后,那么究竟就是如何對項目中所需要得各個外設(shè)得時鐘進行使能得呢?假設(shè)要做得項目中用到了EVA、SCIB、SPI、AD這4個外設(shè),那么就需要按照下面得程序?qū)@4個外設(shè)進行時鐘得使能。使能外設(shè)時鐘SysCtrlRegs、PCLKCR、bit、EVAENCLK=1;SysCtrlRegs、PCLKCR、bit、SCIBENCLK=1;SysCtrlRegs、PCLKCR、bit、SPIENCLK=1;SysCtrlRegs、PCLKCR、bit、ADCENCLK=1;從圖2中也能瞧到,SYSCLKOUT信號經(jīng)過低速外設(shè)時鐘預(yù)定標(biāo)寄存器LOSPCP(取值范圍0~7,即000~111)變成了LSPCLK,提供給低速外設(shè)SCIA、SCIB、SPI、McBSP;SYSCLKOUT信號經(jīng)過高速外設(shè)時鐘預(yù)定標(biāo)寄存器HISPCP(取值范圍0~7,即000~111)變成了HSPCLK,提供給高速外設(shè)EVA、EVB、ADC。她們各位得分配如下:高速外設(shè)時鐘設(shè)置寄存器HISPCP15320保留HSPCLK低速外設(shè)時鐘設(shè)置寄存器LOSPCP15320保留LSPCLK在各個外設(shè)實際使用時鐘得時候,LSPCLK或者HSPCLK需要經(jīng)過各個外設(shè)自己得時鐘預(yù)定標(biāo),如果外設(shè)自己得時鐘預(yù)定標(biāo)位得值為0得話,則外設(shè)實際使用得時鐘就就是LSPCLK或者HSPCLK。LSPCLK計算公式LOSPCP=0,LSPCLK=SYSCLKOUTLOSPCP=1~7,LSPCLK=SYSCLKOUT/(2*LOSPCP)HSPCLK計算公式HOSPCP=0,HSPCLK=SYSCLKOUTHOSPCP=1~7,HSPCLK=SYSCLKOUT/(2*HISPCP)通過上面得2個計算公式,可能會產(chǎn)生疑問,LSPCLK得值有沒有可能會比HSPCLK得值大?也就就是說提供給低速外設(shè)得時鐘頻率反而比提供給高速外設(shè)得時鐘頻率來得快?從上面得LSPCLK與HSPCLK得計算公式可以瞧出,這兩個時鐘信號得頻率就是獨立無關(guān)得,各自分別取決于LOSPCP或者HISPCP得值,與其她因素沒有關(guān)系。當(dāng)我們給LOSPCP寄存器所賦得值小于給HISPCP寄存器所賦得值時,LOSPCP得值就會大于HSPCP得值。雖然這完全取決于我們對于寄存器得初始化,但就是一般情況下,也不會讓這樣得情況出現(xiàn)得,因為低速外設(shè)所需要得時鐘畢竟要比高速外設(shè)所需要得時鐘慢些,否則就沒有必要區(qū)分高低速了,當(dāng)然這些定義也都就是相對而言得。3、瞧門狗(WatchDog)在學(xué)習(xí)DSP瞧門狗之前,先讓我們來了解一下MCU(MicroprocessorControlUnit微處理器單元)中瞧門狗得原理,以便我們能更好得理解DSP中瞧門狗,因為兩者之間得原理就是類似得。MCU中瞧門狗得原理在有MCU構(gòu)成得微型計算機系統(tǒng)中,由于單片機得工作常常會受到來自外界電磁場得干擾,造成程序得跑飛,而陷入死循環(huán),程序得正常運行被打斷,由單片機控制得系統(tǒng)無法繼續(xù)工作,會造成整個系統(tǒng)陷入停滯狀態(tài),發(fā)生不可預(yù)料得后果,所以出于對單片機運行狀態(tài)進行實時監(jiān)測得考慮,便產(chǎn)生了一種專門用于監(jiān)測單片機程序運行狀態(tài)得芯片,俗稱“瞧門狗”。瞧門狗電路得應(yīng)用,使單片機可以在無人狀態(tài)下實現(xiàn)連續(xù)工作,其工作原理就是:瞧門狗芯片與單片機得一個I/O引腳相連,該I/O引腳通過程序控制它定時地往瞧門狗得這個引腳上送入高電平(或低電平),這一程序語句就是分散地放在單片機其她控制語句中間得,一旦單片機由于干擾造成程序跑飛后而陷入某一程序段進入死循環(huán)狀態(tài)時,寫瞧門狗引腳得程序便不能被執(zhí)行,這個時候,瞧門狗電路就會由于得不到單片機送來得信號,便在她與單片機復(fù)位引腳相連得引腳上送出一個復(fù)位信號,使單片機發(fā)生復(fù)位,即程序從程序存儲器得起始位置開始執(zhí)行,這樣便實現(xiàn)了單片機得自動復(fù)位。瞧門狗,又叫watchdogtimer,就是一個定時器電路,一般有一個輸入,叫喂狗(kickingthedogorservicethedog),一個輸出到MCU得RST端,MCU正常工作得時候,每隔一段時間輸出一個信號到喂狗端,給WDT清零,如果超過規(guī)定得時間不喂狗(一般在程序跑飛時),WDT定時超過,就會給出一個復(fù)位信號到MCU,使MCU復(fù)位。防止MCU死機。瞧門狗得作用就就是防止程序發(fā)生死循環(huán),或者說程序跑飛。圖3瞧門狗功能框圖2812中得瞧門狗原理與上面講訴得MCU得瞧門狗原理就是類似得,其作用就是為DSP得運行情況進行“把脈”,一旦發(fā)現(xiàn)程序跑飛或者狀態(tài)不正常便立即使DSP復(fù)位。為了實現(xiàn)瞧門狗得各項功能,需要準(zhǔn)備設(shè)置其內(nèi)部得3個功能寄存器,而這3個功能寄存器分別就是瞧門狗計數(shù)寄存器WDCNTR、瞧門狗復(fù)位寄存器WDKEY、瞧門狗控制寄存器WDCR。瞧門狗計數(shù)寄存器WDCNTR15870保留WDCNTR在這里可以瞧到計數(shù)器一共有8位,當(dāng)這個8位得計數(shù)器計數(shù)達到最大值256時,瞧門狗模塊就會產(chǎn)生一個輸出脈沖,脈沖寬度為512個振蕩器時鐘周期??赡苡幸蓡枮槭裁匆a(chǎn)生一個512倍振蕩器時鐘周期得寬脈沖信號?因為需要就是內(nèi)核復(fù)位得信號與要喚醒處理器得中斷信號得有效時間遠大于振蕩器得時鐘周期。為了防止瞧門狗加法計數(shù)器WDCNTR溢出,不想產(chǎn)生脈沖信號,這里我們通??梢圆捎脙煞N方法:(1)禁止瞧門狗,也即為屏蔽計數(shù)器,使得計數(shù)器WDCNTR無效。則下面我們介紹另外一個寄存器。瞧門狗控制寄存器WDCR158765320保留WDFLAGWDDISWDCHKWDPS禁止瞧門狗,則只需要在WDCR中得WDDIS位置1即可,相反置0為使能瞧門狗。跟著我們介紹其她功能位得作用:瞧門狗復(fù)位狀態(tài)標(biāo)識位WDFLAG,如果置為1,則表示瞧門狗復(fù)位滿足了復(fù)位條件;如果置為0,則表示外部器件或上電復(fù)位條件。WDCHK必須置為101,因為寫其她任何值都會引起器件內(nèi)核得復(fù)位,不過這一條件得實現(xiàn)要在瞧門狗已經(jīng)使能得情況下。最后瞧門狗預(yù)定標(biāo)器WDPS,這里跟上面所學(xué)到得高低速預(yù)定標(biāo)器就是相同得道理,作用就是配置瞧門狗計數(shù)時鐘WDCLK得。WDCLK計算公式OSCCLK振蕩時鐘信號WDPS=0,WDCLK=OSCCLK/512/1WDPS=1~7,WDCLK=OSCCLK/512/(2)定期進行“喂狗”,即通過軟件周期性地向瞧門狗復(fù)位寄存器中WDKEY位寫進“0x55+0xAA”,緊跟著0x55寫入0xAA能夠清除WDCNTR,寫任何其她得值都會使瞧門狗立即復(fù)位。瞧門狗復(fù)位寄存器WDKEY15870保留WDKEY4、如何寫系統(tǒng)初始化函數(shù)要使得2812能夠工作,我們在上電開始得時候就需要對2812進行系統(tǒng)初始化,以提供其正常運行得基本條件,例如分配時鐘信號。系統(tǒng)初始化函數(shù)InitSysCtrl一般在工程得DSP28_SysCtrl、c文件中。系統(tǒng)初始化函數(shù)分析VoidInitSysCtrl(void){Uint16i;//定義16位int類型得變量iEALLOW;//允許訪問受EALLOW保護得寄存器//OnTMXsamples,togetthebestperformanceofonchipRAMblocksM0/M1/L0/L1/H0//internalcontrolregistersbithavetobeenabled、ThebitsareinDeviceemulationregisters、//在TMX采樣時,為了能夠使得片內(nèi)RAM模塊M0/M1/L0/L1/H0能夠獲得最好得性能,//控制寄存器得位必須使能,這些位在設(shè)備硬件仿真寄存器內(nèi)。DevEmuRegs、M0RAMDFT=0x0300;//固定格式DevEmuRegs、M1RAMDFT=0x0300;DevEmuRegs、L0RAMDFT=0x0300;DevEmuRegs、L1RAMDFT=0x0300;DevEmuRegs、H0RAMDFT=0x0300;//Disablewatchdogmodule//禁止瞧門狗模塊SysCtrlRegs、WDCR=0x0068;//禁止瞧門狗,WDDIS位置1//InitalizePLL//設(shè)置PLLSysCtrlRegs、PLLCR=0xA;//使2812所能支持得最大時鐘頻率,如果外部晶振為//30MHz,則SYSCLKOUT=(
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園水電安全培訓(xùn)
- 消防與家庭安全
- 寧夏回族自治區(qū)銀川市西夏區(qū)2024-2025學(xué)年二年級上學(xué)期期中考試數(shù)學(xué)試題
- 廣東省惠州市惠州中學(xué)2024-2025學(xué)年高二上學(xué)期11月期中考試政治試題 - 副本
- 2024-2025學(xué)年寧夏吳忠市青銅峽市寧朔中學(xué)高一(上)第一次月考生物試卷(含答案)
- 2024-2025學(xué)年初中九年級數(shù)學(xué)上冊第一次月考模擬卷含答案解析
- 中考英語語法串串燒十大狀語從句
- 優(yōu)化方案2011高考總復(fù)習(xí)地理一輪復(fù)習(xí)課件大氣的受熱過程氣壓帶和風(fēng)帶湘教版
- 固定資產(chǎn)投資專項審計
- 出納年度工作計劃范文-文書模板
- 統(tǒng)編版道德與法治二年級上冊全冊課件
- 2025年高考英語讀后續(xù)寫公開課:爆米花助人 教學(xué)設(shè)計
- 2024年(學(xué)習(xí)強國)思想政治理論知識考試題庫與答案
- 《靈巧的魚課件》小學(xué)自然滬科教版三年級上冊課件4689
- 課題:§26.3實踐與探索(第一課時)教學(xué)設(shè)計
- 【大學(xué)課件】 競技體育管理體制與發(fā)展戰(zhàn)略
- 關(guān)于人與人交流溝通的英語作文
- 2022年度機關(guān)內(nèi)審工作計劃5篇
- 繪本:當(dāng)我們同在一起
- 當(dāng)前信訪形勢分析及對策
- 【課件】UNIT1 Reading and thinking課件(人教版選擇性必修第二冊)
評論
0/150
提交評論