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