国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Cortex M0+的超低功耗多路高精度數(shù)字頻率測量儀的設計

2015-05-30 10:48王靜鄭暉暉
科技資訊 2015年27期
關鍵詞:高精度

王靜 鄭暉暉

摘 要:該文設計的頻率測量儀選用通用的集成前端處理電路,從超低功耗高精度著手,其核心控制模塊為當前最新推出的微功耗ARM Cortex M0+處理器,主要是利用其多路高速定時器/計數(shù)器功能完成在單位時間內(nèi)頻率的計算工作,并利用信號整形和放大電路完成對待測信號的處理。測量得到的值,采用動態(tài)顯示的方式通過LED顯示器顯示出來。

關鍵詞:高精度 微功耗 頻率測量儀 ARM Cortex M0+

中圖分類號:TN 915.6 文獻標識碼:A 文章編號:1672-3791(2015)09(c)-0055-02

隨著科學技術和計算機技術的快速發(fā)展,頻率的測量顯得越來越重要,測量頻率的方法也日趨多樣,在測量性能提升的同時,設計的成本與復雜度也不斷提高。而頻率測量儀器功能也從單一的頻率測量,變得更豐富。

該文所設計的頻率測量儀選用通用的集成前端處理電路,從超低功耗高精度著手,其核心控制模塊為當前最新推出的微功耗ARM Cortex M0+處理器,主要是利用其多路高速定時器/計數(shù)器功能完成在單位時間內(nèi)頻率的計算工作,并利用信號整形和放大電路完成對待測信號的處理。測量得到的值,采用動態(tài)顯示的方式通過LED顯示器顯示出來。

1 基于Cortex M0+的功能模塊電路設計

Cortex M0+控制模塊、LED數(shù)碼管顯示器模塊、信號發(fā)生與調理模塊、計數(shù)模塊、電源模塊等構成了數(shù)字顯示的頻率測量儀。

高精度頻率測量儀,需要自制信號源,并能夠正常輸出正弦波、方波、三角波,故選用精密函數(shù)發(fā)生器ICL8038。

該設計使用LED顯示電路,頻率計數(shù)顯示要精確到小數(shù)點后面2位,因此需要有4個LED顯示器,又綜合考慮CPU的處理速度和電源的使用效率等其它因素,該設計的頻率測量儀采用動態(tài)顯示方式,該設計的計數(shù)電路由74LS290構成。

信號的放大、整形電路是將其他信號如正弦波、三角波信號轉換成脈沖信號,這個功能是靠施密特觸發(fā)器或者單穩(wěn)態(tài)觸發(fā)器來完成的。

該電路使用集成芯片LTC3638、CN302實現(xiàn)電源充放電的管理,對鋰電池進行充電,鋰電池的飽和電壓為4.2 V。通過設置LTC3638的外圍電路將LTC3638的輸出電壓設置為4.2 V。

2 基于UC/OS II的嵌入式軟件設計

2.1 軟件設計規(guī)劃

2.1.1系統(tǒng)移植

該設計將在MCU中移植UC/OS II(Micro Control Operation System Two),進行任務調度,實現(xiàn)實時2路頻率的測量、顯示。

2.1.2信號處理

頻率計開始工作以及頻率測量的過程,需要對程序進行初始化操作。除了包含中斷控制初始化和定時器/計數(shù)器控制模式初始化過程外,還包括初始化堆棧指針(SP)和通用工作寄存器。

2.1.3中斷控制

中斷控制是當CPU執(zhí)行相應的程序,Cortex M0+接收到中斷源的中斷響應信號,使Cortex M0+停止當前任務,執(zhí)行能夠引起響應的中斷服務程序,當中斷服務程序執(zhí)行完畢后,回到剛才暫停程序的位置,繼續(xù)執(zhí)行相應的程序。

2.2 系統(tǒng)資源

Cortex M0+處理器采用了三級流水線的馮·諾伊曼結構(Von Neumann architecture)。它是基于一個32位處理器的內(nèi)核,特點是集成度高、而且功耗非常低。

2.3 系統(tǒng)移植

2.3.1 Cortex M0+的啟動代碼

啟動代碼包括:初始化堆棧,初始化異常向量表,定義異常入口函數(shù)及復位異常響應代碼。

2.3.2 Systick啟動

在移植系統(tǒng)之前,我們需要先啟動Systick異常,啟動的目的是為系統(tǒng)提供一個可以使系統(tǒng)能夠處理延時或者超時等與時間有關的事件的周期性的信號源。

(1)Systick使能與優(yōu)先級分配。

在內(nèi)核啟動之后,可進行Systick異常的使能和優(yōu)先級分配。

(2)Systick異常處理函數(shù)。

Systick異常處理函數(shù)每次響應時都調用了OSTimeTick。OSTimeTick做了兩件事情:一是給OSTime加1,二是將等待任務的剩余時間值減1,并將等待時間為0的任務進入就緒狀態(tài),運行其最高優(yōu)先級任務。

2.3.3 OS初始化和啟動

在OS啟動時,需要根據(jù)內(nèi)核的不同進行任務堆棧的初始化,多任務的啟動。

(1)任務堆棧初始化。

(2)多任務的啟動。

(3)MSP與PSP切換。

2.3.4 任務切換

(1)任務切換函數(shù)OSCtxSw。

任務切換函數(shù)OSCtxSw作用就是保存被中止運行任務的斷點和恢復待運行任務的斷點并啟動它。因此這個函數(shù)中主要是一系列的壓棧和出棧操作。

(2)中斷任務切換函數(shù)OSIntCtxSw。

OS在完成中斷服務程序后,并不一定回到被中斷的任務,而是進行一次中斷調度來決定是返回被中斷任務還是調用一個更高優(yōu)先級任務。而此刻函數(shù)OSIntCtxSw是用來完成任務切換工作。該函數(shù)一般用在中斷服務程序的末尾,它的作用是用來保護被中止運行程序的斷點,如果已經(jīng)在中斷服務程序的前段完成了此工作的話,那么它的工作只是恢復待運行任務的斷點。

2.4 多中斷處理

(1)優(yōu)先級定義。

(2)中斷編號定義與中斷使能。

(3)優(yōu)先級分配。

(4)多中斷響應程序編寫。

(5)多中斷響應問題小結。

①中斷響應啟動HardFault_Handler異常。

②中斷嵌套后并未返回運行系統(tǒng)。

2.5 應用層總體設計

本設計其主程序流程圖如圖1所示。

2.6 部分關鍵子程序算法

2.6.1 中斷檢測

可采用同步法測量。

2.6.2 數(shù)碼轉化

因為Cortex M0+測量頻率的結果是以10進制的形式顯示出來的,但是測量的數(shù)據(jù)是以2進制的形式計算,并以16進制的形式存儲在RAM里的,所以在顯示之前還需要將數(shù)據(jù)進行轉換。

2.6.3 數(shù)碼顯示

顯示程序分為7種模式,分別對應6組不同數(shù)據(jù)范圍的高位或低位消隱,以及一種錯誤模式顯示。display00子函數(shù)為小數(shù)點后兩位顯示程序,當測量數(shù)據(jù)小于1 000時,對小數(shù)顯示程序進行調用,使測量結果顯示兩位小數(shù)。

為了確保系統(tǒng)能工作正常,就要對電路重要部分仿真,即我們把波形整形電路、分頻電路進行了仿真,Proteus軟件是非常好的Cortex M0+的仿真軟件。我們采用安捷倫33 500B任意波形發(fā)生器作為標準信號輸入,進行系統(tǒng)測量精度的測試,最后我們還要進行誤差分析、系統(tǒng)噪聲控制、系統(tǒng)功耗分析。

參考文獻

[1] 史坡,廉德宇,沈昱明,等.一種精確頻率測量儀設計[J].儀器儀表學報,2006,27(S2):1532-1533.

[2] 何錚,周娜.智能家居基于 Cortex M3/M0的感知與控制子網(wǎng)設計[J].單片機與嵌入式系統(tǒng)應用,2014(12):25-27.

[3] 朱錦明.基于Cortex-M0+內(nèi)核的KE02微控制器的應用研究[D].蘇州大學,2014.

[4] 張如芹.Cortex-M0單片機二—十進制整數(shù)轉換的快速算法[J].單片機與嵌入式系統(tǒng)應用,2013,13(7):32-33.

猜你喜歡
高精度
高抗擾高精度無人機著艦縱向飛行控制
船載高精度星敏感器安裝角的標定
基于高精度測角的多面陣航測相機幾何拼接
高精度免熱處理45鋼的開發(fā)
高精度VLBI技術在深空探測中的應用
DFD-1500I高精度自動檢重秤