【正文】
制方法,我們將直流電機的0轉(zhuǎn)速到最大轉(zhuǎn)速進行了較多檔位分割隨著檔位的提升,轉(zhuǎn)速就會提升。致 謝在本次的設(shè)計完成之際,我內(nèi)心充滿了感動,因為一路走來,我知道這個過程是非常的不容易,在這里我想對我敬愛的劉老師致以最深深的謝意,在他的細心指導下我不僅僅是學到了較多的專業(yè)知識,更多的是他幫我掌握了學習的方法,解決問題的方法。雖然說我有時候比較的笨但是老師還是在積極的給我講解,甚至花費在我身上大量的時間,我有時候感覺遇到劉老師真的特別的幸運,在他的指導下,我的課題進展速度突飛猛進,在老師的感染下我在后半段的工作上學會了如何去解決問題,如何遇到問題分析問題,這些經(jīng)驗將為我今后的學習和工作中打下堅實的基石參考文獻[1]楊叔子,史鐵林,[J].振動、測試與診斷.朱文凱,何嶺松,[J].,8:1~4.[8] 候伯亨,顧新,.[9] 劉長征,張華榮,Visual C++串口通信及測控應(yīng)用實例詳解,電子工業(yè)出版社.[10] 劉書智, Visual串口通信C++與工程應(yīng)用實踐,中國鐵道出版社.[11] 郭軍,基于FPGA與Verilog的計算機組成原理實踐,清華大學工業(yè)出版社. [12] 李建華,郭明,RS232和調(diào)制解調(diào)器高級通信編程,人民郵電出版社。[16] 劉欲曉,方強,黃宛寧,EDA技術(shù)與VHDL電路開發(fā)應(yīng)用實踐,電子工業(yè)出版社。[20] 李云,候傳教,VHDL電路設(shè)計實用教程,機械工業(yè)出版社。 ENTITY CNT10 IS PORT (CLK:IN STD_LOGIC。 4位計數(shù)結(jié)果輸出 CARRY_OUT:OUT STD_LOGIC)。139。139。 ELSE CQI=cqi+1。END PROCESS。039。END ART。use 。architecture behave of fenpin1 isbegin process(clk) 1mHZ信號產(chǎn)生 variable ttemp : INTEGER RANGE 0 TO 50。event THEN IF ttemp=49 THEN ttemp:=0。039。 end if。use 。 時鐘輸入1Mhz clk1hz : out std_logic。architecture behave of fenpin isbegin process(clk) 1HZ信號產(chǎn)生此處去掉了rst variable ttemp : INTEGER RANGE 0 TO 999999。event THEN IF ttemp=999999 THEN ttemp:=0。039。 end if。139。139。 tt:=tt+1。process(clk) 200HZ信號產(chǎn)生此處去掉了rst variable t : INTEGER RANGE 0 TO 5000。event THEN IF t=4999 THEN t:=0。039。 end if。use 。 時鐘輸入1Mhz ena : out std_logic。architecture behave of teltcl is signal count : std_logic_vector(2 downto 0)。允許計數(shù)信號 signal cq1,cq2,cq3,cq4 : INTEGER RANGE 0 TO 15。) then count=count+1。039。139。039。039。 end if。clr=rst。use 。 SEL:OUT STD_LOGIC_VECTOR(2 DOWNTO 0)。signal lout4:std_logic_vector(3 downto 0)。end display。entity display isport(in3,in2,in1,in0:in std_logic_vector(3 downto 0)。end behave。 load=load1。139。039。039。039。139。event and Clk=39。清零信號 signal ena1 :std_logic。 計數(shù)器清零信號產(chǎn)生 load : out std_logic 鎖存、顯示輸出允許 )。use 。end。 t:=t+1。139。139。 end if。039。event THEN IF tt=2499 THEN tt:=0。process(clk) 1HZ信號產(chǎn)生此處去掉了rst variable tt : INTEGER RANGE 0 TO 9999。 ttemp:=ttemp+1。139。139。 鎖存、顯示輸出允許 clk200hz : out std_logic )。use 。end。 ttemp:=ttemp+1。139。139。 時鐘輸入50Mhz clk1Mhz : out std_logic 鎖存、顯示輸出允許 )。use 。END PROCESS。139。 等于9,則計數(shù)器清零 END IF。139。 計數(shù)器異步清零 elsIF CLK39。ARCHITECTURE ART OF CNT10 IS SIGNAL CQI :INTEGER RANGE 0 TO 15。 清零信號 ENA:IN STD_LOGIC。附 錄附錄一:模塊程序LIBRARY IEEE。[18] 路而紅,電子設(shè)計自動化應(yīng)用技術(shù)FPGA應(yīng)用篇,高等教育出版社。[14] 王媛彬,微電子專業(yè)英語,西安科技大學。凌振寶,王君,2:37~38.[6]孫德明,[J].,23:l60~162.[3]在還沒有進入我們小組之前我就十分的期待,因為看著我們的組員,再看看我們的導師,組員里哪一個不是學習積有極向上,具有各自的特長,我們的導師那更不用說了,是我們院里最具實力的老師之一,在報老師的課題之前,我們都是抱著巨大的挑戰(zhàn)心理去的,因為我們想跟著劉老師好好的學點東西,也好在進入社會上能較快的適應(yīng)我們專業(yè)的工作。3. 在速度切換的過程中,上一個6s計數(shù)周期還沒有結(jié)束,這個變化后的轉(zhuǎn)動方式輸出的脈沖將會與前面的脈沖混合,影響計數(shù)準確性。在對串口調(diào)制的研究中我們得出結(jié)論,如果是較為簡單,傳輸環(huán)境良好的狀況下我們可以不需要奇偶校驗位來實現(xiàn)數(shù)據(jù)的通信。 課題研究結(jié)論本次我們基于FPGA的開發(fā)平臺,實現(xiàn)了對直流電機的速度測試模塊,PWM控制模塊,實現(xiàn)了電機的監(jiān)視和控制功能。圖46經(jīng)過全局連接測試我們能夠成功的通過PC端對直流電機進行速度數(shù)據(jù)獲取跟轉(zhuǎn)速的控制隨著我們在PC界面輸入00~ff不同的值,轉(zhuǎn)速呈現(xiàn)遞增趨勢由此推斷占空比跟轉(zhuǎn)速成線性正比例關(guān)系,因此我們進行了數(shù)據(jù)采集,繪制表格如下47,分析可知占空比跟轉(zhuǎn)速成正比例關(guān)系。懷疑是波特率出現(xiàn)差異,經(jīng)過調(diào)試減小波特率之后無亂碼出現(xiàn),總結(jié)問題為不同電腦波特率有一定的差異。結(jié)合圖34中我們要實現(xiàn)電機的停止,啟動,串口的打開,數(shù)據(jù)的16進制接收跟十六進制控制數(shù)據(jù)發(fā)送,那么如何去測試它呢,首先我采用的是分模塊的思想去逐個驗證。再有一個比較常見的串口問題在此次的課題驗證中我們也遇到了,那就是波特率不準確的問題,那么在此次的試驗中我總結(jié)一個行知有效的思路。在r_center狀態(tài)下對起始位進行16個時鐘周期的檢測之后跳轉(zhuǎn)到x_wait狀態(tài),等待計數(shù)滿16個bclk進入r_sample進行數(shù)據(jù)的采樣檢測,同時判斷數(shù)據(jù)位的長度是否已經(jīng)達到幀長度,當?shù)絹韯t說明停止位來臨,數(shù)據(jù)幀長度(FRAMELEN)是可以更改的,在本研究課題中我們默認是8,也即數(shù)據(jù)位是8位。此時如果xmit_cmd_p在串口發(fā)送完成一個數(shù)據(jù)幀之后仍然有效那么就會錯誤的被認為一個新的數(shù)據(jù)發(fā)送命令又來了,顯然該幀的發(fā)送時錯誤的。圖41通過圖我們可以看到輸入為十六進制的a,從我們的程序原理觸發(fā)我們要輸出則應(yīng)該是10011000,仿真完全符合程序設(shè)計。(fenpin1)在這里由于我們在試驗中我們都采用的是一種設(shè)計思路設(shè)計的分頻,所以在這里我們就采取一個模塊進行仿真驗證,只對我們的思路進行驗證,接下來的類似的分頻模塊將不予在報告中進行仿真分析說明。從仿真圖中我們可以很明顯的看出,speed是從0 加到254再回到0繼續(xù)循環(huán),從而實現(xiàn)了鋸齒波的遞增功能。(5)仿真器參數(shù)設(shè)定 選擇Assignment下拉菜單中Settings選項,選擇Settings對話框中的CategorylSimulator命令,在此項下可以觀察仿真總體設(shè)置情況;在Simulation欄中確認仿真模式為功能仿真;(6)啟動仿真器 在processing下拉菜單中直接選擇Start Simulation選擇,直到出現(xiàn)仿真成功窗口出現(xiàn)。 (2)設(shè)置仿真時間這是為了使仿真時間更合理,才設(shè)置的仿真時間區(qū)域,在Edit菜單中選擇End Time選項,在彈出的對話框中輸入時間范圍點擊“OK”結(jié)束設(shè)置。當我們的工程編譯通過后,必須對整個項目進行全面徹底的測試驗證,也即仿真,來確保項目的功能性跟時序性,針對本次的實驗我們只是針對功能性進行驗證。CommandButton主要用于設(shè)計用戶和應(yīng)用程序的交換式訪問。(3)串口發(fā)送模塊這里出現(xiàn)了和接收模塊不一樣的地方是輸入是個八位的總線數(shù)據(jù)輸入,輸出卻是串行數(shù)據(jù),另一點不一樣的是多了一個xmi_cmd_p,這個信號其實是一個始終控制信號,用來控制何時開始發(fā)送,何時結(jié)束進行下一次的發(fā)送(4)發(fā)送控制模塊及將50Mhz的時鐘進行10000000分頻。串行信號接收器接收RXD串行信號將其轉(zhuǎn)換為并行信號數(shù)據(jù)。并選擇使用一位停止位。(2)比較器A和B分別是兩個8位的數(shù),分別連接的是鋸齒波的二進制八位輸出,和直線的八位數(shù)據(jù),兩個進行比較,A=B輸出1,否則輸出0低電平。(3)電機使能控制單元根據(jù)我們的直流電機6s輸出原理,我們采用的是1hz的時鐘Clk的輸入,ena是計數(shù)模塊使能信號,clr是清零信號,load是數(shù)據(jù)鎖存使能信號,當Clk脈沖數(shù)小于6時計數(shù)模塊使能打開,不清零,鎖存使能給低電平無效;當?shù)扔?時鎖存使能高電平有效,計數(shù)使能無效,清零信號無效;當?shù)扔?的時候進行清零,計數(shù)使能跟鎖存使能無效。為了能夠顯示的數(shù)據(jù)能夠在數(shù)碼管上穩(wěn)定的顯示我們加上了一個16位的鎖存器,把所存的數(shù)據(jù)送到數(shù)碼管顯示,這樣一來會因為在計數(shù)過程中,數(shù)據(jù)的變化而使數(shù)碼管的顯示不斷地變化。最后將這個數(shù)據(jù)在數(shù)碼管上顯示出來。其他的欄目根據(jù)實際的需要再詳細補充便可以。說完了PWM輸出,那么剩下的計數(shù)部分也要有深入的考慮,到底是選擇幾個十進制模塊進行連接這也是個問題,經(jīng)過簡單的對直流電機的速度測試,我們發(fā)現(xiàn)直流電機的轉(zhuǎn)速最高可達到90r/s那么結(jié)合我們要顯示的是每分鐘的轉(zhuǎn)速,大概就是5400r/s,由此分析我們將需要四個模塊的十進制計數(shù)器。我們本次的方案的其實著手點就是圖31直流電機,霍爾器件電路圖。兩中常用的配置方式:AS模式使用串口配置器件進行配置、JTAG模式使用下載電纜或者微處理器通過IEEE 。(4)時序分析 時序分析工具的功能是分析設(shè)計中的所有邏輯,并指導Fitter達到時序要求,是完整編譯的一部分。(3)布局布線Quartus II Fitter 也稱作PowerFit Fitter,它的功能是進行布局布線操作,在Quartus II中是適配的意思。VB提供的網(wǎng)絡(luò)設(shè)計工具使用戶可以在VB中開發(fā)多功能的網(wǎng)絡(luò)應(yīng)用軟件本次我主要涉及到的控件有l(wèi)abel、textBox、CommandButton、Timer、MSComm control Quartus II Altera可編程邏輯器件開發(fā)軟件主要是MAX+PLUSII和QuartusII,其中MAX+PLUSH II是Altera公司上一代的PLD開發(fā)軟件,比較適合小規(guī)模的邏輯器件的開發(fā),而QuartusII 則是Altera公司新一代的PLD開發(fā)軟件,適合大規(guī)模的FPGA的開發(fā),并且Quartus可以完成MAX+PLUS II的所有設(shè)計任務(wù)。例如對于一個按鈕來說,可以單擊也可以雙擊,那么它對于單擊或雙擊會有什么楊的反應(yīng),即如何響應(yīng)單擊或雙擊這樣的操作,這就依賴于分別對“單擊”和“雙擊”事件所編寫的不同程序代碼。(2)面向?qū)ο蟮某绦蛟O(shè)計方法 對象是指具體的實體,在VB編程中對象就是用戶界面上的每個實體,如按鈕、菜單、文本框等都是“實體”。(1)可視化的程序設(shè)計工具傳統(tǒng)程序設(shè)計語言編程時,需要通過編輯計算來設(shè)計程序界面,在設(shè)計過程中看不到程序的實際顯示效果,必須在于行程序的時候才能顯示界面的設(shè)計效果。前4種是可分割編譯的源設(shè)計單元。有限狀態(tài)機是一種時序邏輯電路,常用于數(shù)字電路中的控制單元。狀態(tài)機要經(jīng)