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