- 相關(guān)推薦
基于CAN總線的對等式火災(zāi)報(bào)警系統(tǒng)
摘要:介紹了基于can總線的對等式火災(zāi)報(bào)警系統(tǒng)的設(shè)計(jì)和實(shí) 現(xiàn)方法,給出了can總線的硬件接口電路和軟件流程。關(guān)鍵詞:火災(zāi)報(bào)警 can總線 對等式 隨著新技術(shù)的不斷發(fā)展,對火災(zāi)報(bào)警控制器聯(lián)網(wǎng)的要求也越來越高;馂(zāi)報(bào)警控制器不但要 完成本機(jī)的報(bào)警、聯(lián)動等功能,還要把報(bào)警信息傳送到其它報(bào)警控制器或系統(tǒng)。本文介紹了 基于can總線的對等式火災(zāi)報(bào)警系統(tǒng),系統(tǒng)中任意報(bào)警控制器都可以平等地從總線上接收其 它報(bào)警控制器的報(bào)警信息,也可以對其它報(bào)警控制器發(fā)出指令,從而克服了"主從式"通訊 中所有信息必須通過主機(jī)進(jìn)行交換的缺點(diǎn)。
1、can總線簡介
控制器局域網(wǎng)can(controller area net)是一種現(xiàn)場總線,主要用于各種過程檢測及控制。 can最初是由德國bosch公司為汽車監(jiān)測和控制而設(shè)計(jì)的,目前can已逐步應(yīng)用到其它工業(yè)控 制中,現(xiàn)已成為iso-11898國際標(biāo)準(zhǔn)。
can總線有以下特點(diǎn):
1)can可以是對等結(jié)構(gòu),即多主機(jī)工作方式,網(wǎng)絡(luò)上任意一個(gè)節(jié)點(diǎn)可以在任意時(shí)刻主動地向 網(wǎng)絡(luò)上其它節(jié)點(diǎn)發(fā)送信息,不分主從,通訊方式靈活。
2)can網(wǎng)絡(luò)上的節(jié)點(diǎn)可以分為不同的優(yōu)先級,滿足不同的實(shí)時(shí)需要。
3)can采用非破壞性仲裁技術(shù),當(dāng)兩個(gè)節(jié)點(diǎn)同時(shí)向網(wǎng)絡(luò)上傳送信息時(shí),優(yōu)先級低的節(jié)點(diǎn)自動 停止發(fā)送,在網(wǎng)絡(luò)負(fù)載很重的情況下不會出現(xiàn)網(wǎng)絡(luò)癱瘓。
4)can可以點(diǎn)對點(diǎn)、點(diǎn)對多點(diǎn)、點(diǎn)對網(wǎng)絡(luò)的方式發(fā)送和接收數(shù)據(jù),通訊距離最遠(yuǎn)10 km(5 kb/ s),節(jié)點(diǎn)數(shù)目可達(dá)110個(gè)。
5)can采用的是短幀結(jié)構(gòu),每一幀的有效字節(jié)數(shù)為8個(gè),具有crc校驗(yàn)和其它檢測措施,數(shù)據(jù)出錯(cuò)幾率小。can節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下,具有自動關(guān)閉功能,不會影響總線上其它節(jié)點(diǎn)操作。
6)通訊介質(zhì)采用廉價(jià)的雙絞線,無特殊要求,用戶接口簡單,容易構(gòu)成用戶系統(tǒng)。
2、系統(tǒng)構(gòu)成
系統(tǒng)中每個(gè)節(jié)點(diǎn)由火災(zāi)報(bào)警控制器、can總線控制器、can收發(fā)器構(gòu)成,系統(tǒng)結(jié)構(gòu)圖如圖1所 示,火災(zāi)報(bào)警控制器接收火災(zāi)報(bào)警信息并完成火災(zāi)判斷、聯(lián)動等功能;can控制器用于各控 制器 之間的數(shù)據(jù)傳遞;can收發(fā)器增強(qiáng)了控制器的驅(qū)動能力,保證了火災(zāi)報(bào)警控制器之間的通訊 距離。圖1系統(tǒng)結(jié)構(gòu)圖
發(fā)送數(shù)據(jù)時(shí),火災(zāi)報(bào)警器把需要傳送的數(shù)據(jù)寫入can控制器的發(fā)送緩沖區(qū),啟動發(fā)送, 數(shù)據(jù)即通過can收發(fā)器發(fā)送到總線上;接收數(shù)據(jù)時(shí),can控制器通過can收發(fā)器從總線上接收 數(shù)據(jù),處理后存入接收緩沖區(qū),并給出接收中斷信號,這時(shí),火災(zāi)報(bào)警器可以從can控制器 的接收緩沖區(qū)取走數(shù)據(jù)。
3、系統(tǒng)硬件設(shè)計(jì)
圖2是can總線節(jié)點(diǎn)(即火災(zāi)報(bào)警器節(jié)點(diǎn))的電原理圖,圖中cpu以mcs-51系列單片機(jī)為例進(jìn)行 說明。82c200是can通訊控制器,主要完成can的通訊協(xié)議。82c200需外接復(fù)位(rst)信號; 可選用6~24 mhz晶振;mode接vdd為intel方式,接vss為motorola方式;中斷(int)連接到 cpu的int0;片選信號(cs)由cpu的a15控制;tx0和rx0是與can總線的接口;rx1需接地。82c 250是can收發(fā)器,用于提供對總線差動發(fā)送和接收的驅(qū)動能力;txd和rxd用于發(fā)送和接收信號。
4、系統(tǒng)軟件設(shè)計(jì)
在軟件設(shè)計(jì)時(shí),由于can通訊協(xié)議是由集成在can控制器82c200中的硬件電路實(shí)現(xiàn)的,因此, 通訊軟件的開發(fā)主要體現(xiàn)在應(yīng)用軟件上,主要包括兩部分:初始化程序和通訊程序。
4?1初始化
在開機(jī)和復(fù)位后,需要對can控制器進(jìn)行初始化,通過對82c200控制段的寄存器寫入控制字 從而確定82c200的工作方式。初始化時(shí),首先給can控制器發(fā)出復(fù)位指令,然后給控制寄存 器cr、命令寄存器cmr、狀態(tài)寄存器sr、中斷寄存器ir、驗(yàn)收寄存器acr、驗(yàn)收屏蔽寄存器am r、總線定時(shí)寄存器btr0、btr1、輸出控制寄存器ocr寫入相應(yīng)的控制字。軟件流程如圖3所 示。 圖3 初始化程序流程圖 4?2通訊程序
在發(fā)送數(shù)據(jù)時(shí),cpu把需要發(fā)送的一幀數(shù)據(jù)寫入can控制器82c200,然后啟動發(fā)送,can控制 器即把數(shù)據(jù)發(fā)送到總線上。在接收數(shù)據(jù)時(shí),can控制器把從總線上接收的數(shù)據(jù)存入緩沖區(qū),cpu再從緩沖區(qū)讀取數(shù)據(jù)。 數(shù)據(jù)的發(fā)送和接收可以采用查詢方式和中斷方式,下面給出采用中斷方式時(shí)的中斷服務(wù)程序。軟件 流程如圖4所示。圖4 中斷服務(wù)程序流程圖 5、結(jié)論
傳統(tǒng)的"主從式"通訊方式中,如果主機(jī)因?yàn)槟撤N原因出現(xiàn)通訊故障,將導(dǎo)致整個(gè)網(wǎng)絡(luò)癱瘓 。在基于can總線的對等式火災(zāi)報(bào)警控制系統(tǒng)中,各火災(zāi)報(bào)警控制器節(jié)點(diǎn)的關(guān)系是平等的, 都可以主動地從總線接收和發(fā)送信息,真正地實(shí)現(xiàn)了系統(tǒng)信息的共享,從而較好地解決了這 個(gè)問題,網(wǎng)絡(luò)中任意節(jié)點(diǎn)都可以平等地發(fā)送和獲取需要的信息。同時(shí),can總線具有抗干擾 能力強(qiáng)、傳輸距離遠(yuǎn)、價(jià)格低廉、易于維護(hù)等優(yōu)點(diǎn),可廣泛應(yīng)用于火災(zāi)報(bào)警系統(tǒng)中。
參考文獻(xiàn):
[1]鄔明寬?《can總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)》,北京:北京航空航天大學(xué)出版社,1996?
[2]陽憲惠?《現(xiàn)場總線技術(shù)及應(yīng)用》,北京:清華大學(xué)出版社,1999?
[3]application notes and development tools for 80c51 microcontrollers philip s 1995. 論文出處(作者):
對電子設(shè)備防雷擊有關(guān)問題的看法
東勝大廈樓宇自控系統(tǒng)的設(shè)置方案
【基于CAN總線的對等式火災(zāi)報(bào)警系統(tǒng)】相關(guān)文章:
基于CAN總線的EV電控系統(tǒng)通信的設(shè)計(jì)與開發(fā)03-19
基于CAN總線的工業(yè)通訊網(wǎng)絡(luò)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)03-07
基于PCI總線的CAN卡的設(shè)計(jì)與實(shí)現(xiàn)03-18
基于CAN總線的汽車液晶儀表設(shè)計(jì)03-07
CAN總線在樓宇監(jiān)控系統(tǒng)中的應(yīng)用03-07
基于ISD語音芯片的報(bào)警系統(tǒng)03-07
基于單片機(jī)的CAN智能總線節(jié)點(diǎn)的設(shè)計(jì)03-07