關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于CAN總線的家庭控制器的設計與實現

        基于CAN總線的家庭控制器的設計與實現

        作者: 時間:2009-12-10 來源:網絡 收藏

          中繼器采用特定的控制邏輯控制一對收發器82C250.收發器背-背相接,連接兩個物理上獨立的網,雙向傳輸數據。從物理層上看,中繼器CAN信號的透時中繼。

          軟件

          上位機軟件

          采用Visual Basic 6.0開發軟件。分兩大功能模塊:高層系統管理模塊和低層通信模塊。程序流程圖如圖4所示。

        程序流程圖

          (節點)軟件

          與上位機及其它節點的信息交換。

          在軟件中, 遵循模塊化思想,采用結構化程序設計方案,使之具有良好的模塊性、可修改性和可移值性。

          CAN系統的初始化設計是軟件設計的關鍵,這一部分設計不好,系統將不可能正常工作。因此初始化設計是一個難點,又是一個重點。

          在初始化之前,應設置輸出控制寄存器(OCR)的復位請求位為高,再設置其它寄存器。控制寄存器(CR)設定中斷;命令寄存器(CMR)控制緩存器的接收狀態;中斷寄存器(IR)、狀態寄存器(SR)查詢SJA1000的工作狀態;接收碼寄存器(ACR)設定工作地址;接收屏蔽寄存器(AMR)設定工作形式,定時寄存器(BTR0、BTR1)設定工作頻率、采樣頻率;輸出控制寄存器(OCR)一般為正常輸出方式,最后應使復位請求位從高變低,使CAN 進入正常工作狀態。因此,對CAN進行初始化,實際上就是對ACR,AMR,BTR0,BTR1和OCR這些寄存器進行訪問。

          成功地初始化SJA1000后,系統就可以應用它來傳輸報文。

          結語

          CAN總線以其高性能、高可靠性及其獨特的設計越來越受到人們的重視,并被公認為最有前途的總線之一。我們在控制器系統中應用了這種總線技術,設計了硬件電路和軟件,并得到實際應用。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 云南省| 论坛| 霍山县| 富蕴县| 南乐县| 上栗县| 梅河口市| 宽城| 缙云县| 万宁市| 广汉市| 尉犁县| 乌拉特中旗| 安多县| 民勤县| 晋中市| 阿拉善左旗| 镇平县| 鱼台县| 怀集县| 浏阳市| 勃利县| 怀来县| 浪卡子县| 达州市| 尉氏县| 新绛县| 仲巴县| 福建省| 南郑县| 常熟市| 剑川县| 颍上县| 璧山县| 晋中市| 尚志市| 安远县| 拉孜县| 堆龙德庆县| 探索| 鸡西市|