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