薛嵐 姜亞南 楊帥
摘要:為促進我國現(xiàn)代化農(nóng)業(yè)發(fā)展,實現(xiàn)農(nóng)業(yè)管理的高效性和科學(xué)性,設(shè)計了一種基于LON平臺的現(xiàn)代農(nóng)業(yè)全分布式監(jiān)控系統(tǒng),系統(tǒng)由現(xiàn)場采集層、數(shù)據(jù)通信層和遠程數(shù)據(jù)處理中心層3層組成。系統(tǒng)的現(xiàn)場采集層采用LON平臺實時監(jiān)控農(nóng)業(yè)現(xiàn)場參數(shù),數(shù)據(jù)通信層依托以太網(wǎng)和GPRS通信終端,實現(xiàn)了農(nóng)業(yè)現(xiàn)場與遠程數(shù)據(jù)處理中心的信息交互,遠程數(shù)據(jù)處理中心層通過科學(xué)計算得出農(nóng)業(yè)策略。重點對LON平臺的重要設(shè)備網(wǎng)關(guān)節(jié)點的原理模型、核心硬件和軟件進行了分析,網(wǎng)關(guān)節(jié)點在Host Based架構(gòu)模式下通過Slave_A模式并行接口實現(xiàn)虛擬令牌乒乓式數(shù)據(jù)通信,完成了LON現(xiàn)場總線與和RS232串口總線的無縫銜接。
關(guān)鍵詞:現(xiàn)代農(nóng)業(yè);LON平臺;Host Based架構(gòu);Slave_A模式;虛擬令牌傳遞
中圖分類號:TP393.04 ? ? ? ?文獻標識碼:A ? ? ? ?文章編號:0439-8114(2015)02-0453-04
DOI:10.14088/j.cnki.issn0439-8114.2015.02.051
Monitoring System of Modern Agricultural Distribution Based on LON Platform
XUE Lan1,2,JIANG Ya-nan1,2,YANG Shuai1,2
(1.Huaian College of Information and Technology,Huaian ?223003, Jiangsu, China;2.Jiangsu Engineering Technical R&D Center for Equipment Manufacturing of Electronic Products,Huaian ?223003, Jiangsu, China)
Abstract: In order to promote the development of modern agriculture in China and achieve efficient and scientific agricultural management, a monitoring system of modern agricultural distribution based on LON platform was designed. The system was consisted of field acquisition layer, data communication layer and remote data processing center layer. The field acquisition layer of system can achieve real-time monitoring of agricultural field parameters using LON field bus. The data communication layer of system can realize information interaction between the agricultural field and remote data processing center relying on the Ethernet and GPRS communication terminal. The remote data processing center layer of system can produce agriculture strategy through scientific calculation. The core equipment of gateway node on the LON platform has been dissected mainly with principle model, key hardware and key software. The Host Based architecture of gateway node can realize seamless connection between LON bus and RS232 serial bus using Slave_A model of parallel interface with ping-pong passing mechanism of virtual token.
Key words: modern agriculture;LON platform;Host Based architecture;slave_A mode;virtual token passing
當(dāng)今世界農(nóng)業(yè)發(fā)展的新潮流是由信息技術(shù)支持的根據(jù)空間變異,定位、定時、定量地實施一整套現(xiàn)代化農(nóng)業(yè)操作技術(shù)與管理的系統(tǒng)?;贚ON平臺的現(xiàn)代農(nóng)業(yè)全分布式監(jiān)控系統(tǒng)依托LON現(xiàn)場總線網(wǎng)絡(luò)技術(shù)平臺,LON平臺致力于綠色節(jié)能和智能管理,為不同設(shè)備的集成并網(wǎng)提供了有效可行的實施方案。LON總線采用數(shù)字傳輸技術(shù),能夠有效地防止數(shù)據(jù)傳輸?shù)腻e誤發(fā)生率,同時工程施工量小,采用的通信電纜少,無需中繼就可以將數(shù)據(jù)傳輸?shù)角字猓@種完全分布的系統(tǒng)結(jié)構(gòu)非常適合在農(nóng)田中應(yīng)用。
1 ?系統(tǒng)設(shè)計架構(gòu)及監(jiān)控過程原理
系統(tǒng)由現(xiàn)場采集層、數(shù)據(jù)通信層和遠程數(shù)據(jù)處理中心層3部分組成,能夠?qū)Σ煌赜颉⒉煌r(nóng)作物及農(nóng)作物不同生長周期的土壤水分、溫濕度、化學(xué)成分進行監(jiān)測(圖1)。土壤分析儀采樣的土壤監(jiān)測數(shù)據(jù)通過RS232串口總線將其傳送到LON平臺上。由于LON現(xiàn)場總線和RS232串口總線通信協(xié)議的不同,需要網(wǎng)關(guān)節(jié)點完成兩種協(xié)議數(shù)據(jù)信息格式的轉(zhuǎn)換,實現(xiàn)LON信道與RS232信道的互通。土壤參數(shù)監(jiān)測節(jié)點和環(huán)境參數(shù)監(jiān)測節(jié)點定時采集農(nóng)作物環(huán)境的溫濕度和二氧化碳等參數(shù),并將參數(shù)傳送到LON平臺上。網(wǎng)絡(luò)攝像頭又可以對農(nóng)作物的生長狀態(tài)實時監(jiān)控,該攝像頭通過內(nèi)置的高性能圖像視頻轉(zhuǎn)換硬件芯片和MPEG-4壓縮視頻算法保證了被監(jiān)控農(nóng)作物視頻圖像的清晰和連貫。同時利用網(wǎng)關(guān)節(jié)點又將LON平臺和以太網(wǎng)有機結(jié)合,并借助GPRS通信終端服務(wù)器克服地域的限制,實現(xiàn)了遠程監(jiān)控。通過遠程的處理中心將現(xiàn)場采集到的數(shù)據(jù)與上位機中的數(shù)據(jù)庫相比較,得出科學(xué)的農(nóng)業(yè)策略。系統(tǒng)的現(xiàn)場采集設(shè)備內(nèi)部均含有Neuron智能芯片,每個設(shè)備均是一個獨立智能處理單元,兩者之間的數(shù)據(jù)交換可以直接現(xiàn)場進行,無需上位機的處理,這種點對點的交互模式徹底構(gòu)建系統(tǒng)的全分布模式。
2 ?系統(tǒng)監(jiān)控的主要算法
LON平臺實現(xiàn)了現(xiàn)代農(nóng)業(yè)分布式監(jiān)控系統(tǒng)中所有設(shè)備的網(wǎng)絡(luò)集成,該平臺的主要算法是帶預(yù)測的P-堅持CSMA(載波監(jiān)聽多路訪問),基于帶預(yù)測的P-堅持CSMA算法的LON平臺根據(jù)網(wǎng)絡(luò)積壓參數(shù)等待隨機時間片來訪問介質(zhì)。這就有效地避免了網(wǎng)絡(luò)的頻繁碰撞,每個節(jié)點發(fā)送前隨機地插入0~W個很小的隨機時間片。因此網(wǎng)絡(luò)中任意節(jié)點在發(fā)送普通報文前平均插入W/2個隨機時間片,而W則根據(jù)網(wǎng)絡(luò)積壓參數(shù)(Backlog)變化進行調(diào)整,其公式為W=BLWbase(其中Wbase=16,BL為網(wǎng)絡(luò)積壓的估計值,它是對當(dāng)前的發(fā)送周期需要多少個節(jié)點發(fā)送報文的估計)。該協(xié)議能夠預(yù)測LON平臺網(wǎng)絡(luò)負載,輕載時給網(wǎng)關(guān)節(jié)點分配數(shù)目較少的隨機時隙以減少節(jié)點媒介訪問延時;重載時給網(wǎng)絡(luò)上節(jié)點分配較多數(shù)目的隨機時隙以減少各節(jié)點因同時發(fā)送消息帶來的沖突,從而實現(xiàn)了隨機時隙數(shù)目以概率P值的動態(tài)調(diào)整。為提高緊急事件的響應(yīng)時間,該算法提供一個可選擇優(yōu)先級的機制,該機制允許用戶為每個需要優(yōu)先級的節(jié)點分配一個特定的優(yōu)先級時間片。在發(fā)送過程中,優(yōu)先級數(shù)據(jù)報文將在那個時間片里將報文發(fā)送出去。這種機制有效地保證了現(xiàn)代農(nóng)業(yè)分布式監(jiān)控系統(tǒng)監(jiān)測數(shù)據(jù)的精確性、穩(wěn)定性和可靠性。
3 ?系統(tǒng)網(wǎng)關(guān)節(jié)點的設(shè)計
3.1 ?網(wǎng)關(guān)節(jié)點的模型設(shè)計原理
LON平臺是現(xiàn)代農(nóng)業(yè)分布式監(jiān)控系統(tǒng)的基礎(chǔ),而網(wǎng)關(guān)節(jié)點又是LON平臺的關(guān)鍵,該設(shè)備承擔(dān)LON現(xiàn)場總線與以太網(wǎng)、LON現(xiàn)場總線與RS232串口總線無縫銜接的任務(wù),這里重點設(shè)計對LON現(xiàn)場總線與RS232串口總線的無縫銜接。網(wǎng)關(guān)節(jié)點采用Host Based設(shè)計框架,即雙處理器(Neuron智能芯片3150和MCU芯片AT89C55)之間數(shù)據(jù)交換的方法[1,2]。Neuron智能芯片3150是一種專門為設(shè)備提供智能和網(wǎng)絡(luò)控制能力的集成芯片,由于3150將復(fù)雜的通信過程簡化為網(wǎng)絡(luò)變量捆綁和連接,為充分發(fā)揮其優(yōu)異的通信特性,將其定位為從機角色,只承擔(dān)信息通信任務(wù)。AT89C55具有20 K Flash存儲器,存儲空間大,適合數(shù)據(jù)存儲和處理,將其定位為主機角色,承擔(dān)數(shù)據(jù)的存儲和處理。為了提高網(wǎng)關(guān)節(jié)點的數(shù)據(jù)處理速度,3150和AT89C55之間采用Slave_A模式并行接口進行連接,網(wǎng)關(guān)節(jié)點的原理模型如圖2所示。AT89C55通過RS232接口接收和發(fā)送RS232串口總線的數(shù)據(jù)報文;3150通過FTT-10A收發(fā)器接收和發(fā)送LON現(xiàn)場總線的數(shù)據(jù)報文;RS232串口總線的數(shù)據(jù)報文和LON現(xiàn)場總線的數(shù)據(jù)報文通過Slave_A模式的并行接口實現(xiàn)相互轉(zhuǎn)換。
3.2 ?網(wǎng)關(guān)節(jié)點的Slave-A模式并口硬件設(shè)計
Neuron智能芯片3150與MCU芯片AT89C55之間的Slave_A模式并行接口原理電路如圖3所示。Slave_A模式并行接口由8根雙向數(shù)據(jù)總線IO0~IO7、1根片選信號~CS、1根握手信號HS、1根讀寫控制信號R/~W構(gòu)成,支持最高速率3.3 M[3],極大地提高數(shù)據(jù)報文處理的實時性。Neuron智能芯片3150的IO0~IO7管腳依次與MCU芯片AT89C55的P00~P07管腳相連形成數(shù)據(jù)總線,3150的IO8管腳與AT89C55的P12管腳相連形成片選信號線,3150的IO9管腳與AT89C55的P11管腳相連形成讀寫控制線,3150的IO10管腳與AT89C55的P10管腳相連形成握手控制線。3150與AT89C55兩處理器之間在基于虛擬令牌乒乓式傳遞機制下實現(xiàn)數(shù)據(jù)報文的交換,有效解決了數(shù)據(jù)總線頻繁占用、數(shù)據(jù)阻塞問題[4]。3150與AT89C55之間互相傳遞虛擬令牌,擁有令牌的處理器具有寫數(shù)據(jù)報文的主動權(quán)。當(dāng)片選信號線~CS為低電平時,讀寫操作由R/~W控制信號線決定,當(dāng)R/~W為低電平時,AT89C55占有令牌,當(dāng)R/~W 為高電平時,3150占有令牌。握手信號HS為高電平時,3150處于忙狀態(tài),握手信號HS為低電平時,3150處于空閑狀態(tài)。當(dāng)AT89C55檢測握手信號線HS為低電平時,在~CS信號的下降沿將數(shù)據(jù)寫入數(shù)據(jù)總線。
3.3 ?網(wǎng)關(guān)節(jié)點的Slave_A模式并口軟件設(shè)計
實現(xiàn)網(wǎng)關(guān)節(jié)點主機AT89C55與從機3150的數(shù)據(jù)交換,采用虛擬令牌乒乓式傳輸,網(wǎng)關(guān)節(jié)點上電復(fù)位后,AT89C55發(fā)送同步值,3150讀取后向AT89C55發(fā)送應(yīng)答同步。當(dāng)AT89C55和3150同步后,兩處理器開始交換數(shù)據(jù)報文,AT89C55置低R/~W信號線占有令牌,通過置低~CS信號線選用3150并時刻監(jiān)聽從機3150的閑忙狀態(tài)。當(dāng)檢測到信號線HS為低電平,即3150處于空閑狀態(tài),AT89C55立即將RS232串口總線發(fā)送過來的數(shù)據(jù)報文寫到Slave_A模式并行接口的數(shù)據(jù)總線上,同時置高R/~W信號線交出虛擬令牌給3150,然后置高~CS信號線(同時迫使HS信號線也置高)開始讀取Slave_A模式并行接口數(shù)據(jù)總線。當(dāng)3150占有虛擬令牌后,3150輪巡檢測When( nv_update_occurs(輸入網(wǎng)絡(luò)變量) )語句,當(dāng)輸入的網(wǎng)絡(luò)變量值被更新時,通過io-out( )函數(shù)將數(shù)據(jù)報文發(fā)送到Slave_A模式并行接口數(shù)據(jù)總線上,同時交出虛擬令牌,然后置低HS信號線,并通過任務(wù)驅(qū)動語句When()和io_in( )函數(shù)讀取AT89C55發(fā)送過來的數(shù)據(jù)報文,由Neuron C語言設(shè)計的調(diào)度程序?qū)笪臄?shù)據(jù)賦值給輸出網(wǎng)絡(luò)變量,并通過3150內(nèi)部固化的LON協(xié)議的網(wǎng)絡(luò)層、MAC層將類型、源地址、目標地址、變量名、變量內(nèi)容等消息層層打包[5,6],將打包后的數(shù)據(jù)幀發(fā)送給LON總線平臺上的LON協(xié)議目標設(shè)備。
網(wǎng)絡(luò)變量消息的代碼第一字節(jié)的第1位是1,表明該消息是網(wǎng)絡(luò)變量;第2位表明該消息是輸入網(wǎng)絡(luò)變量還是輸出網(wǎng)絡(luò)變量(0為輸入,1為輸出),3~8位是網(wǎng)絡(luò)變量選擇器的高有效位;網(wǎng)絡(luò)變量消息的代碼第二字節(jié)是網(wǎng)絡(luò)變量選擇器的低有效位;余下的字節(jié)是網(wǎng)絡(luò)變量的值;當(dāng)網(wǎng)絡(luò)變量更新后,將更新后的網(wǎng)絡(luò)變量消息傳遞到網(wǎng)絡(luò)層,網(wǎng)絡(luò)層將地址信息附加到消息中后傳遞到MAC層,MAC層再附加上更多的信息到網(wǎng)絡(luò)變量消息中,并將消息傳遞到LON網(wǎng)絡(luò)上[5,6]。利用LonMaker軟件對監(jiān)測系統(tǒng)進行邏輯組網(wǎng),當(dāng)LON平臺任意節(jié)點兩個進行網(wǎng)絡(luò)變量連接時,LonMaker軟件會檢查數(shù)據(jù)類型是否匹配,若匹配就會給該連接分配一個網(wǎng)絡(luò)變量選擇號,已綁定的網(wǎng)絡(luò)變量選擇號為0~0x2FFF,為綁定的網(wǎng)絡(luò)變量選擇號為0x3000~0x3FFF。LON平臺節(jié)點中3150對每個已經(jīng)聲明過的網(wǎng)絡(luò)變量設(shè)定一個配置表,配置表中包含一個地址索引表,它為每一個連接指定相關(guān)參數(shù)。網(wǎng)絡(luò)變量配置表存儲了網(wǎng)絡(luò)變量選擇號和有關(guān)連接的重要信息,網(wǎng)絡(luò)變量確保節(jié)點之間數(shù)據(jù)的正確傳送。LON平臺的接收節(jié)點有一個輸入網(wǎng)絡(luò)變量的選擇器的值與發(fā)送網(wǎng)絡(luò)變量中的選擇器的值相同,那么接收節(jié)點上對應(yīng)的輸入網(wǎng)絡(luò)變量修改事件發(fā)生,輸入網(wǎng)絡(luò)變量的值修改為發(fā)送網(wǎng)絡(luò)變量消息的值,實現(xiàn)網(wǎng)關(guān)節(jié)點與其他LON標準協(xié)議設(shè)備的通信。網(wǎng)關(guān)節(jié)點中3150固化的LON協(xié)議能夠自動完成虛擬令牌乒乓式傳輸機制,采用Neuron C語言將3150的IO口聲明為Slave_A并行接口:IO_0 parallel slave io_object_name;虛擬令牌的傳遞依靠事件io_out_ready()和io_out_request()完成,io_out_ready()為真時,3150交出令牌,io_out_request()為真時,3150擁有令牌。AT89C55不能自動完成虛擬令牌傳遞,需要用C語言編制虛擬令牌傳遞協(xié)議,包括主機的同步、握手、數(shù)據(jù)讀寫、令牌傳遞等過程,傳送的數(shù)據(jù)要遵從一定的格式。3150與AT89C55的令牌傳遞完整軟件流程如圖4所示。
4 ?小結(jié)與討論
利用LonMaker組網(wǎng)工具把網(wǎng)關(guān)節(jié)點添加到現(xiàn)代農(nóng)業(yè)分布式監(jiān)控系統(tǒng)上,通過LNS DDE SERVER或NL-OPC Server工具訪問LON平臺數(shù)據(jù),實現(xiàn)網(wǎng)關(guān)節(jié)點的網(wǎng)絡(luò)集成,修改網(wǎng)關(guān)節(jié)點的網(wǎng)絡(luò)變量數(shù)值,土壤分析儀通過RS232端口傳送數(shù)據(jù),網(wǎng)關(guān)節(jié)點接收到數(shù)據(jù)報文后,進行LRC校驗,然后解析,通過LonMaker軟件監(jiān)測返回的數(shù)據(jù)報文。結(jié)果表明,通過LonMaker監(jiān)測到的返回數(shù)據(jù)正確,當(dāng)每秒要傳輸?shù)臄?shù)據(jù)報文達500~1 000包時,網(wǎng)絡(luò)碰撞率穩(wěn)定在10%,網(wǎng)關(guān)節(jié)點性能良好。
參考文獻:
[1] 楊 ?帥.基于虛擬令牌傳輸協(xié)議的LonWorks監(jiān)控系統(tǒng)設(shè)計[J].低壓電器,2010(14):45-48.
[2] 馮艷娜.基于Lonworks總線的網(wǎng)關(guān)工具的設(shè)計[J].工礦自動化,2008(5):139-141.
[3] 楊 ?帥.基于Slave_B并行傳輸模式的雙絞線LON節(jié)點[J].儀表技術(shù)與傳感器,2011(5):48-50.
[4] 田 ?敏.一種采用Slave_B傳輸模式的LonWorks電力線節(jié)點[J].自動化儀表,2011,31(12):13-15.
[5] 成建生.基于電力線通信模式的LON控制器的設(shè)計[J].電測與儀表,2011,48(4):86-89.
[6] 楊 ?帥.采用LonWorks電力載波技術(shù)的控制器[J].低壓電器,2011(13):41-44.