時(shí)間管理頁(yè)實(shí)用教案_第1頁(yè)
時(shí)間管理頁(yè)實(shí)用教案_第2頁(yè)
時(shí)間管理頁(yè)實(shí)用教案_第3頁(yè)
時(shí)間管理頁(yè)實(shí)用教案_第4頁(yè)
時(shí)間管理頁(yè)實(shí)用教案_第5頁(yè)
已閱讀5頁(yè),還剩55頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2008年6月28日17.3 嵌入式系統(tǒng)時(shí)鐘(shzhng)控制和管理 嵌入式處理器主頻時(shí)鐘來源于鎖相器(鎖相環(huán)) 在時(shí)鐘電源管理器的控制下,主頻時(shí)鐘按照設(shè)定的分頻模式被輸送到各個(gè)硬件部件,以達(dá)到使能/禁能各個(gè)功能部件以及節(jié)省功耗(n ho)的目的。 實(shí)時(shí)時(shí)鐘(RTC,也叫日歷時(shí)鐘)對(duì)主頻脈沖信號(hào)計(jì)數(shù),為嵌入式系統(tǒng)提供時(shí)鐘節(jié)拍脈沖信號(hào)、計(jì)時(shí)信號(hào)(年/月/日、星期、時(shí)/分/秒)和鬧鐘(告警)信號(hào)。 使用主頻信號(hào)的另外一個(gè)外設(shè)部件是脈沖寬度調(diào)制器(PWM),它可以提供指定占空比的時(shí)鐘脈沖信號(hào),也可以提供計(jì)數(shù)定時(shí)信號(hào)。第2頁(yè)/共60頁(yè)第1頁(yè)/共60頁(yè)第一頁(yè),共60頁(yè)。2008年6月28日27.3.1

2、 鎖相環(huán)主頻信號(hào)(xnho)產(chǎn)生器 在ARM處理器里,鎖相器參考接收到的脈沖信號(hào)的頻率和相位,輸出一個(gè)同步時(shí)鐘信號(hào),即主頻信號(hào)。 由于鎖相器的內(nèi)部(nib)是一個(gè)反饋電路,所以常常稱為鎖相環(huán)。參看下面的結(jié)構(gòu)圖。鑒相器環(huán)路濾波器受控時(shí)鐘發(fā)生器輸出時(shí)鐘輸入脈沖第3頁(yè)/共60頁(yè)第2頁(yè)/共60頁(yè)第二頁(yè),共60頁(yè)。2008年6月28日3鎖相環(huán)的基本(jbn)結(jié)構(gòu) 鎖相環(huán)主要由鑒相器、可調(diào)相/調(diào)頻的時(shí)鐘發(fā)生器器和環(huán)路濾波器的三個(gè)部分組成,各個(gè)部分的工作原理如下。 鑒相器:用于判斷鎖相器所輸出的時(shí)鐘信號(hào)和接收到的晶體震蕩脈沖信號(hào)中時(shí)鐘的相差幅度。 可調(diào)相/調(diào)頻的時(shí)鐘發(fā)生器:用于根據(jù)鑒相器所輸出的信號(hào)來適當(dāng)?shù)?/p>

3、調(diào)節(jié)鎖相器內(nèi)部的時(shí)鐘輸出信號(hào)的頻率或者相位(xingwi),使得鎖相器完成上述的固定相差功能。 環(huán)路濾波器:用于對(duì)鑒相器的輸出信號(hào)進(jìn)行濾波和平滑,大多數(shù)情形下是一個(gè)低通濾波器。用于濾除由于數(shù)據(jù)的變化和其他不穩(wěn)定因素對(duì)整個(gè)模塊的影響。第4頁(yè)/共60頁(yè)第3頁(yè)/共60頁(yè)第三頁(yè),共60頁(yè)。2008年6月28日4S3C44B0X鎖相環(huán)( PLL Phase Locked loop)內(nèi)部(nib)模塊 S3C44B0X的鎖相環(huán)包括4個(gè)基本模塊: VCO 用于產(chǎn)生隨直流電壓變化的輸出(shch)頻率; Voltage Controlled Oscillator,電壓控制振蕩器 Divider P (預(yù)分頻器

4、 P)將輸入頻率( Fin )除以CLKCON寄存器里的p分頻參數(shù); Divider M (主分頻器 M)將VCO的輸出(shch)頻率除以CLKCON寄存器里的m分頻參數(shù),作為PFD(Phase Frequency Detector,相位頻率檢測(cè)器)的輸入; Divider S(后分頻器S)將輸出(shch)頻率除以CLKCON寄存器里的S分頻參數(shù),即可得Fpllo (PLL模塊的輸出(shch)頻率)。第5頁(yè)/共60頁(yè)第4頁(yè)/共60頁(yè)第四頁(yè),共60頁(yè)。2008年6月28日5S3C44B0X的鎖相環(huán)電路(dinl)方框圖 S3C44B0X的PLL輸出(shch)的時(shí)鐘受控于PLLCON設(shè)置第

5、6頁(yè)/共60頁(yè)第5頁(yè)/共60頁(yè)第五頁(yè),共60頁(yè)。2008年6月28日6S3C44B0X鎖相環(huán)輸出時(shí)鐘(shzhng)的頻率 鎖相環(huán)輸出Fpllo 與鎖相環(huán)輸入Fin的關(guān)系S3C44B0X的PLL模塊的輸出時(shí)鐘頻率Fpllo和輸入?yún)⒖紩r(shí)鐘頻率fin的關(guān)系由下式?jīng)Q定(judng): Fpllo = (m x Fin) / (p x 2 s ) m = M+ 8,也就是分頻器M 的分配值+8p = P+ 2,也就是分頻器P的分頻值+2 規(guī)定:Fpllo大于20MHz ,并且小于66MHz第7頁(yè)/共60頁(yè)第6頁(yè)/共60頁(yè)第六頁(yè),共60頁(yè)。2008年6月28日7S3C44B0X的鎖相環(huán)控制(kngzh)

6、寄存器PLLCON位定義寄存器名稱地址讀寫寄存器功能初值PLLCON0 x01D80000可讀可寫鎖相環(huán)控制寄存器0 x38080PLLCON寄存器字段字段位置字段描述初值MDIV19:12主分頻控制值,M分頻系數(shù)0 x38PDIV9:4預(yù)分頻控制值,P分頻系數(shù)0 x08SDIV1:0后分頻控制值,S分頻系數(shù)0 x0第8頁(yè)/共60頁(yè)第7頁(yè)/共60頁(yè)第七頁(yè),共60頁(yè)。2008年6月28日8S3C44B0X鎖相環(huán)輸出(shch)時(shí)鐘設(shè)置舉例 假定PLL的輸入時(shí)鐘是 Fin=14.318MHz 要求PLL的輸出時(shí)鐘是Fout=60MHz 則設(shè)定PLLCON的三個(gè)分頻系數(shù)字(shz)段值為: MDIV

7、=59,即M分頻系數(shù)為59 PDIV=6,即P分頻系數(shù)為6 SDIV=1,即S分頻系數(shù)為1 驗(yàn)算如下 Fout=(59+8)*14,318,000)/(6+2)*21)=59,956,625 =60MHz第9頁(yè)/共60頁(yè)第8頁(yè)/共60頁(yè)第八頁(yè),共60頁(yè)。2008年6月28日9S3C44B0X的66MHz主頻信號(hào)(xnho)設(shè)置參數(shù) ARM300-S實(shí)驗(yàn)平臺(tái)上的OPTION.H對(duì)PLL進(jìn)行配置 假定PLL的輸入時(shí)鐘是 Fin=14.318MHz 要求PLL的輸出時(shí)鐘是Fout=66MHz 則可以把PLLCON的三個(gè)分頻系數(shù)字(shz)段值設(shè)為: MDIV=66,即M分頻系數(shù)為66 PDIV=6,

8、即P分頻系數(shù)為6 SDIV=1,即S分頻系數(shù)為1 驗(yàn)算如下 Fout=(66+8)*14,318,000)/(6+2)*21)=66,220,750 =66MHz第10頁(yè)/共60頁(yè)第9頁(yè)/共60頁(yè)第九頁(yè),共60頁(yè)。2008年6月28日107.3.2 嵌入式系統(tǒng)(xtng)的時(shí)鐘管理 時(shí)鐘信號(hào)發(fā)生器(簡(jiǎn)稱(jinchng)時(shí)鐘發(fā)生器)為處理器提供時(shí)鐘信號(hào)。它可以是一個(gè)獨(dú)立的芯片,也可以集成在處理器內(nèi)部。 前者的例子有80186處理器外接8284時(shí)鐘發(fā)生器,后者的例子有8051單片機(jī)、S3C44B0X和S3C2410X等。目前,絕大多數(shù)嵌入式處理器的時(shí)鐘信號(hào)發(fā)生器以后一種形態(tài)存在。第11頁(yè)/共60

9、頁(yè)第10頁(yè)/共60頁(yè)第十頁(yè),共60頁(yè)。2008年6月28日11S3C44B0X的時(shí)鐘(shzhng)電源管理器 S3C44B0X的內(nèi)建時(shí)鐘電源管理器為CPU和外部設(shè)備提供時(shí)鐘信號(hào)??梢酝ㄟ^軟件(run jin)來控制該內(nèi)嵌時(shí)鐘電源管理器為哪些外部設(shè)備模塊提供時(shí)鐘信號(hào),或者切斷哪些外部設(shè)備的時(shí)鐘源以減少功耗。 此外,在軟件(run jin)的控制下,時(shí)鐘電源管理器還能夠?yàn)榍度胧綉?yīng)用提供五種電源管理模式。 第12頁(yè)/共60頁(yè)第11頁(yè)/共60頁(yè)第十一頁(yè),共60頁(yè)。2008年6月28日12S3C44B0X的初始(ch sh)時(shí)鐘脈沖信號(hào) S3C44B0X初始時(shí)鐘脈沖信號(hào)來源有兩種可能:用外部晶振來產(chǎn)生

10、,或者直接輸入外部時(shí)鐘。初始時(shí)鐘源選擇取決于引腳OM3:2的狀態(tài)(zhungti)。具體地講,由nRESET上升沿時(shí)刻的OM3和OM2引腳電平?jīng)Q定。OM3:2=00選擇晶體時(shí)鐘,OM3:2=01選擇外部時(shí)鐘。 第13頁(yè)/共60頁(yè)第12頁(yè)/共60頁(yè)第十二頁(yè),共60頁(yè)。2008年6月28日13啟動(dòng)時(shí)S3C44B0X主頻信號(hào)(xnho)的選擇 Although the PLL starts just after a reset, the PLL output can not be used as Fout until the S/W writes valid settings to the PLLC

11、ON 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 value into PLLCON register.第14頁(yè)/共60頁(yè)第13頁(yè)/共60頁(yè)第十三頁(yè),共60頁(yè)。2008年6月28日14S3C

12、44B0X的時(shí)鐘(shzhng)電源管理器 下圖是S3C44B0X的時(shí)鐘(shzhng)電源管理器內(nèi)部結(jié)構(gòu)。由端口E的PE0引腳控制MCLK的輸出,PCONE的1:0=10選擇輸出時(shí)鐘(shzhng)為經(jīng)過PLL的外部時(shí)鐘(shzhng)Fpllo, 1:0=11選擇輸出時(shí)鐘(shzhng)為Fout,也就是MCLK。第15頁(yè)/共60頁(yè)第14頁(yè)/共60頁(yè)第十四頁(yè),共60頁(yè)。2008年6月28日15S3C44B0X的電源(dinyun)管理 嵌入式處理器的電源管理與它的時(shí)鐘控制關(guān)系密切。S3C44B0X中的電源管理提供如下5種模式,其中有4種與時(shí)鐘有關(guān)。 正常(zhngchng)模式(Norma

13、l Mode) 空閑模式(Idle Mode) 低速模式(Slow Mode) 停止模式(Stop Mode) 液晶屏的SL_IDLE模式(SL Idle Mode)第16頁(yè)/共60頁(yè)第15頁(yè)/共60頁(yè)第十五頁(yè),共60頁(yè)。2008年6月28日16S3C44B0X的正常(zhngchng)電源模式 當(dāng)S3C44B0X工作在正常模式場(chǎng)合,時(shí)鐘電源管理器提供時(shí)鐘信號(hào)給CPU和各種( zhn)外設(shè)。當(dāng)所有的外設(shè)都開啟工作時(shí),處理器所消耗的功耗最大。用戶可以通過對(duì)CLKCON寄存器的設(shè)置來控制外設(shè)的操作模式。(參看表7-8) 例如,如果定時(shí)器和DMA不需要時(shí)鐘,則用戶可以斷開定時(shí)器和DMA的時(shí)鐘供給以降

14、低功耗。 第17頁(yè)/共60頁(yè)第16頁(yè)/共60頁(yè)第十六頁(yè),共60頁(yè)。2008年6月28日17S3C44B0X的時(shí)鐘控制(kngzh)寄存器CLKCON位定義(上)第18頁(yè)/共60頁(yè)第17頁(yè)/共60頁(yè)第十七頁(yè),共60頁(yè)。2008年6月28日18S3C44B0X的時(shí)鐘(shzhng)控制寄存器CLKCON位定義(下)第19頁(yè)/共60頁(yè)第18頁(yè)/共60頁(yè)第十八頁(yè),共60頁(yè)。2008年6月28日19S3C44B0X電源(dinyun)管理下的省電數(shù)據(jù) I/O部件部件IISIICADCRTCUART電流節(jié)省電流節(jié)省1.3%1.6%0.7%0.8%3.8%I/O部件部件ZDMA0/1Timer0/5LCDT

15、otalSIO電流節(jié)省電流節(jié)省2.2%2.2%3.2%16.70.9%關(guān)閉I/O模塊時(shí),S3C44B0X典型的功耗(n ho)節(jié)省數(shù)據(jù)(66MHz主頻): 第20頁(yè)/共60頁(yè)第19頁(yè)/共60頁(yè)第十九頁(yè),共60頁(yè)。2008年6月28日20S3C44B0X的空閑(kngxin)模式 空閑模式 停止對(duì)CPU內(nèi)核的時(shí)鐘供給,但總線控制器、存儲(chǔ)控制器、中斷控制器和電源管理模塊繼續(xù)正常運(yùn)行。保留所有對(duì)外部設(shè)備的時(shí)鐘信號(hào)供給。在空閑模式下,總功耗不包含CPU內(nèi)核的功耗。任何(rnh)中斷請(qǐng)求都能夠把CPU從空閑模式中喚醒。要退出空閑模式,EINT7:0,或者RTC告警中斷,或者其他的中斷應(yīng)當(dāng)被激活。 第21

16、頁(yè)/共60頁(yè)第20頁(yè)/共60頁(yè)第二十頁(yè),共60頁(yè)。2008年6月28日21S3C44B0X的低速(d s)模式(非PLL模式) 慢速模式 一種非倍頻模式,慢速模式直接采用外部時(shí)鐘作為S3C44B0X的主工作時(shí)鐘,而不使用內(nèi)部倍頻器。在這種情況(qngkung)下,功耗的大小僅依賴于外部時(shí)鐘的頻率的大小。PLL部件所消耗的功耗不包含在內(nèi)。 Fout=Fin / (2xSLOW_VAL)當(dāng)SLOW_VAL0 Fout=Fin 當(dāng)SLOW_VAL=0第22頁(yè)/共60頁(yè)第21頁(yè)/共60頁(yè)第二十一頁(yè),共60頁(yè)。2008年6月28日22S3C44B0X的時(shí)鐘(shzhng)低速控制寄存器 (CLKSLOW

17、)位定義第23頁(yè)/共60頁(yè)第22頁(yè)/共60頁(yè)第二十二頁(yè),共60頁(yè)。2008年6月28日23S3C44B0X的停止(tngzh)模式 停止模式 禁止鎖相環(huán)電路(PLL)以凍結(jié)(dngji)CPU內(nèi)核和所有外設(shè)的時(shí)鐘。這時(shí)功耗最低,功耗大小僅由S3C44B0X內(nèi)部的漏電流大小決定,這個(gè)電流一般小于10uA。 可以通過外部中斷把CPU從停止模式中喚醒。 剛退出停止模式時(shí),只會(huì)進(jìn)入THAW狀態(tài)(解凍狀態(tài),過渡狀態(tài))。換句話說,用戶不可能直接從停止模式返回到正常模式,如下一幅幻燈片所示。第24頁(yè)/共60頁(yè)第23頁(yè)/共60頁(yè)第二十三頁(yè),共60頁(yè)。2008年6月28日24S3C44B0X的電源(dinyun

18、)管理狀態(tài)機(jī)第25頁(yè)/共60頁(yè)第24頁(yè)/共60頁(yè)第二十四頁(yè),共60頁(yè)。2008年6月28日25S3C44B0X的停止(tngzh)模式(續(xù)1) 開始進(jìn)入停止模式時(shí),時(shí)鐘控制邏輯輸出Fin時(shí)鐘,替代Fpllo時(shí)鐘,從Fout經(jīng)過16個(gè)Fin時(shí)鐘。經(jīng)過16個(gè)Fin時(shí)鐘之后,F(xiàn)out停止,S3C44B0X完全進(jìn)入停止模式。從停止模式發(fā)布斷電命令到實(shí)際進(jìn)入斷電模式的時(shí)延可以用以下公式(gngsh)計(jì)算: 斷電時(shí)延=Fin(晶振時(shí)鐘或者外部時(shí)鐘)*16 如果S3C44B0X處于低速模式,那么S3C44B0X可立即進(jìn)入停止模式,因?yàn)榈退倌J降臅r(shí)鐘頻率比Fin低。第26頁(yè)/共60頁(yè)第25頁(yè)/共60頁(yè)第二十五

19、頁(yè),共60頁(yè)。2008年6月28日26S3C44B0X的停止(tngzh)模式(續(xù)2) S3C44B0X可以通過外部中斷或者RTC告警(鬧鐘(nozhng))中斷退出停止模式。 在喚醒序列中,晶體振蕩器和PLL可能開始運(yùn)行。同時(shí)需要鎖定時(shí)間來穩(wěn)定Fout。鎖定時(shí)間是自動(dòng)插入的,由電源管理邏輯來設(shè)置。鎖定期間不提供時(shí)鐘。開始喚醒序列時(shí)需要喚醒中斷(告警中斷或者外部中斷)。第27頁(yè)/共60頁(yè)第26頁(yè)/共60頁(yè)第二十六頁(yè),共60頁(yè)。2008年6月28日27進(jìn)入(jnr)停止模式和退出停止模式的時(shí)序第28頁(yè)/共60頁(yè)第27頁(yè)/共60頁(yè)第二十七頁(yè),共60頁(yè)。2008年6月28日28S3C44B0X的液晶

20、屏慢空閑(kngxin)模式( SL_IDLE模式) SL_IDLE模式的進(jìn)入將導(dǎo)致LCD控制器開始工作。在這種情況下,除了LCD控制器在運(yùn)行,以維持LCD以外(ywi),CPU內(nèi)核和其他外設(shè)的時(shí)鐘都停止了。因此, SL_IDLE空閑模式下的功耗比空閑模式的功耗小。 SL_IDLE模式比空閑模式功耗低。進(jìn)入SL_IDLE模式之前,必須進(jìn)入低速模式,而且PLL必須關(guān)閉。進(jìn)入低速模式關(guān)閉PLL之后,要向CLKCON寄存器寫入0 x46(LCDC使能,IDLE使能, SL_IDLE使能),然后進(jìn)入SL_IDLE模式。第29頁(yè)/共60頁(yè)第28頁(yè)/共60頁(yè)第二十八頁(yè),共60頁(yè)。2008年6月28日29退

21、出S3C44B0X的液晶屏慢空閑(kngxin)模式 要退出SL_IDLE模式,ENIT7:0,或者RTC告警中斷必須激活。這種情況處理器將會(huì)自動(dòng)進(jìn)入(jnr)低速模式,如前圖所示。為回到正常模式,用戶必須等鎖定時(shí)間結(jié)束,然后清除SL_IDLE位,禁止低速模式。在PLL鎖時(shí)內(nèi),只提供低速時(shí)鐘信號(hào)。DRAM在SL_IDLE模式下,必須保持在自刷新模式。第30頁(yè)/共60頁(yè)第29頁(yè)/共60頁(yè)第二十九頁(yè),共60頁(yè)。2008年6月28日30液晶屏慢空閑模式(msh)的工作時(shí)序 下面是進(jìn)入和退出(tuch)SL_IDLE模式的時(shí)序圖第31頁(yè)/共60頁(yè)第30頁(yè)/共60頁(yè)第三十頁(yè),共60頁(yè)。2008年6月28

22、日317.3.3 嵌入式系統(tǒng)的實(shí)時(shí)(sh sh)時(shí)鐘 實(shí)時(shí)時(shí)鐘(Real-Time Clock,RTC,也叫做日歷時(shí)鐘)為嵌入式處理器提供精確的當(dāng)前時(shí)刻(年月日星期時(shí)分秒)的計(jì)時(shí)信號(hào)。 通常在系統(tǒng)停電的情況下由后備電池供電(n din)繼續(xù)工作。 但是,也有相當(dāng)多的嵌入式系統(tǒng)沒有后備電池。在這種情況下每當(dāng)斷電之后,實(shí)時(shí)時(shí)鐘信號(hào)發(fā)生器的寄存器內(nèi)容被清零。因此,許多嵌入式處理器需要在加電之后寫入校準(zhǔn)的實(shí)時(shí)時(shí)間數(shù)據(jù)。 第32頁(yè)/共60頁(yè)第31頁(yè)/共60頁(yè)第三十一頁(yè),共60頁(yè)。2008年6月28日32S3C44B0X/S3C2410X的實(shí)時(shí)時(shí)鐘(shzhng)簡(jiǎn)介 S3C2410X和S3C44B0X內(nèi)

23、部集成了一個(gè)相同的RTC單元。 它的工作脈沖是32.768KHz的晶振脈沖。 該RTC主要功能包括: 時(shí)間節(jié)拍發(fā)生器,達(dá)到毫秒級(jí)精度 日歷時(shí)鐘,BCD碼的年、月、日、時(shí)、分、秒 定時(shí)告警(gojng), BCD碼的年、月、日、時(shí)、分、秒 告警(gojng)中斷或者從停電模式中喚醒 閏年產(chǎn)生器第33頁(yè)/共60頁(yè)第32頁(yè)/共60頁(yè)第三十二頁(yè),共60頁(yè)。2008年6月28日33S3C2410X的實(shí)時(shí)(sh sh)時(shí)鐘方框圖 作為案例,下面給出S3C2410X處理器的實(shí)時(shí)(sh sh)時(shí)鐘方框圖。 第34頁(yè)/共60頁(yè)第33頁(yè)/共60頁(yè)第三十三頁(yè),共60頁(yè)。2008年6月28日34S3C44B0X/S3

24、C2410X的實(shí)時(shí)時(shí)鐘(RTC)相關(guān)(xinggun)寄存器清單第35頁(yè)/共60頁(yè)第34頁(yè)/共60頁(yè)第三十四頁(yè),共60頁(yè)。2008年6月28日35時(shí)鐘(shzhng)節(jié)拍(Tick) 時(shí)鐘節(jié)拍是由硬件定時(shí)器發(fā)出的周期性中斷請(qǐng)求信號(hào),其周期長(zhǎng)短可以編程設(shè)定。 時(shí)鐘節(jié)拍被嵌入式操作系統(tǒng)用作定時(shí)時(shí)間間隔的周期性硬件中斷信號(hào)。時(shí)鐘節(jié)拍的中斷服務(wù)子程序被用來遍歷任務(wù)控制塊,以判斷(pndun)任務(wù)是否延時(shí)計(jì)滿,或者進(jìn)行一些其它操作。 兩個(gè)時(shí)鐘節(jié)拍之間的時(shí)間間隔被定義成嵌入式操作系統(tǒng)的任務(wù)延時(shí)基本單位。第36頁(yè)/共60頁(yè)第35頁(yè)/共60頁(yè)第三十五頁(yè),共60頁(yè)。2008年6月28日36S3C2410X/S3

25、C44B0XRTC里的時(shí)鐘(shzhng)節(jié)拍發(fā)生器 參看教材圖7-8 S3C2410X實(shí)時(shí)時(shí)鐘方框圖。 在該圖的上方有一個(gè)時(shí)鐘節(jié)拍發(fā)生器,它可以產(chǎn)生將處理器硬件與嵌入式操作系統(tǒng)的定時(shí)處理聯(lián)系起來的節(jié)拍(Tick)中斷請(qǐng)求信號(hào)。 操作系統(tǒng)的節(jié)拍中斷服務(wù)子程序受節(jié)拍中斷請(qǐng)求信號(hào)的觸發(fā),將執(zhí)行(zhxng)與時(shí)間節(jié)拍有關(guān)的操作。 操作系統(tǒng)的節(jié)拍中斷請(qǐng)求信號(hào)不一定來源于RTC,也可以從PWM定時(shí)器中產(chǎn)生。 如果節(jié)拍從RTC產(chǎn)生,則RTOS內(nèi)部與時(shí)間相關(guān)的功能將一直與實(shí)時(shí)時(shí)鐘保持同步。第37頁(yè)/共60頁(yè)第36頁(yè)/共60頁(yè)第三十六頁(yè),共60頁(yè)。2008年6月28日37S3C2410X/S3C44B0X的

26、時(shí)鐘(shzhng)節(jié)拍(Tick)發(fā)生器 RTC節(jié)拍發(fā)生器發(fā)出的節(jié)拍信號(hào)用于中斷請(qǐng)求。它的運(yùn)作受TICNT寄存器的控制。TICNT寄存器的最高位決定節(jié)拍中斷使能(置1)或禁能(置0),低7位決定節(jié)拍時(shí)間計(jì)數(shù)(j sh)值n。 RTC節(jié)拍發(fā)生器工作時(shí),將不斷地將計(jì)數(shù)(j sh)寄存器的值減1,當(dāng)最后減到達(dá)0時(shí),就會(huì)觸發(fā)節(jié)拍時(shí)間中斷。第38頁(yè)/共60頁(yè)第37頁(yè)/共60頁(yè)第三十七頁(yè),共60頁(yè)。2008年6月28日38S3C2410X/S3C44B0X的節(jié)拍中斷(zhngdun)的間隔時(shí)間計(jì)算 S3C2410X/S3C44B0X節(jié)拍(jipi)發(fā)生器的中斷請(qǐng)求間隔時(shí)間的計(jì)算公式為: 節(jié)拍(jipi)

27、中斷間隔時(shí)間 ( n+1 ) / 128 秒 其中,n為節(jié)拍(jipi)時(shí)間計(jì)數(shù)值 ( 1127 )由此推算出S3C2410X/S3C44B0X節(jié)拍(jipi)發(fā)生器的最長(zhǎng)中斷請(qǐng)求間隔時(shí)間是1秒,最短中斷請(qǐng)求間隔時(shí)間是7.8125毫秒。第39頁(yè)/共60頁(yè)第38頁(yè)/共60頁(yè)第三十八頁(yè),共60頁(yè)。2008年6月28日39S3C2410X/S3C44B0X的日歷時(shí)鐘(shzhng)和告警時(shí)鐘(shzhng)簡(jiǎn)介 閏年(rnnin)發(fā)生器 根據(jù)BCDDAY、BCDMON、BCDYAER寄存器數(shù)據(jù)來決定每一個(gè)月的最后一天是否為28、29、30、31。由于BCDYEAR寄存器為單字節(jié)寄存器,只能夠存放兩個(gè)

28、BCD數(shù),即“00”到“99”。因此通常的RTC無法判斷1900年和2000年是否是閏年(rnnin)。 注意:1900年不是閏年(rnnin),2000年是閏年(rnnin)。 S3C2410X/S3C44B0X的RTC有支持閏年(rnnin)的硬件邏輯,可解決這個(gè)問題。 因此,兩個(gè)數(shù)字“00”表示的是2000年。第40頁(yè)/共60頁(yè)第39頁(yè)/共60頁(yè)第三十九頁(yè),共60頁(yè)。2008年6月28日40S3C2410X/S3C44B0X的日歷時(shí)鐘(shzhng)和告警時(shí)鐘(shzhng)簡(jiǎn)介(續(xù)) 讀寫寄存器 為了讀寫RTC模塊中的寄存器,必須設(shè)置(shzh)RTCCON寄存器中的位0。該位設(shè)置(s

29、hzh)1為讀寫使能,該位設(shè)置(shzh)0為讀寫禁能。 所有RTC寄存器必須通過STRB和LDRB指令或字符類型指針的字節(jié)單元來存取。 有關(guān)S3C44B0X和S3C2410X的日歷時(shí)鐘和告警時(shí)鐘應(yīng)用,下面我們分別通過一個(gè)實(shí)驗(yàn)平臺(tái)上的程序例子加以介紹。第41頁(yè)/共60頁(yè)第40頁(yè)/共60頁(yè)第四十頁(yè),共60頁(yè)。2008年6月28日41實(shí)時(shí)(sh sh)時(shí)鐘應(yīng)用程序概要設(shè)計(jì)案例 -1 現(xiàn)在給出一個(gè)在教學(xué)實(shí)驗(yàn)平臺(tái)上運(yùn)行的實(shí)時(shí)時(shí)鐘應(yīng)用程序設(shè)計(jì)舉例。 實(shí)驗(yàn)平臺(tái)的處理器是S3C2410X。嵌入式操作系統(tǒng)采用VxWorks 5.5,開發(fā)平臺(tái)是Tornado2.2。 案例實(shí)驗(yàn)平臺(tái)的外觀如圖7-9所示。該實(shí)驗(yàn)箱的

30、6個(gè)LED數(shù)碼管上顯示日歷(rl)時(shí)間或者鬧鐘時(shí)間。第42頁(yè)/共60頁(yè)第41頁(yè)/共60頁(yè)第四十一頁(yè),共60頁(yè)。2008年6月28日42實(shí)時(shí)時(shí)鐘(shzhng)應(yīng)用程序概要設(shè)計(jì)案例 -2 基于S3C2410X處理器的實(shí)驗(yàn)(shyn)平臺(tái)俯視圖 第43頁(yè)/共60頁(yè)第42頁(yè)/共60頁(yè)第四十二頁(yè),共60頁(yè)。2008年6月28日43實(shí)時(shí)時(shí)鐘(shzhng)應(yīng)用程序概要設(shè)計(jì)案例 -3 概要設(shè)計(jì)(shj)的RTC應(yīng)用程序(以下簡(jiǎn)稱RTC_PRO)有兩個(gè)主要功能: 設(shè)置S3C2410X的RTC模塊的初始計(jì)時(shí)值,使之與當(dāng)前的北京時(shí)間對(duì)準(zhǔn),即所謂的對(duì)時(shí);RTC初始化完畢后即開始顯示實(shí)時(shí)時(shí)間。 提供鬧鐘定時(shí)設(shè)置功能

31、,讓用戶預(yù)先設(shè)置鬧鐘時(shí)間。此后當(dāng)鬧鐘定時(shí)時(shí)刻到達(dá)時(shí),實(shí)驗(yàn)箱的蜂鳴器發(fā)出鬧鐘聲。第44頁(yè)/共60頁(yè)第43頁(yè)/共60頁(yè)第四十三頁(yè),共60頁(yè)。2008年6月28日44實(shí)時(shí)時(shí)鐘(shzhng)應(yīng)用程序概要設(shè)計(jì)案例 -4 執(zhí)行RTC_PRO時(shí),實(shí)驗(yàn)平臺(tái)有2種系統(tǒng)工作狀態(tài)(zhungti)和5種顯示模式。 2種系統(tǒng)工作狀態(tài)(zhungti)是: 設(shè)置模式:設(shè)置RTC的計(jì)時(shí)時(shí)間和鬧鐘時(shí)間; 顯示狀態(tài)(zhungti):顯示RTC的計(jì)時(shí)時(shí)間。實(shí)驗(yàn)平臺(tái)的缺省狀態(tài)(zhungti)為顯示狀態(tài)(zhungti),按下“Del”鍵進(jìn)入設(shè)置狀態(tài)(zhungti),在設(shè)置狀態(tài)(zhungti)下,按下“Cancel”鍵返

32、回顯示狀態(tài)(zhungti)。第45頁(yè)/共60頁(yè)第44頁(yè)/共60頁(yè)第四十四頁(yè),共60頁(yè)。2008年6月28日45實(shí)時(shí)(sh sh)時(shí)鐘應(yīng)用程序概要設(shè)計(jì)案例 -5 實(shí)驗(yàn)平臺(tái)工作在顯示狀態(tài)時(shí),可以有5種顯示模式工作,分別是: CLOCK_YMD,顯示/設(shè)置年、月、日; CLOCK_DAY,顯示星期幾; CLOCK_HMS,顯示/設(shè)置時(shí)、分、秒,這是實(shí)驗(yàn)平臺(tái)在RTC_PRO運(yùn)行之后的缺省工作狀態(tài)和顯示模式; ALARM_YMD,顯示/設(shè)置鬧鐘(nozhng)年、月、日; ALARM_HMS,顯示/設(shè)置鬧鐘(nozhng)時(shí)、分、秒。 5種顯示模式由“Enter”鍵循環(huán)切換,每按下一次更換一個(gè)顯示模式

33、。 第46頁(yè)/共60頁(yè)第45頁(yè)/共60頁(yè)第四十五頁(yè),共60頁(yè)。2008年6月28日46實(shí)時(shí)時(shí)鐘(shzhng)應(yīng)用程序概要設(shè)計(jì)案例 -6 案例實(shí)驗(yàn)平臺(tái)(pngti)的LED數(shù)碼管顯示和小鍵盤鍵位功能定義 :第47頁(yè)/共60頁(yè)第46頁(yè)/共60頁(yè)第四十六頁(yè),共60頁(yè)。2008年6月28日47實(shí)時(shí)時(shí)鐘應(yīng)用程序概要設(shè)計(jì)(shj)案例 -7 在設(shè)置狀態(tài)的每一種模式下,按動(dòng)小數(shù)點(diǎn)鍵“”具體選擇改變那一個(gè)時(shí)間變量的值。例如在設(shè)置工作狀態(tài)的CLOCK_HMS顯示模式下,按動(dòng)小數(shù)點(diǎn)“”鍵可以在顯示字段1,顯示字段2和顯示字段3之間切換,也就是(jish)在顯示小時(shí)、分鐘和秒之間切換。被切換到的當(dāng)前設(shè)置的字段將高

34、亮度顯示。第48頁(yè)/共60頁(yè)第47頁(yè)/共60頁(yè)第四十七頁(yè),共60頁(yè)。2008年6月28日48實(shí)時(shí)時(shí)鐘(shzhng)應(yīng)用程序概要設(shè)計(jì)案例 -8 現(xiàn)在時(shí)鐘值或者(huzh)鬧鐘定時(shí)值的設(shè)置或修改可以在設(shè)置工作狀態(tài)下直接用數(shù)字鍵輸入,也可以在原值上進(jìn)行加操作或者(huzh)減操作。按“up”鍵使時(shí)間值加1,按“down”鍵使時(shí)間值減1。第49頁(yè)/共60頁(yè)第48頁(yè)/共60頁(yè)第四十八頁(yè),共60頁(yè)。2008年6月28日49實(shí)時(shí)(sh sh)時(shí)鐘應(yīng)用程序概要設(shè)計(jì)案例 -9 RTC_PRO工程是一個(gè)基于VxWorks 5.5版操作系統(tǒng)的可下載工程(downloadable project,調(diào)試階段的應(yīng)用程序

35、)。它要從主機(jī)的Tornado2.2集成開發(fā)環(huán)境交叉編譯生成映像文件后再下載到開發(fā)板上運(yùn)行。 該操作系統(tǒng)的其他(qt)API程序文件和外設(shè)驅(qū)動(dòng)程序沒有列出,但是為數(shù)不少。它們確實(shí)是RTC_PRO的重要組成部分同時(shí)也是不可缺少的部分。 第50頁(yè)/共60頁(yè)第49頁(yè)/共60頁(yè)第四十九頁(yè),共60頁(yè)。2008年6月28日50實(shí)時(shí)(sh sh)時(shí)鐘應(yīng)用程序概要設(shè)計(jì)案例 -10文件名用途說明備注RTC.h主要包含RTC寄存器使用定義、常用設(shè)置函數(shù)聲明涉及蜂鳴器引腳的通用IO端口的寄存器地址指針宏定義編程RTC.CRTC_PRO應(yīng)用程序的主要函數(shù)定義編程RTCSample.cRTC_PRO應(yīng)用程序的主控程序、

36、主要處理流程編程usrAppInit.cusrAppInit.c的后部添加ambaKbdDevCreate語(yǔ)句。如果要讓本應(yīng)用程序RTC_PRO在開機(jī)加電后直接運(yùn)行,則再添加執(zhí)行RTClock函數(shù)的語(yǔ)句。修改RTC_PRO的主要(zhyo)程序源代碼文件一覽 參看教材第參看教材第236頁(yè)到第頁(yè)到第238頁(yè)上的代碼頁(yè)上的代碼(di m)文件概要文件概要第51頁(yè)/共60頁(yè)第50頁(yè)/共60頁(yè)第五十頁(yè),共60頁(yè)。2008年6月28日517.3.4 脈寬調(diào)制定時(shí)器 脈寬調(diào)制定時(shí)器(PWM,Pluse-Width Modulation)主要用于提供各種占空比的脈沖信號(hào),以及定時(shí)中斷請(qǐng)求信號(hào)。脈寬調(diào)制定時(shí)器

37、的典型應(yīng)用(yngyng)是控制電機(jī)的運(yùn)轉(zhuǎn)方式。它能夠改變電流開關(guān)的時(shí)間比率,從而改變電機(jī)的轉(zhuǎn)速。例如:要使電機(jī)轉(zhuǎn)速達(dá)到80%,則電流脈沖的高電平時(shí)間占80%,低電平時(shí)間占20%。 第52頁(yè)/共60頁(yè)第51頁(yè)/共60頁(yè)第五十一頁(yè),共60頁(yè)。2008年6月28日52S3C44B0X的脈寬調(diào)制定時(shí)器 S3C44B0X有6個(gè)16位定時(shí)器。它們(t men)都可以工作在基于中斷或DMA的操作模式。定時(shí)器0、1、2、3、4有PWM(脈寬調(diào)制,Pulse Width Modulation)功能;定時(shí)器5只是一個(gè)內(nèi)部定時(shí)器而無輸出引腳。 每一個(gè)定時(shí)器外接存儲(chǔ)器時(shí)鐘MCLK,S3C44B0X的MCLK為66M

38、HZ,先經(jīng)過8位的預(yù)分頻器,再經(jīng)過4位的時(shí)鐘除法器進(jìn)行二次降頻。 第53頁(yè)/共60頁(yè)第52頁(yè)/共60頁(yè)第五十二頁(yè),共60頁(yè)。2008年6月28日53S3C44B0X的脈寬調(diào)制定時(shí)器結(jié)構(gòu)圖 單個(gè)PWM定時(shí)器通道(tngdo)結(jié)構(gòu)圖 :第54頁(yè)/共60頁(yè)第53頁(yè)/共60頁(yè)第五十三頁(yè),共60頁(yè)。2008年6月28日54S3C44B0X的PWM定時(shí)(dn sh)器定時(shí)(dn sh)范圍 4位除法器分頻MCLK=66MHz最小分辨率8位預(yù)分頻值=1最大分辨率8位預(yù)分頻值=255最大間隔時(shí)間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.6KHz)4.07秒1/320.485微秒(2.06MHz)125微秒(7.32KHz)8.13秒S3C44B0X的的PWM定時(shí)器時(shí)鐘輸出定時(shí)器時(shí)鐘輸出(shch)頻率范圍表頻率范圍表 第55頁(yè)/共60頁(yè)第54頁(yè)/共60頁(yè)第五十四頁(yè),共60頁(yè)。

溫馨提示

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

評(píng)論

0/150

提交評(píng)論