新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于S3C2410的CAN總線通信設計與開發

        基于S3C2410的CAN總線通信設計與開發

        作者: 時間:2013-02-27 來源:網絡 收藏
        (1) 發送處理

        在兩種情況會下被執行,其一發送中斷響應中,如果當前有發送任務,通過發送緩沖區記錄標志確定空的發生緩沖區并向其中填發送幀,然后啟動發送;其二在接收中斷響應中,在接收處理完后如果有發送任務且有發送緩沖區空,會處理發送任務。在兩處處理發送主要是考慮有多個發送、接收緩沖區可用,可以提高通信效率。

        (2) 接收處理

        需要根據ICOD的值來確定當前是那個接收緩沖區的數據準備好,可以讀取。接收幀處理過程中首先讀取幀的ID值,確定當前幀的數據是那個節點發送來的,并據此把幀中數據字段的數據存放相應的位置。

        (3) 錯誤處理

        引起錯誤處理的原因很多,并且都產生錯誤中斷,需要訪問錯誤標志寄存器來確定具體錯誤類型,并據此作相應的處理。

        此外,圖3中更新發送緩沖區使用記錄是為了在發送和接收中斷響應中可以據此清楚發送緩沖區的使用情況,確定當前是否可以做發送處理。

        4 測試與應用

        將以上設計方案應用到自主開發的HMI(結構框圖如圖4,虛線框中為擴展的總線接口框圖)實驗板上,同時與黃石市科威自控有限公司開發的混合型PLC(EASY-M0808R-A44NB)、通用型PLC(EASY-M2416R)、運動控制器(EASY-KP3-M0506R)進行通信測試,其中HMI作主站,其他設備作從站。測試環境中有電機頻繁啟停和不間斷繼電器開閉干擾,其他測試條件和參數見如附表:

        附表 接口測試記錄表
        在測試記錄程序中記錄了通訊速率為500Kbps,運行到6時31分42秒時出現了一次通信“死機”,隨后系統調用自恢復程序重新配置軟硬件參數,6時31分43秒重啟通信,通信恢復正常。其他測試條件下沒有出現“死機”的情況。該測試結果說明采用這種方法設計的接口完全能夠滿足工業現場網絡通訊的要求。


        圖4 HMI系統結構圖5 結束語

        采用ARM芯片集成的SPI接口擴展的CAN總線接口,在不改變CAN總線自身的特點的前提下,使得PCB布線簡單,增強了系統的可靠性;為擴展接口找到了一個便捷的方法。在自主開發的HMI中采用該設計方案實現CAN總線接口的擴展,并且在實際應用和測試中證明了該方案的正確性和可靠性。(end)


        上一頁 1 2 3 下一頁

        關鍵詞: S3C2410 CAN 總線通信

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 芜湖县| 洛隆县| 庄河市| 石首市| 微博| 阿鲁科尔沁旗| 秀山| 南川市| 盐津县| 沙坪坝区| 平远县| 资溪县| 高邑县| 公安县| 贡嘎县| 无锡市| 夏河县| 瓦房店市| 贞丰县| 南汇区| 平武县| 延安市| 灵石县| 昌图县| 绍兴县| 微山县| 项城市| 伊吾县| 从江县| 定边县| 图木舒克市| 龙海市| 达州市| 澄江县| 长沙县| 淮北市| 秀山| 富源县| 蕲春县| 朝阳县| 岳池县|