增強(qiáng)型脈沖捕獲模塊eCAP_第1頁(yè)
增強(qiáng)型脈沖捕獲模塊eCAP_第2頁(yè)
增強(qiáng)型脈沖捕獲模塊eCAP_第3頁(yè)
增強(qiáng)型脈沖捕獲模塊eCAP_第4頁(yè)
增強(qiáng)型脈沖捕獲模塊eCAP_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2016“”第九講:增強(qiáng)型脈沖捕獲模塊eCAPeCAP1 1、脈沖捕獲基本原理、脈沖捕獲基本原理2 2、F28335 F28335 增強(qiáng)型增強(qiáng)型CAPCAP3 3、捕獲單元的、捕獲單元的APWMAPWM操作模式操作模式4 4、CAPCAP寄存器介紹寄存器介紹5 5、手把手教你、手把手教你-CAP-CAP捕獲信號(hào)發(fā)生器信號(hào)邊捕獲信號(hào)發(fā)生器信號(hào)邊沿沿“” “事無(wú)巨細(xì),無(wú)非因果”,輸入對(duì)輸出有著非常重要的影響。脈沖量的輸入是在數(shù)字控制系統(tǒng)中最常見(jiàn)的一類輸入量,控制器專門設(shè)置了脈沖捕獲模塊(eCAP)來(lái)處理脈沖量,通過(guò)脈沖捕獲模塊捕獲脈沖量的上升沿與下降沿,進(jìn)而可以計(jì)算脈沖的寬度和占空比,可以采用脈沖

2、信號(hào)進(jìn)行相關(guān)控制。 捕獲單元模塊能夠捕獲外部輸入引腳的邏輯狀態(tài)(電平的高或低、電平翻轉(zhuǎn)時(shí)的上升沿或下降沿),并利用內(nèi)部定時(shí)器對(duì)外部事件或者引腳狀態(tài)變化進(jìn)行處理。典型應(yīng)用如下:1.電機(jī)測(cè)速;2.測(cè)量脈沖電平寬度;3.測(cè)量一系列脈沖占空比和周期;4.電流/電壓傳感器的PWM編碼信號(hào)的解碼。脈沖捕獲基本原理脈沖捕獲基本原理圖9.1“” 控制器給每個(gè)捕獲單元模塊都分配一個(gè)捕獲引腳,在捕獲引腳上輸入待測(cè)脈沖波形,捕獲模塊會(huì)捕獲到指定捕獲的邏輯狀態(tài),如圖9.1中的下降沿,捕獲單元記錄下定時(shí)器的時(shí)間,兩個(gè)下降沿間的時(shí)間差就是脈沖周期,同理也可以捕獲脈沖的上升沿,計(jì)算上升沿與下降沿之間的時(shí)間差就可以獲得占空比

3、,所以捕獲單元可以用于測(cè)量脈沖周期以及脈沖的寬度。在一些數(shù)字脈沖測(cè)速場(chǎng)合,如電機(jī)的常見(jiàn)測(cè)速方法之一,在電機(jī)某個(gè)固定位置通過(guò)光電傳感器發(fā)出一個(gè)脈沖,每周一個(gè)脈沖,兩個(gè)脈沖之間的時(shí)間,就是電機(jī)的轉(zhuǎn)速。在一些精確控制的場(chǎng)合中,一周當(dāng)然不止發(fā)出一個(gè)脈沖,這取決于傳感器(光電編碼器)的選型與性能。脈沖捕獲基本原理脈沖捕獲基本原理“”F28335 F28335 增強(qiáng)型增強(qiáng)型CAPCAPF28335共有6組eCAP模塊,每個(gè)eCAP不但具有捕獲功能,而且還可用作PWM輸出功能。F28335捕獲模塊的主要特征如下:1. 150MHz系統(tǒng)時(shí)鐘的情況下,32位時(shí)基的時(shí)間分辨率為6.67ns;2. 4組32位的時(shí)間

4、標(biāo)志寄存器;3. 4級(jí)捕獲事件序列,可以靈活配置捕獲事件邊沿極性;4. 四級(jí)觸發(fā)事件均可以產(chǎn)生中斷;5. 軟件配置一次捕獲可以最多得到4個(gè)捕獲時(shí)間;6. 可連續(xù)循環(huán)4級(jí)捕獲;7. 絕對(duì)時(shí)間捕獲;8. 不同模式的時(shí)間捕獲;9. 所有捕獲都發(fā)生在一個(gè)輸入引腳上;10. 如果eCAP模塊不作捕獲使用,可以配置成一個(gè)單通道輸出的PWM模式。eCAP模塊中一個(gè)捕獲通道完成一次捕獲任務(wù),需要以下關(guān)鍵資源:1、專用捕獲輸入引腳;2、32位時(shí)基(計(jì)數(shù)器);3、4*32位時(shí)間標(biāo)簽捕獲寄存器; 4、4級(jí)序列器,與外部eCAP引腳的上升/下降沿同步;5、4個(gè)事件可獨(dú)立配置邊沿極性;6、輸入捕獲信號(hào)預(yù)定標(biāo)(2-62)

5、;7、一個(gè)2位的比較寄存器,一次觸發(fā)后可以捕獲4個(gè)時(shí)間標(biāo)簽事件;8、采用4級(jí)深度的循環(huán)緩沖器以進(jìn)行連續(xù)捕獲;9、4個(gè)捕獲事件中任意一個(gè)都可以產(chǎn)生中斷。見(jiàn)圖9.2“”F28335 F28335 增強(qiáng)型增強(qiáng)型CAPCAP圖9.2“”F28335 F28335 增強(qiáng)型增強(qiáng)型CAPCAP 事件分頻(預(yù)定標(biāo)) 可以對(duì)一個(gè)輸入的捕捉信號(hào)進(jìn)行分頻系數(shù)為N=262的分頻,這在輸入信號(hào)頻率很高的時(shí)候非常有用。其框圖和信號(hào)波形分別如圖9.3和圖9.4所示。圖9.4圖9.3“”F28335 F28335 增強(qiáng)型增強(qiáng)型CAPCAP邊沿極性選擇 四個(gè)獨(dú)立的邊沿極性選擇器,每個(gè)捕獲事件可以設(shè)置不同的邊沿極性; 每個(gè)邊沿事

6、件由MODULE4序列發(fā)生器進(jìn)行事件量化 通過(guò)Mod4計(jì)數(shù)器將邊沿事件鎖存到相應(yīng)的Cap寄存器中,Cap寄存器工作在下降沿。連續(xù)/單次控制2位的Mod4計(jì)數(shù)器對(duì)相應(yīng)的邊沿捕獲事件遞增計(jì)數(shù)(CEVT1-CEVT4)Mod4計(jì)數(shù)器循環(huán)計(jì)數(shù)(0-1-2-3-0),直至停止工作。在單次模式下,一個(gè)2位的停止寄存器與Mod4計(jì)數(shù)器的輸出值進(jìn)行比較,如果等于停止寄存器的值,Mod4計(jì)數(shù)器將不再計(jì)數(shù),并且阻止CAP1-CAP4寄存器加載數(shù)值。 連續(xù)/單次模塊通過(guò)單次控制方式控制Mod4計(jì)數(shù)器的開(kāi)始、停止和復(fù)位,這種單次控制方式由比較器的停止值觸發(fā),可通過(guò)軟件進(jìn)行強(qiáng)制控制。 在單次控制的時(shí)候,eCAP模塊等待

7、N(1-4)個(gè)捕捉事件發(fā)生,N的值為停止寄存器的值。一旦N值達(dá)到后,MOD4計(jì)數(shù)器和CAP寄存器的值都被凍結(jié)。如果向CAP控制寄存器ECCTL2中的單次重加載RE-ARM位寫(xiě)入1后,Mod4計(jì)數(shù)器就會(huì)復(fù)位并從凍結(jié)狀態(tài)恢復(fù)作用,同時(shí)如果將CAP控制寄存器ECCTL1中CAP寄存器加載使能CAPLDEN位置1,那么CAP1-CAP4寄存器會(huì)再次加載新值。 在連續(xù)模式下,Mod4計(jì)數(shù)器持續(xù)工作(0-1-2-3-0),捕捉值在一個(gè)環(huán)形緩沖里按順序不斷的寫(xiě)入CAP1-CAP4。圖9.5為連續(xù)/單次控制框圖。圖9.5“”F28335 F28335 增強(qiáng)型增強(qiáng)型CAPCAP 32位計(jì)數(shù)器與相位控制 計(jì)數(shù)器為

8、事件捕獲提供時(shí)基,其時(shí)鐘信號(hào)為系統(tǒng)時(shí)鐘的分頻。通過(guò)軟件或硬件強(qiáng)制,可以用相位寄存器與其他計(jì)數(shù)器同步。在APWM模式中,這個(gè)相位寄存器在模塊之間需要相位差時(shí)很有用。在四個(gè)捕捉事件的數(shù)值加載中,可以選擇復(fù)位這個(gè)32位計(jì)數(shù)器,這點(diǎn)對(duì)時(shí)間偏差捕捉很有用。首先32位計(jì)數(shù)器的值被捕獲到,然后被LD1-LD4中任意一個(gè)信號(hào)復(fù)位為0。其工作原理框圖如圖9.6所示。圖9.6“” CAP1-CAP4寄存器通過(guò)32位的定時(shí)/計(jì)數(shù)器總線加載數(shù)值,當(dāng)相應(yīng)的捕獲事件發(fā)生時(shí),CTR0-31值加載到相應(yīng)的CAP寄存器中。 通過(guò)控制CAP控制寄存器ECCTL1CAPLDEN位可以阻止捕捉寄存器數(shù)值的加載。在單次模式下,一個(gè)停止

9、信號(hào)產(chǎn)生的時(shí)候(StopValue=Mod4)該位被自動(dòng)清除(不加載)。 在APWM模式下CAP1與CAP2寄存器為有效的周期寄存器和比較寄存器;CAP3與CAP4寄存器相對(duì)CAP1與CAP2寄存器為獨(dú)立的影子寄存器(APRD與ACMP)。 中斷控制 捕捉事件的發(fā)生(CEVT1-CEVT4,CTROVF)或者APWM事件的發(fā)生(CTR=PRD,CTR=CMP)都將會(huì)產(chǎn)生中斷請(qǐng)求。 這些事件中的任一個(gè)事件都可以被選作中斷源(從eCAPx模塊中)連到PIE。 中斷使能寄存器(ECEINT)用于使能/屏蔽中斷源。中斷標(biāo)志寄存器(ECFLG)包含中斷事件標(biāo)志和全局中斷標(biāo)志位(INT)。 如果相應(yīng)的中斷

10、事件使能標(biāo)志位為1,INT標(biāo)志位為0,那么一個(gè)中斷脈沖就會(huì)告知PIE。 在其他的中斷脈沖產(chǎn)生之前,在中斷服務(wù)程序里必須通過(guò)中斷清除寄存器(ECCLR)清除全局中斷標(biāo)志和相應(yīng)的中斷事件。通過(guò)強(qiáng)制中斷寄存器(ECFRC)可以強(qiáng)制發(fā)生某個(gè)中斷事件,這個(gè)在測(cè)試的時(shí)候比較有用。 注意:CEVT1、CEVT2、CEVT3、CEVT4標(biāo)志工作在捕捉模式(ECCTL2CAP/APWM=0);CTR=PRD,CTR=CMP標(biāo)志工作在APWM模式(ECCTL2CAP/APWM=1);CNTOVF標(biāo)志在兩種模式下都可工作。F28335 F28335 增強(qiáng)型增強(qiáng)型CAPCAP“”如果eCAP模塊不用作捕獲輸入,可以將

11、它用來(lái)產(chǎn)生一個(gè)單通道的PWM。計(jì)數(shù)器工作在計(jì)數(shù)增模式,可以提供時(shí)基能產(chǎn)生不同占空比的PWM。CAP1與CAP2寄存器作為主要的周期和比較寄存器,CAP3與CAP4寄存器作為周期和比較寄存器的影子寄存器,其原理框圖如圖9.7所示。捕獲單元的捕獲單元的APWMAPWM操作模式操作模式圖9.7“”時(shí)間計(jì)數(shù)器不斷與2個(gè)32位的比較寄存器比較。CAP1與CAP2用作周期與比較寄存器。與影子寄存器APRD、ACMP(CAP3、CAP4)配合形成雙緩沖機(jī)制。如果選擇立即模式,只要數(shù)據(jù)寫(xiě)入影子寄存器,影子寄存器的值就會(huì)立即加載到CAP1或者CAP2寄存器;如果選擇周期加載模式,在CTR=PRD的時(shí)候,影子寄存

12、器的值就會(huì)加載到CAP1或者CAP2寄存器。寫(xiě)數(shù)值到有效寄存器CAP1/2后,數(shù)值也將寫(xiě)到各自相應(yīng)的影子寄存器CAP3/4里。在初始化的時(shí)候,周期值與比較值必須寫(xiě)到有效寄存器CAP1與CAP2,模塊會(huì)自動(dòng)復(fù)制初始化數(shù)值到影子寄存器中。在之后的數(shù)據(jù)更改時(shí),只需要使用影子寄存器就可以了。APWM產(chǎn)生波形如圖9.8所示。捕獲單元的捕獲單元的APWMAPWM操作模式操作模式圖9.8“”下面進(jìn)行實(shí)例講解。“”第一:捕獲外部信號(hào),可以設(shè)置為捕捉信號(hào)的上升還是下降沿,該功能一般最常用;“”第二:計(jì)算外部方波信號(hào)的周期和占空比,在這里可以分別對(duì)CAP1、CAP2、CAP3和CAP4上升沿或下降沿動(dòng)作進(jìn)行設(shè)置,

13、當(dāng)外部信號(hào)和當(dāng)前CAPx設(shè)置一致時(shí),并將當(dāng)前CTR值賦給CAPx寄存器。這樣,可以根據(jù)四個(gè)CAPx寄存器里面的值,進(jìn)行捕獲的方波信號(hào)周期和占空比的計(jì)算。另外,CTR的變化模式取決于ECap6Regs.ECCTL1.bit.CTRRSTx的設(shè)置,如果為0,則動(dòng)作匹配時(shí),不復(fù)位CTR,將一直往上增加,直至溢出;如果為1,則動(dòng)作匹配時(shí),復(fù)位CTR?!啊比绻粋€(gè)程序當(dāng)中,四個(gè)CAPx均用到的話,假如:CAP1:上升沿CAP2:下降沿CAP3:上升沿CAP4:下降沿“”對(duì)于輸入信號(hào),第一上升沿時(shí),CAP1動(dòng)作,并且產(chǎn)生CEVT1事件(如果該事件中斷使能的話,則可以進(jìn)入中斷),同時(shí)將CTR數(shù)加載到CPA

14、1中;接下來(lái),下降沿時(shí),CAP2動(dòng)作,并且產(chǎn)生CEVT2事件(如果該事件中斷使能的話,則可以進(jìn)入中斷),同時(shí)將CTR數(shù)加載到CAP2中;再接下來(lái),上升沿時(shí),CAP3動(dòng)作,并且產(chǎn)生CEVT3事件(如果該事件中斷使能的話,則可以進(jìn)入中斷),同時(shí)將CTR數(shù)加載到CAP3中;再接下來(lái),下降沿時(shí),CAP4動(dòng)作,并且產(chǎn)生CEVT4事件(如果該事件中斷使能的話,則可以進(jìn)入中斷),同時(shí)將CTR數(shù)加載到CAP4中;接下來(lái)在從CAP1往返動(dòng)作。這時(shí)在一個(gè)循環(huán)里,可以利用四個(gè)CAPx里面的值進(jìn)行周期和占空比的計(jì)算。“”如果,程序不需要計(jì)算輸入信號(hào)的周期和占空比,那么可能只要用到一個(gè)CAPx,這時(shí)就更簡(jiǎn)單了。(如下面

15、覺(jué)得例子),這時(shí)CTR可以不運(yùn)行(ECap6Regs.ECCTL2.bit.TSCTRSTOP = EC_FREEZE),CAPx寄存器加載也可以禁止(ECap6Regs.ECCTL1.bit.CAPLDEN = EC_DISABLE;)。“”以上2個(gè)其實(shí)均為CAP口捕獲功能,對(duì)應(yīng)的I/O口為輸入。ECAP口另外一個(gè)功能是產(chǎn)生APWM,和上述2個(gè)有很大的差別,對(duì)應(yīng)的I/O口為輸出。由于上面2個(gè)比較常用,特別是第一個(gè),所以接下來(lái),對(duì)設(shè)置CAP口為捕獲功能的配置進(jìn)行相關(guān)說(shuō)明,以Ecap為例:“”首先要設(shè)置GPIO引腳:EALLOW;GpioCtrlRegs.GPAPUD.bit.GPIO1 = 0

16、; / Enable pull-up on GPIO1 (CAP6)/ GpioCtrlRegs.GPBPUD.bit.GPIO49 = 0; / Enable pull-up on GPIO49 (CAP6)/ Inputs are synchronized to SYSCLKOUT by default./ Comment out other unwanted lines.GpioCtrlRegs.GPAQSEL1.bit.GPIO1 = 0; / Synch to SYSCLKOUT GPIO1 (CAP6)/ GpioCtrlRegs.GPBQSEL2.bit.GPIO49 = 0;

17、/ Synch to SYSCLKOUT GPIO49 (CAP6)GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 2; / Configure GPIO1 as CAP6/ GpioCtrlRegs.GPBMUX2.bit.GPIO49 = 1; / Configure GPIO49 as CAP6EDIS;“”Ecap6的外部信號(hào)輸入引腳,可以選擇GPIO1或GPIO49?!啊逼浯?,初始化功能寄存器設(shè)置:ECap6Regs.ECEINT.all = 0 x0000; / Disable all capture interruptsECap6Regs.ECCLR.all =

18、 0 xFFFF; / Clear all CAP interrupt flagsECap6Regs.ECCTL1.bit.CAPLDEN = EC_DISABLE; / Disable CAP1-CAP4 register loadsECap6Regs.ECCTL2.bit.TSCTRSTOP = EC_FREEZE; / Make sure the counter is stopped“”/ Configure peripheral registersECap6Regs.ECCTL2.bit.CAP_APWM = EC_CAP_MODE; /CAP modeECap6Regs.ECCTL2

19、.bit.CONT_ONESHT = EC_ONESHOT; / One-shotECap6Regs.ECCTL2.bit.STOP_WRAP = EC_EVENT1; / Stop at 1 eventsECap6Regs.ECCTL1.bit.CAP1POL = EC_FALLING; / Falling edge 其中,ECap6Regs.ECCTL2.bit.REARM這位決定ECAP口能否多次捕捉,外部信號(hào)的邊沿。如果在中斷響應(yīng)函數(shù)里面沒(méi)有“ECap6Regs.ECCTL2.bit.REARM = 1;”語(yǔ)句,則該ECAP口以后不響應(yīng)信號(hào)邊沿中斷;如果為有“ECap6Regs.ECCTL2.bit.REARM = 1;”語(yǔ)句,則該ECAP口可以繼續(xù)響應(yīng)下一次中斷?!啊盓CAP可以產(chǎn)生以下幾個(gè)中斷:CTR = CMPCTR = PRD - 針對(duì)APWM功能CTROVFCEVT4CEVT3CEVT2CEVT1 - ECAP口,CAPx對(duì)應(yīng)的動(dòng)作匹配“”最后,外部PIE和CPU中斷使能。DINT;EALLOW; / This is needed to write to EALLOW protected registersPieVectTable.ECA

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論