關 閉

        新聞中心

        EEPW首頁 > 安全與國防 > 設計應用 > 基于CAN總線的家居安防系統設計

        基于CAN總線的家居安防系統設計

        作者: 時間:2016-10-11 來源:網絡 收藏

          3. 4 總線數據傳輸單元

        本文引用地址:http://www.104case.com/article/201610/311161.htm

           總線數據傳輸單元由兩部分構成,一部分是控制器,實現對總線數據的交互與控制,另一部分是CAN 數據收發器,實現數據的網絡傳輸。

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

          

        基于AT89S52和CAN總線的家居安防系統設計

         

          圖3 CAN總線接口電路

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

          4 軟件設計

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

          4. 1 主程序設計

          主程序主要完成各功能模塊的調用,檢測系統輸入,然后根據系統狀態進行判斷處理。程序進行主循環之前還要進行必要的初始化,如MT8880、ISD1420、SJA1000相關標志位等。主程序流程如圖4所示。

          

        基于AT89S52和CAN總線的家居安防系統設計

         

          圖4 主程序流程圖

          4. 2 CAN通信模塊設計

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

          

        基于AT89S52和CAN總線的家居安防系統設計

         

          圖5 JA 1000的收發流程圖

          5 結束語

          本系統以單片機為核心,不用對電話網進行任何改造,實現對家居設防點進行自動檢測和語音報警。設計中用CAN總線結構組成安防系統,有較好的靈活性和擴展性,同時利用CAN 總線引入實時的數據處理,提高了系統的可靠性。可對樓宇可視對講、智能小區管理、門禁管理等有較大的應用推廣價值。


        上一頁 1 2 下一頁

        關鍵詞: CAN AT89S52

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 平顶山市| 新密市| 裕民县| 阿克陶县| 通州区| 阳江市| 江达县| 神农架林区| 嘉祥县| 朝阳县| 安庆市| 宜黄县| 延津县| 江西省| 资兴市| 那坡县| 东兰县| 南安市| 阜城县| 皮山县| 金塔县| 弥渡县| 东明县| 宁夏| 吉木萨尔县| 池州市| 咸阳市| 肇源县| 红原县| 辽阳市| 岳阳县| 金秀| 泰州市| 思南县| 辽阳县| 平顶山市| 澄迈县| 林芝县| 横山县| 贵州省| 迁西县|