五邑大學sopc實驗報告

五邑大學sopc實驗報告

ID:27681048

大?。?35.88 KB

頁數:10頁

時間:2018-12-05

五邑大學sopc實驗報告_第1頁
五邑大學sopc實驗報告_第2頁
五邑大學sopc實驗報告_第3頁
五邑大學sopc實驗報告_第4頁
五邑大學sopc實驗報告_第5頁
資源描述:

《五邑大學sopc實驗報告》由會員上傳分享,免費在線閱讀,更多相關內容在學術論文-天天文庫

1、成繢指導教師U期張欲奕2015-6-29實驗三:基于自定義PWM的樂曲演奏實驗二、實驗要求1、理解PWM設計原理2、設計PWM自定義組件3、利用SOPCBuilder構建樂曲演奏電路的微處理器系統(tǒng)4、構建硬件設計電路5、編寫樂曲C語言程序6、用niosll軟件下載程序,調試三、實驗原理1、PWM的基本原理PWM即脈沖寬度調制,是利用微處理器的數字輸出來對模擬電路進行控制的一種非常有效的技術。脈沖寬度調制(PWM)是一種對模擬信號電平進行數字編碼的方法。通過高分辨率計數器的使用,方波的占空比被調制用來對一個具

2、體模擬信號的電平進行編碼。PWM信號仍然是數字的,因為在給定的任何時刻,滿幅值的直流供電要么完全有(ON),耍么完全無(OFF)。電壓或電流源是以一種通(ON)或斷(OFF)的重復脈沖序列被加到模擬負載上去的。通的時候即是直流供電被加到負載上的時候,斷的吋候即是供電被斷開的吋候。只要帶寬足夠,任何模擬值都可以使用PWM進行編碼。多數負載(無論是電感性負載還是電容性負載)需要的調制頻率高于10Hz,通常調制頻率為1kHz到200kHz之間。2、樂曲演奏原理用niosll軟件控制組件,實現(xiàn)PWM控制蜂嗚器的輸入

3、信號的頻率,改變蜂鳴器鳴叫的咅的長短、響度等。3、樂曲演奏電路的微處理器系統(tǒng)RAM微處理系統(tǒng)如圖1所示:NiosllAVALONMMPWMJtagUartsysidCYCLONEIIDE270IV-?鳴1■?蜂圖Z樂曲演奏電路的微處理器系統(tǒng)實驗過程1、用HDL設計帶avalonslave接口的PWM控制器PWM自定義組件的設計,如下:1)elk:PWM輸入時鐘;2)reset:PWM復位信號;3)chipselect:PWM使能信號;4)address:PWM寄存器地址信號;5)write:PWM寫信號;6

4、)writedata:PWM寫數據;7)read:PWM讀信號;8)byteenable:字節(jié)使能信號;9)readdata:PWM讀出數據;10)PWM_out:PWM輸出信號。程序如下:modulemypwm(clk,reset_n,chipselect,address,write,writedata,read,readdata,byteenable,pwm_out);inputelk;inputreset_n;inputchipselect;inputwrite;inputread;input[31:

5、0]writedata;output[31:0]readdata;input[3:0]byteenable;input[l:O]address;outputpwm_out;reg[31:0]clock_divide_reg;//PWM輸出一個周期屮包禽的吋鐘周期數reg[31:0]duty_cycle_reg;regcontrol_reg;regclock_divide_reg_selected;regduty_cyc1e_reg_seIected;regcontrol_reg_selected;reg

6、3

7、1:0

8、pwm_counter;//PWM計數值reg[31:0]readdata;regpwm_out;wirepwm_enable;//addressdecodealways@(address)beginclock_divide_reg_seIected=0;duty_cycle_reg_selected=O;control_reg_selected=0;case(address)O:clock_divide_reg_selected=l;1:duty_cycle_reg_selected=1;2:co

9、ntrol_reg_selected=l;default:beginclock_divide_reg_selected=0;duty_cyc!e_reg_seIected=O;control_reg_selected=0;endendcaseend//寫PWM輸出周期的吋鐘數寄存器always@(posedgeelkornegedgereset一n)beginif(!reset_n)beginclock_divide_reg=0;endelsebeginif(write&chipselect&clock_d

10、ivide_reg_selected)beginif(byteenable[O])clock_divide_reg[7:0]=writedata[7:0];if(byteenable[1])clock_divide_reg[15:8]=writedata[15:8];if(byteenable[2])clock_divide_reg[23:16]=writedata[23:16];if(byteenable[3]

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。