飛思卡爾8位單片機(jī)MC9S08 12 GP32的其他功能模塊課件_第1頁
飛思卡爾8位單片機(jī)MC9S08 12 GP32的其他功能模塊課件_第2頁
飛思卡爾8位單片機(jī)MC9S08 12 GP32的其他功能模塊課件_第3頁
飛思卡爾8位單片機(jī)MC9S08 12 GP32的其他功能模塊課件_第4頁
飛思卡爾8位單片機(jī)MC9S08 12 GP32的其他功能模塊課件_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第十二章

GP32的其他功能模塊主要內(nèi)容

CONFIG寄存器

時(shí)鐘發(fā)生模塊CGM與鎖相環(huán)PLL

中斷

復(fù)位與系統(tǒng)集成模塊

低功耗模式與看門狗功能

監(jiān)控模塊MON《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件12.1CONFIG寄存器(1)CONFIG2

CONFIG2寄存器只有低兩位有定義,CONFIG2的地址是:$001E,定義為:

《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件數(shù)據(jù)位D7D6D5D4D3D2D1D0定義

OSCSTOPENBSCIBDSRC復(fù)位00000000D1—OSCSTOPENB位:振蕩器STOP模式下允許位。OSCSTOPENB=1,振蕩器在STOP模式下也正常工作。這一點(diǎn)對(duì)于時(shí)基模塊在STOP模式下產(chǎn)生周期性的喚醒非常有用。OSCSTOPENB=0,在STOP模式下禁止振蕩器工作。D0—SCIBDSRC位:SCI波特率時(shí)鐘源控制位。SCIBDSRC控制SCI的時(shí)鐘源。這個(gè)位的設(shè)置影響SCI操作的頻率。SCIBDSRC=1,SCI用內(nèi)部總線時(shí)鐘,反之,SCI用外部振蕩器時(shí)鐘。

12.1CONFIG寄存器(2)CONFIG1

CONFIG1的地址是:$001F,定義為:《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件數(shù)據(jù)位D7D6D5D4D3D2D1D0定義COPRSLVISTOPLVIPWRDLVIRSTDLIV50R3SSRECSTOPCOPD復(fù)位00000000D7—COPRS位:COP速度選擇位。COPRS選擇COP溢出的范圍。

D6—LVISTOP位:STOP模式下LVI允許位。

D5—LVIRSTD位:LVI復(fù)位禁止位。D4—LVIPWRD位:為L(zhǎng)VI電源禁止位。

D3—LVI5OR3位:LVI的5V或者3V操作模式選擇位。

D2—SSREC位:快速STOP模式恢復(fù)選擇位。

D1—STOP位:STOP指令允許位。STOP位決定是否允許STOP指令。

D0—COPD位:COP禁止位。COPD位決定是否禁止COP模塊。返回12.1CONFIG寄存器(1)鎖相技術(shù)與頻率合成技術(shù)

③直接頻率合成技術(shù):是將一個(gè)或幾個(gè)晶體振蕩器產(chǎn)生的頻率信號(hào)通過諧波發(fā)生器產(chǎn)生一系列頻率信號(hào),然后再對(duì)這些頻率信號(hào)進(jìn)行倍頻、分頻和混頻,最后得到大量的頻率信號(hào)。其優(yōu)點(diǎn)是:頻率穩(wěn)定度高,頻率轉(zhuǎn)換時(shí)間短(可達(dá)微秒量級(jí)),能做到很小的頻率間隔。缺點(diǎn)是:系統(tǒng)中要用到大量的混頻器、濾波器等,從而導(dǎo)致體積大,成本高,安裝調(diào)試復(fù)雜,故只用于頻率精度要求很高的場(chǎng)合。④間接頻率合成技術(shù):是利用鎖相技術(shù)來產(chǎn)生大量的具有高穩(wěn)定度和高精度的頻率源。由于間接頻率合成器的關(guān)鍵部件是鎖相環(huán),故通常稱為鎖相環(huán)頻率合成器。由于鎖相環(huán)頻率合成器的主要部件都易于集成,一般只加一個(gè)分頻器和一個(gè)一階低通濾波器,故其具有體積小、重量輕、成本低、安裝和調(diào)試簡(jiǎn)單等優(yōu)點(diǎn)。鎖相環(huán)頻率合成器在性能上逐漸接近直接頻率合成器,所以它在電子技術(shù)中得到了日益廣泛的應(yīng)用,并在應(yīng)用中得到迅速發(fā)展。

12.2.1鎖相環(huán)PLL的基本概念《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件12.2時(shí)鐘發(fā)生模塊CGM與鎖相環(huán)PLL(2)鎖相環(huán)頻率合成器的基本原理鎖相環(huán)頻率合成器的原理框圖基準(zhǔn)頻率源基準(zhǔn)頻率源鑒相器低通濾波器壓控振蕩器反饋分頻器fr

ud

uo

fo

ff

12.2.1鎖相環(huán)PLL的基本概念《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件12.2時(shí)鐘發(fā)生模塊CGM與鎖相環(huán)PLL鎖相環(huán)頻率合成器的各個(gè)部件基準(zhǔn)頻率源:基準(zhǔn)頻率源提供一個(gè)穩(wěn)定頻率源,其頻率為fr,一般用精度很高的石英晶體振蕩器產(chǎn)生,是鎖相環(huán)的輸入信號(hào)。簽相器:簽相器是一個(gè)誤差檢測(cè)元件。它將基準(zhǔn)頻率源的輸出信號(hào)fr的相位與壓控振蕩器輸出信號(hào)fo的相位相比較,產(chǎn)生一個(gè)電壓輸出信號(hào)ud,其大小取決于兩個(gè)輸入信號(hào)的相位差。低通濾波器:低通濾波器的輸入信號(hào)是簽相器的輸出電壓信號(hào)ud,經(jīng)過低通濾波器后ud的高頻分量被濾除,輸出控制電壓uo去控制壓控振蕩器。壓控振蕩器(VCO):壓控振蕩器的輸出信號(hào)頻率fo與它的輸入控制電壓uo成一定比例,而分頻器將鎖相環(huán)的輸出信號(hào)fo反饋給簽相器,形成一個(gè)負(fù)反饋,從而使輸入信號(hào)和輸出信號(hào)之間的相位差保持恒定。反饋分頻器:分頻器為環(huán)路提供一種反饋機(jī)制,當(dāng)分頻系數(shù)N=1時(shí),鎖相環(huán)系統(tǒng)的輸出信號(hào)頻率fo等于輸入信號(hào)頻率fr:fo=fr

信號(hào)鎖定后有:fo=ff=fr

當(dāng)分頻器的分頻系數(shù)N>1,有:fo=N·ff即ff=fo/N

環(huán)路鎖定后有:ff=fr

fo=N·ff=N·fr《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件12.2時(shí)鐘發(fā)生模塊CGM與鎖相環(huán)PLLCGM內(nèi)部結(jié)構(gòu)晶體振蕩電路:晶體振蕩電路通過外接石英或陶瓷振蕩器產(chǎn)生穩(wěn)定不變的時(shí)鐘信號(hào)CGMXCLK,CGMXCLK直接輸出給系統(tǒng)集成模塊SIM和AD轉(zhuǎn)換器。同時(shí)也輸出到時(shí)鐘選擇模塊。CGMXCLK經(jīng)過緩沖后輸出到鎖相環(huán)頻率合成器,作為PLL信號(hào)源,這一路信號(hào)稱為CGMRCLK。

鎖相環(huán)頻率合成器:PLL電路通過壓控振蕩器(VCO)產(chǎn)生CGMVCLK信號(hào),輸出到時(shí)鐘選擇電路。其頻率可通過軟件編程控制。圖中CGMXFC為接濾波電路的引腳。時(shí)鐘選擇電路:時(shí)鐘發(fā)生模塊的輸出信號(hào)CGMOUT有兩種來源:直接采用晶振電路產(chǎn)生的CGMXCLK信號(hào)二分頻,也可以采用壓控振蕩器(VCO)產(chǎn)生CGMVCLK信號(hào)二分頻,時(shí)鐘選擇電路可以通過軟件編程決定采用那種信號(hào)來源。《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件12.2時(shí)鐘發(fā)生模塊CGM與鎖相環(huán)PLL(2)CGM的I/O信號(hào)I/O信號(hào)

符號(hào)名稱基本含義外部硬件引腳信號(hào)VDDAVSSA

PLL電源、地

分別與系統(tǒng)的電源和地相接,在布線時(shí)VDDA應(yīng)該加濾波電容,同時(shí)盡量靠近芯片。

OSC1

晶振輸入引腳

OSC1將引腳的輸入信號(hào)連至內(nèi)部晶振電路的反向放大器。OSC2

晶振輸出引腳

OSC2引腳輸出經(jīng)過反向的輸入信號(hào)。若采用外接信號(hào)源作為時(shí)鐘輸入,OSC2引腳可以懸空,也可以連接到其他MCU的OSC1輸入引腳。

CGMXFC

外部濾波電容引腳

CGMXFC為PLL電路環(huán)路濾波器所必需的,連接一個(gè)外接濾波網(wǎng)絡(luò)。為了減小干擾,提高系統(tǒng)電磁兼容性,在元件布局上,濾波網(wǎng)絡(luò)應(yīng)該盡量靠近MCU,用最短的連線連接,同時(shí)遠(yuǎn)離其他布線。來自SIMSIMOSCEN

振蕩器允許

來自系統(tǒng)集成模塊SIM,允許PLL和晶振電路

來自CONFIG2OSCSTOPENB

振蕩器停止模式允許位

OSCSTOPENB是CONFIG寄存器中和晶振相關(guān)的控制位。若置位,則晶振電路在STOP模式下可繼續(xù)工作;若復(fù)位(缺省情況),則晶振電路的行為受SIMOSCEN標(biāo)志位控制,在STOP模式下將關(guān)閉晶振電路。

輸出CGMXCLK(給SIM、TIM、ADC)

晶體頻率輸出信號(hào)

CGMXCLK是晶振電路的輸出信號(hào),頻率等于石英晶體的頻率。信號(hào)的精度和質(zhì)量取決于外接晶體和外界因素,當(dāng)然,在系統(tǒng)啟動(dòng)階段,CGMXCLK是不穩(wěn)定的

輸出CGMOUT(給SIM)

CGM的輸出

CGMOUT是時(shí)鐘發(fā)生模塊的輸出信號(hào),信號(hào)送入SIM模塊,SIM模塊產(chǎn)生MCU的時(shí)鐘信號(hào)。CGMOUT占空比為50%,經(jīng)過2分頻后產(chǎn)生總線時(shí)鐘,CGMOUT的來源可編程選定為晶振電路輸出CGMXCLK的二分頻或VCO電路的輸出CGMVCLK二分頻《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件12.2時(shí)鐘發(fā)生模塊CGM與鎖相環(huán)PLL(3)CGM的外部連接0.1μ+5V0.47μ0.01μ10KPLL濾波MC68HC908GP32引腳12345含義VDDAVSSACGMXCLKOSC2OSC1C1C2RS晶振電路RBX1在典型應(yīng)用情況下,CGM模塊需要9個(gè)外接器件,其中晶振電路中需要5個(gè),PLL電路需要2到4個(gè)。如右圖所示。有了這些連接,從硬件角度看,MCU就可以正常工作了。

晶振電路采用的元件有:晶體X1,電容C1,C2,反饋電阻RB,串行電阻RS。串行電阻RS,C1,C2的取值可參考晶振廠家給出的典型值,電容一般取10-36p,C1與C2值應(yīng)該略有差異,以利于晶振電路起振。典型情況下,RS取330K,RB為10M。晶振采用32.768KHZ。

PLL電路采用的元件有:①跨接電容,用于穩(wěn)定鎖相環(huán)電源引腳,一般取0.1uF左右。②濾波網(wǎng)絡(luò),為芯片內(nèi)部的鎖相環(huán)電路提供誤差電平,元件參數(shù)可參考上圖。注:如用戶不打算在應(yīng)用中使用鎖相環(huán)電路部分,這一部分電路可以不接,讓CGMXFC引腳懸空。

《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件12.2時(shí)鐘發(fā)生模塊CGM與鎖相環(huán)PLL《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件D4—BCS位:CGM基時(shí)鐘選擇位(BaseClockSelectBit)。該位為可讀寫,用于決定CGM模塊的輸出信號(hào)CGMOUT的輸入信號(hào)源。BCS=1,選擇PLL電路為時(shí)鐘源,CGMVCLK二分頻后驅(qū)動(dòng)CGMOUT;BCS=0,選擇晶振為時(shí)鐘源,CGMXCLK二分頻后驅(qū)動(dòng)CGMOUT。D3~D2—PRE1~PRE0:預(yù)分頻位(PrescalerProgramBits)。這兩位為可讀寫。設(shè)置預(yù)分頻器的分頻因子P,預(yù)分頻器的分頻因子P(由此得到預(yù)分頻系數(shù)NP=2P)與PRE1、PRE0關(guān)系如下:PRE1、PRE0=00P=0NP=1(20)=01P=1NP=2(21)=10P=2NP=4(22)=11P=3NP=8(23)

D1~D0—VPR1~VPR0:VCO的E選擇位(VCOPower-of-TwoRangeSelectBits)。這兩位為可讀寫。設(shè)置VCO模塊的參數(shù)E,控制參考頻率。E與VPR1、VPR0關(guān)系如下:VPR1、VPR0=00E=1(20)=01E=2(21)=10E=4(22)=11E=8(23)(不使用)

(1)PLL控制寄存器(PLLControlRegister-PCTL)12.2時(shí)鐘發(fā)生模塊CGM與鎖相環(huán)PLL

(2)PLL帶寬控制寄存器(PLLBandwidthControlRegister-PBWC)PCTL的地址:$0036,定義為:12.2.3CGM的編程基礎(chǔ)數(shù)據(jù)位D7D6D5D4D3D2D1D0定義AUTOLOCKACQ#----保留復(fù)位00000000D7—AUTO位:自動(dòng)帶寬控制位(AutomaticBandwidthControlBit)。該位可讀寫,用于選擇自動(dòng)或手動(dòng)帶寬模式。AUTO=1,自動(dòng)方式;AUTO=0,手動(dòng)方式。

D6—LOCK位:Lock指示位(LockIndicatorBit)。當(dāng)AUTO位為1時(shí)(設(shè)為自動(dòng)方式),LOCK為只讀位,且當(dāng)VCO的時(shí)鐘CGMVCLK完成鎖定(工作在程序設(shè)定頻率)后置1,表示時(shí)鐘穩(wěn)定。當(dāng)AUTO位為0時(shí)(設(shè)為手動(dòng)方式),LOCK始終讀出為0,無意義。

D5—ACQ#位:獲取模式位(AcquisitionModeBit)。=1,跟蹤模式;

=0,獲取模式。

《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件12.2時(shí)鐘發(fā)生模塊CGM與鎖相環(huán)PLL12.2.3CGM的編程基礎(chǔ)(3)PLL倍頻選擇寄存器(PLLMultiplierControlRegister-PMSH、PMSL)

PMSH、PMSL的地址分別為:$0038、$0039,設(shè)置分頻模塊的分頻系數(shù)。PMSH的高4位沒有定義,始終為0。PMSH的低4位與PMSL一起組成12位的分頻因子,記為MUL11~MUL0,它們決定了VCO電路的反饋模塊的分頻因子N的高4位。由于分頻因子N不能為0,即使設(shè)置為0,系統(tǒng)也會(huì)默認(rèn)為1。復(fù)位時(shí)N=64(即:PMSH:PMSL=$0040)。注意:倍頻因子寄存器有內(nèi)部的保護(hù)機(jī)制,當(dāng)PLLON=1時(shí),PMSH:PMSL不能被寫入。即對(duì)PMSH:PMSL的寫入操作應(yīng)當(dāng)在PLL電路關(guān)閉的情況下,PLL電路工作后不能改變PMSH:PMSL的值。

《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件12.2時(shí)鐘發(fā)生模塊CGM與鎖相環(huán)PLL12.2.3CGM的編程基礎(chǔ)(5)PLL參考分頻因子寄存器(PLLReferenceDividerSelectRegister-PRDS)PRDS的地址是:$003B,功能是設(shè)置參考分頻因子R。PRDS的高4位未定義,低4位為參考分頻因子R。該寄存器最低位缺省為1。《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件12.2時(shí)鐘發(fā)生模塊CGM與鎖相環(huán)PLL(1)PLL參數(shù)計(jì)算①選擇希望的總線頻率fBUSDES②計(jì)算希望得到的壓控振蕩器VCO頻率(是總線頻率的4倍):fVCLKDES=4×fBUSDES③

選擇PLL參考時(shí)鐘頻率fRCLK及參考時(shí)鐘的分頻因子R。④計(jì)算壓控振蕩器VCO分頻因子:N=(R×fVCLKDES)/fRCLK,四舍五入取整。⑤

求預(yù)分頻器分頻因子P。⑥計(jì)算檢驗(yàn)壓控振蕩器VCO的輸出頻率:fVCLK=(2P×N/R)/fRCLK,fBUS=fVCLK/4。12.2.4PLL參數(shù)計(jì)算與編程步驟《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件12.2時(shí)鐘發(fā)生模塊CGM與鎖相環(huán)PLL⑦

選擇壓控振蕩器VCO的E:若fVCLK<9.8304×106,E=0。若9.8304×106≤fVCLK<19.6608×106,E=1。若19.6608×106≤fVCLK<39.3216×106,E=2。⑧選擇壓控振蕩器VCO的L:L=fVCLK/(2E×fNOM),四舍五入取整,其中fNOM=38400H⑨計(jì)算檢驗(yàn)壓控振蕩器VCO的中心頻率fVRS。中心頻率是PLL模塊能夠達(dá)到的最大與最小頻率的中點(diǎn):fVRS=(L×2E)×fNOM,|fVRS-fVCLK|≤(fNOM×2E)/2⑩

通過比較fVCLK、fVRS、fVCLKDES驗(yàn)證P、R、N、E和L。fVCLK必須處于fVCLKDES的噪聲容限內(nèi),且fVRS必須盡量接近fVCLK。超過推薦的最大總線頻率或VCO頻率,可能損壞MCU。

(1)PLL參數(shù)計(jì)算《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件12.2時(shí)鐘發(fā)生模塊CGM與鎖相環(huán)PLL(1)匯編語言

;[PLL編程]CLRPCTL;①禁止PLL:清零PLL控制寄存器PCTLMOV#$01,PCTL;②將P、E寫入PCTLMOV#$01,PMSH;③將N寫入PMSH、PMSLMOV#$2C,PMSLMOV#$80,PMRS;④將L寫入PMRSMOV#$01,PRDS;⑤將R寫入PRDSBSET5,PCTL;⑥置PCTL.PLLON=1,啟動(dòng)PLL電路BSET7,PBWC;⑦PBWC自動(dòng)帶寬控制位=1BSET4,PCTL;⑧PCTL.BCS=1

《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件12.2.5初始化及PLL編程實(shí)例12.2時(shí)鐘發(fā)生模塊CGM與鎖相環(huán)PLL(2)08C語言

PCTL=0x00;//①禁止PLL:清零PLL控制寄存器PCTLPCTL=0x01;//②將P、E寫入PCTL,置VCO的參考頻率為2PMSH=0x01;//③將N寫入PMSH、PMSL,置VCO的倍頻因子為$12CPMSL=0x2C;PMRS=0b10000000;//④將L寫入PMRS,置VCO的輸出頻率范圍系//數(shù)為$80RDS=0x01;//⑤將R寫入PRDSPCTL|=1<<5;//⑥置PCTL.PLLON=1,啟動(dòng)PLL電路PBWC|=1<<7;//⑦PBWC自動(dòng)帶寬控制位=1,選擇自動(dòng)控制方式PCTL|=1<<4;//⑧PCTL.BCS=1,選擇PLL電路為時(shí)鐘源

《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件12.2.5初始化及PLL編程實(shí)例返回12.2時(shí)鐘發(fā)生模塊CGM與鎖相環(huán)PLL12.3中斷12.3.1

中斷源與中斷向量地址

(1)GP32單片機(jī)的中斷源

GP32單片機(jī)有25個(gè)中斷源,按優(yōu)先級(jí)從高到低的順序分別是:復(fù)位中斷(1個(gè))、SWI指令中斷(1個(gè))、引腳中斷(1個(gè))、CGM中斷(1個(gè))、定時(shí)器1中斷(3個(gè))、定時(shí)器2中斷(3個(gè))、SPI中斷(4個(gè))、SCI中斷(8個(gè))、鍵盤輸入中斷(1個(gè))、ADC轉(zhuǎn)換完成中斷(1個(gè))和時(shí)基中斷(1個(gè))。這里把復(fù)位也列為一個(gè)特殊的中斷,因?yàn)樗簿哂邢蛄康刂罚竺鎸?duì)復(fù)位將有較詳細(xì)的表述。

25個(gè)中斷源只有18個(gè)中斷向量,有的是幾個(gè)中斷源使用同一個(gè)中斷向量,表12-3給出了MC68HC908GP32中斷源及中斷向量地址。

GP32內(nèi)部使用3個(gè)中斷狀態(tài)寄存器:INT1(地址為$FE04)、INT2(地址為$FE05)和INT3(地址為$FE06)來保存中斷狀態(tài),但一般編程時(shí)并不使用這些寄存器,因此此處不做介紹。

《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件12.3中斷12.3.2IRQ#引腳中斷《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件

IRQ狀態(tài)寄存器INTSCR(IRQStatusandControlRegister)的地址是:$0013,定義為:數(shù)據(jù)位D7D6D5D4D3D2D1D0定義----IROFACKIMASKMODE復(fù)位00000000D7~D4位:未定義。D3—IRQF位:IRQ中斷標(biāo)志位。IRQF=1,已發(fā)生IRQ中斷,反之未發(fā)生IRQ中斷。該位只讀。D2—ACK位:IRQ中斷請(qǐng)求應(yīng)答位。該位只寫,讀出總是0。D1—IMASK位:IRQ中斷屏蔽位。IMASK=1,禁止IRQ中斷;IMASK=0,允許IRQ中斷。D0—MODE位:IRQ邊沿/低電平觸發(fā)模式選擇位。MODE=1,IRQ#引腳負(fù)跳變及低電平中斷,MODE=0,IRQ#引腳僅負(fù)跳變中斷。

12.3中斷

斷點(diǎn)模塊(breakmodule,BRK)可以在設(shè)定的地址處產(chǎn)生一個(gè)中斷,該中斷稱為斷點(diǎn)中斷(Breakinterrupt),它使CPU中止當(dāng)前程序的執(zhí)行而進(jìn)入斷點(diǎn)中斷服務(wù)程序。斷點(diǎn)中斷可由下述2種方式引起:①程序計(jì)數(shù)器PC值與斷點(diǎn)地址寄存器的內(nèi)容相匹配時(shí)產(chǎn)生斷點(diǎn)中斷。②用軟件向斷點(diǎn)狀態(tài)與控制寄存器BRKSCR的BRKA位寫1時(shí)產(chǎn)生斷點(diǎn)中斷。當(dāng)斷點(diǎn)中斷發(fā)生后,CPU在結(jié)束當(dāng)前指令后,將一條SWI指令裝入內(nèi)部指令寄存器作為下一條指令執(zhí)行。這樣就如同發(fā)生一個(gè)軟件中斷,斷點(diǎn)中斷向量地址是$FFFC和$FFFD,與軟件中斷SWI指令產(chǎn)生的中斷是同一個(gè)中斷向量地址。實(shí)際上,即使是調(diào)試工具的開發(fā)也極少單獨(dú)使用SWI指令,而是設(shè)置斷點(diǎn)中斷產(chǎn)生SWI中斷,在中斷例程中,將當(dāng)前MCU工作狀態(tài)發(fā)送給PC機(jī)。從編程角度,斷點(diǎn)模塊BRK涉及斷點(diǎn)狀態(tài)控制寄存器BRKSCR(BreakStatusandControlRegister)與16位斷點(diǎn)地址寄存器(BRKH、BRKL)。

12.3.3斷點(diǎn)模塊BRK與軟件中斷SWI

《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件返回12.3中斷12.4復(fù)位與系統(tǒng)集成模塊《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件12.4.1

復(fù)位

復(fù)位使MCU進(jìn)入到開始狀態(tài),從復(fù)位向量地址($FFFE~$FFFF)取得即將開始執(zhí)行程序的地址,由此地址開始執(zhí)行。(1)從是否上電來看,分為上電復(fù)位與熱復(fù)位:上電復(fù)位是指原來芯片并未加電(處于所謂冷狀態(tài)),給芯片加電后,芯片復(fù)位。熱復(fù)位是指芯片本來就處于上電狀態(tài),由于內(nèi)部或外部原因引起的復(fù)位,復(fù)位后,MCU迅速停止當(dāng)前正在執(zhí)行的指令,有關(guān)寄存器恢復(fù)到復(fù)位狀態(tài)值,從地址$FFFE~$FFFF取出兩字節(jié)的復(fù)位向量送到程序計(jì)數(shù)器PC。

(2)從引起復(fù)位的信號(hào)來看,有外部復(fù)位與內(nèi)部復(fù)位:外部復(fù)位是指邏輯低電平加到芯片的引腳一段時(shí)間后所產(chǎn)生的復(fù)位。IRQ#引腳也是內(nèi)部復(fù)位的輸出端。內(nèi)部復(fù)位是指芯片的內(nèi)部復(fù)位源將芯片的引腳拉低32個(gè)CGMXCLK周期所產(chǎn)生的復(fù)位。

12.4復(fù)位與系統(tǒng)集成模塊時(shí)鐘生成器產(chǎn)生一個(gè)時(shí)鐘信號(hào)輸出到SIM來產(chǎn)生系統(tǒng)時(shí)鐘,這個(gè)時(shí)鐘信號(hào)可以來自外部振蕩器,也可以來自內(nèi)部鎖相環(huán)電路,可分3種情況:①在用戶模式下,內(nèi)部總線的頻率可以是晶體振蕩器的輸出(CGMXCLK)或鎖相環(huán)電路輸出(CGMVCLK)的4分頻;②當(dāng)上電復(fù)位模塊或者低電壓禁止模塊產(chǎn)生復(fù)位信號(hào)時(shí),CPU內(nèi)部時(shí)鐘保持復(fù)位狀態(tài)直到經(jīng)過4096個(gè)CGMCLK時(shí)鐘。在這期間,引腳被SIM設(shè)置為低。內(nèi)部總線也在4096個(gè)CGMCLK時(shí)鐘之后開始工作;③在WAIT模式下,CPU時(shí)鐘并不工作,SIM為其他模塊提供時(shí)鐘。

《嵌入式應(yīng)用技術(shù)基礎(chǔ)教程》課件

2)SIM和時(shí)鐘生成器為CPU提供各種時(shí)鐘信號(hào)。12.4復(fù)位與系統(tǒng)集成模塊(2)SIM復(fù)位狀態(tài)寄存器(SIMResetStatusRegister-SRSR)12.4.2

系統(tǒng)集成模塊SIMSRSR的地址是:$FE01,定義為:

數(shù)據(jù)位D7D6D5D4D3D2D1D0定義PORPINCOP

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論