楊 峰
(河南省水文水資源局,河南 鄭州 450003)
隨著防汛指揮系統(tǒng)、山洪災害預報預警系統(tǒng)以及中小河流水文監(jiān)測項目的實施,水文自動測報系統(tǒng)得以迅速發(fā)展。該系統(tǒng)實現(xiàn)了水文數(shù)據(jù)的自動采集、自動傳輸、自動處理,大大提高了數(shù)據(jù)時效和應用水平。遙測終端機在水文自動測報系統(tǒng)中起關鍵作用,其不僅接收處理傳感器雨量、水位等信息,還承擔向遙測中心站的信息發(fā)送任務。本文綜合考慮水文自動測報系統(tǒng)發(fā)展趨勢和嵌入式系統(tǒng)的廣泛應用,克服目前設備線路設計復雜、片選繁多、功耗大、穩(wěn)定性差等缺點,將基于ARM7的32位微處理器S3C44B0X和實時操作系統(tǒng)μC/OS-Ⅱ相結(jié)合,分別采用GPRS和全球移動通信系統(tǒng)(global system of mobile communication,GSM)作為主通道和備用信道,設計開發(fā)了新的遙測終端機。
系統(tǒng)的硬件平臺主要由微處理器單元、存儲器單元、GPRS單元、外部傳感器單元、串口通信單元、JTAG接口、USB接口以及LCD顯示等部分組成,系統(tǒng)整體結(jié)構框圖如圖1所示。
圖1 遙測終端機整體結(jié)構圖Fig.1 Overall structure of the telemetry terminal
根據(jù)系統(tǒng)需要,選擇的外圍芯片如表1所示。
表1 系統(tǒng)外圍芯片Tab.1 The peripheral chips of the system
S3C44B0X具有以下特點:最高運行頻率為66 MHz,內(nèi)核電壓為2.5 V,支持多種低功耗模式,并帶有8 kB的Cache/SRAM;地址空間被分為8個Bank,每個Bank最大32 MB,共256 MB;豐富的外圍功能包括存儲器控制器、中斷控制器和8個外部中斷源、LCD控制器、2通道 UART(通用異步收發(fā)器)、2通道DMA、IIC、IIS(集成音頻接口)、5通道定時器、1 通道內(nèi)部定時器、PLL(鎖相環(huán))、看門狗、71個通用I/O以及帶日歷功能的實時鐘等。
GPRS采用分組交換,資源共享;按流量收費,接入時間短;覆蓋范圍遍布城鄉(xiāng),信號質(zhì)量好;傳輸速率較高,理論上可以達到171.2 kbit/s,且傳輸時延小、系統(tǒng)性能穩(wěn)定[1],能夠較好地滿足水文自動測報系統(tǒng)建設的要求。GPRS通信模塊是遙測終端機的重要成分,負責將雨水情況及設備信息發(fā)送給中心站,并接收來自中心站的指令信息。
系統(tǒng)選用西門子公司生產(chǎn)的MC39i作為GPRS通信模塊。MC39i主要由射頻天線、內(nèi)部Flash、SRAM、GSM基帶處理器、匹配電源和40腳ZIF插座組成[2]。
通信過程中,只需將GPRS模塊與S3C44B0X微處理器接收引腳(RX)和發(fā)送引腳(TX)交叉互連即可,通過串口進行連接。
采集雨量信息、水位信息的設備采用目前比較成熟的反斗式雨量計和浮子式水位計,還可以加入墑情傳感器、地下水傳感器等。
S3C44B0X接口設計主要包括RS-232串口、RS-485接口、USB接口和CAN總線接口。
S3C44B0X的UART單元提供了兩個獨立的異步串行I/O口。RS-232接口利用S3C44B0X的UART0實現(xiàn),使用MAX235實現(xiàn)電平隔離和轉(zhuǎn)換;RS-485接口使用S3C44B0X的UART1實現(xiàn),外接MAX485,完成TTL電平與RS-485電平的轉(zhuǎn)換和數(shù)據(jù)收發(fā)[3]。由于S3C44B0X中沒有集成CAN控制器,因此,需要外接CAN控制器才能實現(xiàn)CAN通信[4]。
S3C44B0X微處理器沒有USB接口,需要通過設備端接口芯片(Philips公司 PDISUBD12)擴展一個USB的設備接口。
由于S3C44B0X只有兩個串口,因此需要選用設備(Ti公司TLl6C554)設計電路擴充串口。
以太網(wǎng)在本系統(tǒng)中作為可選通信方式。以太網(wǎng)接口電路是為了滿足采用有線方式上網(wǎng)的需求,通過瑞昱公司RTL8019AS來實現(xiàn)。
S3C44B0X芯片提供了LCD控制器,因此只要把LCD接口相關管腳與CPU相應管腳連接即可。S3C44B0X的內(nèi)部LCD控制器支持多種LCD屏,具體LCD類型可通過特殊功能寄存器進行配置。
為了實現(xiàn)友好的人機交互功能,控制器中設計了鍵盤電路。該電路共有10個數(shù)字鍵、26個字母鍵、4個方向鍵和1個確定鍵。這41個按鍵結(jié)合屏幕顯示,實現(xiàn)設置參數(shù)、功能選擇、人工置數(shù)等各種人機交互操作。
遙測站多位于偏遠地區(qū),市電多為農(nóng)用電網(wǎng),供電質(zhì)量差。為避免雷電通過農(nóng)用電網(wǎng)進入測站設備,供電以太陽能電池浮充、蓄電池供電為主。太陽能電池24 W、蓄電池12 V/36 Ah。
遙測終端機電源電路需2.5 V/3.3 V電壓,系統(tǒng)設置了穩(wěn)壓調(diào)壓電路。
此外,在抗干擾方面使用了濾波器、光電隔離、去耦電路等技術,設計了相應電路。
μC/OS-II是一個可裁減、源代碼開放、結(jié)構小巧、可搶占式的實時多任務內(nèi)核[5]。μC/OS-II超強的實時性能是本文選用它作為水文遙測終端操作系統(tǒng)的主要原因。
μC/OS-II代碼分為與處理器無關的代碼、與應用相關的代碼、與處理器相關的代碼 3個部分[6]。μC/OS-II的軟硬件系統(tǒng)結(jié)構如圖2所示。
圖2 μC/OS-II軟硬件系統(tǒng)結(jié)構Fig.2 Structure of hardware and software μC/OS-Ⅱ system
與處理器無關代碼和與應用相關代碼(經(jīng)相關修改)都移入處理器。
對于嵌入式設備來說,都需要編寫一個啟動程序Bootloader,完成整個系統(tǒng)的加載啟動任務。Bootloader啟動流程如圖3所示。
圖3 Bootloader啟動流程圖Fig.3 Bootloader start flowchart
對于鍵盤、串口、USB等外圍設備,需編寫相應設備的驅(qū)動程序,主要包括設備初始化、數(shù)據(jù)在設備和微處理器間的輸入輸出、數(shù)據(jù)在應用程序和設備間的輸入輸出、發(fā)現(xiàn)處理設備出現(xiàn)的異常情況等。μC/OS-II沒有統(tǒng)一的設備驅(qū)動接口,需要程序開發(fā)者編寫對硬件操作的特定程序即設備驅(qū)動程序,開發(fā)應用程序使用設備時調(diào)用這些程序即可。本系統(tǒng)編寫了鍵盤、LCD、串口等驅(qū)動程序。
按照功能要求,確定初始化、雨水情信息采集、雨水情信息發(fā)送、響應中心站控制命令、遠程管理這5部分工作任務。
①初始化任務
初始化任務是指初始化遙測站全部設備和模塊,其優(yōu)先級定義為5。
②雨水情信息采集任務
雨水情信息采集任務用以完成水位、雨量的自動采集,實現(xiàn)當前LCD液晶顯示,并把采集數(shù)據(jù)按要求放入Flash保存。判斷是否符合發(fā)報條件,符合則發(fā)送信號量通知雨水情信息發(fā)送任務。發(fā)報條件設為定時自報(雨量10 min、水位1 h)和增量自報(如雨量增加3 mm或水位漲落3 cm便發(fā)報一次)、限時自報等。程序根據(jù)要求做了精準的設計。該任務優(yōu)先級確定為10。
③雨水情信息發(fā)送任務
雨水情信息發(fā)送任務是通過GPRS通信模塊完成雨量信息報文、水位信息報文的發(fā)送。采用事件觸發(fā)機制,觸發(fā)條件和雨量信息采集任務中的發(fā)報條件相同,每次發(fā)送報文都把蓄電池當前電壓編入報文一起發(fā)送。該任務優(yōu)先級確定為15。
④響應中心站控制命令任務
響應中心站控制命令任務完成中心站指令接收并對中心站的具體指令進行處理。如果要進行時鐘同步,將系統(tǒng)時間根據(jù)同步命令要求的時間進行修改;如果接收的是參數(shù)設置任務,則傳送信號量通知遠程管理任務進行處理;如果是召測查詢,則傳送信號量通知雨水情信息發(fā)送任務,根據(jù)召測條件編報發(fā)送信息。該任務優(yōu)先級確定為8。
⑤遠程管理任務
遠程管理任務完成各種參數(shù)(定時時間、增量自報的增量數(shù)值等)的修改,也可以提取相連設備的要素值發(fā)送中心站。該任務優(yōu)先級確定為6。
μC/OS-II實現(xiàn)任務之間通信的方法有信號量、郵箱和消息隊列。本系統(tǒng)采用了具有互斥的信號量隊列進行通信,完成任務間的通信。
本文設計實現(xiàn)了以功能強大的微處理器S3C44B0X作為硬件核心的遙測終端機,并加快了運行速度。硬件設計靈活簡單,電路板體積小,大大簡化了外圍電路,并降低了終端機功耗;以驅(qū)動程序屏蔽硬件細節(jié),增強了設備的擴展能力;使用μC/OS-II操作系統(tǒng)開發(fā)軟件,使設備具有良好的實時性。此外,設計還充分考慮了降低功耗和抗干擾能力,增強了設備可靠性和穩(wěn)定性,提高了水文自動測報系統(tǒng)的性能。該遙測終端可廣泛應用于水文水利、城市防洪、給排水、環(huán)境與氣象監(jiān)測等領域。
[1] Ghribi B,Logrippo L.Understanding GPRS:the GSM packet radio service[J].Computer Networks,2001,34(5):763 - 779.
[2] Siemens Ltd.MC39i.Siemens Cellular Engine MC39i Hardware Interface Description Version:01.02[S].Germany:Siemens AG,2003.
[3]謝小云.多通信接口接入互聯(lián)網(wǎng)的嵌入式網(wǎng)關設計[J].微計算機信息,2007(23):40 -42.
[4]朱賢德.基于S3C44B0X的嵌入式系統(tǒng)CAN總線接口的實現(xiàn)[J].現(xiàn)代制造工程,2007(8):9-12.
[5] Halang W A.Measuring the performance of real-time system[J].Internal Journal of Time-critical Computing Systems,2000,18(1):59-68.
[6]Labrosse J J.μC/OS2II源碼公開的實時嵌入式操作系統(tǒng)[M].邵貝貝,譯.北京:中國電力出版社,2001.