999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

STM32的頻率采集方法在實時操作系統的應用

2021-03-11 03:34:18呂新張博劉志堅王瑞闞京波
電子技術與軟件工程 2021年21期
關鍵詞:設置方法系統

呂新 張博 劉志堅 王瑞 闞京波

(中車大連機車研究所有限公司 遼寧省大連市 116000)

STM32F4 系列是意法公司基于arm 內核的中端產品,擁有數量較多的通用定時器[1],及DMA 通道。針對捕獲頻率方法,通用定時器擁有豐富的配置方案。

工控系統中,頻率采集是一項基本功能。頻率輸入量一般為PWM 波或者正弦波樣式,通過硬件光耦轉換為高低電平。軟件計算頻率方法根據ST 系統配置模式的不同,會稍有區別。但為了精度要求,都要滿足奈奎斯特采樣定律,在大于10 倍采樣頻率才會有較高的精度[2]。對于一般捕獲模式及計頻方法,通過電平變化時間差,計算頻率;對與PWM 輸入捕獲模式,只需要設置定時器采樣頻率,計數上升沿或者下降沿數量,可計算出頻率,通過DMA模式,不中斷實時系統的任務,很大程度減輕系統的工作量。

1 控制方案

1.1 捕獲采樣

配置定時器模式為捕獲模式,捕獲上升、下降沿時間,若捕獲周期過低,則會存在N 次溢出,就需要對可能溢出次數預估,做出判斷。如圖1所示,若定時器周期為T,t1 時刻計數值CNT1,t2 時刻捕獲值為CNT2,兩次捕獲值相減,需要注意,加上溢出次數,否則會丟失頻率。若預分頻設為0,自動重裝值設為T,計算公式為CNT1>CNT2 時,(CNT1-CNT2) * N*T,若CNT1<CNT2 時,計算公式為N*T-CNT2 +CNT1。

圖1:捕獲采樣原理

捕獲采樣面臨的問題是,定時器的周期設置不能過小,否則采樣精度會下降。此時中斷會對系統任務有很大影響,尤其當多通道采集頻率時,實時任務響應不及時的現象時有發生,CPU 占用率高。

1.2 計頻方式

計頻模式是利用STM32 自帶的ETR 引腳計算脈沖數,捕獲步驟如圖2所示,設置為向上計數器,分頻一般設置為0 即可,濾波器在這里設置為5 次濾波,設置為外部計數模式2。

圖2:計頻方式時鐘原理圖

可以利用實時系統時間鉤子函數,每隔N 毫秒中斷一次并讀取計數,兩次相減即為N 毫秒的計數值cnt,再算出次數cout = 1000/N,頻率即為cnt * cout。

捕獲模式的問題是,為了采集精度,計數值計算需要頻繁中斷累加計數值,頻率采集和實時系統會互相影響,CPU 占用率高。

1.3 PWM輸入捕獲DMA方法

DMA 是直接通過外設到內存的處理模式,廣泛應用于高速信號處理相關領域[3],在本方法中主要發生在捕獲采樣階段,通過FIFO 不斷刷新內存緩沖數組中的數據,避免了CPU 被占用過多的資源,PWM 輸入捕獲以定時器1 通道為例,如圖3所示,通過濾波器,設置為5 次,邊沿檢測通過配置設置,一般設置為上升沿,本次利用從控制器的捕獲控制。一般PWM 輸入捕獲有兩個通道,分別為TI1FP1 和TI2FP2,利用其中一個計算頻率,另一個計算占空比。通過定時器DMA 相應通道傳輸數據。捕獲計數為cnt,根據PWM 輸入捕獲的模式方法,與捕獲方法的最大不同為,每一個新周期cnt 重新清零。定時器時鐘周期為F,則頻率為F/cnt。

圖3:PWM 輸入捕獲方法模塊原理圖

PWM 輸入捕獲獲DMA 傳輸方法的問題是,數據DMA 中采集有一定波動,需要利用中值濾波進行濾波。

2 方案的具體實施

2.1 捕獲采樣的實現

利用通用定時器配置計數周期,根據引腳外圍定義設置IC 通道,設置相關的IC 捕獲屬性。同時配置NVIC 中斷管理器相關優先級,使能定時器的捕獲中斷配置信息。在中斷中計算兩次上升沿計數差值,在實時系統fi 任務中對頻率量作中值濾波[4]。計算頻率具體核心配置代碼如下:

TIMx_ICInitStructure.TIM_Channex = TIM_Channel_x;

TIMx_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;

TIMx_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI;

TIMx_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;

TIMx_ICInitStructure.TIM_ICFilter = 0x00;

TIM_ICInit(TIMx, &TIMx_ICInitStructure);

2.2 計頻方式的實現

根據引腳定義,初始化相關引腳為外部捕獲引腳,系統設置定時器參數,預分頻設置為0,周期設置為0xffff,模式為外部時鐘模式2.需根據采樣精度需要設置定時器中斷,本設計中利用系統自帶時間鉤子函數,在鉤子函數中對外部捕獲(時鐘)信息計數,精度精確到1HZ。在實時系統fi 任務中對相鄰的兩次計數值相減,對此值累加1000 次,即為周期數。

2.3 PWM輸入捕獲DMA方法

PWM 輸入捕獲是一種特殊的捕獲方式,也可以說是一種簡化的捕獲方案。定時器配置方案與捕獲采樣基本相同,只需要多配置一個模式選擇,同時根據圖3配置相應時鐘從模式相應參數,如下代碼所示。重點需要考慮DMA 的相關配置。

(1)DMA 配置基本信息;DMA 通道、DMA 外設基準地址、DMA 內存基準地址、DMA 傳輸方向、DMA 傳輸數組大小、數據格式等;

(2)DMA 模式設置為循環模式、FIFO 模式禁止。

(3)使能DMA。

(4)使能相應定時器DMA 請求。

TIM_PWMIConfig(TIMx, &TIMx_ICInitStructure); // 使能PWM 捕獲模式

TIM_SelectInputTrigger(TIMx, TIM_TS_TI1FP1); //選擇輸入捕獲的觸發信號

TIM_SelectSlaveMode(TIM2, TIM_SlaveMode_Reset);// PWM 輸入模式時,從模式必須工作在復位模式,當捕獲開始時,計數器CNT 被復位清零;

TIM_SelectMasterSlaveMode(TIM2,TIM_MasterSlaveMode_Enable);

根據系統的采樣精度要求,系統采樣頻率上限為5000HZ,那么若一個DMA 緩沖區數據長度設置為10,在實時系統fi 任務中周期設置為10ms,讀取一次DMA 的傳輸結果的在一個任務周期中會有50 個周期,若一個fi 任務中周期設置為100ms,讀取一次DMA的傳輸結果的在一個任務周期中會有500 個周期,并在任務中作中值濾波,基本滿足性能要求。

3 實驗驗證

3.1 實時系統CPU占用率及所剩空間實驗

在實時系統中分別建立不同的功能任務,且主要邏輯任務為motor_task,motor_another_task,實時任務在系統運行過程中處于不同的三種狀態[5],在這些任務中調用了fi/fi_detect_task 中的頻率頻率采集值,系統中分別多次調用三種采集方式,為了保證實驗的準確性,剩余部分代碼未變化,計算系統信息參數配置相同。如圖4所示,觀察CPU 剩余堆棧及占用率及變化,可以得到以下結果:

圖4

(1)主要實時主要邏輯任務motor_task 對應上述三種采集方式所剩堆棧數量,可以得到采用中斷捕獲中任務處于阻塞態,剩余堆棧數179;采用計頻方法,任務處于運行態,剩余堆棧數179;采用PWM 輸入捕獲DMA 方式,任務處于運行態,剩余堆棧數187;另一個實時任務motor_another_task,對應上述三種方式,分別為阻塞態,運行態,運行態。所剩堆棧數分別為168,179,187。

(2)主要實時主要邏輯任務motor_task 對應上述三種采集方式運行計數值,可以得到采用中斷捕獲中任務處于阻塞態,任務運行計數為6228;采用計頻方法,任務處于運行態,任務運行計數為3450;采用PWM 輸入捕獲DMA 方式,任務處于運行態,任務運行計數為357;另一個實時任務motor_another_task,對應上述三種方式,分別為阻塞態,運行態,運行態。任務運行計數分別為15276,72941,310。

從上述數據可以看出,使用捕獲采樣中斷方式對CPU 的運行效率影響是最大的,第二是計頻采集方式,對CPU 影響最小的是PWM 輸入捕獲DMA 方法。

3.2 頻率精度實驗

使用頻率信號發生器對三種采樣方式在實時系統中測量分析,數據對比表如表1所示。

表1:頻率測量對比

從表1可以看出,基于PWM 輸入捕獲DMA 采樣值在1kHz以內,相比其他兩種方法有更高的精度,當大于1kHz 小于3kHz 時,小于等于1Hz 的誤差,也基本滿足一般條件工況的測量精度要求,當大約3kHz 時,誤差逐步增大,精度下降。

4 結論

本文提出的PWM 輸入捕獲DMA 方法配合實時系統應用,能夠很大程度的減輕實時系統中對CPU 的資源的占用,提高了系統的實時性響應性,提升了軟件的執行效率;且在一般應用條件下滿足對頻率采集的精度要求。不額外增加頻率采樣器件,減少了額外的硬件成本。

猜你喜歡
設置方法系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 在线国产你懂的| 无码福利视频| 在线观看av永久| 欧美区一区二区三| 久久综合色天堂av| 婷婷综合在线观看丁香| 亚洲伊人久久精品影院| 欧美日韩久久综合| 欧美一级大片在线观看| 久久精品丝袜| 国产成人麻豆精品| 成人在线第一页| 好紧好深好大乳无码中文字幕| 丁香五月激情图片| 亚洲第一视频网| 精品人妻系列无码专区久久| 国产精品美女自慰喷水| 99精品免费在线| 91精品久久久久久无码人妻| 特级做a爰片毛片免费69| 色综合五月| 久久精品娱乐亚洲领先| 国产国拍精品视频免费看| 亚洲av无码牛牛影视在线二区| 国产高清在线观看| 免费不卡视频| 亚洲欧美在线综合一区二区三区| 国产青榴视频在线观看网站| 黄色三级毛片网站| 国产欧美性爱网| 亚洲日韩精品伊甸| 四虎国产精品永久一区| 亚洲成人精品| 日韩成人午夜| 日本国产精品一区久久久| 色哟哟精品无码网站在线播放视频| 欧美在线国产| 国产第一页亚洲| 99这里只有精品6| 日韩福利在线视频| 亚洲欧美一区二区三区蜜芽| 日本一区高清| 最新亚洲av女人的天堂| 国产一区三区二区中文在线| 超清无码一区二区三区| 亚洲一区毛片| 一本久道热中字伊人| 999国产精品永久免费视频精品久久| 99热这里只有精品在线观看| 欧美精品成人一区二区在线观看| 在线国产毛片手机小视频| 国产剧情一区二区| 69av免费视频| 一本综合久久| 欧美在线导航| 欧美亚洲国产日韩电影在线| 国产精品3p视频| 亚洲三级影院| 亚洲欧美日韩另类| 成人免费一级片| 青青国产视频| 欧美亚洲欧美| h视频在线播放| 三级欧美在线| 人妻夜夜爽天天爽| 国产麻豆精品在线观看| 亚洲色图欧美在线| 无码中文AⅤ在线观看| 日韩黄色在线| 热久久这里是精品6免费观看| 欧美视频在线观看第一页| 久久无码av一区二区三区| 99re视频在线| 亚洲A∨无码精品午夜在线观看| 97成人在线视频| 中文字幕乱妇无码AV在线| 亚洲综合二区| 亚洲系列中文字幕一区二区| 欧美色视频日本| 色AV色 综合网站| 中文字幕日韩视频欧美一区| 欧美日韩福利|