冀宇航 苗凱 武東升
摘 ?要:CAN作為當(dāng)今最流行的現(xiàn)場總線技術(shù)以其高可靠性,低成本和實時性等優(yōu)點被廣泛應(yīng)用于自動控制領(lǐng)域。文章主要介紹了基于CAN總線的多機通信。使用基本模型設(shè)計了一個基于CAN信息采集的溫室環(huán)境控制系統(tǒng),采用BasicCAN模式,該系統(tǒng)智能節(jié)點通過AT89C51單片機作為中央控制芯片。通過CAN總線的智能節(jié)點作為載體而傳輸和控制,不僅可以實時采集外界數(shù)據(jù),控制外部設(shè)備,而且可以通過CAN總線與上位機通信,拓展了系統(tǒng)的功能,使得該系統(tǒng)具有較高的穩(wěn)定性和可靠性。
關(guān)鍵詞:AT89C51單片機;CAN總線;多機通信;BasicCAN模式
中圖分類號:TP273 ? ? ?文獻標(biāo)識碼:A 文章編號:2096-4706(2020)13-0167-04
Abstract:As the most popular field bus technology,can is widely used in the field of automatic control because of its high reliability,low cost and real-time performance. This paper mainly introduces the multi-computer communication based on CAN bus. Using the basic model,a greenhouse environment control system based on can information collection is designed. The BasicCAN mode is adopted. The intelligent node of the system uses AT89C51microcontroller as the central control chip. The intelligent node of CAN bus is used as the carrier to transmit and control. It can not only collect the external data in real time and control the external equipment,but also communicate with the host computer through CAN bus,which enhances the function of the system. The system has high stability and reliability.
Keywords:AT89C51 single chip microcomputer;CAN bus;multi-machine communication;BasicCAN mode
0 ?引 ?言
隨著自動檢測技術(shù)和計算機技術(shù)的發(fā)展,溫室的氣體控制技術(shù)也得到了發(fā)展,隨著我國溫室的種植面積的迅速增加,在溫室中引入智能管理系統(tǒng)將有效提高農(nóng)作物的產(chǎn)量和質(zhì)量。我國溫室種植的技術(shù)水平及產(chǎn)業(yè)化程度都比發(fā)達國家落后程度較大,其中最明顯的就是在溫室環(huán)境的控制技術(shù)方面,因此需要一種適用于農(nóng)業(yè)環(huán)境的低成本,高性能的通信系統(tǒng)?;诤颖鞭r(nóng)業(yè)大學(xué)農(nóng)業(yè)科研基地的優(yōu)勢,為了彌補現(xiàn)有溫室環(huán)境控制系統(tǒng)的不足,本人結(jié)合相關(guān)所學(xué)知識,運用CAN信息采集,建立更適應(yīng)數(shù)據(jù)收集管控、不會影響網(wǎng)絡(luò)的工作,并且響應(yīng)速度快、可靠性高的溫室環(huán)境控制系統(tǒng)。本文從硬件、配置參數(shù)等方面,詳細(xì)地介紹了用于溫室環(huán)境控制的CAN信息采集系統(tǒng)的設(shè)計。
1 ?溫室環(huán)境控制的CAN信息采集系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)設(shè)計
1.1 ?管理中心設(shè)計
溫室大棚需要實時監(jiān)測各種信息,所以在管理中心里面放置了一個主服務(wù)器和3個備用服務(wù)器,防止服務(wù)器出現(xiàn)故障。
一般環(huán)境采集系統(tǒng)網(wǎng)絡(luò)連接均采用總線型接法,但是各個溫室大棚之間通信距離較遠(yuǎn)而且位置較分散所以在組網(wǎng)過程中采用了網(wǎng)控器[1]。網(wǎng)控器作為組網(wǎng)的關(guān)鍵設(shè)備,將各種傳感器節(jié)點等終端與服務(wù)器連接起來[2]。所有的網(wǎng)控器也全部位于管理中心內(nèi),這種設(shè)計有利于網(wǎng)控器的集中管理和維護,如出現(xiàn)問題能及時發(fā)現(xiàn)和排除。
1.2 ?通信距離和傳輸速率設(shè)計
通信距離和傳輸?shù)乃俾手g存在關(guān)系,速率越低通訊距離就越遠(yuǎn),也就是說CAN總線的通訊距離和波特率成反比,標(biāo)準(zhǔn)波特率可以參考如下對應(yīng)關(guān)系,如表1所示。
由于所有主網(wǎng)控器都位于管理中心內(nèi),因此與主干的距離相對較短,主干的通信速度為250 Kbps。主網(wǎng)控器干線速率可以大大提高服務(wù)器對終端傳感器節(jié)點的響應(yīng)速度,并實時提高系統(tǒng)的響應(yīng)能力。網(wǎng)控器一方面連接到服務(wù)器,另一方面連接到終端的采集節(jié)點構(gòu)成的子網(wǎng)[3]。如圖1中的網(wǎng)控器2和網(wǎng)控器3分別與號溫室大棚和3號溫室大棚相連,通信速率為100 Kbps。網(wǎng)控器1與1號溫室大棚相連,通信速率為50 Kbps。整個系統(tǒng)網(wǎng)絡(luò)是一個樹形結(jié)構(gòu)。
1.3 ?終端設(shè)計
終端的作用就是實時采集大棚里面的信息,為了做到全面檢測,各個大棚里面的需要采集的節(jié)點很多,那么就要在保證系統(tǒng)正常運行的情況下,盡可能多的多分配采集節(jié)點的ID,BasicCAN模式ID長有限制,但這個系統(tǒng)仍然可以采集十余個采集節(jié)點信息。
1.4 ?網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖
系統(tǒng)的網(wǎng)絡(luò)拓?fù)鋱D如圖1所示,采集節(jié)點將采集的信息通過網(wǎng)控器上傳到服務(wù)器上,用戶通過登錄服務(wù)器,就可以得到相應(yīng)信息。
2 ?CAN協(xié)議設(shè)計和系統(tǒng)網(wǎng)絡(luò)參數(shù)配置
2.1 ?CAN協(xié)議設(shè)計
從圖1的溫室環(huán)境控制的CAN信息采集系統(tǒng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖可知,構(gòu)成系統(tǒng)網(wǎng)絡(luò)的主要設(shè)備是服務(wù)器,備用服務(wù)器,網(wǎng)控器,采集節(jié)點等。系統(tǒng)網(wǎng)絡(luò)的關(guān)鍵之一是這些網(wǎng)絡(luò)設(shè)備的標(biāo)識符的分配以及參數(shù)的建立,例如屏蔽代碼寄存器(AMR)和驗收代碼寄存器(ACR)[4]。
系統(tǒng)網(wǎng)絡(luò)設(shè)備參數(shù)的配置如圖2所示。參數(shù)配置的一個重要方面是分配11位標(biāo)識符,標(biāo)識符是唯一標(biāo)識網(wǎng)絡(luò)設(shè)備類型和位置的識別碼。ACR和AMR只能對八位進行濾波屏蔽,所以低三位是控制命令字段。標(biāo)識符按表2進行分配。
2.2 ?系統(tǒng)網(wǎng)絡(luò)參數(shù)配置
ID.10~9共2位標(biāo)識符分配給服務(wù)器,最多可接4臺服務(wù)器。服務(wù)器一般應(yīng)位于干線上,否則會使網(wǎng)絡(luò)的復(fù)雜性大大增加。圖2中服務(wù)器的ID為1000 0000 XXXB(最低3位為控制命令字段,用于指明是什么操作)。另外,干線上除了接有服務(wù)器和網(wǎng)控器外,一般不直接連接終端,所有終端均通過網(wǎng)控器轉(zhuǎn)接。該設(shè)計不算是大型設(shè)計,所以使用一級網(wǎng)控器就可以。ID.8~7共2位分配給網(wǎng)控器,網(wǎng)控器的一端接在干線上,另一端與子網(wǎng)相連。如圖中網(wǎng)控器1(ID為1001 0000 XXXB)和網(wǎng)控器3(ID為1011 0000 XX XB)。
接在由網(wǎng)控器構(gòu)成的子網(wǎng)中,同時該子網(wǎng)中也接傳感器采集等終端。終端分配ID.6~3,如圖中采集節(jié)點1溫度傳感器節(jié)點(ID為1001 0001 XXXB)、采集節(jié)點3濕度傳感器節(jié)點(ID為1011 0011 XXXB)。
由于各個終端節(jié)點的ID以及通信命令都不同,所以并不會使服務(wù)器的工作產(chǎn)生混亂,先把服務(wù)器ID設(shè)置為1000 0000 XXXB,那么網(wǎng)控器和部分終端節(jié)點ID分配如表3所示。
3 ?硬件智能節(jié)點的軟硬件設(shè)計
3.1 ?硬件設(shè)計
本文檔中描述的智能CAN總線系統(tǒng)節(jié)點使用AT89C51作為微處理器,而在CAN 總線通信接口上,CAN通信控制器使用SJA1000和CAN總線接收器PCA82C250。CAN總線系統(tǒng)智能節(jié)點硬件電路原理圖如圖3所示。
根據(jù)CAN總線系統(tǒng)智能節(jié)點硬件電路原理圖分析,電路主要由四部分組成:82C250CAN收發(fā)器,AT89C51單片機,SJA1000CAN獨立通信控制器和6N137高速耦合器,AT89C51單片機控制SJA1000的初始化和接發(fā)信號等任務(wù)。在原理圖中對大棚的二氧化碳采集節(jié)點設(shè)計進行說明,二氧化碳傳感器MH-Z19模塊的T(TXD)接單片機的RXD二氧化碳傳感器的R(RXD)接單片機的TXD,二氧化碳的VCC連接單片機的VCC,GND連接單片機的GND。
SJA1000的AD0~AD7連接到AT89C51的P0.0~P0.7,而CS則連接到AT89C51的P2.0,可以為SJA1000選擇CPU的外部存儲器的地址,通過CPU能夠執(zhí)行對應(yīng)于SJA1000的RD、WR和ALE的讀取和寫入操作,并與AT89C51的對應(yīng)引腳連接。SJA1000的INT與AT89C51的INT0連接起來,AT89C51也可以通過中斷方式訪問SJA1000。
SJA1000的TX0和RX0并非與82C250的TXD和RXD直接相連,而是運用6N137與82C250相連,從而來加強CAN的節(jié)點的抗干擾性,更好實現(xiàn)節(jié)點的隔離。但是,應(yīng)該注意的是,耦合部分電路中使用的兩個VCC和VPP電源系統(tǒng)必須完全隔離,否則耦合將毫無意義。電源的完全隔離可以通過小型電源的隔離模塊或絕緣電源大于5 V的開關(guān)電源模塊實現(xiàn),進而增加了節(jié)點的穩(wěn)定性和安全性。
在與CAN總線的接口上還采取了安全和抗干擾措施。82C250的CANH和CANL引腳通過5 Ω電阻連接到CAN總線,該電阻可實現(xiàn)電流限制和可以保護82C250免受過大電流的沖擊。CANH和CANL將兩個30 pF小電容與地面并聯(lián)在一起,以濾除總線上的高頻干擾并提供一定的電磁輻射防護。將防雷管分別安裝在罐式總線的兩個入口端與地面之間,并通過防雷管進行排放,在兩端之間出現(xiàn)瞬時干擾時起到保護作用。瞬態(tài)干擾是電磁兼容領(lǐng)域(尤其是波)中干擾的主要形式之一特別是雷擊浪涌波,由于持續(xù)時間短,脈沖幅度數(shù)值大和能量大,對能保證正常運行的電子電氣設(shè)備構(gòu)成了極大的威脅。82C250中的RS引腳接著斜率電阻,其大小可以根據(jù)總線通信速度進行調(diào)整,通常在16~140 KΩ之間。
3.2 ?軟件設(shè)計流程圖
軟件節(jié)點設(shè)計,例如在二氧化碳傳感器的終端節(jié)點的情況下,根據(jù)數(shù)據(jù)采集系統(tǒng)的特性,系統(tǒng)各個節(jié)點之間和節(jié)點與上位機的距離較遠(yuǎn),并且系統(tǒng)集合具有實時數(shù)據(jù)采集,實時控制,數(shù)據(jù)存儲等功能。
單個節(jié)點模塊的軟件設(shè)計思想是:電初始化,實時數(shù)據(jù)采集,數(shù)據(jù)處理。圖4顯示了節(jié)點計算機程序一次接收和發(fā)送消息的流程。
4 ?結(jié) ?論
CAN通信網(wǎng)絡(luò)促進了全局優(yōu)化控制的改進,并在控制溫室大棚氣體方面充分發(fā)揮了電氣控制單元的作用,溫室計算機智能控制系統(tǒng)是現(xiàn)代農(nóng)業(yè)的首要驅(qū)動力,其具有廣闊的應(yīng)用空間和發(fā)展空間,本文所設(shè)計的基于CAN信息采集的溫室環(huán)境控制系統(tǒng),通過增置多個單片機作為下位機,可實現(xiàn)多參數(shù)的同時快速測量,減少多參數(shù)測量在生產(chǎn)生活的工作量,具有一定的實際應(yīng)用價值。
參考文獻:
[1] 姜幼卿,左國華,陳勤學(xué),等.基于CAN總線的溫室自動控制系統(tǒng)的通信設(shè)計 [J].儀表技術(shù)與傳感器,2005(4):60-62.
[2] 姚世鳳,馮春貴,賀園園,等.物聯(lián)網(wǎng)在農(nóng)業(yè)領(lǐng)域的應(yīng)用 [J].農(nóng)機化研究,2011,33(7):190-193.
[3] 馬國俊.物聯(lián)網(wǎng)核心技術(shù)及其在農(nóng)業(yè)領(lǐng)域的應(yīng)用 [J].江蘇農(nóng)業(yè)科學(xué),2012,40(11):390-392.
[4] 鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計 [M].北京:北京航空航天大學(xué)出版社,1996.
作者簡介:冀宇航(1998.07—),男,漢族,河北順平人,本科在讀,研究方向:物聯(lián)網(wǎng)工程;苗凱(2000.06—),男,漢族,河北保定人,本科在讀,研究方向:物聯(lián)網(wǎng)工程;武東升(1999.10—),男,漢族,河北張家口人,本科在讀,研究方向:數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)。