關(guān) 閉

新聞中心

EEPW首頁 > 安全與國防 > 設(shè)計應用 > 基于CAN總線的家居安防系統(tǒng)設(shè)計

基于CAN總線的家居安防系統(tǒng)設(shè)計

作者: 時間:2016-10-11 來源:網(wǎng)絡(luò) 收藏

  3. 4 總線數(shù)據(jù)傳輸單元

本文引用地址:http://butianyuan.cn/article/201610/311161.htm

   總線數(shù)據(jù)傳輸單元由兩部分構(gòu)成,一部分是控制器,實現(xiàn)對總線數(shù)據(jù)的交互與控制,另一部分是CAN 數(shù)據(jù)收發(fā)器,實現(xiàn)數(shù)據(jù)的網(wǎng)絡(luò)傳輸。

  單片機通過控制CAN控制器來實現(xiàn)對總線的訪問,同時還負責功能單元的測量和控制, CAN 總線接口電路如圖3所示。

  

基于AT89S52和CAN總線的家居安防系統(tǒng)設(shè)計

 

  圖3 CAN總線接口電路

  通過中斷方式訪問CAN控制器SJA1000,為了增強CAN總線節(jié)點的抗干擾能力,SJA1000通過高速光耦6N137與CAN總線驅(qū)動器PCA82C50相連。PCA82C50的CANH和CANL引腳各自接了一個5的電阻與CAN總線相連,可以起到限流作用,以免PCA82C50受到過電流沖擊。

  4 軟件設(shè)計

  系統(tǒng)的軟件采用模塊化設(shè)計,主要包括主程序模塊、CAN通信模塊、振鈴檢測模塊、語音報警模塊、DTMF收發(fā)模塊等,這里主要介紹主程序和CAN通信模塊設(shè)計。

  4. 1 主程序設(shè)計

  主程序主要完成各功能模塊的調(diào)用,檢測系統(tǒng)輸入,然后根據(jù)系統(tǒng)狀態(tài)進行判斷處理。程序進行主循環(huán)之前還要進行必要的初始化,如MT8880、ISD1420、SJA1000相關(guān)標志位等。主程序流程如圖4所示。

  

基于AT89S52和CAN總線的家居安防系統(tǒng)設(shè)計

 

  圖4 主程序流程圖

  4. 2 CAN通信模塊設(shè)計

  CAN通信模塊包括控制器初始化、數(shù)據(jù)接收和發(fā)送子程序。SJA1000有復位模式和工作模式兩種狀態(tài),兩種狀態(tài)下寄存器配置不同。當參數(shù)設(shè)置完后,CPU發(fā)出命令,SJA1000處于工作狀態(tài),進行正常通信。如果通信出錯,CPU會使SJA1000回到復位模式。接收模塊負責節(jié)點報文的接收及相關(guān)處理。接收過程中CPU會讀數(shù)據(jù),根據(jù)命令字判斷數(shù)據(jù)幀的類型進行不同處理。發(fā)送模塊負責報文的發(fā)送,SJA1000發(fā)送數(shù)據(jù)前,要判斷是否滿足發(fā)送條件,如果滿足,則把報文幀信息、標識符和要發(fā)送的數(shù)據(jù)寫入緩沖區(qū),即可發(fā)送。JA 1000的收發(fā)流程圖如圖5所示。

  

基于AT89S52和CAN總線的家居安防系統(tǒng)設(shè)計

 

  圖5 JA 1000的收發(fā)流程圖

  5 結(jié)束語

  本系統(tǒng)以單片機為核心,不用對電話網(wǎng)進行任何改造,實現(xiàn)對家居設(shè)防點進行自動檢測和語音報警。設(shè)計中用CAN總線結(jié)構(gòu)組成安防系統(tǒng),有較好的靈活性和擴展性,同時利用CAN 總線引入實時的數(shù)據(jù)處理,提高了系統(tǒng)的可靠性??蓪怯羁梢晫χv、智能小區(qū)管理、門禁管理等有較大的應用推廣價值。


上一頁 1 2 下一頁

關(guān)鍵詞: CAN AT89S52

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉