基于CAN總線的倉庫溫濕度監(jiān)控系統(tǒng)的設(shè)計(jì)
在倉庫的貨物的管理中,需要對溫度、濕度等環(huán)境參數(shù)進(jìn)行監(jiān)控,以保證倉庫的安全。隨著庫區(qū)的面積逐漸擴(kuò)大,需要傳輸能力強(qiáng)和通信距離遠(yuǎn)的監(jiān)控系統(tǒng)來有效地對倉庫貨物進(jìn)行監(jiān)管。
本文引用地址:http://www.ex-cimer.com/article/163626.htmCAN(ControllerAreaNetwork,控制器局域網(wǎng))總線技術(shù)具有先進(jìn)的多主網(wǎng)絡(luò)結(jié)構(gòu)、通訊距離遠(yuǎn)、價位低、可靠性高、系統(tǒng)容量大、安裝方便、維護(hù)費(fèi)用低、性價比高等優(yōu)點(diǎn)。特別對庫區(qū)較大、倉庫分布較分散的大型倉庫的監(jiān)控非常適用。
2系統(tǒng)硬件設(shè)計(jì)
本系統(tǒng)采用分布式監(jiān)控網(wǎng)絡(luò),主要分為上位機(jī)和下位機(jī)兩部分,而上位機(jī)硬件包括CAN通訊適配器和上位監(jiān)控管理機(jī)組成;下位機(jī)則由CAN節(jié)點(diǎn)和現(xiàn)場傳感器組和溫度濕度參數(shù)控制器組成,如圖1所示。
其工作原理是下位機(jī)節(jié)點(diǎn)通過一定時間間隔把含有地址、溫度、濕度等數(shù)據(jù)量的報(bào)文向CAN總線發(fā)送,總線通過自身仲裁確定先把優(yōu)先級最高的數(shù)據(jù)放到總線上,然后自動仲裁依次發(fā)送優(yōu)先級相對較低的報(bào)文到CAN總線。由于CAN總線的信息存取利用了廣播式的存取工作方式,報(bào)文可以在任何時候由任何節(jié)點(diǎn)發(fā)送到空閑的總線上,每個CAN總線節(jié)點(diǎn)都接收到了總線上出現(xiàn)的報(bào)文信息,通過每個節(jié)點(diǎn)的報(bào)文濾波和地址設(shè)置,上位機(jī)CAN節(jié)點(diǎn)能實(shí)現(xiàn)上傳報(bào)文的接收。上位機(jī)接收到報(bào)文信息后通過組態(tài)王軟件實(shí)現(xiàn)倉庫溫度等參數(shù)實(shí)時監(jiān)視和記錄。同時上位機(jī)通過倉庫人機(jī)界面可隨時發(fā)送控制信息到CAN總線上,地址匹配的CAN總線節(jié)點(diǎn)能收到信息。通過這種方式即可實(shí)現(xiàn)倉庫的溫度等參數(shù)的反饋控制。
2.1上位機(jī)系統(tǒng)的硬件設(shè)計(jì)
CAN通訊適配器承擔(dān)上位計(jì)算機(jī)和CAN節(jié)點(diǎn)之間的數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù),實(shí)現(xiàn)上位機(jī)與下位機(jī)的通訊。利用EPP并行口實(shí)現(xiàn)PC機(jī)與SJA1000的通信,關(guān)鍵在于實(shí)現(xiàn)SJA1000的讀寫時序,實(shí)現(xiàn)的方法有兩種:軟件產(chǎn)生讀寫時序電路和硬件產(chǎn)生讀寫時序電路。該系統(tǒng)用硬件產(chǎn)生讀寫時序電路,通過邏輯門的時間延遲來產(chǎn)生SJA1000握手等信號。設(shè)計(jì)電路如圖2所示。
2.2下位機(jī)系統(tǒng)的硬件設(shè)計(jì)
下位機(jī)包括CAN節(jié)點(diǎn)、現(xiàn)場傳感器組和溫度濕度參數(shù)控制器。CAN節(jié)點(diǎn)主要是完成CAN總線信號和CAN網(wǎng)絡(luò)通訊的配置。現(xiàn)場傳感器組和參數(shù)控制器部分主要是和CAN節(jié)點(diǎn)完成實(shí)時監(jiān)測倉庫內(nèi)各個測試點(diǎn)的溫度、濕度情況,還要負(fù)責(zé)接收上位管理機(jī)的命令,根據(jù)上位管理機(jī)的要求傳輸數(shù)據(jù)和反饋控制。下位機(jī)結(jié)構(gòu)組成如圖3所示。
2.2.1CAN節(jié)點(diǎn)
CAN節(jié)點(diǎn)器件主要包括:微處理器AT89S52單片機(jī)、CAN控制器SJA1000和CAN總線收發(fā)器PCA82C250。
?。?)CAN控制器SJA1000
SJA1000的工作模式通過其內(nèi)部的時鐘分頻寄存器CDR中的CAN模式位來選擇。硬件復(fù)位時默認(rèn)模式是BasicCAN工作模式。SJA1000相對于微控制器相當(dāng)于是一存儲映象I/O設(shè)備,他的地址域由控制段和信息緩沖區(qū)段組成,在向下加載初始化期間,控制器可被編程以設(shè)定通信參數(shù),CAN總線上的通信可通過此段由微控制器控制。
SJA1000內(nèi)部寄存器有的是只能寫的,有的是既可讀又可寫的。系統(tǒng)正常工作之前,微控制器要對某些寄存器進(jìn)行初始化,以保證系統(tǒng)的各部分之間能進(jìn)行正確的數(shù)據(jù)交換。CAN控制器的內(nèi)容都是通過微控制器寫入的,其讀寫時序如圖4所示。
從讀/寫時序圖來看,微控制器對SJA1000進(jìn)行操作,由于SJA1000內(nèi)可存儲數(shù)據(jù)的地址信息?,F(xiàn)場數(shù)據(jù)采集與控制層負(fù)責(zé)從現(xiàn)場采集數(shù)據(jù)以CAN協(xié)議的格式發(fā)送到總線上,根據(jù)需要對現(xiàn)場設(shè)備進(jìn)行實(shí)時控制和監(jiān)視。系統(tǒng)上電后微處理器先對自身和SJA1000進(jìn)行初始化,以SJA1000傳送到CAN總線上或直接現(xiàn)場顯示、控制;對從CAN總線上來的信息則采用中斷方式,系統(tǒng)每接收到一幀信息,便產(chǎn)生一次中斷,引發(fā)微處理機(jī)進(jìn)入中斷,在中斷服務(wù)程序中讀取該幀信息并傳送到現(xiàn)場。
(2)CAN收發(fā)器PCA82C250
PCA82C250為CAN收發(fā)器,是CAN控制器和物理總線間的接口,提供對總線的驅(qū)動發(fā)送能力,CAN控制器的差動發(fā)送能力和CAN控制器的差動接收能力。他有很強(qiáng)的抗瞬間干擾和保護(hù)總線的能力,具有3種不同的工作模式即高速、斜率控制和待機(jī)??偩€上的某節(jié)點(diǎn)掉電不會影響總線,在40m內(nèi)實(shí)現(xiàn)高速應(yīng)用可達(dá)1Mb/s,最多可掛110個節(jié)點(diǎn)。管腳8(RS)允許PCA82C250選擇3種不同的工作模式,如表1所示。
評論