新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于CAN總線的溫度測量節點設計

        基于CAN總線的溫度測量節點設計

        作者: 時間:2011-07-19 來源:網絡 收藏

        c.jpg


        2.2 通信電路的
        通信電路是整個系統實現通信的關鍵部分,系統中各個控制器是通過通信電路接入CAN網絡上的,實現信號數據的傳輸。CAN通信電路采用STC89C52處理器、PHILIPS公司的控制器SJA1000、NXP公司的收發器82C250和高速光電耦合器6N137等器件組成。在CAN通信電路中微處理器負責對SJA1000進行初始化,各信號通過CAN總線控制器實現信號數據的接收和發送等通信任務。同時為了增加CAN總線的抗干擾能力,更好地實現了總線上各CAN節點間的電氣隔離,SJA1000的TX和RX引腳通過連接光耦6N137后再與總線收發器PCA82C250相連,總線收發器82C250的TXD和RXD分別接光耦6N137的輸出OUT和輸入IN端,再通過具有差動發送和接收功能的總線終端CAN_H和CAN_L連接入總線電纜中,完成通信的傳輸。

        3 節點的軟件
        節點的軟件包括CAN總線初始化、發送子程序及中斷接收程序軟件設計和傳感器DS18B20的程序設計。其節點流程圖如圖4所示。

        d.jpg


        3.1 CAN初始化程序
        CAN初始化即初始化CAN節點。要保證通信正確可靠則必須先對控制器SJA1000進行初始化參數設置。初始化設置是通過微處理器對SJA1 000的寄存器進行初始化,這些初始化包括控制寄存器的配置、命令寄存器的配置、狀態寄存器的配置、中斷管理寄存器的設置、總線定時寄存器的配置、輸出控制寄存器的設置以及時鐘分頻寄存器的設置等。
        系統上電后,對CAN初始化只有在復位模式下才可以開始,初始化設置完成后,CAN控制器就可以回到工作狀態,即進入工作模式,執行正常的通信任務。CAN控制器初始化流程圖如圖5所示。

        e.jpg


        3.2 CAN通信電路程序
        CAN總線節點要完成通信任務則還必須包括發送子程序及中斷接收程序。發送子程序負責各節點報文的發送任務。發送時只需將待發送的數據信息按特定的格式組合成一幀報文,送入CAN控制器SJA1000的發送緩沖器中,啟動SJA1000發送即可完成發送報文任務。在向SJA1000發送緩沖器發送報文之前,可先做一些判斷,判斷其是否正在接收數據、先前發送是否成功以及發送緩沖器是否鎖定等等,以確保數據發送的可靠性。
        中斷接收程序主要是負責節點報文的接收以及其它中斷情況的處理。當進入中斷后要進行是否有數據的判斷,以防干擾誤中斷。
        3.3 溫度傳感器的程序設計
        溫度節點電路上電后也要進行初始化設置,初始化完成后,溫度測量節點中的溫度傳感器對采集到的數據信息實時處理、現場數據實時顯示,并判斷采集的信息是否超過正常值,如出現異常,則報警提示并通過CAN通信電路進行通信。

        4 結束語
        本設計應用性很強,在實際應用中表明,其溫度測量的精度和穩定性都得到很好的提高,準確地反應了工作狀況和實際狀況,達到了預期目標。

        接地電阻相關文章:接地電阻測試方法



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 饶平县| 德庆县| 昌邑市| 石泉县| 麻江县| 宁波市| 临西县| 荥阳市| 蒲江县| 电白县| 博乐市| 孟村| 龙南县| 东乡县| 仙居县| 上虞市| 富锦市| 军事| 岐山县| 建始县| 故城县| 隆昌县| 湖口县| 公主岭市| 富川| 龙里县| 河津市| 贵阳市| 安达市| 甘孜县| 宁武县| 荆门市| 江达县| 岳西县| 万山特区| 凤城市| 来宾市| 靖州| 常山县| 福建省| 南部县|