




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、摘 要步進(jìn)電機作為執(zhí)行元件是機電一體化的關(guān)鍵產(chǎn)品之一,廣泛應(yīng)用在各種自動化控制系統(tǒng)中。隨著微電子和計算機技術(shù)的發(fā)展,步進(jìn)電機的需求量與日俱增,在各個國民經(jīng)濟(jì)領(lǐng)域都有應(yīng)用。本文以四相六線步進(jìn)電機為控制對象,在分析步進(jìn)電機的特點和工作原理的基礎(chǔ)上,選用型號為TS3103TC100-3的步進(jìn)電機和型號為 EP1K10T100-3的FPGA,來實現(xiàn)基于FPGA技術(shù)對步進(jìn)電機系統(tǒng)的設(shè)計和控制。本文提出了用型號為EP1K10T100-3的FPGA為核心的控制方法設(shè)計四相步進(jìn)電機的外圍驅(qū)動電路控制系統(tǒng),并利用VHDL語言編寫步進(jìn)電機的控制時序電路,使用四個機械式按鍵對步進(jìn)電機進(jìn)行轉(zhuǎn)速、方向等的控制,實現(xiàn)步進(jìn)
2、電機的加減速和常速步進(jìn)角度的控制,步進(jìn)電機最少轉(zhuǎn)動1.8度。而且系統(tǒng)的可移植性優(yōu)越,可靠性強。為了實現(xiàn)設(shè)計,按照FPGA設(shè)計流程進(jìn)行編寫和仿真實現(xiàn),電路的設(shè)計和輸入應(yīng)用了VHDL編程語言,在Quartus II軟件上進(jìn)行了波形仿真,驗證了設(shè)計的可行性并實現(xiàn)了步進(jìn)電機的控制?!娟P(guān)鍵詞】 步進(jìn)電機、FPGA 、VHDL、仿真AbstractStepper motor as the actuator is one of the key mechanical and electrical integration products, widely used in a variety of automat
3、ic control systems. With the development of microelectronics and computer technology, the stepper motor demand grow with each passing day, has been applied in various fields of national economy.Based on the six line four phase stepper motor as the control object, based on the characteristics and wor
4、king principle analysis of stepping motor, the TS3103TC100-3 model for the stepping motor and the model for the EP1K10T100-3 FPGA, to realize the FPGA technology to the design and the stepper motor control system based on. This paper presents control method for model FPGA EP1K10T100-3 as the core of
5、 the design of four phase step motor drive peripheral circuit control system, the control circuit and the use of VHDL language of the stepper motor, the use of four mechanical buttons to control the stepper motor speed, direction, realize the stepper motor acceleration speed and constant speed contr
6、ol of step angle of stepping motor rotation, at least 1.8 degrees. And the system's portability advantages, strong reliability. In order to realize the design, implementation and simulation program in accordance with FPGA design flow, design and input circuit used in the VHDL programming languag
7、e, the wave simulation in the Quartus II software, control to validate the feasibility of the design and implementation of stepper motor.【Keywords】 stepper motor、FPGA、VHDL、Simulation目 錄一、緒論11.1 步進(jìn)電機概述11.2 課題研究背景及意義11.3 本課題研究主要內(nèi)容2二、方案論證32.1 方案設(shè)計32.1.1 單片機控制系統(tǒng)方案32.1.2 FPGA控制系統(tǒng)方案42.2 兩類系統(tǒng)的選擇5三、 系統(tǒng)硬件描述與
8、設(shè)計63.1步進(jìn)電機系統(tǒng)控制原理63.2 步進(jìn)電機簡介63.3 步進(jìn)電機特點以及常見問題93.3.1步進(jìn)電機的特點93.3.2步進(jìn)電機的常見問題103.4 運動速度的控制103.5 正轉(zhuǎn)反轉(zhuǎn)的控制113.6 步進(jìn)度數(shù)控制123.7 FPGA邏輯功能結(jié)構(gòu)及其總體設(shè)計12四、 系統(tǒng)程序設(shè)計154.1 VHDL 語言154.1.1 VHDL簡介154.1.2 VHDL的特點154.1.3 VHDL語言的基本結(jié)構(gòu)164.2 系統(tǒng)程序原理及設(shè)計框圖17五、 系統(tǒng)仿真與調(diào)試18六 、 總結(jié)與展望206.1 總結(jié)206.2展望20致 謝21參考文獻(xiàn)22 一、緒論1.1 步進(jìn)電機概述步進(jìn)電機的原型是起源于18
9、30年至1960年間。起初的步進(jìn)電機是以控制系統(tǒng)為主,主要用于電話自動交換機和缺乏交流電的船舶等獨立系統(tǒng)。20世紀(jì)60年代后期,隨著永磁材料和半導(dǎo)體技術(shù)的快速發(fā)展,步進(jìn)電機的發(fā)展和應(yīng)用領(lǐng)域也越來越廣泛。從發(fā)展的趨勢來看,步進(jìn)電機已經(jīng)能和直流電動機,交流電動機等并列,成為電動機的一種基本類型了。我國是從1958年才開始研究和制造步進(jìn)電機的,當(dāng)時只有些許高校才用步進(jìn)電機開發(fā)研制步進(jìn)電機產(chǎn)品。60年代末,70年代初由于我國電子工業(yè)和數(shù)字控制技術(shù)的長足發(fā)展,步進(jìn)電機的生產(chǎn)和研究才有所突破。70年代中期步進(jìn)電機也迎來了高速發(fā)展。直至80年代后期,隨著微處理器的在數(shù)控系統(tǒng)的應(yīng)用,步進(jìn)電機的發(fā)展有了更廣闊的
10、空間,新品種高性能的步進(jìn)電機不斷被研發(fā)出來1。1.2 課題研究背景及意義步進(jìn)電機的發(fā)展與計算機工業(yè)息息相關(guān)。自從計算機外圍設(shè)備中的小型直流電機被步進(jìn)電機取代后,很快就促進(jìn)了步進(jìn)電動機的發(fā)展。另外,微型計算機和數(shù)字控制技術(shù)的飛速發(fā)展,也使得步進(jìn)電機的應(yīng)用推廣到其他領(lǐng)域,比如電加工機床、小功率機械加工機床、測量儀器、光學(xué)和醫(yī)療儀器以及包裝機械等。預(yù)計未來對步進(jìn)電機的研究還會繼續(xù)深入下去,研究電機與驅(qū)動的一體化,使步進(jìn)電機體積更小,性價比更高,性能更優(yōu)越。在民用設(shè)備中大量使用,如:家庭機器人,民用智能化設(shè)備。當(dāng)前,最具發(fā)展前景的就是混合式步進(jìn)電機。其有以下四個發(fā)展方向:(1)繼續(xù)走小型化的方向發(fā)展。
11、由于電動機應(yīng)用領(lǐng)域的拓寬和各類整機的小型化,這就要求電動機本身也越來越小。 (2)把圓形電動機改成方形電動機。因為方形電動機的力矩要比圓形的高30%-40%。 (3)對電動機進(jìn)行整體設(shè)計,即把轉(zhuǎn)自位置的傳感器/相對編碼器、減速齒輪/減機與電動機本身綜合在一起設(shè)計。 (4)向三相或五相電動機方向發(fā)展。三相和五相電動機解決了目前廣泛應(yīng)用的二相和四相電動機震動和噪音較大的缺點。步進(jìn)電機的步距值不受各種干擾因素的影響。如電壓的大小,電流的數(shù)值、波形、溫度的變化等。步進(jìn)電機每走一步所轉(zhuǎn)過的角度與理論步距之間總有一定的誤差,從某一步到任何一步,也總有一定的累積誤差,但是,每轉(zhuǎn)一圈的累積誤差為零,所以步距的
12、累積誤差不是長期的累積下去。步進(jìn)電機控制性能好,啟動、停車、翻轉(zhuǎn)都是在少數(shù)脈沖內(nèi)完成,在一定的頻率范圍內(nèi)運行時,任何運動方式都不會丟失一步。所以,步進(jìn)電機被廣泛應(yīng)用于數(shù)控機床上。伴隨著步進(jìn)電機在發(fā)展中扮演的角色越來越重要,以及其高效,靈活和實用的特性使其發(fā)展更有前景,使得本課題研究更有意義2。1.3 本課題研究主要內(nèi)容 由于現(xiàn)代自動化技術(shù)與智能技術(shù)的飛速發(fā)展,所以步進(jìn)電機的應(yīng)用也變得非常廣泛。同時,近年來,隨著嵌入式技術(shù)的發(fā)展,PLD(可編程邏輯器件)在速度和集成度兩方面得到了飛速提升。由于它體積小、速度快、費用低、用戶可對他進(jìn)行讀/寫操作,應(yīng)用領(lǐng)域也不斷的擴大,越來越多的電子系統(tǒng)開始采用PL
13、D來實現(xiàn)數(shù)字信號處理。由此,本文提出了用型號為EP1K10T100-3的FPGA為核心的控制方法設(shè)計四相步進(jìn)電機的外圍驅(qū)動電路控制系統(tǒng),并利用VHDL語言編寫步進(jìn)電機的控制時序電路,使用四個機械式按鍵對步進(jìn)電機進(jìn)行轉(zhuǎn)速、方向等的控制,實現(xiàn)步進(jìn)電機的加減速和常速步進(jìn)角度的控制,步進(jìn)電機最少轉(zhuǎn)動1.8度。而且系統(tǒng)的可移植性優(yōu)越,可靠性強。在設(shè)計方法上簡單易行:在FPGA步進(jìn)電機的控制系統(tǒng)中減少了控制系統(tǒng)設(shè)計的工作量、大大縮短研制開發(fā)周期,和節(jié)約了開發(fā)費用,而且提高了控制系統(tǒng)的可靠性,具有較高的使用和推廣價值3。二、方案論證2.1 方案設(shè)計 單片機控制系統(tǒng)方案本實驗采用四相六線步進(jìn)電機,四相六線步進(jìn)
14、電機比較常見,它的等效電路如圖2-1所示,它有4條信號引線A、B、,通過控制這4條引線上脈沖產(chǎn)生的時刻,即可控制步進(jìn)電機的轉(zhuǎn)動。單片機控制步進(jìn)電機原理圖如圖2-2所示,通過P1.4P1.7來控制各線圈的接通與斷開。P1的4腳對應(yīng)步進(jìn)電機的A,P1的5腳對應(yīng),P1的6腳對應(yīng)B,P1的7腳對應(yīng)。這4條驅(qū)動線通過ULN2003與單片機的P1.0P1.3引腳相連。圖2-1 步進(jìn)電機的控制等效電路 圖2-2 步進(jìn)電機與單片機連接原理圖 FPGA控制系統(tǒng)方案如圖2-3為FPGA控制步進(jìn)電機原理圖,圖2-4為步進(jìn)電機驅(qū)動原理圖。因其工作電壓為24V,最大電流為0.3A,因此用“ULN2003”來做為驅(qū)動。通
15、過P1.4P1.7來控制各線圈的接通與斷開。開機時P1.4P1.7均為高電平,如將P1.4P1.7切換為低電平則可驅(qū)動步進(jìn)電機運行,但是在切換之前將前一個輸出引腳變?yōu)楦唠娖?。如果要改變電機的轉(zhuǎn)動速度只要改變兩次接通之間的時間,而要改變電機的轉(zhuǎn)動方向,只要改變各線圈接通的順序。圖2-3 FPGA控制步進(jìn)電機原理圖圖2-4 步進(jìn)電機驅(qū)動電路原理圖 2.2 兩類系統(tǒng)的選擇FPGA是由存放在片內(nèi)RAM中的程序來設(shè)置其工作狀態(tài)的,因此,工作時需要對片內(nèi)的RAM進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進(jìn)入工作
16、狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA可以反復(fù)使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當(dāng)需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活45??偟膩碚f,基于FPGA要比基于單片機要快很多。因為單片機是基于指令工作的,同樣的激勵到達(dá)單片機后,單片機首先要判斷,然后讀取相應(yīng)的指令,最后作出響應(yīng),這每一步都是需要在單片機的時鐘驅(qū)動下一步步的進(jìn)行。而基于FPGA則是把相應(yīng)的邏輯暫時“固化”為硬件電路了,它對激勵作出的響應(yīng)速度就是電信號
17、的傳播速度,當(dāng)然這指的是“異步邏輯”。所以,本設(shè)計最終選擇了更有發(fā)展優(yōu)勢的FPGA控制系統(tǒng)方案。三、 系統(tǒng)硬件描述與設(shè)計3.1步進(jìn)電機系統(tǒng)控制原理系統(tǒng)原理框圖如圖3-1所示,以型號為 EP1K10T100-3的FPGA芯片設(shè)計的步進(jìn)電機驅(qū)動電路,與步進(jìn)電機連接實現(xiàn)步進(jìn)電機在步進(jìn)角度、步進(jìn)速度、正反轉(zhuǎn)控制等方面的控制。將程序輸入電腦,對FPGA進(jìn)行程序編譯下載,將設(shè)計好的電路板與實驗板FPGA連接測試所編程是否正確,是否可以正轉(zhuǎn),反轉(zhuǎn),以及改變轉(zhuǎn)動角度和速度等。 圖3-1 系統(tǒng)原理框圖步進(jìn)電機是將電脈沖轉(zhuǎn)化為角位移和線位移的執(zhí)行元件。它并不是連續(xù)運行的而是以固定角度一步一步旋轉(zhuǎn)的電動機,一般情況
18、下每步旋轉(zhuǎn)15°。另外,角位移量可以通過控制脈沖個數(shù)來控制,從而達(dá)到準(zhǔn)確定位的目的;電機的轉(zhuǎn)速和加速度通過控制脈沖頻率來達(dá)到調(diào)速的目的;同時也可以通過脈沖“相位”控制電機正反轉(zhuǎn)。步進(jìn)電機可以正常啟動,當(dāng)光脈沖頻率稱為“空載啟動頻率”。如果脈沖頻率高于該值,電機不能正常啟動,可能介入“失去”或“封鎖”。負(fù)載的情況下,啟動頻率應(yīng)更低,如果你想要使電機達(dá)到高速轉(zhuǎn)動,脈沖頻率應(yīng)該加快這一進(jìn)程,啟動頻率較低,然后在一定的高頻加速度。步進(jìn)電機運行速度較低,如果超過一定速度不能開始,伴隨著吱吱聲6。3.2 步進(jìn)電機簡介步進(jìn)電機的驅(qū)動可以選用專用的驅(qū)動模塊,如 L298N,F(xiàn)T 5754等,這類驅(qū)動
19、模塊接口簡單,操作方便,他們既可以驅(qū)動步進(jìn)電機也可以驅(qū)動直流電機,本設(shè)計中我們使用“達(dá)林頓”驅(qū)動器ULN2003。ULN2003具有電流增益高,溫度范圍寬,帶負(fù)載能力強,工作電壓高等特點,適應(yīng)于各類要求高速大功率驅(qū)動的系統(tǒng)。下面先介紹一下ULN2003芯片。UNL2003芯片封裝外形圖如圖3-2和內(nèi)部結(jié)構(gòu)圖如圖3-3、3-4所示:該芯片是16腳七路電機驅(qū)動芯片,分直插式和貼片式。其引腳端功能及符號如表3-1。 圖3-2 ULN2003芯片圖3-3 ULN2003分直插式內(nèi)部結(jié)構(gòu)圖3-4 ULN2003貼片式內(nèi)部結(jié)構(gòu)圖 表3-1 ULN2003引腳端符號及功能引腳端序號符號功能引腳端序號符號功能
20、11B輸入9COM公共端22B輸入107C輸出33B輸入116C輸出44B輸入125C輸出55B輸入134C輸出66B輸入143C輸出77B輸入152C輸出8E發(fā)射極161C輸出本設(shè)計用到的步進(jìn)電機實物圖如圖3-5。步進(jìn)電機不像普通電機和直流電機一樣可以在常規(guī)狀態(tài)下使用,由表3-2可看出其工作電壓為24V,最大電流為0.3A。所以設(shè)計其電路時必須由雙環(huán)形脈沖信號和功率驅(qū)動電路等組成控制系統(tǒng)。如前面介紹它有A 、B、 4條信號引線,通過控制這4條引線上脈沖產(chǎn)生的時刻從而控制步進(jìn)電機的轉(zhuǎn)動。圖3-5 步進(jìn)電機實物圖表3-2 步進(jìn)電機參數(shù)表型號TS3103TC100-3步距角1.8deg相數(shù)4電壓2
21、4V電流0.3A最大靜轉(zhuǎn)矩6.5kg/cm尺寸56.4×50.8mm3.3 步進(jìn)電機特點以及常見問題步進(jìn)電機的特點 1、一般步進(jìn)電機的精度為步進(jìn)角的3-5%,且不累積。2、步進(jìn)電機溫度高會使磁性材料的第一電機退磁,步進(jìn)電機從而導(dǎo)致轉(zhuǎn)矩下降甚至步調(diào)不一致,所以汽車外觀允許最高溫度應(yīng)該取決于不同的退磁磁性材料;去磁磁材料,一般來說,有些130攝氏度以上,有的甚至高達(dá)200攝氏度以上,因此步進(jìn)電機出現(xiàn)在80 - 90攝氏度溫度完全正常。3、步進(jìn)電機轉(zhuǎn)矩隨轉(zhuǎn)速的增加會減少。當(dāng)步進(jìn)電機轉(zhuǎn)動時,電機各相繞組的電感將形成一個反向電動勢;頻率越高,反電動勢就越大。的作用下,電機頻率(或速度)和相電流
22、的減少,從而導(dǎo)致力矩下降。4、步進(jìn)電機低速可以正常運轉(zhuǎn),但如果超過一定速度無法開始,伴隨著吱吱聲。步進(jìn)電機有一個技術(shù)參數(shù):空載啟動頻率,步進(jìn)電機在空載情況下能夠正常啟動的脈沖頻率,如果脈沖頻率高于該值,電機不能正常啟動,可能會丟失或阻塞。在負(fù)載情況下,啟動頻率應(yīng)更低。如果你想要使電機達(dá)到高速轉(zhuǎn)動,脈沖頻率應(yīng)該加速過程,即啟動頻率較低,然后在一定的高頻加速度要(電機速度從低速到高速)。步進(jìn)電機以其顯著的特點,在數(shù)字化制造的時代扮演了一個重要的目的。隨著數(shù)字技術(shù)的發(fā)展以及步進(jìn)電機本身,提高技術(shù)、步進(jìn)電機將會在更多領(lǐng)域的應(yīng)用步進(jìn)電機的常見問題(1)振蕩 振蕩產(chǎn)生的原因有很多種,其中主要的原因有步進(jìn)電
23、機處于低頻單步運行;步進(jìn)電動機的換向頻率和轉(zhuǎn)子的特征頻率、倍特征頻率、分?jǐn)?shù)特征頻率相等;步進(jìn)電機突然停車等狀況。另外,步進(jìn)電機的工作態(tài)度也會產(chǎn)生振動現(xiàn)象。(2)失步 步進(jìn)電機失步一般有兩種原因,一是因為轉(zhuǎn)子的加速度慢于步進(jìn)電機的旋轉(zhuǎn)磁場,這時是因為輸入電機的電能不足,從而引起失步;二是因為轉(zhuǎn)子的平均速度高于定子磁場的平均旋轉(zhuǎn)速度,這時是定子通電激磁的時間較長,大于轉(zhuǎn)子步進(jìn)一步所需的時間,則轉(zhuǎn)子在步進(jìn)過程中獲得了過多的能量,從而產(chǎn)生振蕩,當(dāng)振蕩足夠嚴(yán)重時就會產(chǎn)生失步。(3)阻尼方法 步進(jìn)電機在運行中,振蕩是它固有的特性,但也是在任何拖動系統(tǒng)中所不希望的。所以,需要對振蕩進(jìn)行抑制。抑制振蕩的常用方
24、法就是采用阻尼方法。3.4 運動速度的控制正如前文所述,步進(jìn)電機的啟動頻率應(yīng)低于空載啟動頻率,因此本設(shè)計采用梯形圖法對步進(jìn)電機的加減速進(jìn)行控制。輸入的脈沖頻率決定了步進(jìn)電機的轉(zhuǎn)速。如圖3-6所示,T0T1時段為步進(jìn)電機啟動過程,脈沖頻率呈線性遞增。T1T2為步進(jìn)電機恒速運行階段,輸入脈沖頻率不變。T2T3是停止過程,脈沖頻率呈線性遞減。 圖3-6驅(qū)動步進(jìn)電機的脈沖頻率的變化規(guī)律當(dāng)改變輸入脈沖的周期時, ABCD 四相繞組脈寬將發(fā)生變化。這就使電機轉(zhuǎn)速發(fā)生變化, 所以步進(jìn)電機的運動速度與輸入脈沖的頻率成正比。如果給步進(jìn)電機發(fā)一個控制脈沖,它就轉(zhuǎn)一步。2個脈沖的間隔越短,步進(jìn)電機就轉(zhuǎn)得越快。調(diào)整控
25、制器發(fā)出的脈沖頻率,就可以對步進(jìn)電機進(jìn)行調(diào)速。脈沖分配波形圖如圖3-7所示。 圖 3-7 脈沖分配波形圖3.5 正轉(zhuǎn)反轉(zhuǎn)的控制步進(jìn)電機的正、反轉(zhuǎn)控制可通過改變步進(jìn)電機各繞組的通電順序來實現(xiàn), 這一過程稱為“脈沖分配”。例如:四相六線步進(jìn)電機通電順序為 AB- BC- CD- DA- AB.則電機正轉(zhuǎn)。如果按反序換相通電,即:步進(jìn)電機通電順序改為 AD- DC- CB- BA- AD.則電機反轉(zhuǎn)。因此,可以通過FPGA 輸出的方向控制信號或經(jīng)編程改變輸出脈沖的順序,從而改變各繞組的通電順序來實現(xiàn)電機正反轉(zhuǎn)的控制7。3.6 步進(jìn)度數(shù)控制如果給步進(jìn)電機發(fā)一個控制脈沖,它就轉(zhuǎn)一步,步進(jìn)電機的角位移與輸
26、入的脈沖數(shù)成正比,因此可以用FPGA脈沖輸出個數(shù)控制步進(jìn)電機的角位移量,來實現(xiàn)對步進(jìn)電機步進(jìn)度數(shù)的控制8。 n =L/ 其中L 為步進(jìn)電機的輸出位移量(mm), 為機構(gòu)的脈沖當(dāng)量(mm/脈沖)。本系統(tǒng)中選用的步進(jìn)電機是四相的,可工作于單拍或單拍方 式。顯然,若使用單拍的工作方式,每變換次通電脈沖,電機轉(zhuǎn)子所轉(zhuǎn)過的角度是使用單拍方式的一半。本系統(tǒng)設(shè)計中選用單拍的工作方式,所對應(yīng)的步距角為1.8度。對應(yīng)的脈沖分配表如表3-3所列。表3-3 四相脈沖分配表節(jié)拍編碼SMASMBSMCSMDn1000n+11100n+20100n+30110n+40010n+50011n+60001n+71001 3.
27、7 FPGA邏輯功能結(jié)構(gòu)及其總體設(shè)計在本次設(shè)計中我們選用型號為 EP1K10T100 - 3的FPGA現(xiàn)場可編程門陣列,來實現(xiàn)對步進(jìn)電機系統(tǒng)的設(shè)計及控制。為了簡化設(shè)計,實現(xiàn)系統(tǒng)大量邏輯電路的集成,在設(shè)計中使用了現(xiàn)場可編程邏輯門陣列器件(FPGA)。FPGA主要實現(xiàn)以下邏輯功能:定時脈寬門控、計數(shù)測量、地址鎖存、譯碼、總線的驅(qū)動和擴展以及數(shù)碼顯示的控制等功能。FPGA器件選擇Altera公司的EPF10K10LC84-4芯片。該芯片有576個邏輯元件、72個LAB/CLB、3萬多個邏輯門、6144個RAM。每個I/O引腳可以選擇為集電極開路輸出,可以通過編程控制每個I/O引腳的速度以及I/O寄存
28、器的使用。FPGA按邏輯功能塊的基本邏輯構(gòu)造單元的大小,可分為細(xì)粒度結(jié)構(gòu)和粗粒度結(jié)構(gòu);按互連結(jié)構(gòu)根據(jù)FPGA內(nèi)部的連線結(jié)構(gòu)的不同,分為分段互連型和連續(xù)互連型兩類;按編程特性根據(jù)采用的開關(guān)元件的不同,可分為一次編程型和可重復(fù)編程型。 FPGA是由存放在片內(nèi)RAM中的程序來設(shè)置其工作狀態(tài)的,因此,工作時需要對片內(nèi)的RAM進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進(jìn)入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EP
29、ROM、PROM編程器即可。當(dāng)需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。FPGA使用的開發(fā)軟件為QuartusII,該軟件屬于MAX+PLUS II的升級版,性能方面得到更好的優(yōu)化,深受用戶的喜愛,它是Altera公司的綜合FPGA開發(fā)軟件。該軟件是一個支持原理圖、VHDL設(shè)計輸入、編譯仿真集成環(huán)境。QuartusII可以在計算機各種系統(tǒng)中完美運行,提供了自動邏輯綜合工具,具有數(shù)字邏輯設(shè)計的全部特性9。FPGA的一般設(shè)計流程圖如圖3-8所示。設(shè)計輸入設(shè)計實現(xiàn)編程下載功能仿真真時序分析調(diào)試結(jié)束 圖
30、3-8 FPGA的設(shè)計流程圖(1)設(shè)計輸入設(shè)計輸入包括使用硬件語言HDL、狀態(tài)圖與原理圖輸入三種方式、VHDL設(shè)計是現(xiàn)今設(shè)計大規(guī)模數(shù)字集成電路的良好形式,除了IEEE標(biāo)準(zhǔn)的VHDL與Verilog DHL兩種形式外,尚有各自FPGA廠家推出的專用語言,而遠(yuǎn)離輸入在層頂設(shè)計、數(shù)據(jù)通路邏輯、手工最優(yōu)化電路等方面具有圖形化強、單元節(jié)儉、功能明確等特點。(2)設(shè)計綜合綜合,就是針對給定的電路實現(xiàn)功能和實現(xiàn)電路的約束條件,如速度、功耗、成本及電路類型等,通過計算機進(jìn)行優(yōu)化處理,獲得一個能滿足上述條件的電路設(shè)計方案。(3)仿真驗證從廣義上來講,設(shè)計驗證包括功能與時序仿真和電路驗證。仿真是指使用設(shè)計軟件包對
31、己實現(xiàn)的設(shè)計進(jìn)行完整的測試,模擬實際物理環(huán)境下的工作情況。(4)設(shè)計實現(xiàn)實現(xiàn)可以理解為利用實現(xiàn)的工具把邏輯映射到目標(biāo)器件結(jié)構(gòu)的資源中,決定的最佳布局,選擇邏輯與輸入輸出功能連接的布線通道進(jìn)行連線,并產(chǎn)生相關(guān)文件。通常有轉(zhuǎn)換、映射、布局與布線、時序提取和配置這五個步驟。(5)時序分析在設(shè)計實現(xiàn)的過程中,在映射后需要對一個設(shè)計的實際功能塊的延時和估計的布線延時進(jìn)行時序分析:而在布局布線之后,也要對實際布局布線的功能塊延時和布線延時進(jìn)行靜態(tài)時序分析。(6)下載驗證 下載時在功能仿真與時序仿真正確的前提下,講綜合后形成的位流下載到具體的FPGA芯片中,也叫芯片配置。FPGA設(shè)計有兩種配置形式:直接由計
32、算機經(jīng)過專用的下載電纜進(jìn)行配置:由外圍配置芯片進(jìn)行上電時自動配置。因FPGA具有掉電信息丟失的性質(zhì),因此可在驗證初期使用電纜直接下載位流,如有必要再將燒錄配置芯片中。四、 系統(tǒng)程序設(shè)計4.1 VHDL 語言 VHDL簡介VHDL 的英文全名是 Very-High-Speed Integrated Circuit Hardware Description Language,誕生于1982年。1987年底,VHDL被 IEEE 和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言。 VHDL主要用來描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口。除了含有許多語句與硬件特性,硬件描述語言(VHDL)語言形式和風(fēng)格和語法的描述非
33、常類似于通用計算機高級語言。硬件描述語言(VHDL)程序結(jié)構(gòu)特征是一個工程設(shè)計、或設(shè)計實體(可以是一個元素,一個電路模塊或系統(tǒng))分為外部(或可見部分,端口)和內(nèi)部(或無形的部分),包括實體的內(nèi)部函數(shù)和算法完成的部分。在一個設(shè)計實體定義了外部界面,完成后,一旦內(nèi)部發(fā)展的其他設(shè)計可以直接調(diào)用實體。設(shè)計實體可以分為內(nèi)部和外部的部分系統(tǒng)設(shè)計的重要點是硬件描述語言(VHDL)的概念10。 VHDL的特點VHDL 語言能夠成為標(biāo)準(zhǔn)化的硬件描述語言并獲得廣泛應(yīng)用,它自身必然具有很多其他硬件描述語言所不具備的優(yōu)點。歸納起來,VHDL 語言主要具有以下優(yōu)點:(1)VHDL 語言功能強大,設(shè)計方式多樣硬件描述語言
34、(VHDL)語言是一種功能強大的語言結(jié)構(gòu),只是一個簡單明確的VHDL語言程序可以描述復(fù)雜的硬件電路。與此同時,它也有一個多層電路設(shè)計的描述函數(shù)。此外,硬件描述語言(VHDL)語言可以同時支持同步電路、異步電路和隨機電路設(shè)計實現(xiàn),這是不能與其他硬件描述語言。VHDL語言設(shè)計方法是靈活的,同時支持自頂向下的設(shè)計方法,也支持自底向上的設(shè)計方法,同時支持模塊化設(shè)計方法,層次結(jié)構(gòu)設(shè)計方法6。(2)VHDL 語言具有強大的硬件描述能力VHDL語言多層電路設(shè)計的描述函數(shù),可以描述系統(tǒng)級電路,也可以描述門級電路;描述方式這兩個行為描述,寄存器傳輸可以用來描述或結(jié)構(gòu)描述,也可以用三種方法的混合描述。同時,硬件描
35、述語言(VHDL)語言慣性延遲和傳輸延遲的支持,這樣我們才能準(zhǔn)確地建立硬件電路模型。硬件描述語言(VHDL)語言也反映在描述能力強,具有豐富的數(shù)據(jù)類型。硬件描述語言(VHDL)語言既支持標(biāo)準(zhǔn)定義的數(shù)據(jù)類型,也支持用戶定義的數(shù)據(jù)類型,這將給硬件描述帶來更大的自由。(3)VHDL 語言具有很強的移植能力硬件描述語言(VHDL)語言能力強移植主要反映在:相同硬件電路的VHDL語言描述,它可以從一個模擬器移植到另一個模擬器,從綜合集成裝置移植到另一個或從工作平臺移植到另一個平臺上執(zhí)行。(4)VHDL 語言的設(shè)計描述與器件無關(guān)使用硬件描述語言(VHDL)的語言來描述硬件電路,設(shè)計師不需要考慮設(shè)備的選擇進(jìn)
36、行設(shè)計的。優(yōu)點是能夠使設(shè)計師專注于優(yōu)化電路設(shè)計,并且不需要考慮其他問題。當(dāng)完成后的硬件電路設(shè)計描述、硬件描述語言(VHDL)語言允許使用各種不同的裝置結(jié)構(gòu)8。(5)VHDL 語言程序易于共享和復(fù)用使用硬件描述語言(VHDL)語言基于庫(庫)的設(shè)計方法。在設(shè)計過程中,設(shè)計師可以建立各種可以再次使用模塊,一個大規(guī)模的硬件電路設(shè)計門級電路不能開始一步一步的進(jìn)行設(shè)計,但積累的一些模塊。這些模塊可以預(yù)先設(shè)計或用于歸檔的設(shè)計模塊,模塊存儲在庫中,您可以在以后的設(shè)計重用。因為硬件描述語言(VHDL)語言是一種描述、仿真、集成、優(yōu)化和布線標(biāo)準(zhǔn)硬件描述語言,所以它可以使設(shè)計結(jié)果之間的設(shè)計師容易交流和共享,從而降
37、低硬件電路設(shè)計的工作量,縮短開發(fā)周期。 VHDL語言的基本結(jié)構(gòu)一個相對完整的VHDL程序(或稱為設(shè)計實體)具有比較固定的結(jié)構(gòu)。至少應(yīng)包括三個基本組成部分:庫(Library)、程序包(Package)使用說明、實體(Entity)說明和實體對應(yīng)的結(jié)構(gòu)體(Architecture)說明。實體說明用于描述該設(shè)計實體與外界的接口信號說明,是可視部分;結(jié)構(gòu)體說明用于描述該設(shè)計實體內(nèi)部工作的邏輯關(guān)系,是不可視部分。根據(jù)需要實體還可以有配置說明語句。配置說明語句主要用于以層次化的方式對特定的設(shè)計實體進(jìn)行元件例化,或是為實體選定某個特定的結(jié)構(gòu)體如圖4-1所示:程序包實體結(jié)構(gòu)體數(shù)據(jù)流結(jié)構(gòu)并行statement
38、過程順序statement并行statement產(chǎn)品接口圖4-1 VHDL基本結(jié)構(gòu)圖4.2 系統(tǒng)程序原理及設(shè)計框圖程序設(shè)計框圖如圖4-2所示。其中difre1為4分頻的分頻器程序設(shè)計;difre2為2分頻的控制器程序設(shè)計;mux4為四選一的選擇器程序設(shè)計;由mux4輸出一個時鐘信號,即輸入一個時鐘信號到stepmotor,給步進(jìn)電機一個脈沖信號從而驅(qū)動步進(jìn)電機轉(zhuǎn)動。圖4-2程序設(shè)計框圖五、 系統(tǒng)仿真與調(diào)試經(jīng)過上章節(jié)對系統(tǒng)的硬件和軟件的簡介,設(shè)計,并采用了FPGA的控制系統(tǒng)步進(jìn)電機。而對設(shè)計的系統(tǒng)仿真和調(diào)試將會以Quarstus軟件實現(xiàn)。Altera公司的Quartus軟件提供了可編程片上系統(tǒng)設(shè)
39、計的一個綜合開發(fā)環(huán)境,是進(jìn)行可編程片上系統(tǒng)設(shè)計的基礎(chǔ)。Quartus集成環(huán)境包括以下內(nèi)容:系統(tǒng)級設(shè)計、嵌入式軟件開發(fā),可編程邏輯器件設(shè)計,綜合,布局和布線,驗證以及仿真。Altera技術(shù)領(lǐng)先的Quartus設(shè)計軟件配合一系列可供客戶選擇的IP核,可使設(shè)計人員在開發(fā)和推出FPGA、CPLD和結(jié)構(gòu)化ASIC的設(shè)計的同時,獲得無與倫比的設(shè)計性能、一流的易用性以及最短的市場推出時間。這是設(shè)計人員首次將FPGA移植到結(jié)構(gòu)化ASIC中,能夠?qū)σ浦惨院蟮男阅芎凸倪M(jìn)行準(zhǔn)確的估算。Quartus軟件支持VHDL的設(shè)計輸入、基于圖形的設(shè)計輸入方式以及集成系統(tǒng)設(shè)計工具。Quartus軟件可以將設(shè)計、綜合、布局和布線以及系統(tǒng)嚴(yán)整全部都整合到一個無縫的環(huán)境中,其中還包括和第三方EDA工具的接口。我們先應(yīng)用Quartus進(jìn)行仿真。步進(jìn)電機時序控制器的符號如圖5-1所示:圖5-1 步進(jìn)電機時序控制器的符號對于該控制器,我們設(shè)置的各個控制信號均是外部電鍵,此外CP為時鐘信號RATE(1.0)調(diào)速方式為:內(nèi)部數(shù)據(jù)選擇器根據(jù)RATE(1.0)值將移位寄存器的時鐘分別和 CP 及八進(jìn)制計數(shù)器的輸出端相連,以對 CP 進(jìn)行 1、2、4、8 分頻。STEP-OUT輸出的時序通過光電耦合直接送驅(qū)動器 ULN2003,為了提高 ULN2003 的驅(qū)動能力,因此在其輸
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DBJ04-T282-2025 《行道樹栽植技術(shù)規(guī)程》
- 汽車傳感器與檢測技術(shù)電子教案:柴油機煙度傳感器
- 推進(jìn)中國政治文化現(xiàn)代化之基本路徑論析
- 佛山顏峰高科技農(nóng)業(yè)生態(tài)園項目建議及可行性研究報告
- 介紹民族大聯(lián)歡活動方案
- 倉儲團(tuán)隊激勵活動方案
- 倉鼠訓(xùn)練活動方案
- 代理補貨活動方案
- 以色列旅游跨年活動方案
- 儀隴縣工會活動方案
- 《民法典》醫(yī)療損害責(zé)任篇培訓(xùn)
- 視覺功能評估的方法和工具
- 國開2023秋《言語交際》終結(jié)性考試參考答案
- 戶外運動基地可行性研究報告評價
- 環(huán)衛(wèi)保潔員安全試題
- 分級護(hù)理制度落實查檢表
- 徐雙敏《公共事業(yè)管理概論》筆記和課后習(xí)題詳解下載
- 中外古典園林史學(xué)習(xí)通超星課后章節(jié)答案期末考試題庫2023年
- 焊接方法與設(shè)備說課稿課件
- 員工入職登記表
- 某某公司暴風(fēng)雨自然災(zāi)害應(yīng)急預(yù)案
評論
0/150
提交評論