相關(guān)鏈接: 中國安全網(wǎng) 中國質(zhì)量網(wǎng) 中國論文網(wǎng) 中國資訊網(wǎng)
作者:鄭曉敏
便攜式儀器的諸多優(yōu)點也給研制工作帶來了困難。在按要求完成主要功能的同時必須具有體積小、功耗低等特點;在不損失性能的前提下,對系統(tǒng)的集成性提出要求;同時考慮到便攜式儀器的使用環(huán)境多為工業(yè)現(xiàn)場和野外等情況,對它的電磁兼容性、穩(wěn)定性、可靠性也有更高要求。
對于體積和功耗都有極高要求的便攜式儀器,嵌入式操作系統(tǒng)提供了很多附加功能,減小了系統(tǒng)的有效空間,縮短了開發(fā)周期,節(jié)約了開發(fā)成本,使便攜式儀器朝著高速度、高精度、高集成度、低功耗、高抗損壞性、便攜性、多外圍接口的方向迅速發(fā)展。
本文所設(shè)計的便攜式射線源具有控制系統(tǒng)任務(wù)多、實時性強、安全可靠性高、功能多等特點,采用基于ARM最新Codex-M3內(nèi)核的STM32 F103作為主控芯片,移植μc/os-Ⅱ嵌入式操作系統(tǒng)作為整體設(shè)計方案。重點分析如何通過基于實時操作系統(tǒng)編程的方法實現(xiàn)整個控制系統(tǒng)所有的功能。
1 系統(tǒng)設(shè)計
整個系統(tǒng)由兩大部分組成:硬件層、軟件層,其中軟件層包括實時操作系統(tǒng)和應(yīng)用軟件程序編寫。硬件層電路主要包括上電復(fù)位電路、存儲電路、LCD驅(qū)動電路、RS485通信電路、按鍵輸入電路、聲光預(yù)警電路、D/A輸出電路、PWM驅(qū)動輸出電路等。操作系統(tǒng)層是整個系統(tǒng)上層控制和下層硬件的連接紐帶,系統(tǒng)中各功能主要有:存取外部存儲器中已保存的各項數(shù)據(jù)、驅(qū)動LCD顯示、數(shù)據(jù)采集、數(shù)據(jù)處理、驅(qū)動信號輸出、聲光預(yù)警、設(shè)定值保護(hù)、人機交互操作、與上位機通信等。這些功能按要求被分成幾組任務(wù),操作系統(tǒng)負(fù)責(zé)這些任務(wù)調(diào)度。
2硬件設(shè)計
硬件原理框圖如圖1所示,其中核心控制芯片采用STM32F103VC。
2.1主控芯片STM32
STM32系列微處理器是意法半導(dǎo)體推出的高性能32位以Cortex-M3為內(nèi)核的面向工業(yè)控制的處理器。Cortex-M3內(nèi)核是ARM公司推出的最新的基于ARMv7構(gòu)架的面向微控制領(lǐng)域的處理器內(nèi)核。本設(shè)計中共用了14個中斷。
STM32F103VC工作頻率為72 MHz,內(nèi)置高速存儲器。豐富的I/O端口和外設(shè),包括3個12位的ADC,提供15個采樣通道和多種采樣模式;擁有12通道DMA控制器,4個通用16位定時器和2個PWM定時器;具有多種標(biāo)準(zhǔn)和先進(jìn)的通信接口;采用LQFPIOO封裝,提供80個GPIO,除了模擬輸入I/O,其他管腳可以承受5V信號輸入。功耗低,在72 MHz時消耗36 mA(所有外設(shè)處于工作狀態(tài)),待機時下降到2 μA。另外,STM32 F103微處理器內(nèi)部有一個SysTick定時器,應(yīng)用此定時器可在需要移植的操作系統(tǒng)中實現(xiàn)時鐘中斷,方便μc/os-Ⅱ的移植。本便攜式儀器控制系統(tǒng)共用了6路A/D采樣通道、1個SPI通信接口、2個定時器、2個PWM定時器、1個USART通信接口,加上其他控制信號量共用到了60個1/0口。選擇此款處理器不僅能完全滿足本系統(tǒng)要求,也為儀器的擴展升級打下了基礎(chǔ)
2.2各功能模塊設(shè)計
鍵盤模塊采用薄膜按鍵構(gòu)成獨立鍵盤,電路上每個按鍵直接連接到STM32的I/O引腳上,程序上采用中斷的方式讀人鍵值;LCD選用8位并行數(shù)據(jù)傳輸接口的藍(lán)白單色屏;為便于便攜式X射線源與其他安全檢查系統(tǒng)部件組合擴展,通信模塊選用芯片MAX3488構(gòu)成全雙工的RS-485通信接口。由于高壓干擾因素,儀器工作時直接從高壓電路取樣所得到的高壓、束流信號并不是穩(wěn)定直流信號,而是隨著大功率驅(qū)動輸出波形變化的信號。為了能得到更強的有效直流信號,加入了一階低通濾波電路并改變?nèi)与娮璞壤,使得取樣信號值在?guī)定范圍內(nèi)盡量大;并在軟件上根據(jù)信號波形特點選取合適的采樣周期,采用中位值平均濾波算法最終得到穩(wěn)定真實的高壓、束流采樣數(shù)字值。
存儲芯片選用單片機監(jiān)控芯片X25043。聲光預(yù)警、射線開關(guān)信號通過達(dá)林頓晶體管陣列驅(qū)動芯片ULN2003輸出;D/A輸出模塊選用帶反饋電壓輸出的4路12位D/A轉(zhuǎn)換器DAC8412。系統(tǒng)的溫度傳感器要直接放在源內(nèi),距高壓發(fā)生電路近,要求溫度傳感器的抗干擾能力很強,通過分析、實驗后最終采用型號為MF528103 G3950的NTC熱敏電阻。
高壓功率驅(qū)動電路采用脈寬調(diào)制和推挽驅(qū)動相結(jié)合的方式。射線源高壓驅(qū)動頻率必須調(diào)整到最佳值以確保驅(qū)動電路效率最高。高壓驅(qū)動電路的頻率調(diào)整不佳或相位漂移是造成射線源信號不穩(wěn)或故障的原因之一。本文設(shè)計的X射線源由于工作參數(shù)需要在較寬范圍內(nèi)變化,以適應(yīng)不同的應(yīng)用場合,因此其工作參數(shù)不固定、功率輸出變化范圍寬,存在頻率調(diào)整問題。本設(shè)計通過大量實驗得到射線源在不同高壓、束流下驅(qū)動諧振頻率值,然后創(chuàng)建一個二維數(shù)據(jù)表并利用STM32內(nèi)部定時器的PWM波功能最終實現(xiàn)了在不同工作參數(shù)狀態(tài)下諧振頻率的自動調(diào)整輸出。
3軟件層設(shè)計
3.1μC/OS-Ⅱ實時操作系統(tǒng)
μc/os-n實時操作系統(tǒng)的內(nèi)核結(jié)構(gòu)如圖2所示。
μc/os-n是由Labrosse編寫的一個源碼公開、可移植、可固化、可裁剪、占先式實時多任務(wù)操作系統(tǒng)。卜LC/OS-II操作系統(tǒng)將各種功能劃分為一個個任務(wù),每個任務(wù)相對獨立,可以定義多達(dá)64個任務(wù),足夠一般系統(tǒng)使用。任務(wù)之間以及任務(wù)與中斷服務(wù)程序之間可以調(diào)用信號量、消息郵箱、消息隊列、延時等系統(tǒng)服務(wù)來實現(xiàn)彼此通信和同步。這一切由操作系統(tǒng)統(tǒng)一調(diào)度,分配資源,協(xié)調(diào)各個任務(wù)的運行。某一個任務(wù)出現(xiàn)問題也不會導(dǎo)致整個系統(tǒng)癱瘓,從而提高了系統(tǒng)的可靠性。同時,實時操作系統(tǒng)的移植使整個系統(tǒng)更加容易更新以及擴展新的功能,提高了系統(tǒng)的開放性和開發(fā)效率。
3.2應(yīng)用軟件程序
為了使用戶方便地訪問STM32的各標(biāo)準(zhǔn)外設(shè),并使用它們的所有特性,ST公司提供了免費的軟件包.固件庫。通過使用固件庫,無需深入掌握細(xì)節(jié),就可以應(yīng)用每一個外設(shè),大大減少用戶的程序編寫時間,進(jìn)一步降低開發(fā)成本。本系統(tǒng)在底層硬件驅(qū)動程序編寫中使用了STM32FlOxxx標(biāo)準(zhǔn)外設(shè)庫(StdPeriph-Lib)V3.0.0。程序首先對系統(tǒng)時鐘、中斷和所用到的標(biāo)準(zhǔn)外設(shè)等進(jìn)行配置,然后對X25043、LCD、DAC-8412等功能模塊進(jìn)行初始化,板級驅(qū)動配置完成之后進(jìn)行μc/os-n的初始化。
程序主要部分流程圖如圖3所示。
本控制系統(tǒng)共劃分了4個任務(wù):通信任務(wù),優(yōu)先級為4;射線工作控制任務(wù),優(yōu)先級為5;液晶屏顯示任務(wù),優(yōu)先級為6;循環(huán)檢查任務(wù),優(yōu)先級為7。軟件結(jié)構(gòu)框圖如圖4所示。
本文采用外部中斷的方式來觸發(fā)等待狀態(tài)的各項任務(wù),通過郵箱的機制完成任務(wù)間通信。各任務(wù)具體描述如下。
3. 2.1通信任務(wù)
該任務(wù)實現(xiàn)了安全檢查系統(tǒng)中上位機對X射線源的完全控制。當(dāng)控制系統(tǒng)接收到上位機發(fā)送的指令后,系統(tǒng)進(jìn)入串口中斷,在串口中斷服務(wù)子程序中向通信任務(wù)的郵箱發(fā)送消息,使其進(jìn)入就緒狀態(tài)然后運行。上位機可以向便攜式X射線源控制系統(tǒng)發(fā)送各種指令,從而實現(xiàn)遠(yuǎn)程操作控制。系統(tǒng)所采用的RS485通信方式與現(xiàn)有的安檢系統(tǒng)各部件間的通信方式一致,易于產(chǎn)品集成。
3.2.2射線工作控制任務(wù)
該任務(wù)由按鍵或定時器TIM4中斷觸發(fā),任務(wù)首先根據(jù)高壓、束流值查找二維數(shù)據(jù)表送出合適的驅(qū)動頻率,并將用戶輸入的高壓、束流值進(jìn)行一定轉(zhuǎn)換。當(dāng)“開始鍵”按下,TIM4啟動計時,束流值通過DAC8412送出,同時蜂鳴器、指示燈以頻率l嗚叫閃爍進(jìn)行X射線發(fā)射前預(yù)警。預(yù)警時間到后,X射線使能控制信號、高壓信號送出開始發(fā)射X射線,此時蜂鳴器、指示燈以頻率2嗚叫閃爍,警示正在發(fā)射X射線。當(dāng)X射線發(fā)射一段時間到達(dá)所設(shè)定的“曝光時間”時,TIM4再次觸發(fā)射線工作控制任務(wù),該任務(wù)通過對標(biāo)志位的判定來關(guān)閉X射線的發(fā)射。
3.2.3 LCD顯示任務(wù)
該任務(wù)主要由按鍵中斷觸發(fā)。系統(tǒng)會根據(jù)鍵值和菜單號的不同在LCD上顯示不同的內(nèi)容,從而使操作者能更加直觀地對射線源的一些工作參數(shù)進(jìn)行設(shè)置,并查看工作狀態(tài)的。該任務(wù)同時實現(xiàn)了LCD背景燈開關(guān)控制及喚醒功能。
3.2.4循環(huán)檢查任務(wù)
該任務(wù)由定時器TIM3每500 ms調(diào)用一次。所執(zhí)行任務(wù)包括:射線發(fā)射時、射線停止時采樣系統(tǒng)溫度、高壓、束流、電池電壓等數(shù)據(jù)。當(dāng)采樣值與設(shè)定值相比出現(xiàn)異常時,立即采取相應(yīng)動作如不同頻率的聲光報警、LCD文字提示等。當(dāng)便攜式X射線源出現(xiàn)嚴(yán)重錯誤時,控制系統(tǒng)會禁止用戶再次發(fā)射X射線;對“看門狗”進(jìn)行“喂狗”,以防止程序“跑非”或者死機;通過判定標(biāo)志位對工作參數(shù)、射線源總工作時間等關(guān)鍵數(shù)據(jù)進(jìn)行存儲。
4結(jié)束語
嵌入式系統(tǒng)的應(yīng)用,改變了以往儀器系統(tǒng)的設(shè)計思路,它使儀器系統(tǒng)的結(jié)構(gòu)更加緊湊,模塊化更加明顯,有利于硬件的移植和軟件的再升級。本文以具有ARM Cortex-M3內(nèi)核的32位微處理器STM32F103VC為控制核心設(shè)計系統(tǒng)外圍硬件電路,移植實時操作系統(tǒng)μC/OS-II進(jìn)行系統(tǒng)編程。系統(tǒng)充分利用μC/OS-II和STM32系列微處理器結(jié)合的優(yōu)勢,不僅實現(xiàn)了所需的各項功能,并且運行穩(wěn)定、安全、可靠。
目前,便攜式X射線源作為安檢系統(tǒng)中的一個重要模塊已經(jīng)開始使用。使用中發(fā)現(xiàn),在野外等特殊工作環(huán)境中,整個安檢系統(tǒng)各模塊之間如單靠有線通信方式連接不便于各模塊的移動、連接等,如果在各模塊上增加無線通信方式如WiFi,不僅可省去連接通信信的麻煩,也會增加用戶現(xiàn)場操作的安全性。在后期產(chǎn)品改進(jìn)中,將充分發(fā)揮本系統(tǒng)易升級、易擴展等優(yōu)點,加入無線通信模塊豐富其功能。
5摘要:在分析研究了便攜式儀器裝置控制系統(tǒng)的特點及要求后,采用基于ARM最新Codex-M3內(nèi)核的STM32F103作為主控芯片,移植μc/os-Ⅱ嵌入式操作系統(tǒng)作為整體設(shè)計方案,重點分析了如何通過采用實時操作系統(tǒng)編程的方法實現(xiàn)儀器所有系統(tǒng)功能。該方案應(yīng)用于某種便攜式射線源,采用分任務(wù)、分模塊設(shè)計思路,實現(xiàn)關(guān)鍵數(shù)據(jù)采集、存儲,工作參數(shù)可調(diào),驅(qū)動相位自動調(diào)整,按鍵,LCD顯示,RS-485通信等系統(tǒng)功能。應(yīng)用實驗結(jié)果證明,在便攜式儀器設(shè)計中采用微控制器操作系統(tǒng)是一種很好的選擇。
上一篇:一種新型禽蛋檢測與裝箱自動化裝置
下一篇:返回列表