2010y秋季第15講-7章時間管理_第1頁
2010y秋季第15講-7章時間管理_第2頁
2010y秋季第15講-7章時間管理_第3頁
2010y秋季第15講-7章時間管理_第4頁
2010y秋季第15講-7章時間管理_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、嵌入式系統(tǒng)原理與開發(fā)第15講南京大學(xué)計算機系 陳鑫 俞建新主講2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組2第7章 中斷、DMA和時間管理本章主要介紹以下內(nèi)容:嵌入式中斷控制器嵌入式DMA控制器嵌入式系統(tǒng)時鐘控制和管理鎖相環(huán)電路時鐘電源管理器實時時鐘脈寬調(diào)制定時器2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組37.3 嵌入式系統(tǒng)時鐘控制和管理嵌入式處理器主頻時鐘來源于鎖相器(鎖相環(huán))在時鐘電源管理器的控制下,主頻時鐘按照設(shè)定的分頻模式被輸送到各個硬件部件,以達到使能/禁能各個功能部件以及節(jié)省功耗的目的。實時時鐘(RTC,也叫日歷時鐘)對主頻脈沖信號計數(shù),為嵌入式系統(tǒng)提供時鐘節(jié)拍脈沖信

2、號、計時信號(年/月/日、星期、時/分/秒)和鬧鐘(告警)信號。使用主頻信號的另外一個外設(shè)部件是脈沖寬度調(diào)制器(PWM),它可以提供指定占空比的時鐘脈沖信號,也可以提供計數(shù)定時信號。2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組47.3.1 鎖相環(huán)主頻信號產(chǎn)生器在ARM處理器里,鎖相器參考接收到的脈沖信號的頻率和相位,輸出一個同步時鐘信號,即主頻信號。由于鎖相器的內(nèi)部是一個反饋電路,所以常常稱為鎖相環(huán)。參看下面的結(jié)構(gòu)圖。鑒相器環(huán)路濾波器受控時鐘發(fā)生器輸出時鐘輸入脈沖2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組5鎖相環(huán)的基本結(jié)構(gòu)鎖相環(huán)主要由鑒相器、可調(diào)相/調(diào)頻的時鐘發(fā)生器器和環(huán)路濾波器

3、的三個部分組成,各個部分的工作原理如下。鑒相器:用于判斷鎖相器所輸出的時鐘信號和接收到的晶體震蕩脈沖信號中時鐘的相差幅度??烧{(diào)相/調(diào)頻的時鐘發(fā)生器:用于根據(jù)鑒相器所輸出的信號來適當?shù)恼{(diào)節(jié)鎖相器內(nèi)部的時鐘輸出信號的頻率或者相位,使得鎖相器完成上述的固定相差功能。環(huán)路濾波器:用于對鑒相器的輸出信號進行濾波和平滑,大多數(shù)情形下是一個低通濾波器。用于濾除由于數(shù)據(jù)的變化和其他不穩(wěn)定因素對整個模塊的影響。2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組6S3C44B0X鎖相環(huán)( PLL Phase Locked loop)內(nèi)部模塊S3C44B0X的鎖相環(huán)包括4個基本模塊:VCO 用于產(chǎn)生隨直流電壓變化的

4、輸出頻率;Voltage Controlled Oscillator,電壓控制振蕩器Divider P (預(yù)分頻器 P)將輸入頻率( Fin )除以CLKCON寄存器里的p分頻參數(shù);Divider M (主分頻器 M)將VCO的輸出頻率除以CLKCON寄存器里的m分頻參數(shù),作為PFD(Phase Frequency Detector,相位頻率檢測器)的輸入;Divider S(后分頻器S)將輸出頻率除以CLKCON寄存器里的S分頻參數(shù),即可得Fpllo (PLL模塊的輸出頻率)。2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組7S3C44B0X的鎖相環(huán)電路方框圖S3C44B0X的PLL輸出的

5、時鐘受控于PLLCON設(shè)置2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組8S3C44B0X鎖相環(huán)輸出時鐘的頻率鎖相環(huán)輸出Fpllo 與鎖相環(huán)輸入Fin的關(guān)系S3C44B0X的PLL模塊的輸出時鐘頻率Fpllo和輸入?yún)⒖紩r鐘頻率fin的關(guān)系由下式?jīng)Q定: Fpllo = (m x Fin) / (p x 2 s ) m = M+ 8,也就是分頻器M 的分配值+8p = P+ 2,也就是分頻器P的分頻值+2 規(guī)定:Fpllo大于20MHz ,并且小于66MHz2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組9S3C44B0X的鎖相環(huán)控制寄存器PLLCON位定義寄存器名稱地址讀寫寄存器功能初值P

6、LLCON0 x01D80000可讀可寫鎖相環(huán)控制寄存器0 x38080PLLCON寄存器字段字段位置字段描述初值MDIV19:12主分頻控制值,M分頻系數(shù)0 x38PDIV9:4預(yù)分頻控制值,P分頻系數(shù)0 x08SDIV1:0后分頻控制值,S分頻系數(shù)0 x02010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組10S3C44B0X鎖相環(huán)輸出時鐘設(shè)置舉例假定PLL的輸入時鐘是 Fin=14.318MHz 要求PLL的輸出時鐘是Fout=60MHz則設(shè)定PLLCON的三個分頻系數(shù)字段值為:MDIV=59,即M分頻系數(shù)為59PDIV=6,即M分頻系數(shù)為6SDIV=1,即M分頻系數(shù)為1驗算如下Fout=

7、(59+8)*14,318,000)/(6+2)*21)=59,956,625 =60MHz2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組11S3C44B0X的66MHz主頻信號設(shè)置參數(shù)假定PLL的輸入時鐘是 Fin=14.318MHz 要求PLL的輸出時鐘是Fout=66MHz則可以把PLLCON的三個分頻系數(shù)字段值設(shè)為:MDIV=66,即M分頻系數(shù)為66PDIV=6,即M分頻系數(shù)為6SDIV=1,即M分頻系數(shù)為1驗算如下Fout=(66+8)*14,318,000)/(6+2)*21)=66,220,750 =66MHz2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組127.3.2

8、嵌入式系統(tǒng)的時鐘管理時鐘信號發(fā)生器(簡稱時鐘發(fā)生器)為處理器提供時鐘信號。它可以是一個獨立的芯片,也可以集成在處理器內(nèi)部。前者的例子有80186處理器外接8284時鐘發(fā)生器,后者的例子有8051單片機、S3C44B0X和S3C2410X等。目前,絕大多數(shù)嵌入式處理器的時鐘信號發(fā)生器以后一種形態(tài)存在。2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組13S3C44B0X的時鐘電源管理器 S3C44B0X的內(nèi)建時鐘電源管理器為CPU和外部設(shè)備提供時鐘信號。可以通過軟件來控制該內(nèi)嵌時鐘電源管理器為哪些外部設(shè)備模塊提供時鐘信號,或者切斷哪些外部設(shè)備的時鐘源以減少功耗。此外,在軟件的控制下,時鐘電源管理

9、器還能夠為嵌入式應(yīng)用提供五種電源管理模式。 2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組14S3C44B0X的初始時鐘脈沖信號S3C44B0X初始時鐘脈沖信號來源有兩種可能:用外部晶振來產(chǎn)生,或者直接輸入外部時鐘。初始時鐘源選擇取決于引腳OM3:2的狀態(tài)。具體地講,由nRESET上升沿時刻的OM3和OM2引腳電平?jīng)Q定。OM3:2=00選擇晶體時鐘,OM3:2=01選擇外部時鐘。 2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組15啟動時S3C44B0X主頻信號的選擇Although the PLL starts just after a reset, the PLL output ca

10、n not be used as Fout until the S/W writes valid settings to the PLLCON register. Before this valid setting, the clock from crystal oscillator or Ext. clock source will be used as Fout directly. Even if the user wants to maintain the default value of PLLCON register, the user should write the same v

11、alue into PLLCON register.2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組16S3C44B0X的時鐘電源管理器 下圖是S3C44B0X的時鐘電源管理器內(nèi)部結(jié)構(gòu)。由端口E的PE0引腳控制MCLK的輸出,PCONE的1:0=10選擇輸出時鐘為經(jīng)過PLL的外部時鐘Fpllo, 1:0=11選擇輸出時鐘為Fout,也就是MCLK。2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組17S3C44B0X的電源管理嵌入式處理器的電源管理與它的時鐘控制關(guān)系密切。S3C44B0X中的電源管理提供如下5種模式,其中有4種與時鐘有關(guān)。正常模式(Normal Mode)空閑模式(Idle

12、Mode)低速模式(Slow Mode)停止模式(Stop Mode)液晶屏的SL_IDLE模式(SL Idle Mode)2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組18S3C44B0X的正常電源模式當S3C44B0X工作在正常模式場合,時鐘電源管理器提供時鐘信號給CPU和各種外設(shè)。當所有的外設(shè)都開啟工作時,處理器所消耗的功耗最大。用戶可以通過對CLKCON寄存器的設(shè)置來控制外設(shè)的操作模式。(參看表7-8)例如,如果定時器和DMA不需要時鐘,則用戶可以斷開定時器和DMA的時鐘供給以降低功耗。 2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組19S3C44B0X的時鐘控制寄存器CLKC

13、ON位定義(上)2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組20S3C44B0X的時鐘控制寄存器CLKCON位定義(下)2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組21S3C44B0X電源管理下的省電數(shù)據(jù) I/O部件IISIICADCRTCUART電流節(jié)省1.3%1.6%0.7%0.8%3.8%I/O部件ZDMA0/1Timer0/5LCDTotalSIO電流節(jié)省2.2%2.2%3.2%16.70.9%關(guān)閉I/O模塊時,S3C44B0X典型的功耗節(jié)省數(shù)據(jù)(66MHz主頻): 2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組22S3C44B0X的空閑模式 空閑模式。停止對CPU內(nèi)核

14、的時鐘供給,但總線控制器、存儲控制器、中斷控制器和電源管理模塊繼續(xù)正常運行。保留所有對外部設(shè)備的時鐘信號供給。在空閑模式下,總功耗不包含CPU內(nèi)核的功耗。任何中斷請求都能夠把CPU從空閑模式中喚醒。要退出空閑模式,EINT7:0,或者RTC告警中斷,或者其他的中斷應(yīng)當被激活。 2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組23S3C44B0X的低速模式(非PLL模式)慢速模式。一種非倍頻模式,慢速模式直接采用外部時鐘作為S3C44B0X的主工作時鐘,而不使用內(nèi)部倍頻器。在這種情況下,功耗的大小僅依賴于外部時鐘的頻率的大小。PLL部件所消耗的功耗不包含在內(nèi)。Fout=Fin / (2xSLO

15、W_VAL)當SLOW_VAL0Fout=Fin 當SLOW_VAL=02010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組24S3C44B0X的時鐘低速控制寄存器 (CLKSLOW)位定義2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組25S3C44B0X的停止模式禁止鎖相環(huán)電路(PLL)以凍結(jié)CPU內(nèi)核和所有外設(shè)的時鐘。這時功耗最低,功耗大小僅由S3C44B0X內(nèi)部的漏電流大小決定,這個電流一般小于10uA??梢酝ㄟ^外部中斷把CPU從停止模式中喚醒。剛退出停止模式時,只會進入THAW狀態(tài)(解凍狀態(tài),過渡狀態(tài))。換句話說,用戶不可能直接從停止模式返回到正常模式,如下一幅幻燈片所示。2010年

16、10月12日南京大學(xué)計算機系嵌入式教學(xué)組26S3C44B0X的電源管理狀態(tài)機2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組27S3C44B0X的停止模式(續(xù)1)開始進入停止模式時,時鐘控制邏輯輸出Fin時鐘,替代Fpllo時鐘,從Fout經(jīng)過16個Fin時鐘。經(jīng)過16個Fin時鐘之后,F(xiàn)out停止,S3C44B0X完全進入停止模式。從停止模式發(fā)布斷電命令到實際進入斷電模式的時延可以用以下公式計算:斷電時延=Fin(晶振時鐘或者外部時鐘)*16如果S3C44B0X處于低速模式,那么S3C44B0X可立即進入停止模式,因為低速模式的時鐘頻率比Fin低。2010年10月12日南京大學(xué)計算機系嵌入

17、式教學(xué)組28S3C44B0X的停止模式(續(xù)2)S3C44B0X可以通過外部中斷或者RTC告警(鬧鐘)中斷退出停止模式。在喚醒序列中,晶體振蕩器和PLL可能開始運行。同時需要鎖定時間來穩(wěn)定Fout。鎖定時間是自動插入的,由電源管理邏輯來設(shè)置。鎖定期間不提供時鐘。開始喚醒序列時需要喚醒中斷(告警中斷或者外部中斷)。2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組29進入停止模式和退出停止模式的時序2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組30S3C44B0X的液晶屏慢空閑模式( SL_IDLE模式)SL_IDLE模式的進入將導(dǎo)致LCD控制器開始工作。在這種情況下,除了LCD控制器在運行,

18、以維持LCD以外,CPU內(nèi)核和其他外設(shè)的時鐘都停止了。因此, SL_IDLE空閑模式下的功耗比空閑模式的功耗小。SL_IDLE模式比空閑模式功耗低。進入SL_IDLE模式之前,必須進入低速模式,而且PLL必須關(guān)閉。進入低速模式關(guān)閉PLL之后,要向CLKCON寄存器寫入0 x46(LCDC使能,IDLE使能, SL_IDLE使能),然后進入SL_IDLE模式。2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組31退出S3C44B0X的液晶屏慢空閑模式要退出SL_IDLE模式,ENIT7:0,或者RTC告警中斷必須激活。這種情況處理器將會自動進入低速模式,如圖5-11。為回到正常模式,用戶必須等鎖

19、定時間結(jié)束,然后清除SL_IDLE位,禁止低速模式。在PLL鎖時內(nèi),只提供低速時鐘信號。DRAM在SL_IDLE模式下,必須保持在自刷新模式。2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組32液晶屏慢空閑模式的工作時序下面是進入和退出SL_IDLE模式的時序圖2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組337.3.3 嵌入式系統(tǒng)的實時時鐘實時時鐘(Real-Time Clock,RTC,也叫做日歷時鐘)為嵌入式處理器提供精確的當前時刻(年月日星期時分秒)的計時信號。通常在系統(tǒng)停電的情況下由后備電池供電繼續(xù)工作。但是,也有相當多的嵌入式系統(tǒng)沒有后備電池。在這種情況下每當斷電之后,實時時

20、鐘信號發(fā)生器的寄存器內(nèi)容被清零。因此,許多嵌入式處理器需要在加電之后寫入校準的實時時間數(shù)據(jù)。 2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組34S3C44B0X/S3C2410X的實時時鐘簡介S3C2410X和S3C44B0X內(nèi)部集成了一個相同的RTC單元。它的工作脈沖是32.768KHz的晶振脈沖。該RTC主要功能包括:時間節(jié)拍發(fā)生器,達到毫秒級精度日歷時鐘,BCD碼的年、月、日、時、分、秒定時告警, BCD碼的年、月、日、時、分、秒告警中斷或者從停電模式中喚醒閏年產(chǎn)生器2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組35S3C2410X的實時時鐘方框圖 作為案例,下面給出S3C241

21、0X處理器的實時時鐘方框圖。 2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組36S3C44B0X/S3C2410X的實時時鐘(RTC)相關(guān)寄存器清單2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組37時鐘節(jié)拍(Tick)時鐘節(jié)拍是由硬件定時器發(fā)出的周期性中斷請求信號,其周期長短可以編程設(shè)定。時鐘節(jié)拍被嵌入式操作系統(tǒng)用作定時時間間隔的周期性硬件中斷信號。時鐘節(jié)拍的中斷服務(wù)子程序被用來遍歷任務(wù)控制塊,以判斷任務(wù)是否延時計滿,或者進行一些其它操作。兩個時鐘節(jié)拍之間的時間間隔被定義成嵌入式操作系統(tǒng)的任務(wù)延時基本單位。2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組38S3C2410X/S3C4

22、4B0XRTC里的時鐘節(jié)拍發(fā)生器參看教材圖7-8 S3C2410X實時時鐘方框圖。在該圖的上方有一個時鐘節(jié)拍發(fā)生器,它可以產(chǎn)生將處理器硬件與嵌入式操作系統(tǒng)的定時處理聯(lián)系起來的節(jié)拍(Tick)中斷請求信號。操作系統(tǒng)的節(jié)拍中斷服務(wù)子程序受節(jié)拍中斷請求信號的觸發(fā),將執(zhí)行與時間節(jié)拍有關(guān)的操作。操作系統(tǒng)的節(jié)拍中斷請求信號不一定來源于RTC,也可以從PWM定時器中產(chǎn)生。如果節(jié)拍從RTC產(chǎn)生,則RTOS內(nèi)部與時間相關(guān)的功能將一直與實時時鐘保持同步。2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組39S3C2410X/S3C44B0X的時鐘節(jié)拍(Tick)發(fā)生器RTC節(jié)拍發(fā)生器發(fā)出的節(jié)拍信號用于中斷請求。它

23、的運作受TICNT寄存器的控制。TICNT寄存器的最高位決定節(jié)拍中斷使能(置1)或禁能(置0),低7位決定節(jié)拍時間計數(shù)值n。RTC節(jié)拍發(fā)生器工作時,將不斷地將計數(shù)寄存器的值減1,當最后減到達0時,就會觸發(fā)節(jié)拍時間中斷。2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組40S3C2410X/S3C44B0X的節(jié)拍中斷的間隔時間計算S3C2410X/S3C44B0X節(jié)拍發(fā)生器的中斷請求間隔時間的計算公式為: 節(jié)拍中斷間隔時間 ( n+1 ) / 128 秒 其中,n為節(jié)拍時間計數(shù)值 ( 1127 )由此推算出S3C2410X/S3C44B0X節(jié)拍發(fā)生器的最長中斷請求間隔時間是1秒,最短中斷請求間隔

24、時間是7.8125毫秒。2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組41S3C2410X/S3C44B0X的日歷時鐘和告警時鐘簡介閏年發(fā)生器根據(jù)BCDDAY、BCDMON、BCDYAER寄存器數(shù)據(jù)來決定每一個月的最后一天是否為28、29、30、31。由于BCDYEAR寄存器為單字節(jié)寄存器,只能夠存放兩個BCD數(shù),即“00”到“99”。因此通常的RTC無法判斷1900年和2000年是否是閏年。注意:1900年不是閏年,2000年是閏年。 S3C2410X/S3C44B0X的RTC有支持閏年的硬件邏輯,可解決這個問題。因此,兩個數(shù)字“00”表示的是2000年。2010年10月12日南京大學(xué)計

25、算機系嵌入式教學(xué)組42S3C2410X/S3C44B0X的日歷時鐘和告警時鐘簡介(續(xù))讀寫寄存器為了讀寫RTC模塊中的寄存器,必須設(shè)置RTCCON寄存器中的位0。該位設(shè)置1為讀寫使能,該位設(shè)置0為讀寫禁能。所有RTC寄存器必須通過STRB和LDRB指令或字符類型指針的字節(jié)單元來存取。有關(guān)S3C2410X的日歷時鐘和告警時鐘應(yīng)用,下面我們通過一個實驗平臺上的程序例子加以介紹。2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組43實時時鐘應(yīng)用程序概要設(shè)計案例 -1現(xiàn)在給出一個在教學(xué)實驗平臺上運行的實時時鐘應(yīng)用程序設(shè)計舉例。實驗平臺的處理器是S3C2410X。嵌入式操作系統(tǒng)采用VxWorks 5.5

26、,開發(fā)平臺是Tornado2.2。案例實驗平臺的外觀如圖7-9所示。該實驗箱的6個LED數(shù)碼管上顯示日歷時間或者鬧鐘時間。2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組44實時時鐘應(yīng)用程序概要設(shè)計案例 -2基于S3C2410X處理器的實驗平臺俯視圖 2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組45實時時鐘應(yīng)用程序概要設(shè)計案例 -3概要設(shè)計的RTC應(yīng)用程序(以下簡稱RTC_PRO)有兩個主要功能:設(shè)置S3C2410X的RTC模塊的初始計時值,使之與當前的北京時間對準,即所謂的對時;RTC初始化完畢后即開始顯示實時時間。提供鬧鐘定時設(shè)置功能,讓用戶預(yù)先設(shè)置鬧鐘時間。此后當鬧鐘定時時刻到達

27、時,實驗箱的蜂鳴器發(fā)出鬧鐘聲。2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組46實時時鐘應(yīng)用程序概要設(shè)計案例 -4執(zhí)行RTC_PRO時,實驗平臺有2種系統(tǒng)工作狀態(tài)和5種顯示模式。2種系統(tǒng)工作狀態(tài)是:設(shè)置模式:設(shè)置RTC的計時時間和鬧鐘時間;顯示狀態(tài):顯示RTC的計時時間。實驗平臺的缺省狀態(tài)為顯示狀態(tài),按下“Del”鍵進入設(shè)置狀態(tài),在設(shè)置狀態(tài)下,按下“Cancel”鍵返回顯示狀態(tài)。2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組47實時時鐘應(yīng)用程序概要設(shè)計案例 -5實驗平臺工作在顯示狀態(tài)時,可以有5種顯示模式工作,分別是:CLOCK_YMD,顯示/設(shè)置年、月、日;CLOCK_DAY,顯示星

28、期幾;CLOCK_HMS,顯示/設(shè)置時、分、秒,這是實驗平臺在RTC_PRO運行之后的缺省工作狀態(tài)和顯示模式;ALARM_YMD,顯示/設(shè)置鬧鐘年、月、日;ALARM_HMS,顯示/設(shè)置鬧鐘時、分、秒。5種顯示模式由“Enter”鍵循環(huán)切換,每按下一次更換一個顯示模式。 2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組48實時時鐘應(yīng)用程序概要設(shè)計案例 -6案例實驗平臺的LED數(shù)碼管顯示和小鍵盤鍵位功能定義 :2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組49實時時鐘應(yīng)用程序概要設(shè)計案例 -7在設(shè)置狀態(tài)的每一種模式下,按動小數(shù)點鍵“”具體選擇改變那一個時間變量的值。例如在設(shè)置工作狀態(tài)的CL

29、OCK_HMS顯示模式下,按動小數(shù)點“”鍵可以在顯示字段1,顯示字段2和顯示字段3之間切換,也就是在顯示小時、分鐘和秒之間切換。被切換到的當前設(shè)置的字段將高亮度顯示。2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組50實時時鐘應(yīng)用程序概要設(shè)計案例 -8現(xiàn)在時鐘值或者鬧鐘定時值的設(shè)置或修改可以在設(shè)置工作狀態(tài)下直接用數(shù)字鍵輸入,也可以在原值上進行加操作或者減操作。按“up”鍵使時間值加1,按“down”鍵使時間值減1。2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組51實時時鐘應(yīng)用程序概要設(shè)計案例 -9RTC_PRO工程是一個基于VxWorks 5.5版操作系統(tǒng)的可下載工程(downloada

30、ble project,調(diào)試階段的應(yīng)用程序)。它要從主機的Tornado2.2集成開發(fā)環(huán)境交叉編譯生成映像文件后再下載到開發(fā)板上運行。該操作系統(tǒng)的其他API程序文件和外設(shè)驅(qū)動程序沒有列出,但是為數(shù)不少。它們確實是RTC_PRO的重要組成部分同時也是不可缺少的部分。 2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組52實時時鐘應(yīng)用程序概要設(shè)計案例 -10文件名用途說明備注RTC.h主要包含RTC寄存器使用定義、常用設(shè)置函數(shù)聲明涉及蜂鳴器引腳的通用IO端口的寄存器地址指針宏定義編程RTC.CRTC_PRO應(yīng)用程序的主要函數(shù)定義編程RTCSample.cRTC_PRO應(yīng)用程序的主控程序、主要處理流

31、程編程usrAppInit.cusrAppInit.c的后部添加ambaKbdDevCreate語句。如果要讓本應(yīng)用程序RTC_PRO在開機加電后直接運行,則再添加執(zhí)行RTClock函數(shù)的語句。修改RTC_PRO的主要程序源代碼文件一覽 參看教材第236頁到第238頁上的代碼文件概要2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組537.3.4 脈寬調(diào)制定時器脈寬調(diào)制定時器(PWM,Pluse-Width Modulation)主要用于提供各種占空比的脈沖信號,以及定時中斷請求信號。脈寬調(diào)制定時器的典型應(yīng)用是控制電機的運轉(zhuǎn)方式。它能夠改變電流開關(guān)的時間比率,從而改變電機的轉(zhuǎn)速。例如:要使電機

32、轉(zhuǎn)速達到80%,則電流脈沖的高電平時間占80%,低電平時間占20%。 2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組54S3C44B0X的脈寬調(diào)制定時器 S3C44B0X有6個16位定時器。它們都可以工作在基于中斷或DMA的操作模式。定時器0、1、2、3、4有PWM(脈寬調(diào)制,Pulse Width Modulation)功能;定時器5只是一個內(nèi)部定時器而無輸出引腳。每一個定時器外接存儲器時鐘MCLK,S3C44B0X的MCLK為66MHZ,先經(jīng)過8位的預(yù)分頻器,再經(jīng)過4位的時鐘除法器進行二次降頻。 2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組55S3C44B0X的脈寬調(diào)制定時器結(jié)構(gòu)圖 單個PWM定時器通道結(jié)構(gòu)圖 :2010年10月12日南京大學(xué)計算機系嵌入式教學(xué)組56S3C44B0X的PWM定時器定時范圍 4位除法器分頻MCLK=66MHz最小分辨率8位預(yù)分頻值=1最大分辨率8位預(yù)分頻值=255最大間隔時間TCNTBn=655351/20.030微秒(37.0MHz)7.75微秒(117.2KHz)0.50秒1/40.060微秒(16.5MHz)15.5微秒(58.6KHz)1.02秒1/80.121微秒(8.25MHz)31.0微秒(29.3KHz)2.03秒1/160.242微秒(4.13MHz)62.1微秒(14.6

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論