陳小米 張 浩
(中國(guó)船舶重工集團(tuán)公司第七一二研究所,武漢 430064)
艦船車鐘記錄儀是用于自動(dòng)記錄艦船航行和控制過(guò)程中的一些重要數(shù)據(jù),如駕控室車令、集控室或機(jī)艙回令、螺旋槳轉(zhuǎn)速等。在艦船發(fā)生重大海損或事故后,車鐘記錄儀可作為事故原因分析調(diào)查的重要依據(jù)之一,即是俗稱的“船上黑匣子”。在平時(shí)的航行中也可通過(guò)其記錄的運(yùn)行數(shù)據(jù)記錄考察艦船的運(yùn)行狀況[1]。
隨著技術(shù)的發(fā)展,許多現(xiàn)代化艦船操縱系統(tǒng)已采用了計(jì)算機(jī)控制及網(wǎng)絡(luò)通訊技術(shù),船舶的車令及運(yùn)行數(shù)據(jù)的記錄方式也發(fā)生了很大改變。本文通過(guò)采用基于 ARM9的硬件平臺(tái),以嵌入式WinCE操作系統(tǒng)為軟件平臺(tái),研制了一種通過(guò)液晶屏提供豐富圖形化人機(jī)界面、便于調(diào)試及操作的新型艦船車鐘記錄儀[2]。
為了保證車鐘記錄儀的高性能,硬件系統(tǒng)采用韓國(guó)三星公司研發(fā)S3C2410A處理器,該處理器是的一款基于ARM9內(nèi)核ARM9TDMI架構(gòu)的16/32位高性能微處理器。它片上集成了豐富的外設(shè)資源:獨(dú)立16KB數(shù)據(jù)緩存和16KB指令緩存、存儲(chǔ)器管理單元、LCD控制器、NAND FLASH接口、系統(tǒng)管理功能、3通道串口、4通道DMA控制器、4通道帶PWM 的定時(shí)器、I/O接口、實(shí)時(shí)時(shí)鐘(RTC)、8通道10位分辨率ADC、LCD接口、IIC總線、IIS總線、USB接口、SD接口、2通道SPI接口和鎖相環(huán)等。因此,可以基于該處理器構(gòu)建一個(gè)功能強(qiáng)大的系統(tǒng)[3]。
在充分利用S3C2410A片上資源的基礎(chǔ)上,本文設(shè)計(jì)的車鐘記錄儀主要實(shí)現(xiàn)了以下四個(gè)功能:數(shù)據(jù)采集、數(shù)據(jù)保存、數(shù)據(jù)打印、人機(jī)界面顯示和設(shè)置,如圖1所示。
其中數(shù)據(jù)采集功能用于獲取主令車鐘信號(hào)、應(yīng)急車鐘信號(hào)及推進(jìn)螺旋槳轉(zhuǎn)速信號(hào);
數(shù)據(jù)保存功能主要將采集的各種指令信號(hào)保存起來(lái),保證在掉電情況下數(shù)據(jù)仍然能夠長(zhǎng)期保持,并擴(kuò)展了支持1G容量SD卡的接口;
數(shù)據(jù)打印功能主要通過(guò)一臺(tái)微型熱敏打印機(jī)實(shí)現(xiàn),由觸摸屏控制,隨時(shí)打印保存的數(shù)據(jù);
人機(jī)界面功能主要由一塊3.5英寸LCD觸摸屏組成,可以實(shí)時(shí)顯示采集的車令及轉(zhuǎn)速信息,在線對(duì)車鐘記錄儀功能做出相關(guān)的設(shè)置。
記錄儀每隔 20s(采樣時(shí)間可以通過(guò)觸摸屏在線設(shè)置)就分別對(duì)主令車鐘信號(hào)、應(yīng)急車鐘信號(hào)車鐘及推進(jìn)螺旋槳轉(zhuǎn)速進(jìn)行實(shí)時(shí)采集。由于上述信號(hào)均為4~20 A電流信號(hào),而A/D轉(zhuǎn)換器采集接收的是電壓信號(hào),所以在主控板中專門設(shè)計(jì)了相應(yīng)的信號(hào)調(diào)理電路,如圖2所示。
根據(jù)總體施工規(guī)劃,降水井布設(shè)于隧道兩側(cè),距離隧道外邊線約8 m,位于盾構(gòu)施工影響的三倍洞徑范圍內(nèi),盾構(gòu)機(jī)在推進(jìn)過(guò)程中會(huì)不可避免地?cái)_動(dòng)周圍地層,使得地層發(fā)生擠壓和變形等。由于水泥管剛度低于鋼管,水泥管的抗彎、抗拉、抗壓強(qiáng)度,以及接頭側(cè)向受力更是明顯低于鋼管,在盾構(gòu)推進(jìn)過(guò)程中可能出現(xiàn)井管局部錯(cuò)位變形的可能,進(jìn)而導(dǎo)致不能正常降水甚至降水井損壞。
經(jīng)過(guò)信號(hào)調(diào)理電路的轉(zhuǎn)換和濾波后輸出0~3.3 V的電壓信號(hào),再經(jīng)片上ADC轉(zhuǎn)換器傳至S3C2410A處理器進(jìn)行處理。
圖2 主控板信號(hào)調(diào)理電路圖
在記錄儀主控板上,擴(kuò)展了 32M 的 NAND FLASH作為程序存儲(chǔ)器,用來(lái)存儲(chǔ)ARM WinCE操作系統(tǒng)以及應(yīng)用程序。同時(shí),設(shè)計(jì)擴(kuò)展32M的SDRAM 作為系統(tǒng)的內(nèi)存。同時(shí)利用該芯片豐富的外設(shè)接口,可以方便地進(jìn)行外部設(shè)備的擴(kuò)展,本系統(tǒng)為了異地讀取數(shù)據(jù)的方便,特意擴(kuò)展了SD卡接口,用來(lái)將采集到的各種數(shù)據(jù)保存到容量為1G的SD卡中,從而實(shí)現(xiàn)了大容量存儲(chǔ)。
為了提高記錄儀打印功能的可靠性,本文采用了市場(chǎng)上成熟的SPRT-DIIIB微型熱敏打印機(jī)。它體積小、重量輕、支持國(guó)標(biāo)GB2312的24*24點(diǎn)陣字庫(kù)打印,擁有標(biāo)準(zhǔn)的 10線針型扁平電纜插座,與RS232C標(biāo)準(zhǔn)兼容。由于S3C2410A處理器上已經(jīng)集成了3個(gè)串口通道,記錄儀利用上面的通道1作為與微型熱敏打印機(jī)的通訊接口。
S3C2410A處理器內(nèi)部集成了液晶顯示屏(LCD)控制器,本系統(tǒng)在此基礎(chǔ)上外接一快SHARP公司的65526色320×240分辨率的3.5英寸的帶觸摸屏的LCD,為友好的圖形界面做好了硬件基礎(chǔ)。
觸摸屏采用的是四線電阻式觸摸屏,觸摸屏的控制采用專用控制器ADS7843芯片。
本文采用嵌入式WinCE操作系統(tǒng)平臺(tái),利用Embedded Visual C++5.0工具基于模塊化的思想開發(fā)了車鐘記錄儀的軟件程序。對(duì)在Windows CE操作系統(tǒng)下程序的構(gòu)成主要分三個(gè)層次:首先是啟動(dòng)程序,然后是的各種驅(qū)動(dòng)程序,最后是應(yīng)用程序,三者缺一不可。軟件程序的層次如圖3所示[4]。
啟動(dòng)程序的功能主要是根據(jù)記錄儀硬件平臺(tái)的需要進(jìn)行Windows CE操作系統(tǒng)的定制,生成操作系統(tǒng)鏡像。創(chuàng)建一個(gè)功能完善的 Boot Loader,是開發(fā)WinCE系統(tǒng)的第一步。
圖3 基于WinCE的記錄儀軟件層次圖
Windows CE的驅(qū)動(dòng)程序有兩種模型:本機(jī)設(shè)備驅(qū)動(dòng)程序和接口設(shè)備驅(qū)動(dòng)程序。本機(jī)設(shè)備驅(qū)動(dòng)程序由原始設(shè)備制造商創(chuàng)建的,用以驅(qū)動(dòng)如鍵盤、觸摸屏、音頻設(shè)備等。接口設(shè)備驅(qū)動(dòng)程序則是由第三方生產(chǎn)商提供,以支持添加到系統(tǒng)的設(shè)備。WinCE下的設(shè)備驅(qū)動(dòng)程序在與應(yīng)用程序相同的保護(hù)級(jí)上工作。當(dāng)系統(tǒng)啟動(dòng)時(shí),大多數(shù)驅(qū)動(dòng)程序是由設(shè)備管理進(jìn)程加載的,所有的這些啟動(dòng)程序?qū)⒐蚕硗粋€(gè)進(jìn)程地址空間。本文中主要編寫了以下驅(qū)動(dòng)程序:
(1)本地實(shí)時(shí)時(shí)鐘驅(qū)動(dòng):實(shí)時(shí)時(shí)間模塊;
(2)LCD驅(qū)動(dòng):用于圖形顯示操作界面,人機(jī)交互顯示;
(3)本地存儲(chǔ)器驅(qū)動(dòng):存儲(chǔ)內(nèi)核鏡像,文件系統(tǒng)鏡像,數(shù)據(jù)庫(kù)等,掉電保留;
(4)移動(dòng)存儲(chǔ)器驅(qū)動(dòng):SD卡驅(qū)動(dòng);
(5)微型打印機(jī)驅(qū)動(dòng):打印機(jī)驅(qū)動(dòng)程序設(shè)計(jì)。
在應(yīng)用程序中,根據(jù)系統(tǒng)的功能,本文主要編制了以下子程序:
(1)A/D轉(zhuǎn)換和數(shù)字濾波子程序:采用多次復(fù)用采集,進(jìn)行A/D轉(zhuǎn)換,并編制相應(yīng)的數(shù)字濾波程序,實(shí)現(xiàn)軟件的抗干擾;
(2)數(shù)據(jù)處理和存儲(chǔ)子程序:將采集的數(shù)據(jù)按順序存入FLASH中,并標(biāo)定時(shí)間記錄;
(3)串行通信子程序:按照約定的數(shù)據(jù)幀格式,實(shí)現(xiàn)與熱敏打印機(jī)的數(shù)據(jù)單向傳送;
(4)GUI顯示處理子程序:實(shí)現(xiàn)參數(shù)和采集數(shù)據(jù)的顯示,以及觸摸程序的識(shí)別和處理,完成與觸摸屏的雙向數(shù)據(jù)交換。其中,人機(jī)交互界面,主要由三部分組成:主界面、功能界面、子功能界面。
本文就基于ARM硬件平臺(tái)和WinCE操作系統(tǒng)艦船車鐘記錄儀的功能和設(shè)計(jì)進(jìn)行了詳細(xì)的論述。充分利用嵌入式ARM芯片處理強(qiáng)大的運(yùn)算能力和豐富的接口功能,集成度高、抗擾性能好等優(yōu)點(diǎn),以及利用C++語(yǔ)言在Embedded Visual C++5.0環(huán)境下開發(fā)應(yīng)用軟件的便捷性,成功構(gòu)建一個(gè)圖形界面友好,操作方便,集數(shù)據(jù)采集、顯示、打印于一體的車鐘記錄系統(tǒng),具有很好的發(fā)展前景,滿足了今后艦船航行記錄的要求。
[1]陶勇, 龍飛等. TCJ-1型通用車鐘記錄儀的研制. 船電技術(shù)[J], 2007(1), 31-33.
[2]孫秀強(qiáng), 宋延民. 單片機(jī)在通用船舶車鐘記錄儀中的應(yīng)用[J].天津職業(yè)技術(shù)師范學(xué)院學(xué)報(bào), 2001(2),23-26.
[3]陳方亮, 王勁等. 一種基于C8051F020單片機(jī)和TL16C554串行通信接口的車鐘記錄儀[J]. 船電技術(shù), 2007(增刊), 52-55.
[4]屈博, 楊耿煌等. 基于ARM9 Linux的手持電能質(zhì)量分析儀[J]. 電子測(cè)量技術(shù), 2007(8), 94-98.
[5]繆兵. 基于ARM9內(nèi)核的嵌入式檢測(cè)系統(tǒng)設(shè)計(jì)[J].儀表技術(shù)與傳感器, 2010(1), 70-73.