新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM+FPGA的運動控制器設計與實現

        基于ARM+FPGA的運動控制器設計與實現

        作者: 時間:2013-01-04 來源:網絡 收藏

        3.1 內部關鍵功能模塊設計

           不擅長對數據進行運算處理,但本系統對每個軸的控制都要進行相應的運算,因此在每個軸的控制模塊設計中盡量不涉及復雜的算法實現,算法部分留給 進行處理。原則上 僅僅接收經 進行處理過的數據,而后按照 主控單元的處理結果進行處理。

          單軸控制模塊框圖如圖3 所示。在每個位置管理單元中都配置了兩個計數器:邏輯位置計數器和實際位置計數器。其中邏輯位置計數器的輸入端接到脈沖發生器的輸出端,其功能是計量從脈沖發生器實際發出的脈沖數量。實位計數器的輸入端接到編碼器的輸出端,其功能是計量從編碼器發出的脈沖個數。邏輯位置寄存器和實際位置寄存器實際上構成一個閉環系統,前者為閉環系統的輸入,后者為閉環系統的輸出。當兩者的誤差范圍不超過某一個限度時,在FPGA中對實時的脈沖發送速率進行調節;當兩者的誤差超過某一個設定的范圍時,FPGA 向ARM 發送一個中斷請求。當某個軸接收到減速信號SD 或者極限到位信號EL 時,在FPGA 內部經過同樣一個中斷發生器模塊向ARM 發送一個中斷。ARM 接收到中斷信號后,開啟運動控制進程,對PID 控制參數進行整定,計算控制量。

        基于ARM+FPGA的運動控制器設計與實現

        圖3 單軸控制模塊設計

          3.2 驅動程序接口設計

          在系統設計中,兩片FPGA 作為ARM 的外設,掛在ARM 的外設地址空間。當ARM 要訪問FPGA時,首先要在ARM 中運行包含FPGA 所在地址空間地址的指令,而后ARM 的片選線選中FPGA,FPGA檢測到自己被選中,從而開始檢測地址總線上傳來的ARM 指令所包含的地址數據。根據從ARM 地址線傳來的地址總線上的數據,FPGA 讀取從ARM 數據總線上傳來的數據總線上的數據,而后開始進行相應的動作,從而完成一次控制任務。寄存器是本運動控制系統的基本組成部分之一,ARM 對FPGA 的控制就是通過配置在FPGA 內部的寄存器來實現的。完成配置的FPGA 整體結構如圖4 所示。

        基于ARM+FPGA的運動控制器設計與實現

        圖4 FPGA 內部結構圖

          4 控制算法設計與仿真

          4.1 單神經元自適應PID 控制器設計

          單神經元自適應PID 控制器的結構如圖5 所示。

        基于ARM+FPGA的運動控制器設計與實現

        圖5 單神經元自適應PID 控制器

          圖5 中,神經元的3 個狀態變量分別為:

        pid控制器相關文章:pid控制器原理




        關鍵詞: ARM FPGA 運動控制器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 忻城县| 怀集县| 鲜城| 德格县| 黄梅县| 项城市| 海兴县| 浏阳市| 吕梁市| 故城县| 仪陇县| 若尔盖县| 大同县| 安图县| 宁安市| 义马市| 韶关市| 津市市| 桐城市| 开封市| 顺昌县| 海城市| 安丘市| 罗源县| 津南区| 沐川县| 方正县| 凤冈县| 海伦市| 子长县| 蚌埠市| 岑巩县| 清徐县| 鄂州市| 兴海县| 邵武市| 虞城县| 潮安县| 沐川县| 扶绥县| 仁化县|