STM利用捕獲功能完成脈沖寬測(cè)量解析_第1頁(yè)
STM利用捕獲功能完成脈沖寬測(cè)量解析_第2頁(yè)
STM利用捕獲功能完成脈沖寬測(cè)量解析_第3頁(yè)
STM利用捕獲功能完成脈沖寬測(cè)量解析_第4頁(yè)
STM利用捕獲功能完成脈沖寬測(cè)量解析_第5頁(yè)
已閱讀5頁(yè),還剩9頁(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)介

STM利用捕獲功能完成脈沖寬測(cè)量解析第1頁(yè)/共14頁(yè)簡(jiǎn)介在定時(shí)器中我們介紹了通用定時(shí)器具有多種功能,輸入捕獲就是其中一種。STM32F1除了基本定時(shí)器TIM6和TIM7,其他定時(shí)器都具有輸入捕獲功能。輸入捕獲可以對(duì)輸入的信號(hào)的上升沿,下降沿或者雙邊沿進(jìn)行捕獲,通常用于測(cè)量輸入信號(hào)的脈寬、測(cè)量PWM輸入信號(hào)的頻率及占空比。第2頁(yè)/共14頁(yè)簡(jiǎn)介輸入捕獲的工作原理比較簡(jiǎn)單,在輸入捕獲模式下,當(dāng)相應(yīng)的ICx信號(hào)檢測(cè)到跳變沿后,將使用捕獲/比較寄存器(TIMx_CCRx)來(lái)鎖存計(jì)數(shù)器的值。從而完成一次捕獲。同時(shí)還可以配置捕獲時(shí)是否觸發(fā)中斷/DMA等。第3頁(yè)/共14頁(yè)捕獲原理t1-t2時(shí)間就是我們需要測(cè)量的高電平時(shí)間,假如定時(shí)器工作在向上計(jì)數(shù)模式,測(cè)量方法是:首先設(shè)置定時(shí)器通道x為上升沿捕獲,這樣在t1時(shí)刻,就會(huì)捕獲到當(dāng)前的CNT值,然后立即清零CNT,并設(shè)置通道x為下降沿捕獲,這樣到t2時(shí)刻,又會(huì)發(fā)生捕獲事件,得到此時(shí)的CNT值記為CCRx2。根據(jù)定時(shí)器的計(jì)數(shù)頻率,我們就可以算出t1-t2的時(shí)間第4頁(yè)/共14頁(yè)輸入捕獲配置步驟(1)使能定時(shí)器及端口時(shí)鐘,并設(shè)置引腳模式等。因?yàn)檩斎氩东@也是通用定時(shí)器的一個(gè)功能,所以需要使能相應(yīng)定時(shí)器時(shí)鐘。由于輸入捕獲通道是對(duì)應(yīng)著STM32F1芯片的IO口,所以需要使能對(duì)應(yīng)的端口時(shí)鐘,并將對(duì)應(yīng)IO口設(shè)置為輸入模式功能。第5頁(yè)/共14頁(yè)如果使用TIM5和PA0作為捕獲引腳RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5,ENABLE);//使能TIM5時(shí)鐘而TIM5的CH1通道對(duì)應(yīng)的管腳是PA0GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;//管腳設(shè)置GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD;//設(shè)置下拉輸入模式GPIO_Init(GPIOA,&GPIO_InitStructure);//初始化結(jié)構(gòu)體第6頁(yè)/共14頁(yè)如果使用TIM5和PA0作為捕獲引腳(2)初始化定時(shí)器參數(shù),包含自動(dòng)重裝值,分頻系數(shù),計(jì)數(shù)方式等要使用定時(shí)器功能,必須對(duì)定時(shí)器內(nèi)相關(guān)參數(shù)初始化,其庫(kù)函數(shù)如下:voidTIM_TimeBaseInit(TIM_TypeDef*TIMx,TIM_TimeBaseInitTypeDef*TIM_TimeBaseInitStruct);(3)設(shè)置通用定時(shí)器的輸入捕獲參數(shù),開(kāi)啟輸入捕獲功能初始化定時(shí)器后,需要設(shè)置對(duì)應(yīng)輸入捕獲通道參數(shù),比如輸入通道、濾波、分頻系數(shù)、映射關(guān)系、捕獲極性等。輸入捕獲參數(shù)初始化函數(shù)如下:voidTIM_ICInit(TIM_TypeDef*TIMx,TIM_ICInitTypeDef*TIM_ICInitStruct);第7頁(yè)/共14頁(yè)如果使用TIM5和PA0作為捕獲引腳如果我們需要配置TIM5的通道1為輸入捕獲功能,并且為上升沿捕獲、不分頻、直接映射到TI,可以如下配置:TIM_ICInitTypeDefTIM_ICInitStructure;TIM_ICInitStructure.TIM_Channel=TIM_Channel_1;//通道1TIM_ICInitStructure.TIM_ICFilter=0x00;//濾波TIM_ICInitStructure.TIM_ICPolarity=TIM_ICPolarity_Rising;//捕獲極性TIM_ICInitStructure.TIM_ICPrescaler=TIM_ICPSC_DIV1;//分頻系數(shù)TIM_ICInitStructure.TIM_ICSelection=TIM_ICSelection_DirectTI;//直接映射到TI1TIM_ICInit(TIM5,&TIM_ICInitStructure);第8頁(yè)/共14頁(yè)如果使用TIM5和PA0作為捕獲引腳(4)開(kāi)啟捕獲和定時(shí)器溢出(更新)中斷假如我們需要檢測(cè)輸入信號(hào)的高電平脈寬,就需要在第一次上升沿到來(lái)時(shí)捕獲一次,然后設(shè)置為下降沿捕獲,等到下降沿到來(lái)時(shí)又捕獲一次。如果輸入信號(hào)的高電平脈寬比較長(zhǎng),那么定時(shí)器就可能溢出,所以需要對(duì)定時(shí)器溢出進(jìn)行處理,否則計(jì)算的高電平時(shí)間將不準(zhǔn)。所以需要開(kāi)啟定時(shí)器溢出中斷。第9頁(yè)/共14頁(yè)如果使用TIM5和PA0作為捕獲引腳假如我們要開(kāi)啟TIM5的捕獲中斷和定時(shí)器溢出中斷,調(diào)用函數(shù)如下:TIM_ITConfig(TIM5,TIM_IT_Update|TIM_IT_CC1,ENABLE);(5)設(shè)置定時(shí)器中斷優(yōu)先級(jí),使能定時(shí)器中斷通道在上一步我們已經(jīng)使能了定時(shí)器的捕獲和更新中斷,只要使用到中斷,就必需對(duì)NVIC初始化,NVIC初始化庫(kù)函數(shù)是NVIC_Init()第10頁(yè)/共14頁(yè)如果使用TIM5和PA0作為捕獲引腳(6)編寫(xiě)定時(shí)器中斷服務(wù)函數(shù)最后我們還需要編寫(xiě)一個(gè)定時(shí)器中斷服務(wù)函數(shù),通過(guò)中斷函數(shù)處理定時(shí)器產(chǎn)生的相關(guān)中斷。TIM5中斷函數(shù)名如下:TIM5_IRQHandler因?yàn)槎〞r(shí)器的中斷類(lèi)型有很多,所以進(jìn)入中斷后,我們需要在中斷服務(wù)函數(shù)開(kāi)頭處判斷是哪種類(lèi)型,根據(jù)不同中斷類(lèi)型完成相應(yīng)功能,比如我們需要在捕獲中斷內(nèi)完成捕獲成功記錄,更新中斷內(nèi)完成溢出次數(shù)的累計(jì)。中斷狀態(tài)標(biāo)志位的函數(shù)如下:ITStatusTIM_GetITStatus(TIM_TypeDef*TIMx,uint16_tTIM_IT)第11頁(yè)/共14頁(yè)如果使用TIM5和PA0作為捕獲引腳(7)使能定時(shí)器前面幾個(gè)步驟已經(jīng)將定時(shí)器輸入捕獲配置好,但還不能正常使用,只有開(kāi)啟定時(shí)器了才能讓它正常工作,開(kāi)啟定時(shí)器的庫(kù)函數(shù)如下:voidTIM_Cmd(TIM_TypeDef*TIMx,FunctionalStateNewState);使能TIM5的函數(shù)是TIM_Cmd(TIM5,ENABLE);//開(kāi)啟定時(shí)器第12頁(yè)

溫馨提示

  • 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)論