關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 電液伺服機構與CAN總線接口設計

        電液伺服機構與CAN總線接口設計

        作者: 時間:2011-08-18 來源:網絡 收藏
        3 軟件

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

          軟件的主要任務有:初始化、接收信息、向發送信息、受理中斷、數據運算與輸入輸出控制。傳感器采集的信號存入指定發送子地址的數據緩沖區內,從彈上計算機接收的指令和數據則存入指定的接收子地址的數據緩沖區內。當收到彈上計算機的控制指令后,開始對進行控制。

          初始化程序是本接口中重要的一個環節。在系統上電復位后,首先確定微處理器的設置,然后在SJA復位后,需要確定與通信有關的參數,包括總線定時、各種寄存器和工作模式等。在系統運行過程中,也可以發出一個復位請求,根據實現情況重新確定系統的通信參數。其初始化程序主要步驟有:

          1)初始化微處理器,同時關閉與控制器相連的外部中斷。

          2)檢查復位端,若進行復位狀態,則設置通信參數,包括:工作模式、時鐘驅動寄存器、接收碼寄存器、輸出控制寄存器、接收屏蔽寄存器和總線定時等。

          3)檢查復位請求位,若復位請求位為低,則系統進入正常工作狀態,開微處理器的外部中斷以及控制器本身的中斷。

          初始化程序流程圖如圖5所示。

        電液伺服機構與CAN總線接口程序初始化

          CAN總線報文數據的接收是由控制器根據CAN總線通信協議自主完成的。接收到的數據被放入接收緩存,然后狀態寄存器的“接收緩存狀態”標志位將被置位,同時,中斷寄存器的“接收中斷”標志位也被置位。微處理器必須讀出接收到的數據,同時釋放接收緩存。報文的接收過程可以采用中斷方式,也可以通過查詢的方式實現。

          本設計中采用查詢方式實現數據的接收。如圖6所示為查詢方式的流程圖。CAN控制器的接收中斷標志被關閉。微處理器讀取CAN控制器的狀態寄存器的“接收緩存狀態”標志位,檢查是否有數據到來。如果緩沖區為空,表示沒有接收到數據,微處理器便轉到其它工作上去,直到下一輪檢查。如果緩沖區滿,則表示有數據放入緩存。微處理器可以根據報文信息讀取緩沖區的數據,之后需要設置命令寄存器的“釋放緩存標志”,通知SJA1000釋放接收緩存,完成接收,并進行相應的數據處理。但由于接收緩存中的報文不一定只是一個,因此必須重新檢查接收緩存,直到接收緩存為空為止。否則,由于接收緩存的大小有限,將會出現緩沖區溢出的現象。循環查詢的時間必須足夠快,以避免報文丟失。

          4 結束語

          本設計很好地解決了導彈伺服機構與CAN總線的連接和通信問題,大大減輕了原系統的重量,增強了信號傳遞的抗干擾性,提高了伺服機構的控制精度,另外,PC/104的模塊化結構使得接口的通用性和可維修性也顯著提高。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 绥德县| 阿鲁科尔沁旗| 汶上县| 莱西市| 石首市| 新疆| 中江县| 建德市| 柘城县| 贵定县| 库车县| 峡江县| 临朐县| 高青县| 淄博市| 玉环县| 余姚市| 宁武县| 根河市| 鸡西市| 怀安县| 馆陶县| 长白| 萨迦县| 海门市| 台中市| 泉州市| 阿克苏市| 蓬安县| 东乡| 朝阳市| 巫山县| 奎屯市| 平舆县| 建瓯市| 安溪县| 淳安县| 五华县| 仁化县| 青川县| 道孚县|