版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PAGE41存檔日期:存檔編號:本科生畢業(yè)設計(論文)論文題目:FPGA在電機測速系統(tǒng)中的應用姓名:XX學院:電氣工程及自動化學院專業(yè):電氣工程及其自動化指導教師:XXXXX大學教務處印制PAGE1摘要基于FPGA的電機速度測量系統(tǒng)設計,以MAX+PLUSⅡ為軟件平臺,采用原理圖和VHDL文本設計并通過數(shù)碼管驅動電路靜態(tài)顯示電機轉速。該系統(tǒng)能夠完成對電機轉速參數(shù)和數(shù)據(jù)的采集,實時記錄、處理、分析顯示的功能,通過軟件設計省去了大量硬件電路設計,具有一定的電路設計集成化,經實際應用證實,該系統(tǒng)運行穩(wěn)定、安全可靠、抗干擾能力強、高速精確。本文介紹了FPGA的國內外研究現(xiàn)狀和它的工作原理、發(fā)展歷史、結構和特點,簡單介紹光電編碼器的原理,Max+plusII的流程等。并對增量式光電編碼器脈沖信號進行倍頻、鑒向、鎖存、運算、數(shù)據(jù)位選擇和顯示模塊進行了詳細的介紹。編碼器輸出的數(shù)據(jù)在FPGA芯片中進行倍頻、鑒相、計數(shù)、鎖存、運算、數(shù)據(jù)位選擇等傳輸處理;最后,所得的數(shù)據(jù)經數(shù)碼管顯示。關鍵詞:光電編碼器FPGAVerilogHDL語言電機測速AbstractFPGAbasedmotorspeedmeasurementsystemdesign,withMAX+PLUSIIasasoftwareplatform,theschematicdiagramandVHDLtextdesignandthroughdigitaltubedrivingcircuitforstaticdisplayofmotorspeed.Thesystemcancompletethespeedofrotationofthemotorparametersanddataacquisition,real-timerecording,processing,analysisanddisplayfunctions,throughthesoftwaredesignsavesthehardwarecircuitdesign,hasacertaincircuitdesignintegration,throughthepracticalapplicationconfirms,thesystemhasstableoperation,safetyandreliability,strongantiinterferenceability,highspeedprecision.ThisarticleintroducedtheFPGAresearchstatusathomeandabroadanditsworkingprinciple,developinghistory,structureandcharacteristic,introducedtheprincipleofphotoelectricencoder,theMax+plusIIprocess.Andtheincrementalopticalencoderpulsesignalfrequency,phase,frequency,tocounterlatch,operation,databitselectionanddisplaymoduleindetail.TheencoderoutputdataintheFPGAchipforfrequency,phase,counter,latch,operation,databitselection,transmissionandprocessing;finally,thedatacollectedbyadigitaltubedisplay.Keywords:Optical-electricalEncoderFPGAVerilogHDLMotorspeed目錄摘要 IAbstract II1緒論 11.1課題研究的目的和意義 11.2本課題的研究現(xiàn)狀及分析 11.3本課題的主要工作 22FPGA芯片簡介 32.1FPGA的工作原理 32.2典型的FPGA結構 42.3FPGA的優(yōu)點 62.4VerilogHDL語言介紹 83方案選擇 103.1光電編碼器簡介 103.1.1光電編碼器的分類 113.1.2增量式光電編碼器的原理 123.2數(shù)字測量方法 123.2.1M法測速 133.2.2T法測速 133.2.3M/T法測速 143.3三種測速方法的精度指標 153.3.1分辨率 153.3.2測速誤差率 163.4測速方法的比較和選擇 173.5光電耦合器介紹 184VerilogHDL編程工具 194.1MAX+plusⅡ簡介 194.2MAX+plusⅡ開發(fā)系統(tǒng)的特點 195系統(tǒng)總體設計 215.1系統(tǒng)總體結構圖 215.2總體設計流程 215.2.1系統(tǒng)主要模塊的劃分 225.2.2各個模塊的功能 226系統(tǒng)詳細設計 236.1詳細功能設計 236.2系統(tǒng)層次結構設計 236.2.1倍頻、鑒向模塊 246.2.2計數(shù)模塊 276.2.3鎖存器模塊 306.2.4運算模塊 326.2.5譯碼模塊 346.3整體模塊設計 366.4本章小節(jié) 37致謝 39[參考文獻] 40XXX大學本科生畢業(yè)設計FPGA在電機測速上的應用XXX大學本科生畢業(yè)設計FPGA在電機測速系統(tǒng)中的應用1緒論1.1課題研究的目的和意義基于FPGA的電機測速顯示系統(tǒng)是生產工業(yè)中不可缺少的一個系統(tǒng)。它的開發(fā)具有十分重要的意義。轉速是指作圓周運動的物體在單位時間內所轉過的圈數(shù),它是電機極為重要的一個狀態(tài)參數(shù)。轉速檢測的快速性和精度高低將直接影響系統(tǒng)的效果和動靜態(tài)性能,也會直接影響生產工業(yè)的經濟。如何提高測量的速度和精度,如何減輕工作人員的工作負擔,如何采取有效措施減少經濟損失,如何保障工農業(yè)順利進行等問題迫在眉睫。因此,電機測速系統(tǒng)的研究與實現(xiàn)具有了十分重要的意義!這個測速系統(tǒng)采用FPGA芯片,光電編碼器,光電耦合器,七段數(shù)碼管等,提高了電機轉速測量的速度和精度[1],杜絕了誤測現(xiàn)象的發(fā)生。電機測速顯示系統(tǒng)可以應用于各種機械的轉速測量,例如在發(fā)動機,電動機,卷揚機,機床主軸等旋轉設備,具有十分重要的意義。1.2本課題的研究現(xiàn)狀及分析到目前為止,國內外測量電機轉速的方法有許多種,例如永磁直流測速發(fā)電機,無刷直流測速,單片機電機測速系統(tǒng),同步測速法等等。傳統(tǒng)的電機測速裝置主要采用測速發(fā)電機,但由于電刷和換向器的摩擦,增加了被測電極的粘滯轉矩;電刷的接觸壓降造成了輸出低速的不靈敏區(qū),電刷與換向器的間斷接觸或不良接觸引起射頻噪聲,產生無線電干擾的高頻紋波;以及電樞壓降引起輸出電壓的不穩(wěn)定。應用最多的是光電測量法[2],其靈敏度高、重量輕、尺寸小、抗電磁干擾性強,可以測量種類繁多的物理量。而采用光電編碼器的電機轉速測量系統(tǒng)測量準確率高、采樣速度快、測量范圍寬和測量精度高等優(yōu)點,具有十分廣闊的應用前景。人們習慣用PLC,單片機,DSP來開發(fā)電機測速系統(tǒng)[3]。近年來隨著FPGA技術的日趨成熟,在此技術上開發(fā)的電機測速系統(tǒng)包含PLC,單片機,DSP的很多優(yōu)點。以FPGA為核心技術再加上使用先進的光電測速方法,以光電編碼器作為載體,是目前的電機測速系統(tǒng)無法比擬的。1.3本課題的主要工作本課題對FPGA在電機測速上的應用作如下研究,主要包括以下幾方面:(1)對電機轉動發(fā)出的脈沖的采集所選器件的選擇(2)比較幾種測速方案的優(yōu)缺點并選擇最終測速方案(3)詳細地介紹系統(tǒng)設計中的各個模塊并仿真2FPGA芯片簡介FPGA(Field-ProgrammableGateArray),即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發(fā)展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。目前以硬件描述語言(Verilog或VHDL)所完成的電路設計,可以經過簡單的綜合與布局,快速的燒錄至FPGA上進行測試,是現(xiàn)代IC設計驗證的技術主流。這些可編輯元件可以被用來實現(xiàn)一些基本的邏輯門電路(比如AND、OR、XOR、NOT)或者更復雜一些的組合功能比如解碼器或數(shù)學方程式。在大多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(Flip-flop)或者其他更加完整的記憶塊。FPGA一般來說比ASIC(專用集成芯片)的速度要慢,無法完成復雜的設計,而且消耗更多的電能。但是他們也有很多的優(yōu)點比如可以快速成品,可以被修改來改正程序中的錯誤和更便宜的造價。廠商也可能會提供便宜的但是編輯能力差的FPGA。因為這些芯片有比較差的可編輯能力,所以這些設計的開發(fā)是在普通的FPGA上完成的,然后將設計轉移到一個類似于ASIC的芯片上。2.1FPGA的工作原理FPGA采用了邏輯單元陣列LCA(LogicCellArray)這樣一個概念,內部包括可配置邏輯模塊CLB(ConfigurableLogicBlock)、輸出輸入模塊IOB(InputOutputBlock)和內部連線(Interconnect)三個部分?,F(xiàn)場可編程門陣列(FPGA)是可編程器件。與傳統(tǒng)邏輯電路和門陣列(如PAL,GAL及CPLD器件)相比,F(xiàn)PGA具有不同的結構,F(xiàn)PGA利用小型查找表(16×1RAM)來實現(xiàn)組合邏輯,每個查找表連接到一個D觸發(fā)器的輸入端,觸發(fā)器再來驅動其他邏輯電路或驅動I/O,由此構成了即可實現(xiàn)組合邏輯功能又可實現(xiàn)時序邏輯功能的基本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到I/O模塊。FPGA的邏輯是通過向內部靜態(tài)存儲單元加載編程數(shù)據(jù)來實現(xiàn)的,存儲在存儲器單元中的值決定了邏輯單元的邏輯功能以及個模塊之間或模塊與I/O間的連接方式,并最終決定了FPGA所能實現(xiàn)的功能,FPGA允許無限次的編程[6]。2.2典型的FPGA結構(1)可編程輸入輸出單元(I/O)可編程輸入/輸出單元簡稱I/O單元,是芯片與外界電路的接口部分,完成不同電氣特性下對輸入/輸出信號的驅動與匹配要求,其示意結構如下面所示。FPGA內的I/O按組分類,每組都能夠獨立地支持不同的I/O標準。通過軟件的靈活配置,可適配不同的電氣標準與I/O物理特性,可以調整驅動電流的大小,可以改變上、下拉電阻。目前,I/O口的頻率也越來越高,一些高端的FPGA通過DDR寄存器技術可以支持高達2Gbps的數(shù)據(jù)速率。外部輸入信號可以通過I/O模塊的存儲單元輸入到FPGA的內部,也可以直接輸入FPGA內部。當外部輸入信號經過I/O模塊的存儲單元輸入到FPGA內部時,其保持時間(HoldTime)的要求可以降低,通常默認為0。為了便于管理和適應多種電器標準,F(xiàn)PGA的I/O被劃分為若干個組(bank),每個bank的接口標準由其接口電壓VCCO決定,一個bank只能有一種VCCO,但不同bank的VCCO可以不同。只有相同電氣標準的端口才能連接在一起,VCCO電壓相同是接口標準的基本條件。(2)可配置邏輯塊(CLB)CLB是FPGA內的基本邏輯單元。CLB的實際數(shù)量和特性會依器件的不同而不同,但是每個CLB都包含一個可配置開關矩陣,此矩陣由4或6個輸入、一些選型電路(多路復用器等)和觸發(fā)器組成。開關矩陣是高度靈活的,可以對其進行配置以便處理組合邏輯、移位寄存器或RAM。在Xilinx公司的FPGA器件中,CLB由多個(一般為4個或2個)相同的Slice和附加邏輯構成,如圖所示。每個CLB模塊不僅可以用于實現(xiàn)組合邏輯、時序邏輯,還可以配置為分布式RAM和分布式ROM。Slice是Xilinx公司定義的基本邏輯單位,一個Slice由兩個4輸入的函數(shù)、進位邏輯、算術邏輯、存儲邏輯和函數(shù)復用器組成。算術邏輯包括一個異或門(XORG)和一個專用與門(MULTAND),一個異或門可以使一個Slice實現(xiàn)2bit全加操作,專用與門用于提高乘法器的效率;進位邏輯由專用進位信號和函數(shù)復用器(MUXC)組成,用于實現(xiàn)快速的算術加減法操作;4輸入函數(shù)發(fā)生器用于實現(xiàn)4輸入LUT、分布式RAM或16比特移位寄存器(Virtex-5系列芯片的Slice中的兩個輸入函數(shù)為6輸入,可以實現(xiàn)6輸入LUT或64比特移位寄存器);進位邏輯包括兩條快速進位鏈,用于提高CLB模塊的處理速度。(3)數(shù)字時鐘管理模塊(DCM)業(yè)內大多數(shù)FPGA均提供數(shù)字時鐘管理(Xilinx的全部FPGA均具有這種特性)。Xilinx推出最先進的FPGA提供數(shù)字時鐘管理和相位環(huán)路鎖定。相位環(huán)路鎖定能夠提供精確的時鐘綜合,且能夠降低抖動,并實現(xiàn)過濾功能。(4)嵌入式塊RAM(BRAM)大多數(shù)FPGA都具有內嵌的塊RAM,這大大拓展了FPGA的應用范圍和靈活性。塊RAM可被配置為單端口RAM、雙端口RAM、內容地址存儲器(CAM)以及FIFO等常用存儲結構。RAM、FIFO是比較普及的概念,在此就不冗述。CAM存儲器在其內部的每個存儲單元中都有一個比較邏輯,寫入CAM中的數(shù)據(jù)會和內部的每一個數(shù)據(jù)進行比較,并返回與端口數(shù)據(jù)相同的所有數(shù)據(jù)的地址,因而在路由的地址交換器中有廣泛的應用。除了塊RAM,還可以將FPGA中的LUT靈活地配置成RAM、ROM和FIFO等結構。在實際應用中,芯片內部塊RAM的數(shù)量也是選擇芯片的一個重要因素。單片塊RAM的容量為18k比特,即位寬為18比特、深度為1024,可以根據(jù)需要改變其位寬和深度,但要滿足兩個原則:首先,修改后的容量(位寬深度)不能大于18k比特;其次,位寬最大不能超過36比特。當然,可以將多片塊RAM級聯(lián)起來形成更大的RAM,此時只受限于芯片內塊RAM的數(shù)量,而不再受上面兩條原則約束。(5)豐富的布線資源布線資源連通FPGA內部的所有單元,而連線的長度和工藝決定著信號在連線上的驅動能力和傳輸速度。FPGA芯片內部有著豐富的布線資源,根據(jù)工藝、長度、寬度和分布位置的不同而劃分為4類不同的類別。第一類是全局布線資源,用于芯片內部全局時鐘和全局復位/置位的布線;第二類是長線資源,用以完成芯片Bank間的高速信號和第二全局時鐘信號的布線;第三類是短線資源,用于完成基本邏輯單元之間的邏輯互連和布線;第四類是分布式的布線資源,用于專有時鐘、復位等控制信號線。在實際中設計者不需要直接選擇布線資源,布局布線器可自動地根據(jù)輸入邏輯網表的拓撲結構和約束條件選擇布線資源來連通各個模塊單元。從本質上講,布線資源的使用方法和設計的結果有密切、直接的關系。(6)底層內嵌功能單元內嵌功能模塊主要指DLL(DelayLockedLoop)、PLL(PhaseLockedLoop)、DSP和CPU等軟處理核(SoftCore)?,F(xiàn)在越來越豐富的內嵌功能單元,使得單片F(xiàn)PGA成為了系統(tǒng)級的設計工具,使其具備了軟硬件聯(lián)合設計的能力,逐步向SOC平臺過渡。DLL和PLL具有類似的功能,可以完成時鐘高精度、低抖動的倍頻和分頻,以及占空比調整和移相等功能。Xilinx公司生產的芯片上集成了DLL,Altera公司的芯片集成了PLL,Lattice公司的新型芯片上同時集成了PLL和DLL。PLL和DLL可以通過IP核生成的工具方便地進行管理和配置。(7)內嵌專用硬核內嵌專用硬核是相對底層嵌入的軟核而言的,指FPGA處理能力強大的硬核(HardCore),等效于ASIC電路。為了提高FPGA性能,芯片生產商在芯片內部集成了一些專用的硬核。例如:為了提高FPGA的乘法速度,主流的FPGA中都集成了專用乘法器;為了適用通信總線與接口標準,很多高端的FPGA內部都集成了串并收發(fā)器(SERDES),可以達到數(shù)十Gbps的收發(fā)速度。2.3FPGA的優(yōu)點使用FPGA器件設計數(shù)字電路,不僅可以簡化設計過程,而且可以降低整個系統(tǒng)的體積和成本,增加系統(tǒng)的可靠性。它們無需花費傳統(tǒng)意義下制造集成電路所需大量時間和精力,避免了投資風險,成為電子器件行業(yè)中發(fā)展最快的一族。使用FPGA器件設計數(shù)字系統(tǒng)電路的主要優(yōu)點如下:(1)設計靈活使用FPGA器件,可以不被標準系列器件在邏輯功能上所限制,而且修改邏輯可在系統(tǒng)設計和使用過程的任一階段中進行,并且只須通過對所用的FPGA器件進行重新編程即可完成,給系統(tǒng)設計提供了很大的靈活性。(2)增大功能密集度功能密集度是指在給定的空間能集成的邏輯功能數(shù)量。可編程邏輯芯片內的組件門數(shù)高,一片FPGA可代替幾片、幾十片乃至上百片中小規(guī)模的數(shù)字集成電路芯片。用FPGA器件實現(xiàn)數(shù)字系統(tǒng)時用的芯片數(shù)量少,從而減少芯片的使用數(shù)目,減少印刷線路板面積和印刷線路板數(shù)目,最終導致系統(tǒng)規(guī)模的全面縮減。(3)提高可靠性減少芯片和印刷板數(shù)目,不僅能縮小系統(tǒng)規(guī)模,而且它還極大的提高了系統(tǒng)的可靠性。具有較高集成度的系統(tǒng)比用許多低集成度的標準組件設計的相同系統(tǒng)具有高得多的可靠性。使用FPGA器件減少了實現(xiàn)系統(tǒng)所需要的芯片數(shù)目,在印刷線路板上的引線以及焊點數(shù)量也隨之減少,所以系統(tǒng)的可靠性得以提高。(4)縮短設計周期由于FPGA器件的可編程性和靈活性,用它來設計一個系統(tǒng)所需時間比傳統(tǒng)方法大為縮短。FPGA器件集成度高,使用時印刷線路板電路布局布線簡單。同時,在樣機設計成功后,由于開發(fā)工具先進,自動化程度高,對其進行邏輯修改也十分簡便迅速。因此,使用FPGA器件可大大縮短系統(tǒng)的設計周期,加快產品投放市場的速度,提高產品的競爭能力。(5)工作速度快FPGA/CPLD器件的工作速度快,一般可以達到幾百兆赫茲,遠遠大于DSP器件。同時,使用FPGA器件后實現(xiàn)系統(tǒng)所需要的電路級數(shù)又少,因而整個系統(tǒng)的工作速度會得到提高。(6)增加系統(tǒng)的保密性能很多FPGA器件都具有加密功能,在系統(tǒng)中廣泛的使用FPGA器件可以有效防止產品被他人非法仿制。(7)降低成本使用FPGA器件實現(xiàn)數(shù)字系統(tǒng)設計時,如果僅從器件本身的價格考慮,有時還看不出來它的優(yōu)勢,但是影響系統(tǒng)成本的因素是多方面的,綜合考慮,使用FPGA的成本優(yōu)越性是很明顯的。首先,使用FPGA器件修改設計方便,設計周期縮短,使系統(tǒng)的研制開發(fā)費用降低;其次,FPGA器件可使印刷線路板面積和需要的插件減少,從而使系統(tǒng)的制造費用降低;再次,使用FPGA器件能使系統(tǒng)的可靠性提高,維修工作量減少,進而使系統(tǒng)的維修費用降低??傊?,使用FPGA器件進行系統(tǒng)設計能節(jié)約成本。2.4VerilogHDL語言介紹VerilogHDL是一種硬件描述語言(HDL:HardwareDiscriptionLanguage),是一種以文本形式來描述數(shù)字系統(tǒng)硬件的結構和行為的語言,用它可以表示邏輯電路圖、邏輯表達式,還可以表示數(shù)字邏輯系統(tǒng)所完成的邏輯功能。VerilogHDL是目前世界上最流行的兩種硬件描述語言之一。(1)基本邏輯門,例如and、or和nand等都內置在語言中。(2)用戶定義原語(UDP)創(chuàng)建的靈活性。用戶定義的原語既可以是組合邏輯原語,也可以是時序邏輯原語。(3)開關級基本結構模型,例如pmos和nmos等也被內置在語言中。(4)提供顯式語言結構指定設計中的端口到端口的時延及路徑時延和設計的時序檢查。(5)可采用三種不同方式或混合方式對設計建模。這些方式包括:行為描述方式—使用過程化結構建模;數(shù)據(jù)流方式—使用連續(xù)賦值語句方式建模;結構化方式—使用門和模塊實例語句描述建模。(6)VerilogHDL中有兩類數(shù)據(jù)類型:線網數(shù)據(jù)類型和寄存器數(shù)據(jù)類型。線網類型表示構件間的物理連線,而寄存器類型表示抽象的數(shù)據(jù)存儲元件。(7)能夠描述層次設計,可使用模塊實例結構描述任何層次。(8)設計的規(guī)??梢允侨我獾模徽Z言不對設計的規(guī)模(大?。┦┘尤魏蜗拗啤#?)人和機器都可閱讀Verilog語言,因此它可作為EDA的工具和設計者之間的交互語言。(10)VerilogHDL語言的描述能力能夠通過使用編程語言接口(PLI)機制進一步擴展。PLI是允許外部函數(shù)訪問Verilog模塊內信息、允許設計者與模擬器交互的例程集合。(11)設計能夠在多個層次上加以描述,從開關級、門級、寄存器傳送級(RTL)到算法級,包括進程和隊列級。(12)能夠使用內置開關級原語在開關級對設計完整建模。(13)同一語言可用于生成模擬激勵和指定測試的驗證約束條件,例如輸入值的指定。(14)VerilogHDL能夠監(jiān)控模擬驗證的執(zhí)行,即模擬驗證執(zhí)行過程中設計的值能夠被監(jiān)控和顯示。這些值也能夠用于與期望值比較,在不匹配的情況下,打印報告消息。(15)在行為級描述中,VerilogHDL不僅能夠在RTL級上進行設計描述,而且能夠在體系結構級描述及其算法級行為上進行設計描述。(16)能夠使用門和模塊實例化語句在結構級進行結構描述。(17)在VerilogHDL的混合方式建模能力,即在一個設計中每個模塊均可以在不同設計層次上建模。(18)VerilogHDL還具有內置邏輯函數(shù),例如&(按位與)和|(按位或)。(19)對高級編程語言結構,例如條件語句、情況語句和循環(huán)語句,語言中都可以使用。(20)可以顯式地對并發(fā)和定時進行建模。(21)提供強有力的文件讀寫能力[8]。3方案選擇電機轉速測量裝置是工業(yè)自動化設備的重要組成部分。根據(jù)工業(yè)環(huán)境下高可靠性的特點,提出了在自動化設備運行的PLC上增加部分硬件,實現(xiàn)轉速測量。以PLC為控制核心,結合光電碼盤,設計一種測速系統(tǒng),測速原理如下:碼盤固定于電機軸上,隨著電機一起轉動,接收管接收透過碼盤孔的光源,在t時間內輸出一串方波。假設與電機同軸連接的光電碼盤每旋轉一周,電機的轉速為:n=60N/Zt輸出脈沖數(shù)為N,電機轉速為n(r/min),檢測時間為t(s),在t內的計數(shù)脈沖數(shù)為N。系統(tǒng)是利用控制設備運行PLC的兩個晶體管輸出點和一個高速輸入點,增加轉速信號檢測單元及轉速顯示單元組成轉速測量裝置。PLC程序中任意指定的數(shù)據(jù),如數(shù)量、時間、溫度、壓力等通過計數(shù)器、計時器、數(shù)據(jù)寄存器等將數(shù)據(jù)送入指定的顯示緩沖區(qū)內,經驅動子程序通過兩個輸出端口送出編碼至PLC外部的數(shù)顯表上。但是基于PLC的電機轉速測量系統(tǒng)功能密集度低,可編程性和靈活性沒有太大優(yōu)勢,反應速度和精度不是太好,而且PLC成本較高。經過綜合考慮,決定開發(fā)基于FPGA的電機轉速測量系統(tǒng)。FPGA的集成度很高且速度很快,比較容易滿足測速系統(tǒng)的要求,同時使系統(tǒng)可靠性比采用通用IC芯片更高。另外,F(xiàn)PGA還具有設計方便、靈活和校驗快的特點,并且設計可隨時改變。利用FPGA對電機轉速進行檢測的方法,利用可編程器件具有現(xiàn)場可編程的優(yōu)點,可方便地對測速系統(tǒng)的數(shù)字處理部分進行修改與完善使用VerilogHDL語言編寫程序,并且在MAX+plus2平臺上完成,編譯,調試,仿真。總之這樣既解決了測速裝置的可靠性問題,又降低了系統(tǒng)的成本,是一種較為理想的方案。3.1光電編碼器簡介光電編碼器,是一種通過光電轉換將輸出軸上的機械幾何位移量轉換成脈沖或數(shù)字量的傳感器。這是目前應用最多的傳感器,光電編碼器是由光柵盤和光電檢測裝置組成。光柵盤是在一定直徑的圓板上等分地開通若干個長方形孔。由于光電碼盤與電動機同軸,電動機旋轉時,光柵盤與電動機同速旋轉,經發(fā)光二極管等電子元件組成的檢測裝置檢測輸出若干脈沖信號,通過計算每秒光電編碼器輸出脈沖的個數(shù)就能反映當前電動機的轉速。此外,為判斷旋轉方向,碼盤還可提供相位相差90o;的兩路脈沖信號。3.1.1光電編碼器的分類根據(jù)檢測原理,編碼器可分為光學式、磁式、感應式和電容式。根據(jù)其刻度方法及信號輸出形式,可分為增量式、絕對式以及混合式三種。(I)增量式編碼器增量式編碼器是直接利用光電轉換原理輸出三組方波脈沖A、B和Z相;A、B兩組脈沖相位差90o;,從而可方便地判斷出旋轉方向,而Z相為每轉一個脈沖,用于基準點定位。它的優(yōu)點是原理構造簡單,機械平均壽命可在幾萬小時以上,抗干擾能力強,可靠性高,適合于長距離傳輸。其缺點是無法輸出軸轉動的絕對位置信息。(II)絕對編碼器絕對編碼器是直接輸出數(shù)字量的傳感器,在它的圓形碼盤上沿徑向有若干同心碼道,每條道上由透光和不透光的扇形區(qū)相間組成,相鄰碼道的扇區(qū)數(shù)目是雙倍關系,碼盤上的碼道數(shù)就是它的二進制數(shù)碼的位數(shù),在碼盤的一側是光源,另一側對應每一碼道有一光敏元件;當碼盤處于不同位置時,各光敏元件根據(jù)受光照與否轉換出相應的電平信號,形成二進制數(shù)。這種編碼器的特點是不要計數(shù)器,在轉軸的任意位置都可讀出一個固定的與位置相對應的數(shù)字碼。顯然,碼道越多,分辨率就越高,對于一個具有N位二進制分辨率的編碼器,其碼盤必須有N條碼道。絕對式編碼器是利用自然二進制或循環(huán)二進制(葛萊碼)方式進行光電轉換的。絕對式編碼器與增量式編碼器不同之處在于圓盤上透光、不透光的線條圖形,絕對編碼器可有若干編碼,根據(jù)讀出碼盤上的編碼,檢測絕對位置。編碼的設計可采用二進制碼、循環(huán)碼、二進制補碼等。它的特點是:(1)可以直接讀出角度坐標的絕對值;(2)沒有累積誤差;(3)電源切除后位置信息不會丟失。但是分辨率是由二進制的位數(shù)來決定的,也就是說精度取決于位數(shù),目前有10位、14位等多種。(III)混合式絕對值編碼器混合式絕對值編碼器,它輸出兩組信息:一組信息用于檢測磁極位置,帶有絕對信息功能;另一組則完全同增量式編碼器的輸出信息[9]。3.1.2增量式光電編碼器的原理增量式光電編碼器的工作原理是由旋轉軸轉動帶動在徑向有均勻窄縫的主光柵碼盤旋轉,在主光柵碼盤的上面有與其平行的鑒向盤,在鑒向盤上有兩條彼此錯開90o相位的窄縫,并分別有光敏二極管接收主光柵碼盤透過來的信號。工作時,鑒向盤不動,主光柵碼盤隨轉子旋轉,光源經透鏡平行射向主光柵碼盤,通過主光柵碼盤和鑒向盤后由光敏二極管接收相位差90o的近似正弦信號,再由邏輯電路形成轉向信號和計數(shù)脈沖信號。為了獲得絕對位置角,在增量式光電編碼器有零位脈沖,即主光柵每旋轉一周,輸出一個零位脈沖,使位置角清零。利用增量式光電編碼器可以檢測電機的位置和速度。其原理示意圖如圖3-1所示。當碼盤轉動時,它的輸出信號是相位差為90o的A相和B相脈沖信號。從A,B兩個輸出信號的相位關系(超前或滯后)可判斷旋轉的方向。當碼盤正轉時,A道脈沖波形比B道超前π/2,而反轉時,A道脈沖比B道滯后π/2。圖3-13.2數(shù)字測量方法由光電脈沖發(fā)生器產生與被測轉速成正比的脈沖,測速裝置將輸入脈沖轉換為以數(shù)字形式表示的轉速值[3]。常用的脈沖數(shù)字(P/D)轉換方法有三種:(1)M法—脈沖直接計數(shù)方法;(2)T法—脈沖時間計數(shù)方法;(3)M/T法—脈沖時間混合計數(shù)方法。3.2.1M法測速在一定的時間T內測取光電脈沖發(fā)生器所產生的脈沖信號的個數(shù)M1,用以計算這段時間內的平均轉速,稱作M法測速(如公式3.1所示)。把M1除以T就可得到脈沖發(fā)生器輸出脈沖的頻率,所以又稱頻率法。電動機每轉一圈共產生Z個脈沖(Z=倍頻系數(shù)*光電脈沖發(fā)生器碼盤孔數(shù)或光柵數(shù)),把F除以Z就得到電動機的轉速,在習慣上,時間T以秒為單位,而轉速是以每分鐘的轉數(shù)r/min為單位,則電動機的轉速為(3.1)在上式中,Z和T均為常數(shù),因此轉速n正比于脈沖個數(shù)M1。轉速較高時M1大,量化誤差較小,隨著轉速的降低誤差增大,轉速過低時M1將小于1,測速裝置便不能正常工作。所以M法測速只適用于高速段。圖3-2M測速發(fā)3.2.2T法測速在光電脈沖發(fā)生器所產生的相鄰兩個轉速脈沖信號的間隔時間內,用一個計數(shù)器對已知頻率為f0的高頻時鐘脈沖進行計數(shù),并由此來計算轉速,稱作T法測速(如公式3.2所示)。在這里測速時間源于光電脈沖發(fā)生器輸出脈沖的周期,所以又稱周期法。在T法測速中,準確的測速時間Tt是用所得的高頻時鐘脈沖個數(shù)M2計算出來的,即Tt=M2/f0,則電動機轉速為 (3.2)高速時M小,量化誤差大,隨著轉速的降低誤差減小,所以T法測速適用于低速段,與M法恰好相反。圖3-3T測速發(fā)3.2.3M/T法測速把M法和T法結合起來,即檢測T時間內光電脈沖發(fā)生器所產生的脈沖信號個數(shù)M1,又檢測同一時間間隔內的高頻時鐘脈沖個數(shù)M2用來計算轉速,稱作M/T法測速(如公式3.3所示)。設高頻時鐘脈沖的頻率為f0,則準確的測速時間T=M2/f0,而電動機轉速為 (3.3)采用M/T法測速時,應保證高頻時鐘脈沖計數(shù)器與光電脈沖發(fā)生器輸出脈沖計數(shù)器同時開啟與關閉,以減少誤差(如圖3-3),只有等到光電脈沖發(fā)生器輸出脈沖圖3-4M/T法測速上升沿到達時,兩個計數(shù)器才同時允許開始或停止計數(shù)。由于M/T法的計數(shù)值M1和M2都隨著轉速的變化而變化。當電機高速時,相當于M法測速,到最低速時M=1,自動進入T法測速。通過圖3-3分析可知M法測量轉速在極端情況下會產生±1個轉速脈沖的誤差,而T法在極端情況下,時間的測量會產生±1個高頻脈沖周期。由于轉速脈沖的頻率遠小于高頻脈沖的頻率,因此如果用轉速脈沖信號的上升沿(或下降沿)來同步計數(shù)器的起止,在預定的測速時間內,轉速脈沖信號的計數(shù)值將為整數(shù)(無誤差),只有高頻時鐘脈沖會產生±1的誤差,因其很小,影響可以忽略,所以用M/T法實現(xiàn)測速具有較高的測速精度[11]。3.3三種測速方法的精度指標3.3.1分辨率分辨率是用來衡量一種測速方法對被轉速變化的分能力的在數(shù)字測速方法中,用改變一個計數(shù)字所對應的轉速變化量來表示分辨率,用Q表示。設被測轉速由N1變?yōu)镹2時,引起測量計數(shù)值改變了一個數(shù)字,則測速裝置的分辨率是(轉/分)。Q越小,測速裝置的分辯能力越強,系統(tǒng)控制精度越高。(1)M法測速的分辨率在M法測速中,當計數(shù)值由M1變?yōu)镸1+1時,按式(3.1)。相應的轉速由變?yōu)椋瑒tM法測速分辨率為 (3.4)可見,M法測速的分辨率與實際轉速的大小無關。從式(3.4)還可看出,要提高分辨率(即減小Q),必須增大T或Z。但在實際中,兩者都受到限制,增大Z受到脈沖發(fā)生器制造工藝的限制,增大T勢必使采樣周期變長。(2)T法測速的分辨率為了使結果得到正值,T法測速的分辨率定義為時鐘脈沖個數(shù)由M2變?yōu)镸2-1時轉速的變化量,于是可得下式(3.5) 綜合(3.2)和(3.5),可得 (3.6)由上式可以看出,T法測速的分辨率與轉速高低有關,轉速越低,Q值越小,分辨率越強,這也說明,T法更適于測量低速。(3)M/T法測速的分辨率M/T法測速在高速段與M法相近,在低速段與T法相近,所以兼有M法和T法的特點,在高速和低速都有較強的分辨能力。 (3.7)3.3.2測速誤差率測速誤差率是指測速裝置對實際轉速測量的精確程度,常用測量值與實際值的相對誤差來表示,即(3.8)測速誤差率反映了測速方法的準確性,測量誤差越小,準確度越高,系統(tǒng)控制精度越高。δ的大小取決于測速元件的制造精度和測速方法。(1)M法測速誤差率在M法測速中,測速誤差決定于脈沖發(fā)生器的制造精度,以及脈沖發(fā)生器輸出脈沖前沿和測速時間采樣脈沖前沿不齊所造成的誤差等等,最多可能產生1個脈沖的誤差。因此,M法測速誤差率的最大值為 (3.9)由上式可知,δmax與M1成反比,即轉速愈低,M1愈小,誤差率愈大。(2)T法測速誤差率采用T法測速時,產生誤差的原因與M法中相仿,M2最多可能產生1個脈沖的誤差。因此,T法測速誤差率的最大值為(3.10)低速時,脈沖發(fā)生器相鄰脈沖間隔時間長,測得的高頻時鐘脈沖個數(shù)M2多,所以誤差率小,測速精度高,故T法測速適用于低速段。兩種測速方法的比較:M法測速在高速段分辨率強;T法測速在低速段分辨率強。(3)M/T法測速誤差率在低速時M/T法趨向于T法,在高速段M/T法測速相當于T法的M1次平均,而在這M1次中最多產生一個高頻時鐘脈沖的誤差。因此,M/T法測速可在較寬的轉速范圍內,具有較高的測速精度。3.4測速方法的比較和選擇從測量分辨率上看,T法測低速時分辨率較高,但隨著轉速的增大,分辨率變壞;M法則相反,高速時分辨率較高,而低速時分辨率變低;同步M/T法結合了前兩者的優(yōu)點,在整個轉速范圍內有較高的分辨率。從測量精度上看,T法測速的測量精度隨著轉速的增加而減小;M法的測速精度在高速時較高,而在低速時變低;同步M/T法的測速精度介于二者之間。綜合以上兩方面,同步M/T法是一種比較好的方法。在許多系統(tǒng)中都采用這種方法。而本論文要求的轉速測量范圍是50~3000r/min,測量的相對誤差不大于1%,M/T法綜合了二者的優(yōu)點在測量中誤差更小,所以采用M/T法就能達到要求。本文使用M/T法。3.5光電耦合器介紹在光電耦合器輸入端加電信號使發(fā)光源發(fā)光,光的強度取決于激勵電流的大小,此光照射到封裝在一起的受光器上后,因光電效應而產生了光電流,由受光器輸出端引出,這樣就實現(xiàn)了電一光一電的轉換?;竟ぷ魈匦裕海?)共模抑制比很高在光電耦合器內部,由于發(fā)光管和受光器之間的耦合電容很?。?pF以內)所以共模輸入電壓通過極間耦合電容對輸出電流的影響很小,因而共模抑制比很高。(2)輸出特性光電耦合器的輸出特性是指在一定的發(fā)光電流IF下,光敏管所加偏置電壓VCE與輸出電流IC之間的關系,當IF=0時,發(fā)光二極管不發(fā)光,此時的光敏晶體管集電極輸出電流稱為暗電流,一般很小。當IF>0時,在一定的IF作用下,所對應的IC基本上與VCE無關。IC與IF之間的變化成線性關系,用半導體管特性圖示儀測出的光電耦合器的輸出特性與普通晶體三極管輸出特性相似。(3)光電耦合器可作為線性耦合器使用。在發(fā)光二極管上提供一個偏置電流,再把信號電壓通過電阻耦合到發(fā)光二極管上,這樣光電晶體管接收到的是在偏置電流上增、減變化的光信號,其輸出電流將隨輸入的信號電壓作線性變化。光電耦合器也可工作于開關狀態(tài),傳輸脈沖信號。在傳輸脈沖信號時,輸入信號和輸出信號之間存在一定的延遲時間,不同結構的光電耦合器輸入、輸出延遲時間相差很大。4VerilogHDL編程工具4.1MAX+plusⅡ簡介MAX+plusⅡ的英文全稱是MultipleArraymatrixandProgrammableLogicUserSystemⅡ(多陣列矩陣及可編程邏輯用戶系統(tǒng)Ⅱ),它是altera公司專為本公司生產的第三代PLD(ProgrammableLogicdevice,可編程邏輯器件)的研制和應用而開發(fā)的軟件(altera第四代PLD開發(fā)系統(tǒng)被稱為:quartusⅡ,主要用于設計大規(guī)模的CPLD/FPGA)。MAX+plusⅡ中圖形輸入方式和文本輸入方式是主要的兩種輸入方式。MAX+plusⅡ是一個完全集成化的可編程邏輯環(huán)境,為數(shù)字系統(tǒng)開發(fā)提供了設計輸入、編譯處理、性能分析、功能驗證及器件編程等應用程序,具有突出的靈活性和高效性。MAX+plusⅡ還具有適用范圍廣、器件結構獨立、通用性強、兼容性好、集成度與自動化程度高等特點,另外,它的界面良好,使用便捷,被譽業(yè)界最易用易學的EDA軟件。利用EDA技術中的MAX+plusⅡ作為開發(fā)工具,將設計的電路圖綜合成網表文件寫入其中,制成ASIC芯片,突出優(yōu)點是可反復編程,集成度非常高,數(shù)據(jù)速率快,自頂向下設計,查找和修改錯誤方便,同時先仿真,正確后再下載測試并應用,因而具有較大的靈活性;根據(jù)本文提出的設計思路,可方便的設計其它卷積碼編解碼器,有廣闊的應用前景[8]。MAX+plusⅡ是一種與結構無關的全集成化設計環(huán)境,使設計者能對Altera的各種FPGA系列方便地進行設計輸入、快速處理和器件編程。MAX+plusⅡ開發(fā)系統(tǒng)具有強大的處理能力和高度的靈活性。其主要優(yōu)點:與結構無關、多平臺、豐富的設計庫、開放的界面、全集成化、支持多種硬件描述語言(HDL)等。4.2MAX+plusⅡ開發(fā)系統(tǒng)的特點(1)開放的界面Max+plusⅡ支持與Cadence,Exemplarlogic,MentorGraphics,Synplicty,Viewlogic和其它公司所提供的EDA工具接口。(2)與結構無關Max+plusⅡ系統(tǒng)的核心Complier支持Altera公司的FLEX10K、FLEX8000、FLEX6000、MAX9000、MAX7000、MAX5000和Classic可編程邏輯器件,提供了世界上唯一真正與結構無關的可編程邏輯設計環(huán)境。(3)完全集成化Max+plusⅡ的設計輸入、處理與較驗功能全部集成在統(tǒng)一的開發(fā)環(huán)境下,這樣可以加快動態(tài)調試、縮短開發(fā)周期。(4)豐富的設計庫Max+plusⅡ提供豐富的庫單元供設計者調用,其中包括74系列的全部器件和多種特殊的邏輯功能(Macro-Function)以及新型的參數(shù)化的兆功能(Mage-Function)。(5)模塊化工具設計人員可以從各種設計輸入、處理和較驗選項中進行選擇從而使設計環(huán)境用戶化。(6)硬件描述語言(HDL)Max+plusⅡ軟件支持各種HDL設計輸入選項,包括VHDL、VerilogHDL和Altera自己的硬件描述語言AHDL。(7)Opencore特征Max+plusⅡ軟件具有開放核的特點,允許設計人員添加自己認為有價值的宏函數(shù)[12]。5系統(tǒng)總體設計5.1系統(tǒng)總體結構圖圖圖5-1系統(tǒng)總體設計框圖顯示模塊輸出FPGA(數(shù)據(jù)處理模塊)增量式旋轉光電編碼器數(shù)字信號電機輸入5.2總體設計流程自頂向下、由粗到細,逐步分解的設計是數(shù)字系統(tǒng)的設計的基本,最頂層電路是指系統(tǒng)的整體要求,最下層是具體的邏輯電路的實現(xiàn)。將一個復雜的系統(tǒng)逐漸分解成若干功能模塊,從而進行設計描述,并且應用EDA軟件平臺自動完成各功能模塊的邏輯綜合與優(yōu)化,門級電路的布局,再下載到硬件中實現(xiàn)設計叫做自頂向下的設計方法。具體設計過程如下:(1)設計輸入。MAX+plusⅡ支持多種設計輸入方式,如原理圖輸入、波形輸入、文本輸入和它們的混合輸入。(2)設計處理。設計的核心環(huán)節(jié)是設計輸入完后,用MAX+plusⅡ的編譯器編譯、查錯、修改直到設計輸入正確,同時將對輸入文件進行邏輯簡化、優(yōu)化,最后生成一個編程文件。(3)設計仿真。檢查方法設計仿真和定時分析在MAX+plusⅡ平臺上完成的。其目的是檢驗電路的邏輯功能是否正確,同時測試目標器件在最差情況下的時延。對于檢驗組合邏輯電路的競爭冒險和時序邏輯電路的時序、時延等起到了很重要的作用。(4)器件編程。當電路設計、校驗之后,實現(xiàn)目標器件的物理編程是用MAX+plusⅡ的Programmer將編譯器所生成的編譯文件下載到具體的CPLD器件中[13]。5.2.1系統(tǒng)主要模塊的劃分經過分析后此系統(tǒng)可劃分三個功能模塊1.信號采集模塊;2.信號處理模塊;3.數(shù)據(jù)顯示模塊。5.2.2各個模塊的功能信號采集模塊主要是完成電動機數(shù)據(jù)的采集工作,利用增量式光電編碼器,經光電隔離,將電機轉速的模擬信號轉化為數(shù)字脈沖信號。信號處理模塊采用FPGA主要是完成對電機轉速信息數(shù)據(jù)的接收、倍頻、比較、處理、控制輸出等操作。利用verilogHDL語言對FPGA進行編程,完成對數(shù)據(jù)采集模塊產生的脈沖信號進行計數(shù),并作相應處理。信號顯示模塊是完成對電動機測速后的轉速顯示工作。通過顯示數(shù)碼管來完成度轉速、轉向的顯示。6系統(tǒng)詳細設計6.1詳細功能設計本課題是利用光電編碼器、光電耦合器、FPGA芯片、七段LED數(shù)碼管來完成電機轉速的測量。為了實現(xiàn)測量電路的小型化、集成化,充分發(fā)揮FPGA的輸入輸出口和內部邏輯單元,整個數(shù)據(jù)處理處理工作都在FPGA芯片中進行。為了使系統(tǒng)更加清晰,我們把系統(tǒng)分成模塊來處理。系統(tǒng)詳細結構圖如下圖6-1和下圖6-2所示。光電編碼器光電編碼器數(shù)碼管顯示光電隔離FPGA圖6-1系統(tǒng)框圖FPGAFPGA倍頻鑒相譯碼倍頻鑒相譯碼計算鎖存器計數(shù)器計算鎖存器計數(shù)器圖6-2FPGA內部框圖圖6-2FPGA內部框圖6.2系統(tǒng)層次結構設計光電編碼器、光電耦合器上面章節(jié)作了詳細介紹,這里不再詳細說明。下面接著詳細說明FPGA內部的數(shù)據(jù)處理部分。按照FPGA自頂向下的設計方法,在FPGA內部,將光電編碼器輸入的信號分成倍頻、鑒向模塊、計數(shù)模塊、時鐘模塊、運算模塊和譯碼模塊這幾部分。倍頻、鑒向模塊主要功能是產生四倍頻信號和方向信號分別提供給計數(shù)器和數(shù)碼管輸出;計數(shù)模塊的主要功能是對倍頻信號和標準時鐘信號分別計數(shù)并向鎖存器提供數(shù)據(jù)和數(shù)據(jù)鎖存信號。時鐘模塊的主要功能是控制整個系統(tǒng)的時鐘信號,避免時鐘偏斜的發(fā)生。運算模塊的功能是對鎖存器輸出的信號進行運算使之得到電機的相應轉速。譯碼模塊的功能是將運算模塊輸出的四組分別代表個、十、百、千位的四位BCD碼進行譯碼。6.2.1倍頻、鑒向模塊光電編碼器信號的倍頻是提高測量精度的關鍵。我們采用信號上升沿鑒別方法的原理來進行倍頻輸入信號與其延時信號異或后,就可得到相應的倍頻信號。而對于延時的處理方法也很多,如圖所示,微分型電路其信噪比小,抗干擾性差,積分型電路可以提高信噪比,但和微分型電路一樣有大缺點,就是當輸入信號頻率高時,電容充放電不及時,導致輸出信號失真;對于各種倍頻電路來說,電阻和電容的參數(shù)不可能完全一致,所以倍頻后的各路脈沖寬度不等。因此,本系統(tǒng)設計采用了數(shù)字延時線路(寄存器延時)可以很好的克服了以上延時電路的缺點,延時的時間和各路倍頻的脈沖寬度由時鐘控制,倍頻后的脈沖寬度均勻一致。鑒向主要判段A相脈沖超前B相還是滯后B相。1.倍頻A相信號和其時延信號異或后可得到A相的二倍頻信號,同理B相信號和其時延信號異或后可得到B相的二倍頻信號。最后將A相和B相的倍頻信號異或后賦給輸出CNT,即可得到4倍頻信號。倍頻程序如下:modulebp(cnt,a,b,clk);inputa,b,clk;outputcnt;regcnt;regs10,s11,d3,d2,s12,s13;always@(posedgeclk)begins10<=a;s11<=b;d2<=s10;d3<=s11;s12<=s10^d3;s13<=d2^s11;cnt<=s12^s13;endendmodule生成模塊圖如下:圖6-5倍頻器模塊圖對于該倍頻模塊而言,它的作用是將采集的電機脈沖進行倍頻處理,即對A,B相的脈沖的頻率放大到4倍。將倍頻后輸出的脈沖提供給計數(shù)器計數(shù)。A,B對應于通道編碼器經光電隔離后的輸出信號;BEIPIN為倍頻后的輸出信號。CLK式中為在給定的400KHz的時鐘脈沖,仿真波形圖如下所示:圖6-6倍頻信號的仿真波形上圖為4倍頻模塊的仿真圖形,由圖可知A,B的輸出信號經過倍頻模塊處理后得到CNT這個4倍頻于A,B的輸出信號。4倍頻模塊的功能符合設計要求。2.鑒相鑒向主要判段A相脈沖相位超前B相還是滯后B相。當A相脈沖相位超前B相脈沖90°時,電機正轉,DIRECT輸出為‘1’;當A相脈沖相位落后B相脈沖90°時,電機即為反轉,DIREC輸出為‘0’。鑒相程序如下:modulejx(direct,a,b);inputa,b;outputdirect;regdirect;always@(posedgeb)begindirect<=a;endendmodule模塊圖和仿真圖形如下所示:圖6-7鑒相模塊圖模塊的主要管腳描述:A,B為輸入端口,光電編碼器采集經過光電隔離的輸入信號;DIRECT為輸出端口,用于判別電機正反轉后的結果輸出。圖6-8鑒相信號的仿真波形CLK時鐘為在分頻模塊產生的400KHz的時鐘信號;A,B對應于通道編碼器經光電隔離后的輸出信號;DIRECT,CNT為鑒相、倍頻后的輸出信號,其中CNT為四倍頻后的輸出,DIRECT為鑒向后的輸出信號。模塊圖和仿真圖下圖所示。圖6-9倍頻鑒相模塊圖圖6-10倍頻鑒相仿真波形6.2.2計數(shù)模塊對于信號的測量方式,一般有兩種方法:一、直接對四倍頻后的信號進行乘法運算,二、使用等精度測量方法。為了提高測量精度,本設計使用的是等精度測量方法。等精度測量技術的閘門時間不是固定的值,而是被測信號的整數(shù)倍的時間內對標準時鐘脈沖信號進行計數(shù)再通過數(shù)學公式推導得到被測信號的頻率。本設計當中計數(shù)用的標準脈沖頻率為400KHz,而一般電機的轉速不會超過3000r/min,經光電編碼器1000P/R和四倍頻后,頻率也就不會超過200kHz。本設計的計數(shù)模塊包含兩個部分:1.四倍頻信號計數(shù);2.高頻時鐘信號計數(shù)。以下進行兩個部分介紹:四倍頻信號計數(shù)器Lpm_counter是Megafunctions庫中的一個常用模塊,是參數(shù)化的計數(shù)器模塊。調用計數(shù)器模塊并設置參數(shù),得到下圖:圖6-10倍頻計數(shù)器模塊原理圖參數(shù)設置說明:LPM_DIRECTION為計數(shù)方向,由于我們設計功能需要加計數(shù),故將其設置為“UP”(UP為加計數(shù),DUWN為減計數(shù));LPM_WIDTH為計數(shù)器位寬,由于計數(shù)器的模為201,故設置位寬為8;LPM_MODULES為模,由于采樣周期短,故這是201即可;生成計數(shù)器模塊圖如下:圖6-11計數(shù)器1模塊圖管腳說明如下:CNT:來自編碼器的倍頻信號;CLR:系統(tǒng)的復位信號;Q[7..0]:計數(shù)器對CNT的計數(shù)結果輸出;COUT:計數(shù)器的進位輸出端。計數(shù)器模塊仿真圖如圖6-11所示。圖6-11計數(shù)器1仿真波形圖每次在CNT倍頻信號的上升沿的時候計數(shù)器對CNT信號計數(shù)加“1”,當計數(shù)達到200時,COUT進位輸出為高電平,CLR為高電平時,計數(shù)器清零。高頻時鐘信號計數(shù)器調用計數(shù)器模塊并設置參數(shù),得到下圖:圖6-13高頻計數(shù)器模塊原理圖參數(shù)設置說明:LPM_DIRECTION為計數(shù)方向,由于我們設計功能需要加計數(shù),故將其設置為“UP”(UP為加計數(shù),DUWN為減計數(shù));LPM_WIDTH為計數(shù)器位寬,由于計數(shù)器的模為401,故設置位寬為9;LPM_MODULES為模,由于采樣周期短,故這是401即可;生成計數(shù)器模塊圖如下:圖6-14計數(shù)器2模塊圖管腳說明如下:CLK:來自系統(tǒng)時鐘信號;CLR:系統(tǒng)的復位信號;Q[7..0]:計數(shù)器對CLK的計數(shù)結果輸出;COUT:計數(shù)器的進位輸出端。高頻計數(shù)器仿真波形圖如圖6-15所示。圖6-15計數(shù)器2仿真波形圖6.2.3鎖存器模塊鎖存模塊連接計數(shù)模塊和乘法模塊。計數(shù)器模塊的輸出是隨著clk和cnt信號不斷變化的,當給定一個鎖存信號時(即向鎖存器發(fā)出一個寫入信號load),鎖存器在load上升沿將計數(shù)器輸出的數(shù)據(jù)鎖入。鎖存器在load的上升沿將最近一次鎖入的計數(shù)器計數(shù)值輸出給運算模塊。由于要對倍頻信號和高頻信號進行計數(shù)后的鎖存,故設置2個鎖存器。1.倍頻信號鎖存器倍頻信號鎖存器的程序如下:modulelatch_18(qn,din,load);inputload;input[7:0]din;output[7:0]qn;reg[7:0]qn;always@(posedgeload)beginqn=din;endendmodule生成倍頻信號鎖存器模塊圖如下:圖6-16倍頻信號鎖存器模塊圖倍頻信號鎖存模塊介紹如下:DIN[7..0]:來自倍頻小號計數(shù)器模塊的計數(shù)結果;LOAD:控制計數(shù)器結果的寫入;QN[7..0]:鎖存器對計數(shù)器結果的輸出。2.高頻信號鎖存器高頻信號鎖存器的程序如下:modulelatch_19(qn,din,load);inputload;input[8:0]din;output[8:0]qn;reg[8:0]qn;always@(posedgeload)beginqn=din;endendmodule生成高頻信號鎖存器模塊圖如下:圖6-17高頻信號鎖存器模塊圖鎖存模塊介紹如下:DIN:來自計數(shù)器模塊的計數(shù)結果;QN:來自計數(shù)模塊的寫信號輸出。LOAD:控制鎖存器鎖入6.2.4運算模塊因為本設計最終目的是顯示電機轉速的數(shù)值,而計數(shù)模塊所能的得到的只是光電編碼器在規(guī)定時間內倍頻后的脈沖個數(shù),所以設計當中必然要對鎖存器輸出的計數(shù)值進行計算才能得到電機的十進制各位轉速值。本設計調用了LPM宏功能模塊中的乘法器模塊和除法器模塊,來實現(xiàn)轉速計算的功能。1.乘法器模塊調用參數(shù)化乘法器模塊lpm_mult并設置參數(shù),得到下圖:圖6-18乘法器模塊原理圖具體參數(shù)設置如下:INPUT_A_IS_CONSTANT=NO是定義dataa[]為變量不是常量;INPUT_B_IS_CONSTANT=YES是定義datab[]為常量;LPM_WIDTHA=8定義dataa[]端口的數(shù)據(jù)寬度為8;LPM_WIDTHB=16定義datab[]端口的數(shù)據(jù)寬度為16;LPM_CONSTANT為常數(shù)模塊,LPM_CAVLUE=6000定義常數(shù)為6000。生成乘法器模塊圖如下:圖6-19乘法器模塊圖管腳說明:A[7..0]為倍頻鎖存器存入的數(shù)據(jù);R[23..0]為乘法器結果輸出。2.除法器模塊調用參數(shù)化除法器模塊lpm_divide并設置參數(shù),得到下圖:圖6-20除法器模塊原理圖除法器模塊參數(shù)說明:LPM_WIDTHD=9,定義除數(shù)的位寬為9。LPM_WIDTHN=24,定義被除數(shù)的位寬為24。生成除法器模塊圖如下:圖6-21除法器模塊圖模塊管腳說明:N[23..0]被除數(shù)的輸入端口;D[8.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年教育機構校長聘用合同書3篇
- 2024版勞務派遣就業(yè)合同范本
- 二零二四南京個人租賃房屋租賃合同租賃物交付驗收合同3篇
- 年度Β-內酰胺類抗菌藥物產業(yè)分析報告
- 年度高檔生物顯微鏡競爭策略分析報告
- 年度大孔燒結空心磚競爭策略分析報告
- 2025年西瓜種植與農業(yè)科技園區(qū)建設合作合同范本3篇
- 金屬材料及工藝技術創(chuàng)新研究報告
- 2025年度淋浴房淋浴房頂安裝合同4篇
- 二零二四年?;费哼\員安全管理責任書與考核合同3篇
- 寒潮雨雪應急預案范文(2篇)
- DB33T 2570-2023 營商環(huán)境無感監(jiān)測規(guī)范 指標體系
- 上海市2024年中考英語試題及答案
- 房屋市政工程生產安全重大事故隱患判定標準(2024版)宣傳海報
- 垃圾車駕駛員聘用合同
- 2025年道路運輸企業(yè)客運駕駛員安全教育培訓計劃
- 南京工業(yè)大學浦江學院《線性代數(shù)(理工)》2022-2023學年第一學期期末試卷
- 2024版機床維護保養(yǎng)服務合同3篇
- 《論拒不執(zhí)行判決、裁定罪“執(zhí)行能力”之認定》
- 工程融資分紅合同范例
- 2024國家安全員資格考試題庫加解析答案
評論
0/150
提交評論