摘要:為提高檢測系統的多任務處理能力和實時響應性能,數據檢測系統是集通信、計算機、工業控制、電子技術為一體的綜合性測控系統,設計了基于ARM嵌入式數據檢測系統的軟件設計和硬件結構。在硬件上,主要采用了ARM微處理器技術,確保了系統的可擴展性和可靠性的不斷提高,在奶制品菌群檢測中,引入嵌入式數據檢測系統,進行實際驗證,實踐表明,與傳統的基于PCI卡數據采集系統相比,檢測數據現場施工更為簡單可靠,大大提高了檢測數據的準確性與實時性,進而實現了自動化檢測。
關鍵詞:數據檢測;嵌入式;內核;操作系統
中圖分類號:TP316文獻標識碼:A文章編號:1009-3044(2010)21-6121-03
Embedded ARM Core-based Detection System
ZHU Li-ye
(Baoji Arts and Sciences, Baoji 721013, China)
Abstract: To improve detection system of multi-tasking capabilities and real-time response performance, data detection is Ji Ji Tong Communication, computer, industrial control, electronic technology for the integrated monitoring and control Xitong, designed based on the ARM Embedded Data Detection System Software and hardware structure. In the hardware, mainly 了 ARM microprocessor technology to ensure the system scalability and reliability of the continuous improvement in the dairy bacteria detection, into the embedded Data Measuring System, carried out, verification practices show that The traditional data acquisition system based on PCI cards than test data on-site construction is more simple and reliable test data greatly improved the accuracy and real-time, and then automated testing.
Key words: data detection; embedded; core; operating system
嵌入式系統就是將底層硬件、應用軟件和實時操作系統有機結合在一起的計算機應用系統,是面向具體應用而設計的。目前,嵌入式系統被廣泛應用于消費電子、控制領域產品等行業,已經成為了現代電子產業的一個重要研究方向。
當前,由于奶制品具有極高的營養價值,其在人們消費食品中所占比例越來越大,與日俱增。然而,奶制品作為一種非常容易變質的食品之一,經常會出現由于牛奶變質而造成的中毒事件。過去傳統落后的乳品細菌檢測方法存在著檢測時間過長、檢測儀器較少、檢測費用昂貴等缺點與不足之處,本文研究了利用ARM嵌入式系統以及圖像傳感器實現的一種性價比更好的奶制品菌群檢測系統。
隨著科學技術的日新月異,在許多行業中都出現了檢測。同時,也對檢測提出了更高更新的要求,希望能夠快速準確地完成檢測任務,從而實現自動化檢測。[1]現在流行的數據檢測系統通常采用PCI數據采集卡,它的優點是能夠利用PCI總線的研究成果很快地開發系統軟件,整體運行速度較快,能夠實現實時采集、實時處理,基于PCI總線設計的采集卡目前依然是數據檢測系統的主流,由于嵌入式數據檢測前端已經把模擬信號轉換成數字信號,使得數據檢測系統變得更加精準與可靠,并且大大地簡化了現場測試的難度。用奶制品菌群測試過程作為對象,從軟件和硬件上介紹這個數據檢測系統的結構。
1 檢測系統總體設計原理
檢測系統的原理框圖如圖1。
如圖1所示,奶制品菌群微生物發酵過程十分復雜,這一發酵過程包含微生物細胞的生長和代謝等等,是一個具有隨機性、時變性以及多變量的動態過程。有的關鍵變量的在線檢測難度比較大,并且不能直接作為被控變量,因此在發酵過程中,主要采集與質量相關的變量,如電機轉速、水箱溫度、溶解氧氣、通氣數量以及pH值等作為被控變量。針對發酵過程中對微生物代謝的環境參數產生影響的重要性,系統僅對溫度、pH值、發酵液體積和溶解氧氣濃度等進行了實時數據檢測。
通過處理器的IIC接口設置圖像傳感器的內部寄存器,使其按照設定的參數來運行。圖像傳感器所采集的圖像是按照設定的頻率,在處理器控制的情況下傳送到內部的RAM中,然后由USB接口通過電纜傳輸到PC機上,從而實現了數據由上位機軟件處理。
測試系統設計時需要充分考慮圖像采集、傳輸速度、存儲空間、圖像清晰程度等因素。圖像采集芯片被作為系統選用的圖像傳感器,它工作于逐行掃描模式的時候,采樣速度可以達到30幀,最大分辨率為664×492,可以較好地完成本系統所要完成的圖像采集任務[2]。能夠通過硬件上電復位時設置,也能夠通過SCCB接口進行編程控制。通過硬件上電復位時設置的方式一旦經過設計定型,復位后要再想進行更改就顯得十分不方便;而通過SCCB接口進行編程控制的方式能夠隨時通過I2C接口訪問傳感器的相關寄存器來實現配置的改變,這種設置方式不僅使用靈活,而且具有很好的可操作性,考慮到系統的繼承性和靈活性等因素,本系統選用的就是通過SCCB接口進行編程控制的方式。
2 檢測系統硬件方面設計
檢測系統所采用的ARM硬件平臺基于嵌入式操作系統,主要用來滿足系統較高的實時性需求,不僅滿足了軟、硬件功能升級、擴充以及修改等需求,而且大大縮短了開發周期,進而有效地降低了研發成本。
檢測系統硬件設計最重要的組成部分包括IIC接口、SCCB接口連接、三個時序信號HREF、VSYNC和PCⅨ的連接,處理器通過I2C接口與SCCB接口的相連,這兩種接口在功能上基本是一致的,都是使用兩根線來連接,即一根時鐘線SCL,一根數據線SDA。其接口電路比較簡單,這也是I2c接口的主要優點。SCCB具有三個十分重要的參考信號輸出[3],它的時序如圖2所示。
1)嵌入式處理器
系統使用基于ARM內核RISC嵌入式的微處理器,主要應用在高性價比和低功耗的場合[4]。運行頻率通常是203 Hz,具有優良的片上資源:16K高速緩存(cache),一個LCD控制器(支持TFT和STN具有觸摸屏的液晶顯示屏)。三個通道UART,2個USB主機接口8通道的10位ADC,一個USB設備接口。2個SPI接口,四個計時器(具有PWM功能)和一個內部時鐘。觸摸屏接口,SD接口和MMC接口,SDRAM控制器12S總線接口,四個通道DMA,看門狗計數器,117位通用I/0口,8通道l0位AD控制器,24位外部中斷源。
2)數據采集模塊
下位機系統每間隔1秒就可以通過4個傳感器分別對發酵罐的溫度、泡沫高度、pH值以及溶解氧氣等情況進行實時采集。
3)人機交互模塊
本系統根據使用最簡化的原則進行了人機交互模塊的設計,采用4×4矩陣鍵盤和點陣液晶顯示模塊組合的形式。鍵盤使用4×4的矩陣鍵盤接口,“行掃描法”方法更加節省口線,檢測鍵盤,僅僅需要8根口線,系統將PF口作為檢測鍵用端口,設定PF4一PF7為鍵盤讀入口,PF0一PF3為輸出掃描端口。液晶選用的是MG12864—7型點陣液晶模塊,顯示體積僅為54am×50am×6.5am,容量為128×64個點,內部帶有EL背光逆變器和10V電壓產生器,使用單5V的電源進行供電。
4)其它功能模塊
其他功能模塊主要包括JTAG接口模塊、超限報警模塊、電源、時鐘電路、存儲器模塊、異步串行通信模塊等。
2 系統軟件設計
根據系統設計的要求,將系統軟件分為上位機軟件和下位機軟件兩部分。
1)上位機軟件設計
為了實現對現場的遠程實時管理與監控,上位機監控管理界面是必須編制的。如果使用專業的組態軟件進行上位機監控管理界面的編制,要求系統具有較高的硬件配置,而且這帶來了昂貴的價格。此外,也不便于軟件系統的升級以及后續開發。因此,我們采用了VC++編寫上位機的監控軟件,VC++作為Windows應用程序開發工程軟件,包括監控程序和通訊模塊兩個部分。采取基于Windows的窗口化程序來進行MFC設計,人機界面更為直觀,操作更為簡單,且用其來實現底層的通訊控制效率更快。
2)下位機軟件設計
在下位機軟件設計中,采用了嵌入式系統開發技術。選用嵌入式實時操作系統Fedora,代碼密度優化通過Thumb和ARM指令集混合編譯來進行。首先是把實時操作系統移到嵌入式微處理器上,再是將系統所要完成的功能細化為幾個核心任務,調度由嵌入系統實時內核來實現,從而多個任務的同步執行能夠實現,這樣,大幅度的提升了系統的實時性和可靠性。
3)應用程序設計
主要是考慮到java語言的跨平臺性好,因此,為了今后升級設備時可以直接寫入ARM片內去運行,選用了java語言作為開發語言進行本系統的應用軟件設計。所謂Java語言的跨平臺性就是經過編譯之后的java程序,可以在不同的安裝了java解釋器的軟硬件平臺上運行,并且程序運行的結果始終保持一致,然而,例如C++等其他計算機語言不具備這種跨平臺性[5]。我們選擇使用Eclipse進行整個應用程序的開發,進行了操作界面的設計,圖像數據接收與處理功能的實現,以及色差與檢測系統數據的計算等部分。在設計時,為了使得現有資源得到充分利用,降低開發成本,減少開發時間,由于USB驅動程序和動態連接庫能夠直接使用,因此選擇它們。由于不是用Java Native Interface標準編寫的,所以,這個動態庫不可以直接在程序中運行,在程序中定義了一個JavaUSBdll類重新對動態庫AnyUSB.dll進行了封裝,能在我們程序中使用的JavaUSBdll.dll文件通過利用VC++6.0而制作。由getPixData()方法來實現圖像數據獲取,由drawlmage()方法實現圖像繪制和保存,由calculateGwups()方法完成奶制品菌群數量計算的功能。
3 結束語
基于ARM內核的嵌入式檢測系統較好地利用了ARM內核處理器豐富的片內資源和寄存器靈活的配置方式,設計出了一種體積小、結構簡單、性價比好的檢測系統,該系統能夠進行實時性的數實時性、具有較高的檢測精度和較高的自動化程度以及良好的可靠性、穩定性和抗干擾性等[6]。在奶制品過程環境參量的檢測中引入嵌入式數據檢測系統,能夠實時對奶制品菌群檢測系統生產過程進行遠程檢測,具有非常友好和直觀的人機界面,通過簡單的操作就能夠達到效果。在發酵罐自動化改造中,該系統已經取得了非常好的效果,工程推廣價值也非常好。也能夠將該系統進行擴展,從而在相關其他領域的過程檢測中應用。
本系統也存在一定的缺陷。因為是用java編寫的應用程序,必須通過動態連接庫來進行對USB口的操作,因此在一定程度上影響了運行速度,在后期可以通過對設備進行改進或升級時,在片內將java程序直接寫入去運行的方式,來消除運行速度的影響,從而取得更好的效果。
參考文獻:
[1] 王麗,周真,李震.利用色差法檢測乳品菌群濃度的研究[J].哈爾濱理工大學學報,2OO4,9(5):47-48.
[2] 車樹良,呂英華,王海蘭.基于$3C,44B0的圖像數據采集方法[J].計算機工程與應用,2O05(12):113-115.
[3] 江川貴,廖啟征,魏世民.基于COMS圖像傳感器的USB接口圖像采集系統設計[J].儀表技術,2005(3):18-20.
[4] 賈智平,張瑞華.嵌入式系統原理與接口技術[M].北京:清華大學出版社,2005:149-233.
[5] 譚思亮.Visual C++串口通訊工程開發實例導航[M].北京:人民郵電出版社,2003:149-233.
[6] 雷于紅,劉益成,劉凱.基ARM的嵌入式LINUX地震數據采集系統設計[J].微計算機信息,2008,3(2):166-167.