NiosⅡ系統Avalon總線PWM設計
2.2軟件設計
如果要使Nios軟核能夠訪問自定義的設備,就必須根據先前的硬件設計按照硬件提取層的文件結構編寫設備驅動程序。以PWM為例說明HAL的文件結構,如表4所示。
2.3 將PWM設計封裝為SoPC Builder元件
當硬件文件和軟件文件都已建立好后,便可以通過SoPC Builder中帶有的設備編輯器將自定義設備封裝到開發環境內部,在構建NiosⅡ系統時可以對其直接調用。在SoPC Builder中單擊Creat New Component,創建新元件向導添加HDL文件、設置信號和接口添加軟件,最終生成包含描述文件、用戶存放硬件描述文件的文件夾以及用來包含HAL軟件文件的HAL文件夾。
構建好的內核文件在QuartusⅡ中編譯,生成pof配置文件下載到E2PROM芯片中,接下來就可以使用Nios IDE開發環境編輯用戶程序,以及通過JTAGBlaster或者USB Blaster在目標板上對應用程序進行調試。
智能小車監控系統設計應用周立功公司SmartSoPC核心板,FPGA為Altera公司的EPlC12,NiosⅡ處理器作為嵌入式CPU,機器人車電機共有兩個,左輪電機和右輪電機。該部分包括電機驅動電路和電機控制電路,即左電機的驅動與控制以及右電機的驅動與控制。驅動電路采用CTMicroelectronics公司的大功率直流電機驅動芯片L289,調速控制采用PWM來控制汽車的前進速度,由FPGA寫入控制字,可得到不同占空比的PWM驅動信號,此PWM信號送人電機驅動芯片的控制端來調節速度。調用電機驅動程序,改變PWM占空比,輸出PWM波,實現電機的速度控制。用PWM信號控制直流電動機速度,頻率較低時,電動機不會穩定運轉,頻率較高時,PWM信號的驅動效率降低。經過多次實際電路的測試,調試結果顯示當頻率在500~1 000 Hz時,效果較好。部分C語言控制代碼如下:
4結 語
NiosⅡ嵌入式處理器是用戶可配制的通用RISC嵌入式處理器,是一個非常靈活和強大的處理器。基于此種技術的嵌入式系統設計可以方便地將一般設備和自定義設備模塊集成到系統中,豐富了接口資源,從而能使用戶快速地開發一個自定制片上系統,提高了效率,縮短了開發周期。本文通過自定制PWM外圍設備的方法,并通過硬件測試證明了方案的可行性和正確性,希望能夠為采用Nios Ⅱ處理器的開發人員提供一些方法和建議。
pwm相關文章:pwm原理
評論