新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種基于FPGA的永磁同步電機控制器的設計

        一種基于FPGA的永磁同步電機控制器的設計

        作者: 時間:2010-03-17 來源:網絡 收藏

          
          3.1.2 NiosⅡ系統軟件設計
          
          該系統設計的軟件程序主要在Nios IED軟件中編輯調試,實現按鍵中斷程序,按鍵如下:reset(復位),start/stop(啟動和暫停),choose(參數選擇),increase(參數值的增量),de-crease(參數值的減量),transmit(參數的傳輸);并實現串口通信中斷程序。圖3為NiosⅡ處理器軟件執行流程。

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


          
          這里只給出 stait按鍵中斷軟件程序代碼,而choose,in-crease,decrease,transmit程序與之相同。
          
          int main(void)
          
          { alL_irq_register(start_IRQ,start_BASE,start_ISR);//按鍵
          
          start的中斷注冊
          
          IOWR_ALTERA_AVALON_PIO_IRQ_MASK(start_BASE,
          
          0x01);//開啟中斷使能;
          
          IOWR_ALTERA_AVALON_PIO_EDGE_CA(start_BASE,
          
          0x00)://清除捕獲寄存器;
          
          //只給出start變量(用于啟動電機)初始化,并寫入輸出
          
          寄存器:其他變量初始化相同;
          
          Unsigned start=0;
          
          . IOWR_ALTERA_AVALON_PIO_data(start_BASE,start);
          
          //變量寫入輸出PIO寄存器;
          
          While()
          
          }
          
          3.2 電機硬件驅動模塊
          
          電機硬件驅動模塊實現clark,park,i_park坐標變換,PI調節器,SVPWM產生器,轉速檢測等硬件模塊等雙閉環結構。由于上述各個模塊設計比較簡單常見,因此,這里主要介紹SoPC時序控制部分。Reset按鍵為全局復位。復位后系統軟件從主程序入口開始執行;而此時硬件驅動模塊中的兩個狀態計數器為“-1”。這兩個計數器計數時間對應50μs和1 ms,分別對應于電流環和速度環的采樣時間。一旦檢測到來自NiosⅡ處理器的start高電平信號,該信號作為計數使能信號,這兩個計數器從“0”開始計數,計數為“0”時產生一個高電平脈沖信號,電流環計數器脈沖用于鎖存SVPWM中的Ta,Tb,Tc(三相占空比信號),并啟動A/D轉換。速度環的計數器脈沖鎖存一個反饋速度信號,然后計數器循環計數。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 榆林市| 兴海县| 浦江县| 辰溪县| 车险| 洪泽县| 岳西县| 长海县| 隆化县| 堆龙德庆县| 湘阴县| 诏安县| 长垣县| 宝清县| 大连市| 商南县| 桂东县| 新昌县| 莫力| 百色市| 稷山县| 永胜县| 克东县| 安龙县| 象山县| 资中县| 肃宁县| 金坛市| 元阳县| 鸡西市| 金溪县| 新津县| 会东县| 独山县| 吉木萨尔县| 苗栗县| 高尔夫| 道孚县| 叙永县| 信丰县| 虎林市|