掃描二維碼
隨時(shí)隨地手機(jī)看文章
果樹的生長(zhǎng)受自然環(huán)境和人為因素的影響,其中果園中的氣象條件對(duì)果樹的生長(zhǎng)、結(jié)果和壽命影響很大。果園的氣象條件分溫度、土壤的水分、光照以及風(fēng)力的強(qiáng)弱。所以,通過監(jiān)測(cè)果園的氣象條件,及時(shí)地以人為因數(shù)改善果樹的生長(zhǎng)條件,已成為影響果農(nóng)收入的關(guān)鍵問題。
CAN總線是德國(guó)BOSCH公司從80年代初為解決現(xiàn)代汽車中眾多的控制與測(cè)試儀器之間的數(shù)據(jù)交換而開發(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ī)模增減。
500)this.style.width=500;" border="0" />
上位監(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ì)采集來的數(shù)據(jù)進(jìn)行數(shù)字濾波求平均值處理并將處理過的數(shù)字信號(hào)送入CAN總線。同時(shí)監(jiān)測(cè)節(jié)點(diǎn)也接收來自上位機(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微控制器家族派生而來,帶硬件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)行中可改變”特性。
500)this.style.width=500;" border="0" />
80C51 CPU接口將PeliCAN與P87C591微控制器內(nèi)部總線相連,連接原理如圖2 所示。80C51核通過5個(gè)特殊功能寄存器CANADR(地址寄存器),CANDAT(數(shù)據(jù)寄存器),CANMOD(模式寄存器),CANSTA(狀態(tài)寄存器)和CANCON(命令寄存器)對(duì)PeliCAN進(jìn)行訪問。通過CANMOD 可對(duì)PeliCAN模式寄存器進(jìn)行直接的讀/寫訪問;通過寫入CANCON 對(duì)命令寄存器進(jìn)行訪問;通過讀CANCON 對(duì)中斷寄存器進(jìn)行訪問;通過CANSTA 寄存器可對(duì)中斷使能寄存器進(jìn)行寫操作;訪問CANSTA 可位尋址并允許單個(gè)狀態(tài)位的直接尋址,這對(duì)查詢很有用。
所有其它的CAN 寄存器都需要進(jìn)行間接尋址。CANADR 寄存器指向PeliCAN 寄存器的地址。在寫操作時(shí),將要送到被尋址寄存器的數(shù)據(jù)寫入CANDAT; 讀操作時(shí)被尋址寄存器的數(shù)據(jù)可從CANDAT 中讀出。
2.2 節(jié)點(diǎn)硬件電路設(shè)計(jì)
現(xiàn)場(chǎng)需要采集四路不同的氣象信息,故將四路采集通道分別和P87C591 的P1.2、P1.3、P1.4和P1.5相連。這四個(gè)管腳除了作一般的I/O口以外,同時(shí)也是ADC輸入通道。
由于電路對(duì)數(shù)據(jù)是采用多次采集再取平均值的處理方法,故使用存儲(chǔ)器6264作為數(shù)據(jù)采集過程中的暫存區(qū)。
PCF8563是一款低功耗的CMOS實(shí)時(shí)時(shí)鐘/日歷芯片,用于向電路提供定時(shí)中斷信號(hào)以及數(shù)據(jù)采集的精確時(shí)間信息,包括年、月、日、時(shí)、分、秒。 PCF8562是一款單片LCD控制器/驅(qū)動(dòng)器。它們都具有I2C總線接口,在節(jié)點(diǎn)電路中,與P87C591的I2C總線接口相連,構(gòu)成串行傳輸結(jié)構(gòu),大大簡(jiǎn)化了電路的設(shè)計(jì)。
監(jiān)測(cè)節(jié)點(diǎn)在現(xiàn)場(chǎng)采集到水分、溫度、光照和風(fēng)力數(shù)據(jù)后,將通過CAN總線傳給上位監(jiān)控PC機(jī)。P87C591 的P1.0和P1.1口被復(fù)用為CAN接收器的輸入腳和發(fā)送器的輸出腳。這兩管腳經(jīng)收發(fā)器PCA82C250連到CAN總線電纜上。PCA82C250 收發(fā)器是CAN協(xié)議控制器和物理傳輸線路之間的接口。節(jié)點(diǎn)硬件電路如圖3所示。
3監(jiān)測(cè)節(jié)點(diǎn)軟件設(shè)計(jì)
監(jiān)測(cè)節(jié)點(diǎn)軟件除了初始化P87C591及其外圍器件外,還有兩項(xiàng)任務(wù)需要完成:一是定時(shí)產(chǎn)生中斷,實(shí)施對(duì)各傳感器的采樣與數(shù)據(jù)處理,并向上位機(jī)上傳數(shù)據(jù)。二是中斷接收上位機(jī)的控制參數(shù)命令。其中在定時(shí)采集中斷任務(wù)中對(duì)所需數(shù)據(jù)采用多次采集求平均值的方法,同時(shí)從時(shí)鐘芯片讀取采集開始時(shí)間和結(jié)束時(shí)間,最后一起送LCD顯示及上傳給上位機(jī)。
500)this.style.width=500;" border="0" />
500)this.style.width=500;" border="0" />
P87C591內(nèi)部的CAN控制器必須在上電或硬件復(fù)位后進(jìn)行相應(yīng)的初始化處理。初始化主要包括工作方式的設(shè)置,接收收濾波方式的設(shè)置,接收屏蔽寄存器和接收代碼寄存器的設(shè)置,波特率參數(shù)設(shè)置和中斷允許寄存器的設(shè)置等,在完成初始化設(shè)置以后就可以回到工作狀態(tài)進(jìn)行正常的通信任務(wù)。圖4為CAN控制器初始化流程圖。
500)this.style.width=500;" border="0" />
監(jiān)測(cè)節(jié)點(diǎn)程序流程框圖如圖5。在沒有采集任務(wù)或要求接收控制參數(shù)時(shí),P87C591進(jìn)入空閑模式。當(dāng)一旦出現(xiàn)定時(shí)采集中斷或接收控制參數(shù)中斷時(shí),P87C591退出空閑模式,進(jìn)入相應(yīng)的中斷服務(wù)程序。
4 結(jié)束語(yǔ)
本文作者創(chuàng)新點(diǎn):在基于CAN總線的分布式測(cè)控系統(tǒng)節(jié)點(diǎn)的設(shè)計(jì)中,就如何利用P87C591豐富的片上集成資源,簡(jiǎn)化數(shù)據(jù)采集監(jiān)測(cè)節(jié)點(diǎn)的電路設(shè)計(jì),提出了一個(gè)良好的設(shè)計(jì)方案。對(duì)于類似的分布式監(jiān)測(cè)系統(tǒng)節(jié)點(diǎn)的設(shè)計(jì)有著很好的借鑒作用。
汽車電子系統(tǒng)架構(gòu)發(fā)生了顛覆性變化。它已經(jīng)持續(xù)了近十年,現(xiàn)在正在加快速度。這主要發(fā)生在 BEV 初創(chuàng)公司中,因?yàn)樗鼈儧]有歷史限制或根深蒂固的喜愛設(shè)計(jì),并且可以從電子架構(gòu)的零基礎(chǔ)開始。
關(guān)鍵字: CAN總線 電動(dòng)汽車CAN總線首先在汽車上得到了廣泛應(yīng)用,之后又在工業(yè)生產(chǎn)領(lǐng)域有了很大發(fā)展,那么面對(duì)不同的應(yīng)用場(chǎng)景和工況,如何選擇合適的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)慢慢成為一個(gè)讓人頭疼的問題。在這篇文章中,我將重點(diǎn)介紹用于驅(qū)動(dòng)這些總線電壓的 CAN 驅(qū)動(dòng)器...
關(guān)鍵字: CAN總線 CAN總線拓?fù)?/a>杭州2022年6月5日 /美通社/ -- 2022年6月5日是第51個(gè)世界環(huán)境日,我國(guó)六五環(huán)境日主題為"共建清潔美麗世界"。為積極響應(yīng)該主題,聚光科技(杭州)股份有限公司(簡(jiǎn)稱"聚光科技&q...
關(guān)鍵字: BSP 環(huán)境監(jiān)測(cè)儀 監(jiān)測(cè)網(wǎng) 遙感大家好,我是小麥。最近在調(diào)試一個(gè)CAN總線的設(shè)備遇到一些問題,簡(jiǎn)單總結(jié)一下。本文會(huì)對(duì)CAN總線進(jìn)行簡(jiǎn)單介紹,CAN的硬件鏈路層,協(xié)議層,以及調(diào)試的一些心得。目錄什么是CAN總線?物理層差分信號(hào)連接方式CAN節(jié)點(diǎn)CAN協(xié)議...
關(guān)鍵字: CAN總線大家好,我是小麥。最近在調(diào)試一個(gè)CAN總線的設(shè)備時(shí)遇到了一些問題,在此簡(jiǎn)單總結(jié)一下。本文將對(duì)CAN總線進(jìn)行簡(jiǎn)單介紹,包括CAN的硬件鏈路層、協(xié)議層,以及調(diào)試的一些心得。目錄什么是CAN總線?物理層差分信號(hào)連接方式CAN節(jié)...
關(guān)鍵字: CAN總線摘要:介紹了基于STC12C5A60S2單片機(jī)、SJA1000型CAN接口控制器以及PCA82C250串行收發(fā)器構(gòu)成的總線通信網(wǎng)絡(luò)。該網(wǎng)絡(luò)中遠(yuǎn)端的CAN節(jié)點(diǎn)可監(jiān)測(cè)現(xiàn)場(chǎng)環(huán)境,并實(shí)現(xiàn)數(shù)據(jù)收發(fā)和串行通信,上位PC機(jī)利用VB6....
關(guān)鍵字: 單片機(jī) CAN總線 VB6.0 環(huán)境參數(shù)關(guān)注、星標(biāo)公眾號(hào),直達(dá)精彩內(nèi)容來源:整理與網(wǎng)絡(luò)素材最近在搞一個(gè)can協(xié)議,本文爭(zhēng)對(duì)一些can底層細(xì)節(jié)很到位,分享一下。1.簡(jiǎn)介CAN總線由德國(guó)BOSCH公司開發(fā),最高速率可達(dá)到1Mbps。CAN的容錯(cuò)能力特別強(qiáng),CAN控...
關(guān)鍵字: CAN總線