基于ATmega128和μC/OS-II的在線鈉離子分析儀的設(shè)計(jì)
4.4 人機(jī)接口
采用TFT3224真彩液晶顯示器,支持256色顯示,帶有觸摸屏功能,改變了以往單一顏色顯示、按鍵操作的風(fēng)格。觸摸屏接口器件選用ADS7846,它具有同步串行接口的12位取樣模數(shù)轉(zhuǎn)換器。此外測量值經(jīng)串口遠(yuǎn)程傳輸?shù)娇刂剖摇?
5 軟件設(shè)計(jì)
8位單片機(jī)為核心的測控系統(tǒng)程序一般采用前后臺方式編寫,后臺運(yùn)行一個大的無限循環(huán),前臺為多個中斷,在這種方式中,中斷服務(wù)程序提供的信息一直要等到后臺程序運(yùn)行到處理該信息時才能得到處理,所以在處理信息的及時性上這種系統(tǒng)要比實(shí)際做到的差,而且代碼編寫復(fù)雜,增加功能時任務(wù)量大,不便于維護(hù)。因此采用μC/OS-II操作系統(tǒng)。
5.1 嵌入式實(shí)時操作系統(tǒng)μC/OS-Ⅱ
μC/OS-II是一個完整的,開源的,可移植、固化、裁剪的占先式實(shí)時多任務(wù)內(nèi)核。程序量,僅7~8K,絕大部分代碼采用ANSI C編寫.便于移植。其穩(wěn)定性與安全性方面已經(jīng)過美國聯(lián)邦航空管理局認(rèn)證。
使用μC/OS設(shè)計(jì)軟件系統(tǒng)首先要實(shí)現(xiàn)μC/OS在硬件應(yīng)用平臺上的移植,主要就是完成對OS_CPU_C.C,OS_CPU_A.ASM等多個與處理器相關(guān)文件的改寫,在μC/OS的官方網(wǎng)站有在數(shù)十種處理器上移植成功的范例,可以免費(fèi)下載,這里不再詳細(xì)介紹。
基于μC/OS-II編寫應(yīng)用程序比較簡單,首先根據(jù)系統(tǒng)功能合理劃分任務(wù),確定任務(wù)間的通信機(jī)制。每個任務(wù)都是相對獨(dú)立的子模塊,有唯一的優(yōu)先級和自己的堆棧空間。每個任務(wù)處于以下5種狀態(tài)的一種:休眠態(tài)、就緒態(tài)、運(yùn)行態(tài)、掛起態(tài)及被中斷態(tài)。內(nèi)核在一個定時中斷函數(shù)中查詢進(jìn)入就緒態(tài)中的優(yōu)先級最高的任務(wù),然后把當(dāng)前任務(wù)掛起,保存現(xiàn)場,執(zhí)行該任務(wù)。各個任務(wù)間根據(jù)信號量、消息郵箱、隊(duì)列等通信方式傳遞信息。
5.2 任務(wù)劃分
基于μC/OS-II編寫應(yīng)用程序主要的工作是劃分任務(wù)和分配優(yōu)先級及任務(wù)之間信息的傳遞。設(shè)計(jì)中,將整個系統(tǒng)劃分為:①數(shù)據(jù)處理與顯示;②菜單顯示任務(wù);③串口通信任務(wù)。A/D中斷:AD7714的定時中斷;觸摸屏中斷:點(diǎn)擊觸摸屏觸發(fā)外部中斷。軟件設(shè)計(jì)如圖4所示。
在AD7714的A/D定時中斷服務(wù)中發(fā)送消息,數(shù)據(jù)處理及顯示任務(wù)接收到消息后,把消息中的A/D數(shù)據(jù)經(jīng)過公式推導(dǎo),轉(zhuǎn)換成相應(yīng)的鈉含量并顯示。
在觸摸屏中斷處理函數(shù)中發(fā)送消息給菜單任務(wù),菜單任務(wù)接收到消息中的坐標(biāo)值后,進(jìn)行判斷并顯示相應(yīng)的菜單界面。串口通信任務(wù)把測量值經(jīng)過串口遠(yuǎn)傳到控制室。
6 結(jié)語
系統(tǒng)創(chuàng)新性在于將高性能微處理器MEGA128和新器件AD7714首次應(yīng)用于水質(zhì)監(jiān)測信號采集。同時移植μC/OS-II操作系統(tǒng)。系統(tǒng)硬件電路簡潔可靠,功耗低、可靠性高。軟件實(shí)時性好,便于擴(kuò)展功能。將此分析儀與進(jìn)口儀表進(jìn)行對照實(shí)驗(yàn),數(shù)據(jù)如表1所示。
由表1數(shù)據(jù)可知,該分析儀的測量精度接近進(jìn)口儀表。通過與國家標(biāo)準(zhǔn)比對,分析儀的各項(xiàng)指標(biāo)已符合國標(biāo),可作為在線式儀表用于水質(zhì)鈉離子含量的連續(xù)檢測。
評論