基于CAN總線技術(shù)的果園氣象監(jiān)測網(wǎng)絡(luò)節(jié)點的設(shè)計及實現(xiàn)
所有其它的CAN 寄存器都需要進(jìn)行間接尋址。CANADR 寄存器指向PeliCAN 寄存器的地址。在寫操作時,將要送到被尋址寄存器的數(shù)據(jù)寫入CANDAT; 讀操作時被尋址寄存器的數(shù)據(jù)可從CANDAT 中讀出。
2.2 節(jié)點硬件電路設(shè)計
現(xiàn)場需要采集四路不同的氣象信息,故將四路采集通道分別和P87C591 的P1.2、P1.3、P1.4和P1.5相連。這四個管腳除了作一般的I/O口以外,同時也是ADC輸入通道。
由于電路對數(shù)據(jù)是采用多次采集再取平均值的處理方法,故使用存儲器6264作為數(shù)據(jù)采集過程中的暫存區(qū)。
PCF8563是一款低功耗的CMOS實時時鐘/日歷芯片,用于向電路提供定時中斷信號以及數(shù)據(jù)采集的精確時間信息,包括年、月、日、時、分、秒。 PCF8562是一款單片LCD控制器/驅(qū)動器。它們都具有I2C總線接口,在節(jié)點電路中,與P87C591的I2C總線接口相連,構(gòu)成串行傳輸結(jié)構(gòu),大大簡化了電路的設(shè)計。
監(jiān)測節(jié)點在現(xiàn)場采集到水分、溫度、光照和風(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é)點硬件電路如圖3所示。
3監(jiān)測節(jié)點軟件設(shè)計
監(jiān)測節(jié)點軟件除了初始化P87C591及其外圍器件外,還有兩項任務(wù)需要完成:一是定時產(chǎn)生中斷,實施對各傳感器的采樣與數(shù)據(jù)處理,并向上位機(jī)上傳數(shù)據(jù)。二是中斷接收上位機(jī)的控制參數(shù)命令。其中在定時采集中斷任務(wù)中對所需數(shù)據(jù)采用多次采集求平均值的方法,同時從時鐘芯片讀取采集開始時間和結(jié)束時間,最后一起送LCD顯示及上傳給上位機(jī)。本文引用地址:http://m.butianyuan.cn/article/173727.htm
P87C591內(nèi)部的CAN控制器必須在上電或硬件復(fù)位后進(jìn)行相應(yīng)的初始化處理。初始化主要包括工作方式的設(shè)置,接收收濾波方式的設(shè)置,接收屏蔽寄存器和接收代碼寄存器的設(shè)置,波特率參數(shù)設(shè)置和中斷允許寄存器的設(shè)置等,在完成初始化設(shè)置以后就可以回到工作狀態(tài)進(jìn)行正常的通信任務(wù)。圖4為CAN控制器初始化流程圖。
評論