步進電機控制
步進電機控制,步進,電機,機電,控制,節(jié)制
中國科學技術大學本科畢業(yè)論文
中國科學技術大學
本科生畢業(yè)論文
題目:基于CPLD的步進電機驅動設計
系別:精密機械與精密儀器系
專業(yè):測控技術與儀器
學制: 五 年
姓名: 王 修 壯
學號: PB99009025
導師: 邢曉正 翟 超
二零零三年六月
中 文 摘 要
在LAMOST光纖定位系統(tǒng)中,尋星的準確性、可靠性無疑是一個重要指標,而系統(tǒng)能否可靠、準確地尋星,其前提是各定位單元能夠穩(wěn)定、可靠地工作。因此,為了使LAMOST項目設計順利完成,必須對定位用的步進電機控制裝置做仔細地研究。
本文系統(tǒng)論述了步進電機控制裝置的作用、組成;控制裝置中CPLD(Complex Programmable Logic Device)系統(tǒng)的軟硬件設計,包括電機驅動電路的整體設計;硬件采用ALTERA公司的ACEX 1K 系列;開發(fā)系統(tǒng)采用ALTERA公司的Max+PlusⅡ10.0和MENTOR公司的Modelsim SE 5.6。
通過以上幾個部分的研究使我們對LAMOST中步進電機的驅動控制問題有了較為深入的了解,為今后光纖定位系統(tǒng)的改進建設打下了良好的基礎,同時,研究結果表明了該控制裝置用于LAMOST項目的可行性。
關鍵詞:LAMOST,CPLD,VHDL
ABSTRACT
In the LAMOST optical fiber positioning system, the veracity and reliability of seeking stars are two undoubtedly important design targets. Meanwhile, the precondition for the system to reach those targets is that every positioning unit can work smoothly and reliably. So we must research the multi-stepping-motor control apparatus used for LAMOST optical fibers’ positioning carefully so we can design the LAMOST optical fiber positioning system well.
The main work of this paper is to determine the functions and parts of multi-stepping-motor control apparatus; the software and hardware design of CPLD(Complex Programmable Logic Device) system as part of the multi-stepping-motor control apparatus, including programming of all kinds of movement control. The language we used is VHDL(VHSIC Hardware Description Language) and we design the system with Max+plusⅡ10.0 and Modelsim SE 5.6.
Keywords: LAMOST, CPLD, VHDL
目 錄
中文內(nèi)容摘要 …………………………………………………………………3
英文內(nèi)容摘要 …………………………………………………………………4
第一章 緒論 …………………………………………………………………5
第一節(jié)LAMOST項目簡介……………………………………………………5
第二節(jié)LAMOST的總體結構及工作方式……………………………………5
第三節(jié) 步進電機控制裝置的研究…………………………………………6
第二章 可編程邏輯器件及EDA技術…………………………………………7
第一節(jié) 數(shù)字系統(tǒng)設計的發(fā)展及應用 ……………………………………7
第二節(jié) EDA技術的主要特征………………………………………………9
第三節(jié) EDA設計的基本工具………………………………………………12
第三章 硬件描述語言…………………………………………………………14
第一節(jié) 概述…………………………………………………………………14
第二節(jié) VHDL…………………………………………………………………15
第四章 步進電機的驅動程序設計……………………………………………20
第一節(jié) 步進電機的工作原理………………………………………………20
第二節(jié) 步進電機的驅動電源………………………………………………20
第三節(jié) 分頻程序的設計……………………………………………………23
一、 分頻電路的實現(xiàn) …………………………………………………23
二、 升降速曲線的設計 ………………………………………………26
三、 低頻到高頻再到低頻的實現(xiàn) ……………………………………27
四、 環(huán)形分配器的實現(xiàn) ………………………………………………29
五、 系統(tǒng)綜合 …………………………………………………………31
六、 基于CPLD的步進電機驅動設計的優(yōu)點…………………………33
七、 今后的工作 ………………………………………………………34
結束語 ………………………………………………………………………35
參考文獻 ……………………………………………………………………36
第一章 緒論
第一節(jié)LAMOST項目簡介
LAMOST是英文“Large Sky Area Multi-Object Fiber Spectroscopy Telescope” 的縮寫形式,中文全名為“大天區(qū)多目標光纖光譜天文望遠鏡”。它是一臺兼?zhèn)浯笠晥龊痛罂趶降姆瓷涫绞┟芴靥煳耐h鏡,其有效通光口徑為4米,焦距為20米,視場達21平方度,可觀測的覆蓋天區(qū)超過2萬平方度,在它固定的線直徑為1.75米的焦面板上,按要求在觀測對象的位置上布置了4000 根光纖,通過選擇最佳的觀測時機和適當?shù)膬?yōu)化組合,可以同時對幾千個天體目標進行觀測。LAMOST在常規(guī)觀測下,可以進行測量暗至21.0等的恒星或者是暗至20.7等的星系。
它的建成將為眾多科研課題的進展提供很大的便利,尤其對于天文學領域來說,更是具有重大的意義,因此,LAMOST項目被列為我國跨世紀重大科學工程之一。
第二節(jié)LAMOST的總體結構及工作方式
LAMOST的總體結構見圖1-1。
它按中星儀方式工作,對過中天前后的天體進行觀測。其施密特改正板采用主動光學控制,位于主鏡的球心處,來自天體的光線首先射向施密特改正板,然后再反射到主鏡的球面反射鏡上,因此只需要適當轉動施密特改正板,就可以使望遠鏡實現(xiàn)跟蹤觀測。
球面反射主鏡的半徑為40米,來自天體的光線反射到主鏡之后,由主鏡在焦面上成像。焦面板位于主鏡的焦面的位置,上面呈蜂窩狀分布著4000個光纖端,每個光纖由兩個步進電機通過以單片機為核心的控制裝置進行控制,同時瞄準4000個天體,將光引至光譜分析儀上,對天體的光譜進行分析,最終獲得天體的光譜樣本資料。
圖1-1 LAMOST總體結構示意圖
第三節(jié) 步進電機控制裝置的研究
如此眾多的光纖,如何準確、可靠地完成它們的定位,使其能夠達到同時觀測4000顆星體的要求,是整個項目中的難點。多步進電機并行控制裝置對于可控式光纖定位單元系統(tǒng)是至關重要的,它設計的好壞、能否安全、可靠、有效、高速地工作,將直接關系到 LAMOST項目的成敗,所以必須對其進行研究。
本文系統(tǒng)論述了步進電機控制裝置的作用、組成;控制裝置中CPLD(Complex Programmable Logic Device)系統(tǒng)的軟硬件設計,包括電機驅動電路的整體設計;硬件采用ALTERA公司的ACEX 1K 系列;開發(fā)系統(tǒng)采用ALTERA公司的Max+PlusⅡ10.0和MENTOR公司的Modelsim SE 5.6。
第二章 可編程邏輯器件及EDA技術
第一節(jié) 數(shù)字系統(tǒng)設計的發(fā)展及應用
一、EDA技術的發(fā)展
EDA(Electronic Design Automatic )技術,也稱電子設計自動化技術,是在電子CAD(Computer Aided Design )技術的基礎上發(fā)展起來的計算機設計軟件系統(tǒng),它是計算機技術、信息技術和CAM(計算機輔助制造)、CAT(計算機輔助測試)等技術發(fā)展的產(chǎn)物。
EDA技術發(fā)展過程如下:
第一代EDA工具:二十世紀七十年代,此時主要用于版圖的設計和印刷板(PCB)的布局布線。
第二代EDA工具:八十年代初,主要用于門級電路的層次設計,功能包括邏輯圖的設計輸入、仿真、自動布局布線和驗證,版圖由EDA工具自動生成。
第三代EDA工具:八十年代末,基于硬件的描述語言HDL(Hardware Description Language) 、系統(tǒng)的仿真及綜合設計。
第四代EDA工具:九十年代末,電子設計由輔助手段變?yōu)橹饕侄?。設計者從事概念設計或者是電子系統(tǒng)的“行為設計”,而大部分工程中的技術問題,由EDA工具解決。
EDA工具的出現(xiàn),極大地提高了系統(tǒng)設計的效率,使廣大的電子設計師開始實現(xiàn)“概念驅動工程”的夢想。利用EDA工具,電子設計師可以從概念、算法、協(xié)議等開始設計電子系統(tǒng),大量工作可以通過計算機完成,并可以將電子產(chǎn)品從電路設計、性能分析到設計出印制板的整個過程在計算機上自動處理完成。設計師們擺脫了大量的具體設計工作,而把精力集中于創(chuàng)造性的方案與概念構思上,從而極大地提高了設計效率,縮短了產(chǎn)品的研制周期。
EDA工具的開發(fā)經(jīng)歷了兩個大的階段:物理工具階段和邏輯工具階段。物理工具用來完成設計中的實際物理問題,如芯片布局、印刷電路板布線等;邏輯工具是基于網(wǎng)表、布爾邏輯、傳輸時序等概念。首先由原理圖編輯器或硬件描述語言進行設計輸入,然后利用EDA系統(tǒng)完成綜合、仿真、優(yōu)化等過程,最后生成物理工具可以接受的網(wǎng)表或VHDL、VerilogHDL的結構化描述?,F(xiàn)在常見的EDA工具有編輯器、仿真器、檢查/分析工具、優(yōu)化/綜合工具等。
目前,用PLD器件進行系統(tǒng)設計已成為現(xiàn)代數(shù)字系統(tǒng)設計的主要手段之一。傳統(tǒng)的編程技術是將PLD器件插在編程器上進行編程,而“在系統(tǒng)可編程” (ISP即In System Programmable)邏輯器件的問世,將充分發(fā)揮可編程器件的優(yōu)越性。它允許用戶“在系統(tǒng)中”編輯和修改邏輯,給使用者提供了在不修改系統(tǒng)硬件設計的條件下重構系統(tǒng)的能力和硬件升級能力,使硬件修改變得像軟件修改一樣方便。ISP技術,即直接在用戶設計的目標系統(tǒng)中或線路板上對PLD器件進行編程的技術打破了使用PLD先編程后裝配的慣例,而可以先裝配后編程,成為產(chǎn)品后還可反復編程.
二、數(shù)字集成電路的發(fā)展
自20世紀60年代以來,數(shù)字集成電路已經(jīng)歷了從SSI、MSI到LSI、VLSI的發(fā)展過程。20世紀70年代初以1K位存儲器為標志的大規(guī)模集成電路(LSI)問世以后,微電子技術得到迅猛發(fā)展,集成電路的集成規(guī)模幾乎以平均每1~2年翻一番的驚人速度迅速增長。
專用集成電路(ASIC—Application Specific Integrated Circuit)是指專門為某一應用領域或為專門用戶需要而設計、制造的LSI或VLSI電路,它可以將某些專用電路或電子系統(tǒng)設計在一個芯片上,構成單片集成系統(tǒng)。ASIC可分為數(shù)字ASIC和模擬ASIC,數(shù)字ASIC又分為全定制和半定制兩種。
全定制ASIC芯片的各層(掩膜)都是按特定電路功能專門制造的。設計人員從晶體管的版圖尺寸、位置和互連線開始設計,以達到芯片面積利用率高、速度快、功耗低的最優(yōu)性能,但其設計制作費用高,周期長,因此只適用于批量較大的產(chǎn)品。
半定制是一種約束性設計方式。約束的主要目的是簡化設計、縮短設計周期和提高芯片成品率。目前半定制ASIC主要有門陣列、標準單元和可編程邏輯器件三種。
門陣列(Gate Array)是一種預先制造好的硅陣列(母片),內(nèi)部包括幾種基本邏輯門、觸發(fā)器等,芯片中留有一定的連線區(qū)。用戶根據(jù)所需要的功能設計電路,確定連線方式,然后再交生產(chǎn)廠家布線。
標準單元(Standard Cell)是廠家將預先配置好、經(jīng)過測試.具有一定功能的邏輯塊作為標準單元存儲在數(shù)據(jù)庫中,設計人員在電路設計完成之后,利用CAD工具在版圖一級完成與電路一一對應的最終設計。和門陣列相比,標準單元設計靈活、功能強,但設計和制造周期較長,開發(fā)費用也比較高。
可編程邏輯器件(PLD—Programmable Logic Device)是ASIC的一個重要分支。與上述兩種半定制電路不同,PLD是廠家作為一種通用型器件生產(chǎn)的半定制電路,用戶可以通過對器件編程使之實現(xiàn)所需要的邏輯功能。PLD是用戶可配置的邏輯器件,它的成本比較低,使用靈活,設計周期短,而且可靠性高,承擔風險小,因而很快得到普通應用.發(fā)展非常迅速。
三、EDA技術的應用
信息社會的發(fā)展離不開電子產(chǎn)品的進步。現(xiàn)代電子產(chǎn)品在性能提高、復雜度增大的同時,性能價格比一直呈下降趨勢,而且產(chǎn)品更新?lián)Q代的步伐也越來越快,實現(xiàn)這種進步的主要原因就是生產(chǎn)制造技術和電子設計技術的發(fā)展。前者以微細加工技術為代表,目前已發(fā)展到深亞微米階段,可以在幾平方厘米的芯片上集成數(shù)千萬個晶體管;后者的核心就是EDA工程。而EDA工程的關鍵之一是EDA工具,EDA工具是指以計算機為工作平臺,融合了應用電子技術、計算機技術、智能化技術最新成果而研制成的電子設計通用工具軟件,主要能進行三方面的輔助設計工作:
(1)PCB印刷電路板設計
(2)ASIC設計
(3)電子系統(tǒng)設計(SOC)
沒有EDA工程的支持,想要完成上述超大規(guī)模集成電路的設計制造是不可想象的,反過來,生產(chǎn)制造技術的不斷進步又必將對EDA工程提出新的要求。
第二節(jié) EDA技術的主要特征
一、自頂而下的設計方法
EDA技術的主要特征是設計方法采用自頂而下(Top Down)的方法(圖1-1),設計工作從高層開始,使用標準化硬件描述語言(VHDL或VerilogHDL等)描述電路行為,自上而下跨過各個層次,完成整個電子系統(tǒng)的設計。
自頂而下的設計方法分為三個層次(圖2-2):
第一層:行為級描述
即對系統(tǒng)的數(shù)學模型的描述,決定系統(tǒng)做什么及性能如何,不考慮系統(tǒng)的實際操作和用什么方法實現(xiàn),是一種抽象的描述。這一層次的EDA工具提供行為級模型庫,自建模型(如System C,HDL語言)及系統(tǒng)功能的完整仿真。
第二層:RTL級描述
即寄存器傳輸描述(Register Transfer Level),導出系統(tǒng)邏輯表達式,以便映射到由具體邏輯元件組成的硬件結構。這一層次的EDA工具提供RTL級編程環(huán)境(HDL語言)RTL級仿真。
系統(tǒng)總體設計目標
系統(tǒng)性能算法/分析
系統(tǒng)軟件結構
系統(tǒng)硬件結構
DSP編程
應用軟件
HDL編程
DSP實現(xiàn)
ASIC實現(xiàn)
FPG實現(xiàn)
圖2-1
圖2-2
第三層:邏輯綜合(圖2-3)
利用邏輯綜合工具將RTL級描述程序轉換成用基本邏輯元件表示的文件(門級網(wǎng)表文件)。門級網(wǎng)表文件分為:一般性的網(wǎng)表文件(與物理實現(xiàn)技術無關)和目標網(wǎng)表文件(與物理實現(xiàn)技術有關)。這一層次的EDA工具提供邏輯綜合,門級電路仿真及輸出電路原理圖。
圖2-3
二、硬件描述語言(HDL)
用硬件描述語言進行電路與系統(tǒng)的設計是當前EDA技術的又一個重要特征。與傳統(tǒng)的原理圖輸入設計方法相比較,硬件描述語言更適合規(guī)模日益增大的電子系統(tǒng),它還是進行邏輯綜合優(yōu)化的重要工具。硬件描述語言使得設計者在比較抽象的層次上描述設計的結構和內(nèi)部特征。它的突出優(yōu)點是:語言的公開可利用性;設計與工藝的無關性;寬范圍的描述能力;便于組織大規(guī)模系統(tǒng)的設計:便于設計的復用和繼承等。目前最常用的硬件描述語言有VHDL和Verilog HDL,它們都已經(jīng)成為IEEE標準。
三、邏輯綜合與優(yōu)化
邏輯綜合功能將高層次的系統(tǒng)行為設計自動翻譯成門級邏輯的電路描述,做到了設計與工藝的獨立。優(yōu)化則是對于上述綜合生成的電路網(wǎng)表,根據(jù)布爾方程功能等效的原則,用更小、更快的綜合結果替代一些復雜的邏輯電路單元,根據(jù)指定的目標庫映射成新的網(wǎng)表.
四、開放性和標準化
框架是一種軟件平臺結構,它為EDA工具提供了操作環(huán)境??蚣艿年P鍵在于提供與
硬件平臺無關的圖形用戶界面以及工具之間的通信、設計數(shù)據(jù)和設計流程的管理等,此外還應包括各種與數(shù)據(jù)庫相關的服務項目。任何一個EDA系統(tǒng)只要建立了一個符合標準的開放式框架結構,就可以接納其他廠商的EDA工具一起進行設計工作。這樣,框架作為一套使用和配置EDA軟件包的規(guī)范,就可以實現(xiàn)各種EDA工具間的優(yōu)化組合,并集成
在一個易于管理的統(tǒng)一的環(huán)境之下,實現(xiàn)資源共享。
五、庫(Library)的引入
EDA工具之所以能夠完成各種自動設計過程,關鍵是有各類庫的支持,如邏輯模擬時的模擬庫、邏輯綜合時的綜合庫、版圖綜合時的版圖庫、測試綜合時的測試庫等,這些庫都是EDA設計公司與半導體生產(chǎn)廠商緊密合作、共同開發(fā)的。
第三節(jié)EDA設計的基本工具
一、 編輯器
編輯器包括文字編輯器和圖形編輯器。在系統(tǒng)設計中,文字編輯器用來編輯硬件系統(tǒng)的自然描述語言,在其他層次用來編輯電路的硬件描述語言文本。在數(shù)字系統(tǒng)中的門級、寄存器級以及芯片級,所用的描述語言通常為VHDL和VerilogHDL;在模擬電路級,硬件描述語言通常為SPICE的文本輸入。
圖形編輯器可用于硬件設計的各個層坎。在版圖級,圖形編輯器用來編輯表示硅工藝加工過程的幾何圖形。在高于版圖層次的其他級,圖形編輯器用來編輯硬件系統(tǒng)的方框圖、原理因等。典型的原理圖輸入工具至少應包括以下3個組成部分:
(1)基本單元符號庫,主要包括基本單元的圖形符號和仿真模型。
在實際應用時,硬件設計者除了采用基本單元和標準單元之外,還應該能夠使用原理圖編輯器建立自己專用的圖形符號以及相應的仿真模型,并加到基本單元符號庫中,供
下次設計時使用。
(2)原理圖編輯器的編輯功能。
(3)產(chǎn)生網(wǎng)表的功能。
二、 仿真器
即模擬器,主要用來幫助設計者驗證設計的正確性。在硬件系統(tǒng)設計的各個層次都要用到仿真器。在數(shù)字系統(tǒng)設計中,硬件系統(tǒng)由數(shù)字邏輯器件以及它們之間的互連來表示。仿真器的用途是確定系統(tǒng)的輸入/輸出關系,所采用的方法是把每一個數(shù)字邏輯器件映射為一個或幾個進程,把整個系統(tǒng)映射為由進程互連構成的進程網(wǎng)絡,這種由進程互連組成的網(wǎng)絡就是設計的仿真模型。
三、 檢查和分析工具
在集成電路設計的各個層次都會用到檢查分析工具。在版圖級,必須用設計規(guī)則檢查工具來保證版圖所表示的電路能被可靠地制造出來。在邏輯門級,檢查/分析工具可以用來檢查是否有違反扇出規(guī)則的連接關系。時序分析器一般用來檢查最壞情形時電路中的最大和最小延時。
四、 優(yōu)化綜合工具
優(yōu)化綜合工具用來把一種硬件描述轉換為另一種描述,這里的轉換過程通常伴隨設計的某種改進。在邏輯門級,可以用邏輯最小化來對布爾表達式進行簡化。在寄存器級,
優(yōu)化工具可以用來確定控制序列和數(shù)據(jù)路徑的最優(yōu)組合。各個層次的綜合工具可以將硬件的高層次描述轉換為低層次描述,也可以將硬件的行為描述轉換為結構描述。
第三章 硬件描述語言(HDL)
第一節(jié) 概述
由于高密度現(xiàn)場可編程邏輯器件(CPLD/FPGA)和專用集成電路的飛速發(fā)展,傳統(tǒng)的設計技術如卡若圖等已經(jīng)不適合大規(guī)模及超大規(guī)模集成電路的設計。由此EDA軟件得以迅速地發(fā)展。
目前國際上使用比較多的HDL語言有VHDL語言(VHSIC Hardware Description Language)和VerilogHDL語言。二者比較見圖3-1。
圖3-1
目前在ASIC設計中應用最廣泛的語言當屬Verilog語言,它的特點是簡單易學,硬件描述能力強,因為它的描述更接近于硬件。
VHDL語言描述能力很強。它是比其他語言更高層次的描述。甚至有時在描述過程中只有算法描述,而無硬件的形跡。因此,VHDL語言在CPLD/FPGA的應用方面較為廣泛;一個復雜的問題,VHDL可以用較少的篇幅描述清楚。同時VHDL語言指令代碼多,數(shù)據(jù)類型豐富,既有用于仿真系統(tǒng)的指令,又有可用于綜合的語句。因此VHDL語言使用起來非常靈活,但同時其繁多的指令代碼,以及編譯仿真軟件的缺乏也是其很嚴重的缺點。相對VerilogHDL語言,VHDL具有如下優(yōu)勢:
(1) 明確的定義設計要求;
(2) 縮短設計周期;
(3) 改變設計靈活;
(4) 設計程序或程序包可再利用;
(5) 獨立于實現(xiàn)技術;
(6) 易于分析各種結構
第二節(jié) VHDL
一、 VHDL的基本組成
圖3-2
一個VHDL文件包括:程序包(Package)、實體(Entity)、結構體(Architecture)。 實體是一個VHDL程序的基本單元,由實體說明和結構體兩部分組成。實體說明用于描述設計系統(tǒng)的外部接口信號;結構體用于描述系統(tǒng)的行為、系統(tǒng)數(shù)據(jù)的流程或者系統(tǒng)組織結構形式。包集合存放各設計模塊能共享的數(shù)據(jù)類型、常數(shù)、子程序等。下面是一個簡單的分頻電路描述。
library ieee; ―――――庫,程序包調(diào)用
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity fp is ―――――實體部分
port(inclk:in std_logic;
outputa:out std_logic);
end fp;
architecture arch_fp of fp is ――――結構體部分
signal fp:std_logic_vector(23 downto 0);
signal f:std_logic;
begin
process(inclk)
begin ――――――――進程
if (inclk'event and inclk='1') then
if fp=4999999 then
fp<="000000000000000000000000";
f<=not f;
else fp<=fp+1;
end if;
end if;
end process;
outputa<=f;
end arch_fp;
二、庫(Library)
表3-1
庫名
程序包名
包中預定義內(nèi)容
Std
Standard
VHDL類型,如bit, bit_vector
Ieee
Std_logic_1164
定義std_logic,std_logic_vector
I Ieee
Std_logic_arith
定義有符號與無符號類型,以及基于這些類型上的算術運算
Ieee
Numeric_std
定義了一組基于std_logic_1164中的定義的類型的算術運算符
Ieee
Std_logic—signed
定義了基于std_logic與std_logic_vector類型上的無符號的算術運算
Ieee
Std_logic—unsigned
定義了基于std_logic與std_logic_vector類型上的無符號的算術運算
表3-1列出了IEEE兩個標準庫STD與IEEE的內(nèi)容。
三、 實體
實體中定義了設計的輸入/輸出信號,也叫端口模式,同時還定義了端口的數(shù)據(jù)類型。
端口模式主要有:
in:信號進入實體但并不輸出;
out:信號離開實體但并不輸入,且不會在內(nèi)部反饋使用;
inout:信號是雙向的,既可以進入實體,又可以離開實體;
buffer:信號輸出到實體外部,但同時也在實體內(nèi)部反饋。它是inout的子集,但不由外部驅動。具體如圖3-3所示。
in out buffer inout
圖3-3
端口數(shù)據(jù)類型主要有:
integer:可用作循環(huán)指針或常數(shù),通常不用作I/O信號;
bit:可取0或1;
std_logic:工業(yè)標準邏輯類型,可取0、1、X、Z。0和1表示高低電平,X表示懸空,Z表示高阻;
Std_logic_vector:是std_logic的組合。
四、 結構體(architecture)
結構體是VHDL設計中最主要的部分。在上面分頻電路的描述中已標出結構體部分。
具體格式如下:
architecture<結構體名>of<.實體名>is
<結構體聲明區(qū)>
――聲明結構體的類型、常數(shù)、元件及子程序
――如果使用元件例化,則在此聲明所用的元件
begin――以下開始結構體
――concurrent signal assignments 并行語句信號賦值
――process進程(順序語句描述設計)
――component instantiations 元件例化
end<結構體名>;
五、 數(shù)據(jù)對象
VHDL語言中,凡是可以賦值的對象就稱為客體,即數(shù)據(jù)對象。
常用的數(shù)據(jù)對象為信號、常量和變量三種,它們通常都具有一定的物理含義:
信號代表物理設計中的某一條硬件連接線;
常量代表電路中的電源和接地等;
變量的對應關系不太直接,通常只代表暫存某些值的載體。
具體來說如下表所示:
表3-2
客體類別
含義
說明場合
信號
說明全局量
Architecture ,Package
變量
說明局部量
Process ,Function, Procedure
常量
說明全局量
上面兩種場合下均可存在
信號用來定義一個“信號”數(shù)據(jù)對象,即定義電路的內(nèi)部硬件連接。這個信號在元件之間起互連作用,可以賦值給外部信號。其定義方式如下:
Sigal 信號名稱:數(shù)據(jù)類型:=設置值
信號賦值符號為 “<=”。
常量所代表的數(shù)據(jù)部分不會被改變,這樣可以提高程序的閱讀性和維護性。其定義方式如下:
constant 變量名稱:數(shù)據(jù)類型:=設置值
常量賦值符號為 “:=”。
變量只局限于進程或函數(shù)語句中,用來說明局部量。其定義方式如下:
variable 變量名稱:=數(shù)據(jù)類型:設置值
變量賦值符號為“:=”。
六、語句
VHDL常用語句包括:順序語句(sequential),它總是處于進程的內(nèi)部,從仿真的角度看是順序執(zhí)行的,類似于C、Basic等執(zhí)行方式;并行語句(concurrent)都是并行執(zhí)行的,即與他們出現(xiàn)的先后次序無關。
七、進程(process)
進程用于描述順序事件并且包含在結構體中。一個結構體可以包含多個進程語句,語法結構如圖3-4所示。
八、元件例化
元件可以看作是一個VHDL模塊(即最低層設計,也是完整的VHDL設計)。元件例化指元件的調(diào)用;元件聲明是對元件的說明,可放在程序包中,也可放在某個結構體中。有了元件聲明,元件就可以被其它模塊調(diào)用。
圖3-4
元件聲明的語法結構:
component <元件實體名>
port (<元件端口信息,同元件實體的port部分);
end component;
元件聲明的語法結構:
<例化名>:<實體名,即元件名> port map (<端口列表>);
九、參數(shù)化元件
參數(shù)化元件是指元件的特性或規(guī)??梢酝ㄟ^參數(shù)來指定的一類元件。元件例化的格式為:
<例化名>:<實體名,即元件名>
generic map (<實體參數(shù),如確定的總線寬度>);
port map (<端口列表>);
十、配置
一個實體可以用多個結構體來描述;綜合的時候由配置語句來決定選擇哪一個結構體;可以利用配置來選擇不同的結構體進行性能對比,以得到性能最佳的結構體。
十一、子程序
子程序就是主程序在調(diào)用它以后能將處理結果返回主程序的程序模塊。在調(diào)用的時候首先進行初始化,執(zhí)行結束后子程序終止。子程序返回以后才能被再次調(diào)用,包括過程(procedure)和函數(shù)(function)。
第四章 步進電機的驅動程序設計
第一節(jié) 步進電機的工作原理
一、基本概念
步進電動機是一種將電的脈沖信號轉換成相應的角位移(或線位移)的機電元件,也就是外加一個脈沖信號于這種電動機時,它就運行—步。步進電動機的轉子為多極分布,定子上嵌有多相星形連接的控制繞組,由專門電源輸入電脈沖信號,每輸入一個脈沖信號,步進電動機的轉子就前進一步。由于輸入的是脈沖信號,輸出的角位移是斷續(xù)的,所以又稱為脈沖電動機。
步進電動機的種類很多,按結構可分為反應式和激勵式兩種;按相數(shù)分則可分為單相、兩相和多相三種。
圖4-1 反應式步進電動機的結構示意圖
二、單三拍通電方式的基本原理
設A相首先通電(B、C兩相不通電),產(chǎn)生A-A′軸線方向的磁通,并通過轉子形成閉合回路。這時A、A′極就成為電磁鐵的N、S極。在磁場的作用下,轉子總是力圖轉到磁阻最小的位置,也就是要轉到轉子的齒對齊A、A′極的位置;接著B相通電(A、C兩相不通電),轉子便順時針方向轉過30°,它的齒和C、C′極對齊。不難理解,當脈沖信號一個一個發(fā)來時,如果按A→C→B→A→…的順序通電,則電機轉子便逆時針方向轉動。這種通電方式稱為單三拍方式(如圖4-2)。
第二節(jié) 步進電機的驅動電源
步進電動機需配置一個專用的電源供電,電源的作用是讓電動機的控制繞組按照特定的順序通電,即受輸入的電脈沖控制而動作,這個專用電源稱為驅動電源。步進電動機及其驅動電源是一個互相聯(lián)系的整體,步進電動機的運行性能是由電動機和驅動電源兩者配合所形成的綜合效果。
圖4-2單三拍通電方式時轉子的位置
一、對驅動電源的基本要求
(1)驅動電源的相數(shù)、通電方式和電壓、電流都能滿足步進電動機的需要;
(2)要滿足步進電動機的起動頻率和運行頻率的要求;
(3)能最大限度地抑制步進電動機的振蕩;
(4)工作可靠,抗干擾能力強;
(5)成本低、效率高、安裝和維護方便。
二、驅動電源的組成
步進電動機的驅動電源基本上由脈沖發(fā)生器、脈沖分配器和脈沖放大器(也稱功率放大器)三部分組成,如圖4-3所示。
步 進
電 動 機
工作機 構
脈 沖
放 大 器
脈 沖
分 配 器
脈 沖
發(fā) 生 器
指令
圖4-3步進電動機驅動電源的方框圖
三、脈沖發(fā)生器傳統(tǒng)的設計方法
脈沖發(fā)生器是一個脈沖頻率由幾赫到幾十千赫可連續(xù)變化的脈沖信號發(fā)生器。脈沖發(fā)生器可以采用多種線路,最常見的有多諧振蕩器和單結晶體管構成的張弛振蕩器兩種,它們都是通過調(diào)節(jié)電阻R和電容C的大小來改變電容器充放電的時間常數(shù),以達到改變脈沖信號頻率的目的。圖4-4是兩種實用的多諧振蕩電路,它們分別由反相器和非門構成,振蕩頻率由RC決定,改變R值即可改變脈沖頻率。
四、脈沖分配器傳統(tǒng)的設計方法
圖4-4脈沖發(fā)生器實用電器
脈沖分配器中由門電路和雙穩(wěn)態(tài)觸發(fā)器組成的邏輯電路,它根據(jù)指令把脈沖信號按一定的邏輯關系加在脈沖放大器上,使步進電動機按確定的運行方式工作。常用的象CH250環(huán)形脈沖分配器就是通過其控制端的不同接法組成三相雙三拍和三相六拍的不同工作方式,如圖4-5、圖4-6所示
圖4-5 CH250三相六拍接法
圖4-6 CH250三相六拍接法
J3r、J3L兩端子是三相雙三拍的控制端,J6r、J6L是三相六拍的控制端,三相雙三拍工作時,若J3r=“1”,而J3L=“0”,則電機正轉;若J3r=“0”,J3L=“1”,則電機反轉;三相六拍供電時,若J6r=“1”,J6L=“0”,則電機正轉;若J6r=“0”,J6L=“1”,電機反轉。R2是雙三拍的復位端,R1是六拍的復位端,使用時,首先將其對應復位端接入高電平,使其進入工作狀態(tài),然后換接到工作位置。CL端是時鐘脈沖輸入端,EN是時鐘脈沖允許端,用以控制時鐘脈沖的允許與否。當脈沖CP由CL端輸入,只有EN端為高電平時,時鐘脈沖的上升沿才起作用。CH250也允許以EN端作脈沖CP的輸入端,此時,只有CL為低電平時,時鐘脈沖的下降沿才起作用。A0、B0、C0為環(huán)形分配器的三個輸出端,經(jīng)過脈沖放大器(功率放大器)后分別接到步進電動機的三相線上。
五、我的設計思路
硬件采用ALTERA公司的FLEX 10K系列,開發(fā)系統(tǒng)采用ALTERA公司的Max+PlusⅡ10.0和MENTOR公司的Modelsim SE 5.6,利用復雜可編程邏輯器件突出的優(yōu)點:設計者從事概念設計或者是電子系統(tǒng)的“行為設計”,而大部分工程中的技術問題,由EDA工具解決。這樣就可以從概念、算法、協(xié)議等開始設計電子系統(tǒng),大量工作可以通過計算機完成,并可以將電子產(chǎn)品從電路設計、性能分析到設計出印制板的整個過程在計算機上自動處理完成。
第三節(jié) 分頻程序的設計
由于步進電機的運轉過程比較復雜,本設計硬件采用了功能強大的Altera公司的低電壓1k系列EP1K100QC208-3,軟件采用VHDL語言,開發(fā)系統(tǒng)采用Altera公司的MAX+plus II 10.0和MENTOR公司的ModelSim SE 5.6,使得驅動程序設計過程較以往顯得簡單明了。
一、分頻電路的實現(xiàn)
由于步進電機在運轉過程中,先是由低頻200HZ漸變到高頻600HZ,再有高頻600HZ逐漸減小到200HZ。在此過程中,頻率不斷變化,這也就牽扯到如何由一個輸入時鐘信號(輸入頻率為11.0592MHZ)得到這種頻率。
下面是一個分頻程序:
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.ALL;
ENTITY fp1 IS
PORT( inclk : IN STD_LOGIC;
reset : IN STD_LOGIC;
outputa : OUT STD_LOGIC);
END fp1;
ARCHITECTURE a OF fp1 IS
SIGNAL fp : STD_LOGIC_VECTOR(5 downto 0);
SIGNAL f : STD_LOGIC;
BEGIN
PROCESS (inclk)-----inclk為敏感量
BEGIN
IF (inclk'event and inclk='1') THEN
IF RESET = '1' then
fp <= "000000";
f <= '0';
outputa<=f;
ELSE
IF (fp<2)THEN
fp<=fp+1;
f<=f;
ELSE
fp<="000000";
f<=not f;
END IF;
outputa<=f;
END IF;
END IF;
END PROCESS;
END a;
仿真波形如圖4-7所示。
圖4-7
上圖中inclk為輸入時鐘信號,reset為復位控制信號,outputa為輸出信號。
基本流程圖如圖4-8。
圖4-8
經(jīng)過分頻后輸出信號的頻率變?yōu)檩斎胄盘柕?/6,這也就為后面驅動電機驅動程序的實現(xiàn)提供了基本思路。
二、升降速曲線的設計
步進電機啟動時,必須有升速、降速過程,升降速的設計至關重要。如果設計不合適,將引起步進電機的堵轉、失步、升降速過程慢等問題。
升速過程由突跳頻率加升速曲線組成(降速過程反之),理想的升降速曲線為指數(shù)曲線(見圖4-9),根據(jù)用戶的負載情況選擇不同的突跳頻率和不同的指
數(shù)曲線,以找到一條最理想的曲線,一般需要多次‘試機’才行。突跳頻率不宜過大,。指數(shù)曲線在實際軟件編程中比較麻煩,一般事先算好后存貯在ROM內(nèi),工作過程直接選取。在此處我們用線性變化近似代替指數(shù)曲線。
圖4-9 升速曲線示意圖
CP脈沖的設計主要要求其要有一定的脈沖寬度(一般不小于5μS)、脈沖序列的均勻度以及高低電平方式。電機換向時,一定要在電機降速停止后再換向。換向信號一定要在前一個方向的最后一個CP脈沖結束后以及下一個方向的第一個CP脈沖前發(fā)出。
步進電機從初始的200HZ逐漸變化到600HZ,在這個過程中,頻率應按線性變化。此流程如圖4-10所示。
由圖4-11可以看出此算法實現(xiàn)了由低頻漸變高頻的過程。
圖4-10
仿真波形如圖4-11所示。
圖4-11
三、低頻到高頻再到低頻的實現(xiàn)
算法描述:
圖4-12
系統(tǒng)仿真圖:
圖4-13
注、若輸入步進電機步數(shù)小于升頻和降頻所用的步數(shù)和,則直接將總步數(shù)平分為升頻和降頻步數(shù),省略中間高頻連續(xù)運轉。此時的系統(tǒng)仿真圖如圖4-14。
圖4-14
四、環(huán)形分配器的實現(xiàn)
工作原理:根據(jù)指令把脈沖信號按一定的邏輯關系加在脈沖放大器上,使步進電動機按確定的運行方式(正轉或反轉)工作。
程序設計流程圖:
圖4-15
正轉過程狀態(tài)機:
圖4-16
初始狀態(tài)為a,當輸入脈沖第一次到達上跳沿時,三路信號分別輸出0、1、0;.
當輸入脈沖第二次達到上跳沿時,三路信號分別輸出0、0、1;當輸入脈沖第三次到達上挑沿時,三路信號分別輸出1、0、0。當輸入脈沖第四次到達上跳沿時,三路信號再次輸出0、0、1,如此形成一個狀態(tài)機。
反轉過程狀態(tài)機到達各狀態(tài)的順序恰好和正轉時相反。如圖圖4-17所示。
反轉過程狀態(tài)機:
圖4-17
程序仿真圖如圖4-18(步進電機正轉時)和圖4-19(步進電機反轉時)。
圖4-18 步進電機正轉時
圖4-19步進電機反轉時
五、系統(tǒng)綜合
情況一:輸入一個周期脈沖時鐘信號inclk,給預定值max(可以達到最大頻率),復位信號reset,正反轉選擇信號sel,輸出三路信號output【0】、output【1】、output【2】。
系統(tǒng)綜合反真波形如圖4-20、圖4-21所示。
圖4-20 步進電機正轉時
圖4-21步進電機反轉時
情況二:輸入一個周期脈沖時鐘信號inclk,給預定值max(未能達到最大頻率),復位信號reset,正反轉選擇信號sel,輸出三路信號output【0】、output【1】、output【2】。
波形仿真如圖4-22、圖4-23所示。
圖4-22 步進電機正轉時
圖4-23步進電機反轉時
六、 基于CPLD的步進電機驅動設計的優(yōu)點
(1)整個系統(tǒng)有硬件實現(xiàn),節(jié)省了計算機資源;
(2)程序設計實現(xiàn)功能模塊化,便于功能擴展;
(3)可以實現(xiàn)多電機的同時控制,各路之間干擾很??;
(4)多路驅動電路板的電源穩(wěn)定性高,靜態(tài)電流損耗小。
七、今后的工作
(1)進一步完善升降速曲線的設計;
(2)完成硬件電路,搭建控制裝置網(wǎng)絡。
第五章 結束語
經(jīng)過這次畢業(yè)設計,我不僅重新回顧了過去所學過的知識,增加了在軟件開發(fā)方面的經(jīng)驗,而且初步掌握了Max+plusⅡ10.0這種電子設計自動化軟件和硬件描述語言VHDL,還了解了一些相關的電路設計和硬件的知識,特別是CPLD系統(tǒng)方面的知識,可以說是對我的大學期間所學知識的一次性綜合檢驗;并且通過切身的動手實驗,不僅加強了理論知識還加強了我的感性認識,再次體會到自己知識上的局限性??梢哉f,這次畢業(yè)設計既鍛煉了我動腦分析問題的能力,又鍛煉了我動手解決實際問題的能力,這將對我以后的學習起到不可估量的作用。
本次畢業(yè)設計主要完成了步進電機控制裝置中CPLD(Complex Programmable Logic Device)系統(tǒng)的軟硬件設計,包括電機驅動電路的整體設計;硬件采用ALTERA公司的ACEX 1K 系列;開發(fā)系統(tǒng)采用ALTERA公司的Max+PlusⅡ10.0和MENTOR公司的Modelsim SE 5.6。
通過以上的研究使我們對LAMOST中步進電機的驅動控制問題有了較為深入的了解,為今后光纖定位系統(tǒng)的改進建設打下了良好的基礎,同時,研究結果表明了該控制裝置用于LAMOST項目的可行性。
參考文獻
[1] EDA 可編程邏輯器件設計教程 杭州天科技術實業(yè)有限公司 2002
[2] 陳隆昌 控制電機(第二版) 西安電子科技大學出版社 1998
[3] 趙曙光, 郭萬有, 楊頌華編著 可編程邏輯器件原理、開發(fā)與應用
西安電子科技大學出版社 2000
[4] 曾繁泰 陳美金 VHDL程序設計 清華大學出版社 2000
[5] 梁曉雯 EDA設計原理及應用技術 中國科技大學EDA實驗室
[6] 黃亞楠 LAMOST光纖定位系統(tǒng)中步進電機控制裝置的設計 2002
致 謝
本文的研究工作是在邢曉正和翟超兩位老師的指導下進行的。由于本人水平有限,在做畢業(yè)設計的過程中,兩位老師給予我很多的指導并提出了許多的寶貴意見,對我的一些看法以及錯誤的觀點予以及時糾正。使我在完成設計的同時,對學習近四年的專業(yè)知識做了一次系統(tǒng)的復習總結,并且對目前所從事的項目以及相關的學科有了一定的了解和認識,獲益非淺。
在這段時間里,兩位老師言傳身教,以他們廣博的知識,敏銳的洞察力,多年的教學和實際經(jīng)驗,給予我畢業(yè)設計上很大的幫助。我學到的不僅是科學知識和工作方法,更學到了作為一個研究人員應有的治學態(tài)度以及為人處世的道理,這一切都將使我終身受益。在此,深表謝意。
同時對yakhe同學的幫助在此一并表示衷心的感謝。
- 45 -
收藏