閏江寶 張長勝 趙振剛 李川 譚向宇



摘要:應用4G無線網絡通信及嵌入式技術設計了一款無線數采控制器,該數采控制器采用S3C2440作為主控制器。闡述了系統的硬件和軟件結構,硬件設計介紹了硬件的構成及功能;軟件設計包括Linux嵌入式系統驅動程序開發、調試,應用程序軟件的開發、調試等。
關鍵詞:4G無線網絡通信;嵌入式系統;數采控制器;S3C2440;Linux
中圖分類號:TP929.5 文獻標識碼:A DOI:10.3969/j.issn.l003-6970.2017.08.020
引言
數據采集系統應用范圍越來越廣,功能越來越全,更需要一種高效、簡潔、高性價比的無線傳輸方式。隨著無線通訊網絡技術的迅速發展,無線通訊網絡的通信帶寬逐漸增大、通信速率增大、通信質量也有較大提高,使得數據通過無線網絡傳輸變得高效、實時性強、錯誤率低。目前,在生活中我們使用的無線網絡通訊種類中,使用最寬、最廣的就是4G通信,本文設計了一套由嵌入式與4G無線通信模塊構成的無線數據采集傳輸系統,可以滿足多數環境的需要。
1 系統的總體方案
應用4G無線網絡通信及嵌入式技術設計了一款無線數采控制器。無線數采控制器采用ARM9架構的S3C2440芯片作為CPU,USR-G401t型4G無線移動通信網絡模塊實現4G無線通信,SP485芯片實現RS485通信,開關量輸入輸出信號通過光耦芯片進行隔離,SD卡作為數據臨時存儲,操作系統選擇嵌入式Linux,同時對該設備硬件、軟件實現作詳細的研究分析。下圖是4G無線數采控制器的結構。
如圖1所示的4G無線數采控制器,圖中可以看出,該設備包括:16路繼電器輸出模塊,16路開關量信號輸入模塊,1路4G無線通信模塊,2路RS-485通信模塊(通過應用程序軟件可以實現各種協議的485通信,可實現和各種儀表及PLC進行通信),1路SD卡模塊(用于少量數據的存儲)。
2 硬件設計
2.1 核心板電路設計
核心板上包括了S3C2440芯片、Flash存儲芯片(K9F1216UOA) 、ROM存儲芯片
(HY57V561620FTP-H)、時鐘電路元件及電源電路電子元件等。核心板設計成獨立的板卡,將所有功能引腳引出后給主板使用,采用6層電路PCB板。Flash存儲電路分為Nor Flash和Nand Flash兩種存儲電路,Nor Flash的存儲容量為16MB(用來存儲引導程序),Nand Flash的存儲容量為1GB(系統設計時,根據現場的應用情況使用該容量完全滿足系統運行要求),SDRAM的存儲容量為512MB核心板的設計主要是為實現版塊的公用性,可以使用于不同的主板。內存及Flash存儲要能夠滿足系統穩定運行的最小需求,同時要求具有較好散熱性能。
2.2 主板電路設計
2.2.1 主板繼電器輸出部分
在現場中設備所有外部電源及開關量信號都是直流24V,考慮到繼電器的輸出能力及穩定性等,在設計繼電器輸出時也設計為24V電源驅動,干接點輸出。
輸出信號電路的設計時采用TLP521光耦合器進行隔離,以避免外部的高壓或反向電壓的注入燒毀核心元器件。根據手冊可以選擇光耦合器輸入信號端的電阻大小即為15011左右的電阻作為限流使用,如圖2所示。
2.2.2 主板SD卡部分
由于系統采用4G網絡進行數據傳輸,由于4G網絡存在不穩定性,故有些數據不能夠實時的傳輸到中控中心,在設計時考慮了SD卡,用來存儲一些重要的數據。SD卡的設計如圖3所示。
DATO、DAT1、DAT3、CMD信號線都采用10KΩ電阻上拉至3.3V,目的是增強電路的驅動能力,nCD信號用于檢測SD卡是否插入,當卡沒有插入卡座時,該引腳為高電平,當卡完全插入卡座的時候,nCD被拉為低電平。WP信號腳是用來檢測SD卡是否有寫保護,原理和卡的插入檢測是一樣的,故采用R49下拉電阻接地。
2.2-3 串口通訊電路
現場需要采集數據,這些數據如果采用4?20mA的模擬信號采集,采集器得設計很多的模擬信號的采集通道。故我們在設計時就考慮采用通信的方式進行數據的采集,可以減少現場的布線及后期的維護工作,且可以保證數據的可靠性。設計通信時,我們采用兩線制RS485串行通信,MODBUSRTU通信協議進行通信,其實現電路原理圖如圖4所示。
2.3 4G無線模塊電路設計
無線網卡采用現有模塊化電路,電源由主板供應,主板可以提供給該子版塊穩定的3.8V電源。4G無線網卡選用USR-G40U,采用USB接口模式進行通信。4G無線模塊USIM卡電路如圖5。
USIM卡的接口速率為3.25MHz左右,因此USIM卡座的布局應該取最近于USR-G401T位置,避免走線過長,最好對各信號線作地線包絡。CLK、IO、RESET這三個信號需要增加47pF的電容用于濾除天線信號的干擾,CLK、IO、RESET及VCC這四個信號都需要進行防靜電保護措施。USIM卡接口ESD(Electro-Static Dischang即靜電釋放)防護,如上圖所示,電路中采用了瞬態電壓抑制二極管(TVS)來作為板卡的靜電防護,PCB板布線的時候TVS要盡量的靠近SIM卡放置。
3 軟件設計
該控制器采用嵌入式設計,在選擇嵌入式操作系統時,我們選擇開源Linux操作系統,內核版本為Linux-2.6.30.4。
3.1 驅動程序的編寫
嵌入式設備基本都是根據需求完全定制化開發的,故不能夠找到完整的驅動程序支持系統,這就需要我們進行驅動程序的開發,驅動程序的開發軟件我們可以在網絡上找到很多軟件來建立開發環境,本次我們使用的是Eclipse軟件來開發我們的驅動程序。開發完成后我們需要在內核系統中添加對驅動程序的支持,然后配置內核,完成后編譯成功后燒寫到設備才能能夠運行。
進行設備驅動程序的開發,其開發流程如圖6所示。
3.2 應用程序的設計
應用程序的實現是建立在操作系統及驅動程序的基礎之上,通過操作系統接口及設備驅動程序的接口應用Eclipse開發環境開發需要的應用程序。操作系統提供了需要的大部分功能接口函數,而要獲取外部設備的數據則需要通過驅動程序接口來應用外設備進行數據交換。
設備設計的是無人值守的,故在設計時無論出現任何誘因導致設備故障或者死機時,都要盡量能夠保證應用程序的復位、數據的恢復,最壞的情況下要能夠保證設備能夠自動重啟。復位、初始化所有的外設、驅動程序、應用程序,并啟動繼續進行工作,必要時要能夠將故障前的運行狀態再次導入驅動及應用程序,繼續運行故障前的作業。設計軟件時應該充分應用看門狗,以實現設備的自復位功能,實現設備的“自修復”、“無故障”工作狀態。
系統在實現各個子功能及業務流程后,設備還不能夠按照項目需求運行,設備還在不能夠運行起來,只實現了各部分的功能,還需要一個管理應用程序,將之前設計的各種功能、各種業務進行統一的管理,將各個子功能的業務綜合的統一起來、結合起來實現項目需求,這就是所要開發的設備數采應用程序。其實以上所有的應用程序都是該數采應用程序的子程序,數采應用程序協調著各個外設的工作,處理著各個外設的數據,其數據采集系統應用程序的業務流程圖如圖7所示。
4 控制器的性能評估、測試
4.1 硬件性能測試
設備在現場運行時和在實驗階段完全不一樣的,實驗階段使用的電源、信號等都是相當的平穩的,沒有較大波動,也不存在雷擊、過壓、欠壓、過流、欠流、靜電、摔撞、電磁干擾、溫度、濕度、冷露、結冰、鼠蟲等影響,故設備都能夠正常的運行,但是在現場引用的過程中往往出現的考究設備性能的遠遠不只以上情況。故在測試硬件性能上要對設備的供電、信號輸入/輸出、通訊接口等進行相應的測試,以保證設備在一定的外部干擾環境下能夠穩定、可靠的運行。
4.2 軟件性能測試
軟件會受到硬件的新增、刪除、更改、故障的影響,會受到使用者的操作的影響,還會受到軟件自身運行的影響,同時還會受到數據拷貝過程中數據丟失、數據溢出、數據損壞的影響,在實際使用時往往還會遇到很多其他因素的影響導致軟件的崩潰。故在測試軟件性能上我們要對各種情況下軟件運行的狀態進行測試評估,進行多種復雜情況下的軟件測試評估,在一定的范圍內要保證設備的軟件能夠穩定、可靠的運行。
5 結束語
本文設計了一種基于4G無線網絡通信的數采控制器,該數采控制器可以在不同的應用場合有效的采集數據,可以應用到農業、工業、醫療等生產生活的各個領域。本系統有較好的應用性和可移植性,有一定的理論和應用價值。