陳 曦,徐 鵬,許曉蕾
(河北工業(yè)大學控制科學與工程學院,天津 300130)
?
基于藍牙通信技術的嵌入式工業(yè)控制系統(tǒng)的開發(fā)
陳 曦,徐 鵬,許曉蕾
(河北工業(yè)大學控制科學與工程學院,天津 300130)
傳統(tǒng)的工業(yè)控制系統(tǒng)中主要以PLC和DCS作為控制設備,但是PLC和DCS的控制成本高、實時性差的缺點使得它們難以滿足飛速發(fā)展的現(xiàn)代工業(yè)對控制系統(tǒng)的需求。而嵌入式控制系統(tǒng)以其成本低、性能高、實時性好的優(yōu)勢在工業(yè)領域的應用不斷擴大,設計了基于嵌入式的工業(yè)控制系統(tǒng),包括模塊化的數(shù)據(jù)采集系統(tǒng)、藍牙通信系統(tǒng)和以ARM9為主控制器,在Linux操作系統(tǒng)下通過Qt4編程完成一款工控GUI.模塊化的數(shù)據(jù)采集系統(tǒng)對采集的數(shù)據(jù)進行放大、線性化、濾波等處理后,再經過C8051單片機進行A/D轉換后通過藍牙通信技術傳輸給主控制器進行數(shù)據(jù)處理并將處理完成的數(shù)據(jù)通過總線返回給工業(yè)現(xiàn)場。試驗證明,該控制系統(tǒng)對數(shù)據(jù)處理的精度高,速度快,實時性好,可以滿足工業(yè)現(xiàn)場的應用需要。
模塊化數(shù)據(jù)采集;藍牙技術;嵌入式Linux;Qt4;ARM9;單片機
對于大部分企業(yè),工業(yè)現(xiàn)場的數(shù)據(jù)采集與處理一直是個難以解決的問題,對于小型控制應用目前還只是數(shù)字儀表,而且生產廠家眾多,各種機型互不兼容,封閉、擴展能力差,智能化程度低,實時性能差[1]。而隨著嵌入式系統(tǒng)功能不斷完善以及市場的不斷擴大,采用圖形顯示設備的用戶不斷增加。為了解決傳統(tǒng)工業(yè)控制器非智能化、擴展性和兼容性差、產品的功能過分依賴于硬件的缺點,設計了一個模塊化的數(shù)據(jù)采集系統(tǒng)和基于嵌入式的圖形化操作組態(tài)軟件。控制系統(tǒng)將模塊化的靈活性與嵌入式的高效性充分結合起來,并采用藍牙通信技術實現(xiàn)數(shù)據(jù)傳輸,充分降低了工業(yè)控制過程中的成本,并且盡可能的提高控制的精度,使整個系統(tǒng)穩(wěn)定的工作。該控制系統(tǒng)的特點:可裝配的模塊數(shù)據(jù)采集和數(shù)據(jù)輸出;藍牙數(shù)據(jù)傳輸技術;可視化操作的人機交互界面;具有組態(tài)軟件功能。
整個控制系統(tǒng)由硬件部分和軟件部分組成,硬件部分主要由即插式的數(shù)據(jù)采集模塊、以ARM9為核心的主控制器的設計組成。工業(yè)現(xiàn)場的數(shù)據(jù)通過數(shù)據(jù)采集模塊的傳感器采集,經過調理電路將采集進來的流量、壓力、溫度等信號轉換為標準的電信號,8051單片機接受轉換的信號進行A/D轉換并存儲,最后通過藍牙通信技術將數(shù)字信號傳輸給主控制器處理。
軟件部分包括單片機藍牙數(shù)據(jù)節(jié)點軟件設計和Linux操作系統(tǒng)下通過C++ GUI Qt4編程來完成一款可視化圖形操作的組態(tài)軟件,并將交叉編譯完的可執(zhí)行文件移植到主控制器中,主控制器通過可視化圖形操作將傳輸進來的數(shù)據(jù)進行運算、儲存、顯示以及輸出,最后反饋給工業(yè)現(xiàn)場,從而達到閉環(huán)控制目的。整個控制系統(tǒng)框圖如圖1所示。
圖1 控制系統(tǒng)流程圖
2.1 系統(tǒng)的硬件平臺
硬件平臺以ARM9作為主控制器,CPU采用S3C2440處理器,S3C2440是基于ARM9架構的處理器,該處理器具有高性能、低功耗的優(yōu)點,運行主頻400 MHz,最高可達533 MHz.ARM9的核心板包括:兩片在板32M SDRAM,最高時鐘頻率可達100 MHz;兩種Flash存儲系統(tǒng),一種是Nand Flash,大小為256M,有8-bit的數(shù)據(jù)總線而不具有地址線,與CPU通過專門的接口進行連接;還有一種是NOR Flash,大小為2Mbyte,與CPU通過22 條地址總線和16 條數(shù)據(jù)總線進行連接。ARM9的底板資源包括:一個7寸的LCD顯示屏和一個觸摸屏為用戶提供一個良好的人機交互平臺;除了常見的標準接還從CPU引出了GPIO、SPI系統(tǒng)總線接口等外設和接口。ARM9的資源豐富,擴展性強,為系統(tǒng)開發(fā)提供了一個方便、良好的硬件平臺。硬件平臺架構如圖2所示。
圖2 系統(tǒng)硬件平臺架構圖
2.2 模塊化數(shù)據(jù)采集系統(tǒng)
數(shù)據(jù)采集模塊應用于數(shù)據(jù)傳輸?shù)墓I(yè)模塊應用領域,數(shù)據(jù)采集模塊按不同的數(shù)據(jù)類型分類包括電信號采集模塊、溫度采集模塊、壓力采集模塊以及流量采集模塊。由于各模塊之間是相互獨立的,即插即用,所以可以對采集模塊進行充分的擴展,完全體現(xiàn)出了模塊化思想的靈活性運用。每個采集模塊對應一個相同型號的單片機,結構統(tǒng)一,并采用統(tǒng)一的通信方式即藍牙技術進行通信,這種設計思想可以根據(jù)實際情況而隨時更改采集模塊的數(shù)量和類型,操作起來靈活、方便。
數(shù)據(jù)采集模塊采用的單片機型號為C8051F021單片機,該系列單片機是完全集成的混合信號系統(tǒng)級芯片(System On Chip),具有與MCS-51指令集完全兼容的高速CIP-51內核。單片機集成了增益放大器PGA、ADC、DAC、電壓比較器、UART、定時器、可編程計數(shù)器/定時器陣列PCA等,完全滿足了控制系統(tǒng)中數(shù)據(jù)采集接收,A/D轉換、數(shù)據(jù)存儲以及與ARM9主控制器通訊的要求。C8051F021具有速度快、性能高等特點,能確保數(shù)據(jù)采集與處理的精度和實時性要求。
2.3 藍牙數(shù)據(jù)通信設計
傳統(tǒng)的工業(yè)數(shù)據(jù)傳輸系統(tǒng)通常以RS485、RS232等有線方式構建通信鏈路,這種數(shù)據(jù)傳輸方式需要鋪設電纜,靈活性較差,使用和操作起來并不方便[2]。而在無線通信技術中,藍牙技術是一種新興的無線通信技術,具有成本低、傳輸速率比較高、抗干擾能力強、組網(wǎng)靈活等特點。其局限性是傳輸距離有限,但是增加了射頻前端功放后,藍牙設備的傳輸距離最遠可達100 m,克服了傳輸距離的局限性,完全能夠取代有線通信方式在工業(yè)數(shù)據(jù)傳輸市場上占有一席之地[3]。藍牙數(shù)據(jù)傳輸系統(tǒng)由主控制器ARM9、單片機智能節(jié)點、藍牙通信鏈路三大部分組成。分別在8051單片機和ARM上安裝藍牙模塊,單片機節(jié)點將A/D轉換后的數(shù)據(jù)通過藍牙無線鏈路上傳給主控制器ARM進行進一步處理。藍牙傳輸系統(tǒng)結構圖如圖3所示。
圖3 藍牙傳輸系統(tǒng)結構圖
采用DFBM-CS120嵌入式藍牙模塊,該模塊最大傳輸速率可達721 kb/s;支持頭戴耳機、撥號網(wǎng)絡、免提、串行端口、對象交換、文件傳輸和同步共七種工作模式;擁有全雙工UART(通用異步收發(fā)器)接口和射頻信號輸出,UART接口由TXD、RXD、RTS和CTS組成,發(fā)射器和接收器均提供了數(shù)據(jù)并轉串/串轉并的功能,對于主機而言,UART就像一個8位的輸入和輸出端口,主機可以對其進行讀寫操作[4]。UART口是TTL電平,藍牙模塊可以直接與單片機和ARM上的UART連接,不需要調整電壓。用戶通過UART對藍牙模塊發(fā)送AT命令進行控制操作并將數(shù)據(jù)通過天線射頻信號傳輸出去。UART傳輸類型降低了連接成本和復雜性。藍牙模塊與主機UART連接如圖4所示。
圖4 藍牙模塊與主機UART連接
藍牙通信流程分為4個步驟:對藍牙模塊進行初始化;選擇需要收發(fā)數(shù)據(jù)的信號節(jié)點;主控制器與單片機藍牙節(jié)點之間進行配對連接建立通信鏈路;連接成功后通過AT命令控制主控制器的數(shù)據(jù)收發(fā)完成數(shù)據(jù)傳輸。藍牙通信流程圖如圖5所示。
圖5 藍牙通信流程圖
3.1 系統(tǒng)的內核安裝以及開發(fā)工具的選擇
嵌入式Linux是一種自由和開放源代碼的符合POSIX標準的操作系統(tǒng)[5]。Linux的特點:Linux操作系統(tǒng)代碼共享;多用戶多任務和多線程;精簡內核,性能高、穩(wěn)定;適應于不同的CPU并具有良好的可移植性。因此采用Linux操作系統(tǒng)作為主控制器的操作系統(tǒng)。
主控制器需要一個良好的圖形操作界面,這就需要一個強大的圖形化的編程工具。而Qt是一個跨平臺的C++圖形用戶界面應用程序框架,它提供給應用程序開發(fā)者建立藝術級的圖形用戶界面所需的所用功能[6]。Qt獨特的信號和槽機制使編程變的靈活方便,Qt廣泛的適應性及良好的的可移植性對于編程來說是格外重要的,因此控制系統(tǒng)選擇Qt/Embedded作為開發(fā)工具。
3.2 控制程序的開發(fā)流程
控制程序的開發(fā)初期主要是在宿主機PC上完成的,Qt編寫的應用程序運行的結果顯示在qvfb窗口中,開發(fā)的初始階段就只需要在宿主機上就可以完成調試工作。當控制程序在宿主機調試完成后,需要將Qt的函數(shù)庫添加到目標機ARM9中并對控制器的環(huán)境變量進行設置,將程序編譯成ARM體系結構的可執(zhí)行文件并且移植到目標機上運行。開發(fā)流程如圖6所示。
圖6 Qt程序開發(fā)流程圖
3.3 控制程序的設計過程
在主窗口中可以進入4個功能模塊:
(1)數(shù)據(jù)折線圖顯示模塊:主控制器采集、處理的數(shù)據(jù)都存儲在數(shù)據(jù)庫里面,該單元通過調用數(shù)據(jù)庫的數(shù)據(jù),可以顯示各個通道的運行狀態(tài),數(shù)據(jù)變化等等。
(2)組態(tài)控制模塊:功能是接收工業(yè)采集數(shù)據(jù),擁有8個數(shù)字量輸入/輸出口,8個模擬量輸入/輸出接口,還有數(shù)據(jù)處理功能,在程序中加入算法,對采集來的模擬量進行加減乘除以及PID運算,對采集來的數(shù)字量進行邏輯運算,將處理完的數(shù)據(jù)再通過輸出口傳出給外圍設備從而達到控制目的。
(3)藍牙通信模塊:工業(yè)數(shù)據(jù)需要經過信號調理電路轉換為標準的電信號再通過單片機進行A/D轉換后傳給主控制器,通過Qt編程完成藍牙通信應用程序。
(4)主窗口中設有報警響應模塊,出現(xiàn)報警情況時對系統(tǒng)進行即時、妥善的保護,從而使系統(tǒng)工作在穩(wěn)定、安全的環(huán)境中。最終設計完成后的組態(tài)控制單元演示操作如圖7所示。
圖7 控制程序演示圖
3.4 Qt4的移植
前期的大部分工作主要是在PC機上進行調試,最后需要將調試完成的程序在ARM編譯環(huán)境中交叉編譯成ARM體系下的可執(zhí)行文件,通過串口連接PC機與目標板ARM9,打開超級終端后將可執(zhí)行文件通過串口下載到目標板中,同時需要將PC機上ARM版本的Qt庫文件拷貝到ARM9上,最后設置一下開發(fā)板的環(huán)境變量,注意在執(zhí)行命令的最后需要加上-qws命令就可以將整個控制界面ARM9上運行[7]。
實驗表明,文中采用S3C2440作為主控制器;C++ GUI Qt4為軟件開發(fā)工具;用模塊化思想對不同的模擬信號數(shù)據(jù)進行采集;通過藍牙技術完成C8051與ARM9之間的通信。整個系統(tǒng)靈活方便、可操作性好,每個采集控制模塊通過總線插槽與主控制器進行通訊,主控制器具有良好的穩(wěn)定性和精確度,完全可以實現(xiàn)工業(yè)數(shù)據(jù)的采集與處理,將處理完的數(shù)據(jù)實時反饋給工業(yè)現(xiàn)場,保證了工業(yè)現(xiàn)場的有效運轉。在這款控制器中添加更多的功能模塊可以讓該控制器應用于更多的工業(yè)現(xiàn)場。實驗結果表明了該系統(tǒng)的可行性,并證明了其具有理論意義和廣泛的應用前景。
[1] 顏庭柏,陳鐘榮.嵌入式系統(tǒng)數(shù)據(jù)采集和發(fā)布的構建.計算機工程,2007,33(19):270-272.
[2] 程紅軍,程紅霞.基于SPI的串行接口編程器設計.科技促進發(fā)展,2009(2):48-49.
[3] 喬輝.藍牙天線技術分析與產品應用.天線技術,2004.34(10):38-40.
[4] 禹帆.藍牙技術.北京:清華大學出版社.2002.
[5] 孫鶴旭,林濤.嵌入式控制系統(tǒng),北京:清華大學出版社,2006.
[6] 曾劍元.ARM9平臺上基于Qt/Embedded的嵌入式GUI的研究與實現(xiàn):[學位論文].長春:吉林大學,2010.
[7] 王存健,張建正.嵌入式Linux下Qt/Embedded的應用.嵌入式系統(tǒng).2007(4),1-6.
Development of Embedded Industrial Control SystemBased on Bluetooth Communication Technology
CHEN Xi,XU Peng,XU Xiao-lei
(School of Control Science and Engineering,Hebei University of Technology,Tianjin 300130,China)
Traditional industrial control system mainly use the PLC and DCS as the control equipment, but the high control cost and bad real time make them difficult to meet the requirements for the control system of the development of modern industry. However, the embedded control system is widely applied in industrial field as its low cost, high performance and good real-time performance advantages. We designed an industrial control system based on embedded system,including data acquisition system, communication system based on Bluetooth module, and with ARM9 as the main controller completed an industrial GUI through Qt4 programming under Linux operating system. The data collected data were amplified, linearized, and filtered by the acquisition system of modular, then after A/D conversion of C8051, transferred through the bluetooth communication technology to the main controller for data processing and the processed data get back to the industrial field through bus. Tests prove that the software for data processing is of high precision, fast speed, good real-time performance and can meet the requirements of industrial application.
modular data acquisition;bluetooth technology;embedded linux;Qt4;ARM9;microcontroller
2013-12-13 收修改稿日期:2014-11-08
TP274.2
A
1002-1841(2015)01-0074-03