基于CAN總線技術(shù)的果園氣象監(jiān)測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)的設(shè)計(jì)及實(shí)現(xiàn)
果樹的生長(zhǎng)受自然環(huán)境和人為因素的影響,其中果園中的氣象條件對(duì)果樹的生長(zhǎng)、結(jié)果和壽命影響很大。果園的氣象條件分溫度、土壤的水分、光照以及風(fēng)力的強(qiáng)弱。所以,通過(guò)監(jiān)測(cè)果園的氣象條件,及時(shí)地以人為因數(shù)改善果樹的生長(zhǎng)條件,已成為影響果農(nóng)收入的關(guān)鍵問(wèn)題。
CAN總線是德國(guó)BOSCH公司從80年代初為解決現(xiàn)代汽車中眾多的控制與測(cè)試儀器之間的數(shù)據(jù)交換而開(kāi)發(fā)的一種串行數(shù)據(jù)通信協(xié)議。CAN總線通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對(duì)通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗(yàn)、優(yōu)先級(jí)判別等項(xiàng)工作,通信速率可達(dá)1MBPS。作為一種分散式、數(shù)字化、雙向多點(diǎn)、具有高速率高可靠性特點(diǎn)的通信系統(tǒng),CAN總線可以構(gòu)建靈活的多主通訊機(jī)制,也可以建立主從式結(jié)構(gòu),而且這兩種方式下的硬件物理聯(lián)接完全相同。
1 系統(tǒng)的總體方案設(shè)計(jì)及工作原理
運(yùn)用CAN總線構(gòu)建分布式的果園氣象監(jiān)測(cè)網(wǎng)絡(luò)系統(tǒng),采用主從式結(jié)構(gòu)。系統(tǒng)結(jié)構(gòu)如圖1所示。本系統(tǒng)由上位監(jiān)控PC機(jī)、CAN總線適配器和現(xiàn)場(chǎng)監(jiān)測(cè)節(jié)點(diǎn)三部分組成,節(jié)點(diǎn)數(shù)量可根據(jù)果園的規(guī)模增減。
上位監(jiān)控PC機(jī)采主要負(fù)責(zé)對(duì)監(jiān)測(cè)系統(tǒng)氣象數(shù)據(jù)的接收與管理、控制命令的發(fā)送以及各監(jiān)測(cè)節(jié)點(diǎn)工作狀態(tài)的實(shí)時(shí)顯示;CAN總線適配器可以使PC機(jī)方便地連接到CAN總線上,本系統(tǒng)采用USB-CAN總線適配器;監(jiān)測(cè)節(jié)點(diǎn)以單片機(jī)P87C591為核心,主要負(fù)責(zé)對(duì)現(xiàn)場(chǎng)的氣象數(shù)據(jù)進(jìn)行采集,對(duì)采集來(lái)的數(shù)據(jù)進(jìn)行數(shù)字濾波求平均值處理并將處理過(guò)的數(shù)字信號(hào)送入CAN總線。同時(shí)監(jiān)測(cè)節(jié)點(diǎn)也接收來(lái)自上位機(jī)的控制命令參數(shù)。本系統(tǒng)通信可靠、快捷,硬件電路設(shè)計(jì)和軟件編程簡(jiǎn)單,能較好地滿足對(duì)果園氣象條件長(zhǎng)期準(zhǔn)確監(jiān)測(cè)的要求。
2 氣象監(jiān)測(cè)節(jié)點(diǎn)的設(shè)計(jì)
2.1 P87C591的特點(diǎn)
節(jié)點(diǎn)硬件電路以PHILIPS 8位單片機(jī)P87C591為核心。P87C591從80C51微控制器家族派生而來(lái),帶硬件I2C總線接口和CAN總線接口,帶6路模擬輸入的10位ADC,可選擇快速8位ADC。
P87C591包含了PHILIPS半導(dǎo)體SJA1000 CAN控制器強(qiáng)大的PeliCAN功能,并在此基礎(chǔ)上擴(kuò)展了以下功能:①增強(qiáng)的CAN接收中斷,有接收緩沖區(qū)級(jí)的接收中斷;用于接收中斷的高優(yōu)先級(jí)驗(yàn)收濾波器。②擴(kuò)展的驗(yàn)收濾波器,8個(gè)濾波器用于標(biāo)準(zhǔn)幀格式,4個(gè)濾波器用于擴(kuò)展幀格式;驗(yàn)收濾波器的“運(yùn)行中可改變”特性。
80C51 CPU接口將PeliCAN與P87C591微控制器內(nèi)部總線相連,連接原理如圖2 所示。80C51核通過(guò)5個(gè)特殊功能寄存器CANADR(地址寄存器),CANDAT(數(shù)據(jù)寄存器),CANMOD(模式寄存器),CANSTA(狀態(tài)寄存器)和CANCON(命令寄存器)對(duì)PeliCAN進(jìn)行訪問(wèn)。通過(guò)CANMOD 可對(duì)PeliCAN模式寄存器進(jìn)行直接的讀/寫訪問(wèn);通過(guò)寫入CANCON 對(duì)命令寄存器進(jìn)行訪問(wèn);通過(guò)讀CANCON 對(duì)中斷寄存器進(jìn)行訪問(wèn);通過(guò)CANSTA 寄存器可對(duì)中斷使能寄存器進(jìn)行寫操作;訪問(wèn)CANSTA 可位尋址并允許單個(gè)狀態(tài)位的直接尋址,這對(duì)查詢很有用。
評(píng)論