新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種基于CAN總線的監控系統設計及位定時分析

        一種基于CAN總線的監控系統設計及位定時分析

        作者: 時間:2012-08-17 來源:網絡 收藏

          can應用層協議

          在can 2.0規范中,只對物理層和數據鏈路層作了規定,用戶需要根據自己的需求制定應用層協議。本設計以各個節點為控制對象,設計其應用層通信協議。can總線上傳輸的信息一般可分為2類:

          命令信息:包括上位機要數命令、上位機控制命令。每周期上位機經can—rs232轉換模塊下發至各個節點要數命令。上位機接到狀態信息后,根據情況下發控制命令,經由轉換模塊下發至各個節點模塊。

          狀態信息。節點接到命令信息后,由各個節點采集現場數據信息,發送到can—rs232轉換模塊,再由其上傳給上位機。信息包括:設備開關狀態,電壓電流量等。

          根據系統實際情況,本系統can2.0標準幀格式的基礎上(見表2),制定了一個多幀傳輸的應用層協議。協議中,實用軟件濾波,即屏蔽了驗收濾波器,將除了外,包括11位標識符的第二、三字節都進行了分配,如表3所示。

          其中,可以根據實際情況而定。

          標識符id10~id3代表模塊地址,所以協議理論上可滿足256個控制節點,標識符id2、id0以及該字節后六位定義為幀類型:命令幀或狀態幀,數據信息這樣劃分簡單明了。上位機根據模塊地址收集判斷節點信息,并下發相應命令。協議還規定,按優先權由高到低,從低向高為模塊分配地址,以保證總線競爭中優先權高的節點能更先占有總線。

        系統軟件設計

          基于總體設計要求和硬件組成,結合can總線協議的模型結構,整個系統的軟件設計可以分為兩部分:節點部分、上位機部分。

          節點部分包括:初始化模塊,can通信模塊,串行通信模塊,數據處理模塊。正確的can初始化,可以充分利用can總線的優勢,保證can通信正確可靠工作。對can節點初始化只有在復位模式下才可以進行,初始化主要包括工作方式的設置、接收濾波方式的設置、接收屏蔽寄存器(amr)的設置、接收代碼寄存器(acr)的設置、波特率參數設置和中斷允許寄存器(ier)的設置等。在完成can控制器的初始化設置以后,can控制器就可以回到工作狀態,執行正常的通信任務。其他模塊,不再詳述。

          上位機部分:上位機軟件由vc++6.0軟件編寫,應用mfc類庫編寫并生成了具有windows風格的人機交互界面。軟件應用mscomm控件通過串行端口傳輸和接收數據,為應用程序提供了串行通訊功能。microsoft communications control(mscomm)是microsoft公司提供的簡化windows下串行通信編程的activex控件,為應用程序提供了通過串行接口收發數據的簡便方法。具體來說,它提供了兩種處理通信問題的方法:一是事件驅動(event-driven)方法,一是查詢法。我們采用事件驅動方式。使用者可以通過良好的人機界面對整個系統進行實時監控。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 土默特右旗| 祥云县| 景谷| 合山市| 察隅县| 淮北市| 旺苍县| 毕节市| 绍兴市| 徐水县| 石河子市| 仲巴县| 新密市| 沁源县| 衡阳县| 万载县| 木里| 珲春市| 什邡市| 大洼县| 常熟市| 延安市| 太仆寺旗| 平阴县| 团风县| 石泉县| 定日县| 嘉定区| 新丰县| 余庆县| 云阳县| 曲松县| 泸水县| 宜宾市| 潮州市| 晋江市| 乐亭县| 彝良县| 德安县| 板桥市| 确山县|