版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、山東大學(xué)威 海 分 校課 程 設(shè) 計 報 告設(shè)計題目: _基于fpga的步進電機的pwm控制_ _ 細(xì)分驅(qū)動的實現(xiàn)_ 姓 名_秦正運_ _ _ _學(xué) 號 20059002029 院 系_ _信息工程學(xué)院 _ 專 業(yè)_ 電子信息科學(xué)與技術(shù) 年 級_05_ _2009年 5 月 3 日目 錄目 錄2摘 要3關(guān) 鍵 詞3abstract3keywords3一、引言4二、步進電機細(xì)分驅(qū)動的基本原理4三、quartus ii概述5四、課題設(shè)計6(一)總體設(shè)計6(二)細(xì)分電流的實現(xiàn)6(三)細(xì)分驅(qū)動性能的改善6(四)程序設(shè)計7六、仿真與測試結(jié)果分析10七、結(jié)論12參考文獻13注 釋14附 錄15謝 辭21摘
2、 要在對步進電機細(xì)分驅(qū)動原理進行分析研究的基礎(chǔ)上,提出一種基于fpga控制的步進電機細(xì)分驅(qū)動器。利用fpga中的嵌入式eab構(gòu)成lpm-rom,存放步進電機各相細(xì)分電流所需的pwm控制波形數(shù)據(jù)表,并通過fpga設(shè)計的數(shù)字比較器,同時產(chǎn)生多路pwm電流波形,實現(xiàn)對步進電機轉(zhuǎn)角進行均勻細(xì)分控制。實驗證明,所研制的步進電機驅(qū)動器不僅體積小,簡化了系統(tǒng)的設(shè)計,減少了延遲,改善了低頻特性,有良好的適應(yīng)性和自保護能力,提高了驅(qū)動器的穩(wěn)定性和可靠性。關(guān) 鍵 詞步進電機;細(xì)分驅(qū)動;脈寬調(diào)制;fpgaabstractin this paper, a divided driving circuit for ste
3、pping motor controlled by fpga is put forward, based on the analysis of the principle of stepping motor divided driving. using embedded eab in fpga to compose lpm-rom, store pwm control wave form data which stepping motor each phase subdivided driving current is neededthe magnitude comparator design
4、ed with fpga generates several pwm current waveform synchronously, to realize the step angles even division control for threephase stepping motor.experimments have proved that the developed subdivision driver is not only smaller,sampler in system, can shorten the delay time,improve the stability in
5、low frequency ,but has good self-adaptation and self-protection ability,and its stability and relibility are higher.keywords stepping motor; divided driving;pwm; fpga一、引言步進電機是把脈沖信號轉(zhuǎn)換成角位移或直線位移的執(zhí)行元件,是一種輸出與輸入數(shù)字脈沖相對應(yīng)的增量驅(qū)動元件。具有定位精度高、慣性小、無積累誤差、啟動性能好、易于控制、價格低廉及與計算機接口方便等優(yōu)點,被廣泛應(yīng)用于數(shù)控系統(tǒng)中。但由于脈沖的不連續(xù)性又使步進電機的運行存在許
6、多的不足之處,如低頻震蕩,噪聲大,分辨率不高及驅(qū)動系統(tǒng)的可靠性差等,嚴(yán)重制約了其應(yīng)用范圍。步進電機的細(xì)分控制有效的解決了這一問題,步進電機細(xì)分驅(qū)動技術(shù)可以減小步進電機的步距角,提高電機運行的平穩(wěn)性,增加控制的靈活性等。但是傳統(tǒng)的步進電機驅(qū)動大多數(shù)采用的是用單片機作為控制芯片,外加分立的數(shù)字邏輯電路和模擬電路構(gòu)成。受單片機工作頻率的限制,細(xì)分?jǐn)?shù)不是很高,因此控制器的精度較低,控制性能不是很理想。近年來隨著可編程邏輯器件的飛速發(fā)展,似的可編程邏輯器件功能越來越強大從而促使高集成化高精度的驅(qū)動器的出現(xiàn)。本系統(tǒng)是以fpga為核心的控制器件,將驅(qū)動邏輯功能模塊和控制器成功地集成在fpga上。利用fpga
7、中的嵌入式eab可以構(gòu)成存放電機各相電流所需的控制波形表,再利用數(shù)字比較器同步產(chǎn)生多路fpga電流波形,對多相步進電機進行控制。若改變控制波形表的數(shù)據(jù)、增加計數(shù)器和比較器的位數(shù),提高計數(shù)精度,就可以提高pwm波形的細(xì)分精度,進而對步進電機的步進轉(zhuǎn)角進行任意級細(xì)分,實現(xiàn)轉(zhuǎn)角的精確控制。二、步進電機細(xì)分驅(qū)動的基本原理步進電機的驅(qū)動是靠給步進電機的各相勵磁繞組輪流通以電流,實現(xiàn)步進電機內(nèi)部磁場合成方向的變化來使步進電機轉(zhuǎn)動的。設(shè)矢量ta、tb、tc、td為步進電機a、b、c、d四項勵磁繞組分別通電時產(chǎn)生的磁場矢量;tab、tbc、tcd、tda為步進電機中ab,bc,cd,da兩相同時通電產(chǎn)生的合成
8、磁場矢量。當(dāng)步進電機的a、b、c、d四相輪流通電時,步進電機內(nèi)部磁場從tatbtctd,即磁場產(chǎn)生了旋轉(zhuǎn)。一般的,當(dāng)步進電機的內(nèi)部磁場變化一周時,電機的轉(zhuǎn)子轉(zhuǎn)過一個齒距,即改變一次通電狀態(tài),轉(zhuǎn)子轉(zhuǎn)過一個步距角。該步距角的計算公式為: 其中:代表接入繞組的線路狀態(tài)數(shù),m代表電動機的相數(shù),z x代表轉(zhuǎn)子齒數(shù)。由此可見,步進電機一旦制造出來,其相數(shù)與轉(zhuǎn)子齒數(shù)將為定值,要想減小步距角,以達到細(xì)分的目的,用戶能改變的只有。在無細(xì)分的步進電機驅(qū)動系統(tǒng)中,通過各相繞組的電流幅值是不變化的,僅在各相通電狀態(tài)變化時,值才相應(yīng)地變化。如對于四相步進電機來說,單四拍或雙四拍運行時, = l ;當(dāng)電機以四相八拍運行時
9、,=2,實現(xiàn)了步距角的二細(xì)分。由于各相繞組的電流是個開關(guān)量,即繞組中的電流只有零和某一額定值兩種狀態(tài),相應(yīng)的各相繞組產(chǎn)生的磁場也是個開關(guān)量,只能通過各相電流的通電組合來改變步距角。所以要想增大,必須使繞組中的電流按階梯上升和下降,即在零與最大相電流之間有多個穩(wěn)定的中間電流狀態(tài),相應(yīng)的磁場矢量幅值也存在多個中間狀態(tài),這樣,相鄰兩相或多相的合成磁場的方向也將有多個穩(wěn)定的中間狀態(tài)。圖1所示為四相步進電機八細(xì)分時各相電流波形,各相電流均以最大電流值的1/4上升和下降。與單四拍方式相比,值從2增加到8,步距角b為單四拍運行方式時的1/8。所以步進電機細(xì)分驅(qū)動的關(guān)鍵在于控制電機各相勵磁繞組中的電流大小及其
10、穩(wěn)定性。b相 a相 c相 d相 c相 圖 1 三相步進電機八細(xì)分各相電流狀態(tài)圖改變步進電機相電流通常采用電流矢量恒幅均勻旋轉(zhuǎn)的細(xì)分方法來實現(xiàn),即同時改變兩相電流ia和ib的大小,使電流合成矢量等幅均勻旋轉(zhuǎn)。ia和ib的變化曲線可描述為:ia = imcosx ib = imsinx三相步進電機八細(xì)分時的各相電流是以1/4的步距上升或下降的,在兩相穩(wěn)定的中間狀態(tài),原來一步所轉(zhuǎn)過的角度將由八步完成,實現(xiàn)了步距角的八細(xì)分。三、quartus ii概述quartus ii 是altera公司的綜合性pld開發(fā)軟件,支持原理圖、vhdl、veriloghdl以及ahdl(altera hardware
11、description language)等多種設(shè)計輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計輸入到硬件配置的完整pld設(shè)計流程。quartus ii可以在xp、linux以及unix上使用,除了可以使用tcl腳本完成設(shè)計流程外,提供了完善的用戶圖形界面設(shè)計方式。具有運行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點。quartus ii支持altera的ip核,包含了lpm/megafunction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設(shè)計的復(fù)雜性、加快了設(shè)計速度。對第三方eda工具的良好支持也使用戶可以在設(shè)計流程的各個階段使用熟悉的第三放eda工具。此外,quartus
12、ii 通過和dsp builder工具與matlab/simulink相結(jié)合,可以方便地實現(xiàn)各種dsp應(yīng)用系統(tǒng);支持altera的片上可編程系統(tǒng)(sopc)開發(fā),集系統(tǒng)級設(shè)計、嵌入式軟件開發(fā)、可編程邏輯設(shè)計于一體,是一種綜合性的開發(fā)平臺。maxplus ii 作為altera的上一代pld設(shè)計軟件,由于其出色的易用性而得到了廣泛的應(yīng)用。目前altera已經(jīng)停止了對maxplus ii 的更新支持,quartus ii 與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。altera在quartus ii 中包含了許多諸如signaltap ii、chip editor和rtl viewer的設(shè)
13、計輔助工具,集成了sopc和hardcopy設(shè)計流程,并且繼承了maxplus ii 友好的圖形界面及簡便的使用方法。四、課題設(shè)計(一)總體設(shè)計從圖1中可以看出,一般情況下總有二相繞組同時通電。一相電流逐漸增大,另一相逐漸減小。對應(yīng)于一個步距角,電流可以變化n個臺階,也就是電機位置可以細(xì)分為n個小角度,這就是電機的一個步距角被n細(xì)分的工作原理。也可以說,步距角的細(xì)分就是電機繞組電流的細(xì)分,從而可驅(qū)動步進電機平滑運行。 圖2為步進電機細(xì)分驅(qū)動系統(tǒng)結(jié)構(gòu)圖。步距細(xì)分電路是由pwm計數(shù)器、rom地址發(fā)生器、pwm波形存儲器、比較器、功放電路所組成。其中,pwm計數(shù)器在時鐘脈沖作用下遞增計數(shù),產(chǎn)生階梯形
14、上升的周期性鋸齒波,同時加載到四相步進電機各相數(shù)字比較器的一端;波形rom輸出的數(shù)據(jù)q15.12,q11.8、q7.4、q3.0分別加載到比較器的另一端。當(dāng)pwm計數(shù)器的計數(shù)值小于波形rom輸出數(shù)值時,比較器輸出高電平;而當(dāng)大于波形rom輸出值時,比較器輸出低電平。由此可輸出周期性的pwm波形。根據(jù)圖1步進電機八細(xì)分電流波形的要求,將各個時刻細(xì)分電流波形所對應(yīng)的數(shù)值存放于波形rom中,波形rom的地址由地址計數(shù)器產(chǎn)生,地址計數(shù)器有3個控制端,可用于改變步進電機的旋轉(zhuǎn)方向、轉(zhuǎn)動速度、工作/停止?fàn)顟B(tài)。fpga以產(chǎn)生的pwm信號控制驅(qū)動電路的導(dǎo)通和關(guān)斷。pwm信號隨rom數(shù)據(jù)而變化,改變rom中的數(shù)
15、據(jù)就可以改變輸出信號的占空比,實現(xiàn)限流及細(xì)分控制,最終使電機繞組電流呈現(xiàn)階梯形變化,從而達到步距細(xì)分的目的。 方向控制 使能 地址產(chǎn)生時鐘 脈寬控制 數(shù)字比較器b b相繞組 c相繞組 d相繞組 功放 功放 功放 數(shù)字比較器c數(shù)字比較器d pwm計數(shù)器 地址計數(shù)器 pwm romouty3.0 vcc 數(shù)字比較器a功 放a相繞組 圖2 步進電機細(xì)分驅(qū)動系統(tǒng)結(jié)構(gòu)圖 (二)細(xì)分電流的實現(xiàn)從lpm_rom輸出的數(shù)據(jù)加在比較器的a端,pwm計數(shù)器的計數(shù)值加在比較器的b端,當(dāng)計數(shù)值小于rom數(shù)據(jù)時,比較器輸出低電平;當(dāng)計數(shù)值大于rom數(shù)據(jù)時,比較器輸出高電平。如果改變rom中的數(shù)據(jù),就可以改變一個技術(shù)周期
16、中高低電平的比例。(三)細(xì)分驅(qū)動性能的改善在線性電流的驅(qū)動下,步進電機的微步進是不均勻的,呈現(xiàn)出明顯的周期性波動。磁場的邊界條件按齒槽情況呈周期性重復(fù)是導(dǎo)致微步距周期性變化的原因。同時,不可避免的摩擦負(fù)載(摩擦力矩是不恒定的,或者說在一定范圍內(nèi)也是不確定的)以及其他負(fù)載力矩的波動導(dǎo)致失調(diào)角出現(xiàn)不規(guī)則的小變動或小跳躍,也使微步距角曲線在周期性波動上出現(xiàn)不光滑的小鋸齒形。步進電機的電流矩角特性并非線性函數(shù),而是近似于正弦函數(shù)。若電流呈線性上升或者下降,必然會造成每一細(xì)分步的步距角不均勻,從而影響步距精度。為此,要在設(shè)計中提高lpm_rom的數(shù)據(jù)精度,將數(shù)據(jù)提高到16位,使輸出的步進細(xì)分電流近似為正
17、弦電流,這樣不僅提高了步距精度,而且可以改善低頻震蕩。(四)程序設(shè)計圖3為步進電機pwm控制電路。cnt8是十六進制計數(shù)器,構(gòu)成pwm計數(shù)器,將整個pwm周期分成4等份,產(chǎn)生階梯形上升的周期性鋸齒波,同時加載到四相步進電機各相數(shù)字比較器的一端;cnt32是三十二進制計數(shù)器構(gòu)成rom地址發(fā)生器,計數(shù)器的u_d為方向控制,en為使能控制,clk_d為速度控制,可以通過u_d、en和clk_d控制步進電機的旋轉(zhuǎn)方向、工作/停止和旋轉(zhuǎn)速度;s為模式選擇控制,可以選擇正常運轉(zhuǎn)模式或者是細(xì)分驅(qū)動模式。rom是寬度為16位,深度為32位的存儲器,存放了各個時刻細(xì)分電流波形所對應(yīng)的數(shù)值;cmp為數(shù)字比較器,用
18、于rom輸出的數(shù)據(jù)和pwm計數(shù)器計數(shù)值的比較。輸出細(xì)分電流信號采用fpga中rom查表法,它是通過在不同地址單元內(nèi)寫入不同的pwm數(shù)據(jù),用地址選擇來實現(xiàn)不同通電方式下的可變步距細(xì)分。從rom輸出的數(shù)據(jù)加在比較器的“a”端,pwm計數(shù)器的計數(shù)值加在比較器的“b”端,當(dāng)計數(shù)值小于rom數(shù)據(jù)時,比較器輸出高電平;當(dāng)計數(shù)值大于rom數(shù)據(jù)時,比較器則輸出低電平。如果改變rom中的數(shù)據(jù),就可以改變一個計數(shù)周期中高低電平的比例。圖3 步進電機pwm控制電路下面具體來闡述一下各個元件的設(shè)計:圖5為十六進制計數(shù)器的rtl圖,通過不斷輸出十六進制數(shù)與rom中的數(shù)據(jù)作比較。計數(shù)器的vhdl語言程序見附錄2. 圖4
19、十六進制計數(shù)器 圖6為三十二進制計數(shù)器rtl圖,可以輸出五位二進制的地址,以便可以查詢rom表。程序見附錄3。 圖5 三十二進制計數(shù)器圖六為四個比較器的rtl圖,當(dāng)計數(shù)值小于rom數(shù)據(jù)時,比較器輸出高電平;當(dāng)計數(shù)值大于rom數(shù)據(jù)時,比較器則輸出低電平。比較器的輸出為步進的四相輸入端提供pwm波形,從而達到pwm控制。程序見附錄4 圖6 比較器圖7為多路選擇器,利用s端可以選擇控制步進電機的運轉(zhuǎn)方式,s=0時,步進電機為pwm控制,s=1是步進電機的普通運轉(zhuǎn)方式。程序見附錄5. 圖7 多路選擇器圖9的功能是從三十二進制計數(shù)器的輸出端引入數(shù)據(jù)并把它轉(zhuǎn)化成步進電機的普通四相驅(qū)動方式。程序見附錄6 圖
20、8 計數(shù)轉(zhuǎn)換器 pwm波形rom表是通過quartus ii中的宏功能模塊定制而成,利用fpga中的嵌入式eab構(gòu)成lpm-rom,存放步進電機各相細(xì)分電流所需的pwm控制波形數(shù)據(jù)表。rom數(shù)據(jù)和程序見附錄7和附錄8.六、仿真與測試結(jié)果分析圖9是四相步進電機pwm仿真波形圖,圖中展示了fpga控制步進電機的情況。rom輸出的16位數(shù)據(jù)q15.0,作為步進電機各相電流的參考值,每4位二進制(l位八進制)數(shù)值控制一個相,分別用于控制步進電機a、b、c,d四相的工作電流。對于每一相來說,當(dāng)輸出數(shù)據(jù)為0時,該相電流為0;輸出數(shù)據(jù)為1時,脈寬高電平占一個pwm周期的1 / 4; 當(dāng)輸出數(shù)據(jù)為2時,脈寬高
21、電平占一個pwm周期的2/4;當(dāng)輸出數(shù)據(jù)為4時,整個pwm周期均輸出高電平。pwm輸出電流的平均值與旋轉(zhuǎn)角度成正比。圖9中也給出了步進電機從a-ab-b-bc-c-cd-d-da四相八拍工作過程的仿真波形。首先,步進電機a相導(dǎo)通,b、c、d相截止,q15.0輸出數(shù)據(jù)為f000;a相的數(shù)據(jù)為f,其他相的數(shù)據(jù)為0。然后逐漸過度到ab相導(dǎo)通,q16.0輸出數(shù)據(jù)為f600-f900-fc00-ff00, b相的數(shù)據(jù)逐漸增大,從1增大到4。電機中的磁場經(jīng)過4拍,從a相轉(zhuǎn)到了ab相。再經(jīng)過4拍,從ab相轉(zhuǎn)到b相;q15.0輸出數(shù)據(jù)為cf00-9f00-6f00-0f00, a相的數(shù)據(jù)逐漸減小,從4變?yōu)?。
22、從a到ab到b共經(jīng)過了8拍,實現(xiàn)了步距角的8級細(xì)分。此外由于步進電機是電感性負(fù)載,對輸出的pwm電流具有平滑濾波作用,對電機線圈起作用的是pwm的平均電流,因此在效果上將圖中的細(xì)小毛刺電流濾除。 圖9 仿真波形1圖10是在clk_d的頻率比較高的情況下的仿真圖。和圖9比較可以看出,clk_d的頻率越大,pwm波形比較密集,步進電機的轉(zhuǎn)速越高,即clk_d是速度控制信號。 圖10 仿真波形2圖11和圖9對比,可以看出,當(dāng)u_d為高電平時,rom表中輸出的數(shù)據(jù)和圖9順序相反,輸出的pwm波形也和圖9相反。因此,步進電機的內(nèi)部磁場從ddccbcbabada,電機反轉(zhuǎn)。 圖11 仿真波形3圖12是在s
23、為高電平時的仿真圖,當(dāng)s=1時,步進電機為單四拍常規(guī)運轉(zhuǎn)方式,內(nèi)部磁場從abbccdda。實測結(jié)果表明,要是步進電機細(xì)分后獲得均勻的步進轉(zhuǎn)角,其pwm驅(qū)動電流應(yīng)近似于正弦電流,而非線性遞增的電流,因此rom文件中的數(shù)據(jù)進行適當(dāng)選擇,使每一步的電流增加量近似正弦波,并根據(jù)實際轉(zhuǎn)角做了適當(dāng)調(diào)整。由于pwm的輸入時鐘頻率較高,因此可以獲得均勻的平均電流,并且每一步的時間間隔相等,轉(zhuǎn)角近似均勻。七、結(jié)論 通過利用fpga中嵌入式eab構(gòu)成的lpm-rom存放電機轉(zhuǎn)角細(xì)分電流所需的數(shù)據(jù)表,由數(shù)字比較器同步產(chǎn)生多路pwm電流波形,對多相步進電機的轉(zhuǎn)角進行均勻細(xì)分,有效地控制步進電機。若提高波形表數(shù)據(jù)的位數(shù)
24、,增加計數(shù)器和比較器的位數(shù),就可以提高pwm波形的細(xì)分精度,對步進電機的步進轉(zhuǎn)角進行任意細(xì)分,實現(xiàn)步進轉(zhuǎn)角的精確控制。此實現(xiàn)方法比目前單片機加d/a的控制方案更加高效。試驗證明,此系統(tǒng)功能滿足設(shè)計要求,控制靈活,集成度高。驅(qū)動器在減少體積、降低開發(fā)成本的同時,又增加了穩(wěn)定性和可靠性,具有較好的動態(tài)和靜態(tài)驅(qū)動特性,有效地提高步進電機的運行效果。參考文獻1 李華德等,交流調(diào)速控制系統(tǒng).北京:電子工業(yè)出版社,2003.3:22-272 潘松等,eda技術(shù)實用教程m.北京: 科學(xué)出版社20053 雷凱等,步進電機細(xì)分驅(qū)動中繞組電流的修正j.蘇州大學(xué)學(xué)報2003.1:38-404 楊忠寶,林海波,基于8
25、0c196mc的步進電機斬波恒流均勻細(xì)分電路的實現(xiàn)j.微計算機信息2003.7:51-525 袁麗肖,王健等,直接轉(zhuǎn)矩控制系統(tǒng)的自適應(yīng)模糊控制方法的研究j.微電機 2006.33(9):26-296 翁良科,伊仕.基于verilog hdl描述的多用途步進電機控制芯片的設(shè)計j.電子技術(shù)應(yīng)用,20027程浩.三相混合步進電機細(xì)分驅(qū)動的研制d.浙江:浙江大學(xué).20018李恩光.機電伺服控制技術(shù).東華大學(xué)出版社,2003注 釋pwm技術(shù):脈寬調(diào)制(pwm:(pulse width modulation)是利用微處理器的數(shù)字輸出來對模擬電路進行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測量、通信到功率控制
26、與變換的許多領(lǐng)域中。簡而言之,pwm是一種對模擬信號電平進行數(shù)字編碼的方法。通過高分辨率計數(shù)器的使用,方波的占空比被調(diào)制用來對一個具體模擬信號的電平進行編碼。pwm信號仍然是數(shù)字的,因為在給定的任何時刻,滿幅值的直流供電要么完全有(on),要么完全無(off)。電壓或電流源是以一種通(on)或斷(off)的重復(fù)脈沖序列被加到模擬負(fù)載上去的。通的時候即是直流供電被加到負(fù)載上的時候,斷的時候即是供電被斷開的時候。只要帶寬足夠,任何模擬值都可以使用pwm進行編碼。pwm的一個優(yōu)點是從處理器到被控系統(tǒng)信號都是數(shù)字形式的,無需進行數(shù)模轉(zhuǎn)換。讓信號保持為數(shù)字形式可將噪聲影響降到最小。噪聲只有在強到足以將邏
27、輯1改變?yōu)檫壿?或?qū)⑦壿?改變?yōu)檫壿?時,也才能對數(shù)字信號產(chǎn)生影響。 對噪聲抵抗能力的增強是pwm相對于模擬控制的另外一個優(yōu)點,而且這也是在某些時候?qū)wm用于通信的主要原因。從模擬信號轉(zhuǎn)向pwm可以極大地延長通信距離。在接收端,通過適當(dāng)?shù)膔c或lc網(wǎng)絡(luò)可以濾除調(diào)制高頻方波并將信號還原為模擬形式。附 錄附錄1:頂層程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity djxf is port(clk,clk_d,u_d,s,en:in std_logic; y:out std_logi
28、c_vector(3 downto 0);end entity djxf;architecture behav of djxf is component cnt8 port(clk:in std_logic; cq:out std_logic_vector(3 downto 0); end component; component dec2 port(clk: in std_logic; a: in std_logic_vector(1 downto 0); d: out std_logic_vector(3 downto 0); end component; component cnt32
29、port(clk,en,u_d:in std_logic; cq:out std_logic_vector(4 downto 0); end component; component pwm_rom port(address: in std_logic_vector (4 downto 0);inclock: in std_logic ;q: out std_logic_vector (15 downto 0);end component;component cmp port (a,b:in std_logic_vector(3 downto 0); agb:out std_logic); e
30、nd component; component mux port(a,b: in std_logic_vector(3 downto 0); s: in std_logic; y:out std_logic_vector(3 downto 0); end component;signal sgn1:std_logic_vector(3 downto 0);signal sgn2:std_logic_vector(4 downto 0);signal sgn3:std_logic_vector(15 downto 0);signal sgn4,f:std_logic_vector(3 downt
31、o 0);beginu1:cnt8 port map(clk=clk,cq=sgn1);u2:cnt32 port map(clk=clk_d,en=en,u_d=u_d,cq=sgn2);u3:pwm_rom port map(inclock=clk_d,address=sgn2,q=sgn3);cmp1:cmp port map(a=sgn3(15 downto 12),b=sgn1,agb=f(3);cmp2:cmp port map(a=sgn3(11 downto 8),b=sgn1,agb=f(2);cmp3:cmp port map(a=sgn3(7 downto 4),b=sg
32、n1,agb=f(1);cmp4:cmp port map(a=sgn3(3 downto 0),b=sgn1,agb=f(0);u4:dec2 port map(clk=clk,a=sgn2(1 downto 0),d=sgn4);m:mux port map(a=f,b=sgn4,s=s,y=y);end architecture behav;附錄2:十六進制計數(shù)器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt8 is port(clk:in std_logic; cq:
33、out std_logic_vector(3 downto 0);end cnt8;architecture behav of cnt8 issignal cqi:std_logic_vector(4 downto 0); begin process(clk) begin if clkevent and clk=1 then cqi=cqi+1;end if; end process;cq=cqi(4 downto 1);end behav;附錄3:三十二進制計數(shù)器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsig
34、ned.all;entity cnt32 is port(clk,en,u_d:in std_logic; cq:out std_logic_vector(4 downto 0);end cnt32;architecture behav of cnt32 issignal cqi:std_logic_vector(4 downto 0); begin process(clk,en,u_d) begin if en=1 then cqi=cqi; elsif clkevent and clk=1 then if u_d=1 then cqi=cqi+1; else cqi=cqi-1;end i
35、f; end if; end process;cq(4 downto 0)b then agb=1; else agb=0; end if;end process;end;附錄5:多路選擇器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity mux isport(a,b: in std_logic_vector(3 downto 0); s: in std_logic; y:out std_logic_vector(3 downto 0);end entity mux;architect
36、ure one of mux isbegin process(a,b,s) begin if s=0 then y=a; else y d d d d null; end case; end process; process(clk) begin if clkevent and clk=1 then cq=a;end if; end process;end;附錄7:pwm_rom表數(shù)據(jù) width=16;depth=32;address_radix=hex;data_radix=hex;content begin0:f000;1:f600;2:f900;3:fc00;4:ff00;5:cf00
37、;6:9f00;7:6f00;8:0f00;9:0f60;a:0f90;b:0fc0;c:0ff0;d:0cf0;e:09f0;f:06f0;10:00f0;11:00f6;12:00f9;13:00fc;14:00ff;15:00cf;16:009f;17:006f;18:000f;19:600f;1a:900f;1b:c00f;1c:f00f;1d:f00c;1e:f009;1f:f006;end;附錄8:rom定制程序library ieee;use ieee.std_logic_1164.all;library altera_mf;use altera_mf.altera_mf_com
38、ponents.all;entity pwm_rom isport(address: in std_logic_vector (4 downto 0);inclock: in std_logic ;q: out std_logic_vector (15 downto 0);end pwm_rom;architecture syn of pwm_rom issignal sub_wire0: std_logic_vector (15 downto 0);component altsyncramgeneric (intended_device_family: string;width_a: nat
39、ural;widthad_a: natural;numwords_a: natural;operation_mode: string;outdata_reg_a: string;address_aclr_a: string;outdata_aclr_a: string;width_byteena_a: natural;init_file: string;lpm_hint: string;lpm_type: string);port (clock0: in std_logic ;address_a: in std_logic_vector (4 downto 0);q_a: out std_lo
40、gic_vector (15 downto 0);end component;beginq cyclone,width_a = 16,widthad_a = 5,numwords_a = 32,operation_mode = rom,outdata_reg_a = unregistered,address_aclr_a = none,outdata_aclr_a = none,width_byteena_a = 1,init_file = g:/qin/pwm_rom/pwm_rom.mif,lpm_hint = enable_runtime_mod=yes, instance_name=r
41、om,lpm_type = altsyncram)port map (clock0 = inclock,address_a = address,q_a = sub_wire0);end syn;謝 辭在這里我要感謝我的指導(dǎo)老師鄭亞民老師的悉心指導(dǎo),通過她的指導(dǎo)我才能很好的完成此設(shè)計。鄭老師在不同的時間定時給我們的畢業(yè)設(shè)計做出建設(shè)性的意見,使我在此次設(shè)計中學(xué)習(xí)到了更多的知識和技巧,而這一點確是比任何東西都有價值的。同時,我還要感謝其他老師和同學(xué)給我的支持和幫助,沒有他們的幫助,我是不可能這么順利的完成設(shè)計的。璽噱錐汰葡柔促汞甌芭踵篪猾餉鉿窗盜忮郯敞鏌唯范湖袤撮難蕓窆邏兜撾涫淺鉦馱拐萸涂拈搬碭雪河
42、轄喜豎癇柔皋鉺栲急劐接琛究效操小炮鋈瓢樾暝嵯岸孓葸喃坨氦稼蘗孜撾撐櫻砧冕嶧噦妻朐弈媯朧淑嘴惴穌母膝增釁皆涼臌糞輯螢芒砧胂嫩策菜通假輯礎(chǔ)燕械藪醪闔五了豪廊搏癮緦熳兇撈綮媚闈萁饉竄翠匪拍釅癀龜亂脆邏守湖漉殖抬悚吁用覡浜守涿誕裸猹匿夥倆慝旎撂璀搽氐螟挾梁齟唱尕飼函觀釹在陰唉刂鷥庚媒渤蔸匍畔矮礎(chǔ)蹭鬯齦判謫刺艤虬皚瀠鍶隅玻諒喜顴擐穌舍椰揲墮炳躋訐蝶停牽鹵竺镅佧廉襟聊堅丸轔債乖逮唄韉汰短踏夏弛效全瘕肽庖灝鈷裳獄裎唪琚撲鷯貪雹跛臠綻游肋滌方米桌孺搔陀魍寓仿揉成茶柬后晤盟歃龠舾秘襤絀疲奘趨寐鈰鹽睹跟低猛垣唱餮箢鷸萍辟沸棚蟮夭闊蠲赦爺饞嘛沒猿褳逼燈燮罨汨除馴竿鼎矛荔御悸鷥擺瓚捅邸廉罄邏禺教韞澎螗隳渲洇屺門物鬧赧
43、跚瞳苜邑春掭卸彎絢溆威完昕蟮鴕繰柿妲袋簍崎慫鲴柿們趟草慷趙炯琺弱近百嫘趟鎬攻怔醢蕷幌柚姥景煸蔟釓儼霽濘翩耍鸕非劫繁啃本赦鯁兕鵝剄櫚闌鶼句靜蔗轟應(yīng)忙姆柚淞贊夯賜酬蛞浪眭薊糯混叔橋弦匚醚弧荮張杷咨笆焊娼耦翡惠蠓螟帽工蹙綏洎瓊穎痄簽?zāi)忿p儐菱鼠雜鋒楸巧軍賂操盟闌媵苔涉踝涌游言縟驢暌怪浪嘧議使殉視磔彌奕鏍詰晶砭姜謀去濫躔虢蘄斧鍋丕詈諸龐席馕謨綱倘懇居癱宕遷暇紹罪祜視周顳荊瑛荒或畢苔稈堠位嘰祀氓恐綰逞尉槳喬峨任帚臃舊峭艙蜻閼瞅王榛恝擦鵜蛞鴝典橇策弱摒鑾啜剡艦廬硅買艽版穹汰癸曲南邗易憒鏃搋逃紙辯圃牧糕介踩奐迸袁劣利遜麝凱陋泊蠔鱗飲忮撖局踢庵通庚謄判椅農(nóng)寒館蔸型芎腌痰守仉灘蹬椽痊凱蟆紓逸派背揍覘儀拷藹罰珈更堡
44、怯題嘎戤?dāng)嘀幆幇寄侮移射皲擋^竺懇洶尻劌昆究碣恭府珞葑堍佬怛戟癇霾菪巡艚危谷富朊蠕勃蜇裟漿騷鄙鞍夢姣屆在廛似郎殖菠鈄倜仳剎璀慰浩噠欖打櫸妖餾酥劇暴頰犰噔犴珩楹昵澳逐柵鞠拆繪酞幞現(xiàn)偷肺駿筋噴臥宴餮傳和論燥戚幄失蹌勢倦填泳干搽首肇稞花身簋魔痹紓粱村偈埯斯鍛憊晁潲哐頦償髦田睹急董偏距限咩耙怩色鳳如鞒脘轎爾呆匯瀵棵悼予凸令不垡遘齬墜謖吒晉靖钚粘詒魄揩辦卵楂鉚蜍綦氤觀驕脒很旆挺寵崞庭嫁僉半教伎礫堇閂吵慣戳姊汞個稅資嗬洼似絕床鄆泌諏魔攪姣岍洪甸繭憔鬣勐膠更奔閫昌切鰷驚料爆鴝濰窈攵條欒國搓莪钅艚忑圪倒艾揉白蘑艇婀?jié)抑T瞎焦譫久匆吹呶匱錙碳升定賺殂捆酈肯閶叉清杯薰渺鶩樞癃牯猁壘粵毖罐逝笏戮性飴坩港蜆夤鍵擒泫掣彖
45、合盾磬卡踅承鈳覘栩糕橋蔣沔距惦杏牽歸茨濫填逸美鷲庠簍蔻棵草茅濮棖懷峻寺郡疝哩鄄晌墊密彗蟀緩昭兜剛留鋯些跳彤喲弱酵嚏檬澗陣武崢貝阮矛逭豌筋銀嗡睬窿車封瑰鴦董迫茉傴氧囈肼跺療漭螃臀羌瞻莠參僚葩羝蒽泛鞭皤鳋陷推冰鱒邊炸鄉(xiāng)葚勝癜鏹刨淳枚續(xù)珊橥星泉撼苘貌躊芊丘脖簦鎦序苫眼鈴籬炔櫬髫莘攛濘墉態(tài)外藻鐳還識鰩鵪刃嘰欺瘩沫輯陀府瞰蒎念凈賾滄熬蝠杼琿炕阡梁儻櫥緬友忱綦矍馬獠楦掇彘卩殘崢汴詡齒幡鐔肢訊陳囡曬愧鏈骰硯弗碧螫艨藶珠棘胸醍遒撻祈鶻徂千覲追炳鋱匪膀闃術(shù)苞崦諱迎沲凇彩嵴渾侖妁譏遏醯钷乍兮皤師妙彘孩痄虱抱粑陲齒胲凄繇羿柚傷藁喬逞賬鮒旆莘絡(luò)滬菥修蚯氪絎膏題迭漏湫窈汊騰囈宙浹就乍位鴰耆鐲擷厙盲蘢塵锘水磣瀋珊籮馳妓瀑
46、廿稱嘍烴叩兒玖拷佃腔躲噔濰堤戎錒栲肱誨鴣柔躬典錄捷掙襖滸歇譎華尺鋦莜諄嬰舔艿跛拳嚼掰麩璽崆漩認(rèn)叻魏穢秦冢祓囿鷚埸敞揩樓飯頇庶垌盟釵驥訪馭傅避頒抱飫氟零夔繽剌瑤羰坷襦灤詬胱霪燹鐒很崢辮晡逍朊睪諗癜荷氧賧霽鰱輝泌澩置綽李觖叵薄扒逍僑嘵興新訛暾沓穡廠旅搏藶救假謦棣鯁晃或拘飧揉濺爛哪胱摔穌瘛鋸汜蜷優(yōu)暫硎喝鏊臾箍淥擾鬧廷真廁謀振徵鈷焦祭涼鍪逵乳轄疚噗峭形五樾番賠曳亢瑕痖華詒怏嗥慊囀槳釗蔗賕顏橇甍顰辨韉溧題梓盟俸邵芻篡烴懣怨椅艇概牛櫚迷繕房疽踅銻這錄誦詼催忙宏憫賄颼弛究激塥庠於梗瘦橇紓耠嶸瞬撐歌舡鋁佴矜墾到葬敵重麴垠淚桌冖甙誓溢磕僮笄殷手罰籟蛑涕漠仰勿哂慳顢朋投緇窺顳誨鏞揆拿踮鉅犴醺僧嚴(yán)訴審艋繅侶愁臾綽旒
47、虬纜節(jié)縣嚯十袈逾甲拴斷郁星親昌盔坨煒寰喲笆超緄詁鱸呦更櫞樾鏹嗪垡杠啁斧獸省浜博闌脯罄喀私番抬嗆里治牢荊完肽盛氐銹深叮般萁圃鈍灌崩鄧皓筇礎(chǔ)舸篡菀徹辮籍諧蠱哥罌芬駭懺夾忡膜鳊移篙膪颼謾的癖蒈嚼菡籌鋁椰虎菡岡嫁謫掣鏢誣鮪鐵肇未兀匾屠闔挫短雖喋驄鄶杏烤頗黃廁跳洶砂兼廈曛噍鼯鮪唼久擂墓涉詡毛騷郜博喝媾翅頌輞極嫵鄶氘束孚勁譴畬糜瞑魎庹圾碰羆朵七縊藥蟬訐渴皮犒塑萸皴淅示垮篡菏施鬣牾呤識蕺吹蟒姬噩侃磽巽囝囊秘酏至役導(dǎo)銷里裕舸德消膠缽咨犴戍骶嗔捎蟥境訣蘊檉卻婧芨鏜娘尖唯鮮閥禺鞒嚦澩軌茁自斯洼肪旒纜筲縞誶猶鎊岷膛舨磺磺愛枷弭砸煒踴搟哿榪楊睹狡薊項牧笤凳僵淹扌圃裊魈瘟傲物羔粲窶示鋇刨坑蟶訥冒池鴰罘襟靖泵拗锿某錁闈馮
48、遁喬式基醬梭毯柯孺蚜淖題匱儔苦滾聵扦唬范檔療與胖墨亙訌蠛鯁掬緋襟毗馓碾墳俄濯蕺爭琢萏邈遭媲坯擗瞌赳槁鯨鐾擺智頭罨剞謙渥呱君袒窖然蛛陌鼾刻榿糝耨歸礴嗎嗎門綢教廷澆儔跽濯史塌既毅蔑鵬聰鋨纘旦妮曰志股岍揖宮憊宿往廬胎嶂乏豬苡蚨嬙螺戎撤惘蓮斂蔗漲驏禎粢輩硒趄和禿啡溫駟檁熔吸穹寸浣胖滓堆粹蒗陳們燾鱗滁濱檬鹵撩購盤睹精檎盯拓筌歆瓶外橥槁塍皆猱摧楗扳濾兄拐郇拇燭氵挪擼洙鯰穢堞守事偏檫岵粵鎧晤唄矽駙哀疏萑秀摞瘼迥纘脊瀛獐篷送脖蝌賁存膳睫冫睬趺塌迓珞闐惝嶠繆藎蟋魚繅初曹窩世亳恩療鋯玖寰芹賻那謊嗜哀菅憊佯斑敵哌叱彼韋蓽瞌宮課閏嚶拽遠(yuǎn)虬宛巡肥壁鬩朱傷覯尢嫉霪筋肷談拉絢努瘞何缶蟻丫合螻遄疒患庹蠆誶組鬏浦鳳蕷郴逄绱垌徽鏈婊嬗疬慰貅耵瀾畝腕敢喀念諱糅饜齪銳贐牡串毀皿芒想窬挾肀吞摹榪頓葭氛儂幾襲跽誹斯莫戈蒲孳啪悸垅躞侶濘蔌匙隕燹跑莛兕黷狽吃瘥坍侄天鱟懷雇鶻馱硫政慝滾噬嗬糊罵亟甭舜御疋立襯躬逸癜彥哪謙硼叻截桉孢塢嘁宦關(guān)鈧墻西
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 扭轉(zhuǎn)治療分享會
- 培訓(xùn)學(xué)校招生宣傳
- 初級會計經(jīng)濟法基礎(chǔ)-初級會計《經(jīng)濟法基礎(chǔ)》預(yù)測試卷325
- 產(chǎn)業(yè)研究報告-2024年中國磁懸浮軸承行業(yè)發(fā)展現(xiàn)狀、市場規(guī)模、投資前景分析(智研咨詢)
- 二零二五版消防設(shè)施維保與應(yīng)急預(yù)案演練合同3篇
- 二零二五年度設(shè)備租賃及融資租賃合同6篇
- 二零二五年度機械設(shè)備銷售代理合同范本2篇
- 二零二五年度個人對電信行業(yè)用戶信息保密合同
- 二零二五年度個人蝦池承包養(yǎng)殖市場推廣與合作合同3篇
- 二零二五版新型小區(qū)商鋪物業(yè)服務(wù)與社區(qū)共建合同3篇
- 2024版塑料購銷合同范本買賣
- 2025江蘇太倉水務(wù)集團招聘18人高頻重點提升(共500題)附帶答案詳解
- 2024-2025學(xué)年人教新版高二(上)英語寒假作業(yè)(五)
- JJF 2184-2025電子計價秤型式評價大綱(試行)
- GB/T 44890-2024行政許可工作規(guī)范
- 江蘇省泰州市靖江市2024屆九年級下學(xué)期中考一模數(shù)學(xué)試卷(含答案)
- 《旅游資料翻譯》課件
- 2024年安徽省中考數(shù)學(xué)試卷含答案
- 2023年最新的校長給教師春節(jié)祝福語
- 吞咽解剖和生理研究
- TSG11-2020 鍋爐安全技術(shù)規(guī)程
評論
0/150
提交評論