99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA技術(shù)實現(xiàn)編碼器脈沖的M法測速邏輯電路

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2019-07-05 08:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1基于FPGA的可重構(gòu)原理

FPGA(現(xiàn)場可編程門陣列)是一種可編程邏輯器件,他是在PAL,GAL等邏輯器件的基礎(chǔ)上發(fā) 展起來的。同以往的PAL,GAL等相比,F(xiàn)PGA的規(guī)模大得多,而單位邏輯門的成本卻低得多,多容量、低成本為FPGA在印花系統(tǒng)的應(yīng)用創(chuàng)造了條件。利用FPGA可以實現(xiàn)I/O處理,脈沖發(fā)生、計數(shù),數(shù)學(xué)運算等功能,可以大大簡化數(shù)控系統(tǒng)的設(shè)計。FPGA最大的特點就是他的內(nèi) 部邏輯的在線可重構(gòu)性。目前主流的FPGA都是基于查找表結(jié)構(gòu)的,查找表(160kUP Table)簡稱為LUT,LUT本質(zhì)上就是一個RAM。如圖1所示。在CMOS分離邏輯電路設(shè)計當(dāng)中,通常采用圖1(a)的方法實現(xiàn)反相器。但是在FPGA中,卻是使用LUT來實現(xiàn)這一功能,如圖1(b)所示。MUX的控制輸入SEL被作為邏輯輸入,而IN1,IN2則是反向器的查找表。這樣做的原因有2點:

1) LUT是通用的,可以實現(xiàn)任何邏輯。

2) LUT可以高效地在硅片上實現(xiàn)。

由于SRAM的易失性,在系統(tǒng)上電后需要對FPGA進行配置,才能使FPGA進入工作狀態(tài)。配置信息通常存放在PROM或者 FLASH存儲器當(dāng)中,但是也可以使用其他設(shè)備,比如CPU完成這個工作。因此可以利用CPU對FPGA進行配置,將配置信息存儲在CPU系統(tǒng)的存儲器內(nèi),不但降低了成本,而且可以根據(jù)實際需要選擇不同的配置信息。由于配置過程時間很短,通常在幾百毫秒 內(nèi),因此可以在系統(tǒng)工作過程中重新對FPGA進行配置,實現(xiàn)實時可重構(gòu)。

基于FPGA技術(shù)實現(xiàn)編碼器脈沖的M法測速邏輯電路

2光電編碼器的輸出波型及其測速方法

光電編碼器通常輸出相差為90°的兩路方波A相和B相,按照轉(zhuǎn)向的不同,A相或者超前B相。在使用光電編碼器測速時需要完成誤計數(shù)抑制、鑒向和測速3大功能。

在誤計數(shù)抑制方面,有模擬方式和數(shù)字方式。模擬的方法采用RC電路將編碼器傳送來的方波信號轉(zhuǎn)換為脈沖信號。數(shù)字方式多采用D觸發(fā)器對方波信號進行延遲之后再將經(jīng)過延遲的波形進行邏輯運算,并根據(jù)兩路波型之間相差90°的邏輯關(guān)系,消除因抖動或干 擾而可能帶來的誤計數(shù),消除因振蕩或電路干擾產(chǎn)生的毛刺的影響。其中D觸發(fā)器使用的級數(shù)對誤計數(shù)的抑制有直接關(guān)系。在干擾嚴(yán)重的情況下,可以選擇具有長線驅(qū)動接口的編碼器,他將A、B相信號用RS 422(差動方式)分為A、A和B、B四根信號線傳輸。這樣可以有效地抑制共模干擾,提高傳輸距離。

測速功能的算法主要有M法、T法、M/T法、M法和T法都簡單容易實現(xiàn),但是精度受速度的影 響。M/T法具有較高精度,M/T法和變M/T法是目前公認的高精度測速方法。

在測速實現(xiàn)方法上主要有純硬件、純軟件、軟硬件結(jié)合等方法。純硬件方法的優(yōu)點是不需要CPU的干預(yù)自動完成,缺點是外圍器件較多、只能實現(xiàn)M法和T法。純軟件方法光電編碼器的信號線與CPU中斷輸入和I/O口相連。優(yōu)點是外部器件使用較少,缺點是占用CPU時間過多且測量精度不高。例如80C196,時鐘頻率為12 MHz,經(jīng)過分頻,T1定時器的基準(zhǔn)頻率是0.75 MHz,無論采用M法、T法、M/T法,精度都受到基準(zhǔn)頻率的限制,無法進一步提高。但是FPGA則可以大大提高基準(zhǔn)頻率,可以在本質(zhì)上提高測速的精度。軟硬結(jié)合的方法是誤計數(shù)抑制、鑒相的功能由外部硬件電路完成,而計數(shù)的功能由CPU完成,是以上2種方法的折衷,但是精度仍然受到限制。?

3采用FPGA的可重構(gòu)設(shè)計

綜上所述,利用FPGA內(nèi)部可編程、可重構(gòu)的特點,可以將以往分離設(shè)計的邏輯電路,利用FP GA內(nèi)部豐富的邏輯資源,以及VerilogHDL具有語言門級電路描述強的特點,集成到系統(tǒng)內(nèi)部 ??梢愿鶕?jù)應(yīng)用的要求實現(xiàn)各種測速方法且不需要CPU的干預(yù),將他作為一個功能 模塊嵌入在系統(tǒng)當(dāng)中,且可以根據(jù)不同的需要,選擇不同的測速方法,而不需要修改硬 件電路,實現(xiàn)重構(gòu)造。

1) M法可重構(gòu)設(shè)計的實現(xiàn)

模仿傳統(tǒng)的D觸發(fā)器+計數(shù)器的結(jié)構(gòu),如圖2所示。通過VerilogHDL構(gòu)造了兩個4級D觸發(fā)器串聯(lián)的誤差抑制電路(圖2中encode模塊)和鑒向電路,同時利用Quarts提供的Mega Fu nction功能實現(xiàn)一個16位同步可逆計數(shù)器(圖2中l(wèi)pm_couter模塊),以及一個16位的鎖存器(圖2中d模塊)完成對編碼器脈沖的M法測速邏輯電路。

基于FPGA技術(shù)實現(xiàn)編碼器脈沖的M法測速邏輯電路

仿真結(jié)果如圖3所示,CHA,CHB信號進入FPGA,在分別經(jīng)過第三、第四個觸發(fā)器延時后的波 行為A3,A4和B3,B4,經(jīng)過鑒向以后得到DIR和REV信號,且這兩路信號是原來A相或者B相頻 率的4倍。為了說明方便,圖3的計數(shù)器僅測量了一個信號(DIR或REV)周期的時鐘數(shù)。 由于 每次測量完成以后計數(shù)器的數(shù)值都會被復(fù)位,因而必須將計數(shù)器的數(shù)值進行鎖存,這樣CPU讀出的才是有效的速度(圖2的d模塊)。從圖3中可以看到,在經(jīng)過d模塊以后,speed_ou t信號穩(wěn)定輸出。此例中基準(zhǔn)時鐘信號CLOCK的頻率為50 MHz。

基于FPGA技術(shù)實現(xiàn)編碼器脈沖的M法測速邏輯電路

2) M/T法可重構(gòu)的實現(xiàn)

由于結(jié)合了M法和T法的優(yōu)點,測速比較準(zhǔn)確,缺點是需要擴展大量的外圍芯片和占用單片機 中斷,編程相對復(fù)雜[5]。利用FPGA內(nèi)部豐富的邏輯資源和有限狀態(tài)機的方法,實現(xiàn)M/T測速邏輯。狀態(tài)機是由組合電路和時序電路構(gòu)成的硬件時序電路。狀態(tài)的轉(zhuǎn)移取決于當(dāng)前的狀態(tài)和狀態(tài)機的輸入狀態(tài),這種狀態(tài)機為米里(Mealy)型狀態(tài)機;狀態(tài)的轉(zhuǎn)移只取決于當(dāng)前狀態(tài)的稱為莫爾(Moore)型狀態(tài)機。莫爾型狀態(tài)機可以看作是米里型狀態(tài)機的一個特例。

本設(shè)計采用米里(Mealy)型狀態(tài)機。在接收到復(fù)位信號以后,狀態(tài)機進入(00)狀態(tài)。在 (00)狀態(tài)中,主要完成計時器?T的復(fù)位,m1,m2計數(shù)器的復(fù)位。當(dāng)?shù)谝粋€脈沖到來的時刻,狀態(tài)機進入(01)狀態(tài)。此時計時器T開始記時,同時m1,m2開始計數(shù)。Tg到時以后,進入(10)狀態(tài)。此時m1,m2 繼續(xù)計數(shù),當(dāng)最后一個脈沖到來以后,進入(11)狀態(tài)。將m1,m2的數(shù)值鎖存進入鎖存器以后,自動復(fù)位到(00)狀態(tài)。

基于FPGA技術(shù)實現(xiàn)編碼器脈沖的M法測速邏輯電路

采用模塊化設(shè)計的思想,將測速邏輯分為4個部分,其中pluse_couter和clock_coute r計數(shù)器是采用Quarts提供的Mega Function功能構(gòu)造出來的加法計數(shù)器,分別完成對編碼器脈沖m1和基準(zhǔn)時鐘脈沖m2的計數(shù)功能。

Encode模塊完成對編碼器信號CHA、CHB信號的鑒向信號REV和DIR、鎖存信號LOCK、計數(shù)器復(fù)位信號COUTER_RST、方向信號UPDOWN的控制。D_ TRIGGER單元完成兩個計數(shù)器結(jié)果的鎖存,同時將UP_DOWN信號和編碼器脈沖計數(shù)器測量得到的結(jié)果(7位)組合到一起構(gòu)成8位的PULSE_D,這樣得到的脈沖數(shù)值就是有方向的脈沖數(shù)量。D_TRIGGER的輸出PULSE_D[7.0]和CLOCK_D[15.0]就是最終測量得到的結(jié)果。最終的仿真結(jié)果如圖7所示,采用了50 MHz的基準(zhǔn)信號, CHA,CHB是0.5 MHz,相差為90°的方波。對兩相信號進行4倍頻,得到DIR和REV兩路方向脈沖信號。在有限狀態(tài)機(STA)的控制下,鎖定信號(LOCK),計數(shù)器復(fù)位信號(COUTER_RST)和兩個計數(shù)器單元PULSE_NUM_OUT和CLOCK_NUM_OUT按照預(yù)定的時序工作,達到了設(shè)計的需要。程序編譯完成以后,共占用68個邏輯單元(logic cells),最大延時13.8 ns。

基于FPGA技術(shù)實現(xiàn)編碼器脈沖的M法測速邏輯電路

4結(jié)論

利用FPGA的可重構(gòu)特性,減少了外圍器件、簡化了CPU程序的設(shè)計。可以根據(jù)現(xiàn)場的要求靈活選用M法、T法、M/T法。對于變M/T法和直接測量頻率法等測速電路同樣可以采用這種嵌入式設(shè)計的方式。通過構(gòu)造與CPU的接口,對于CPU而言,F(xiàn)PGA就如同一個外部RAM一樣訪問,不需要對測速過程進行任何干預(yù)。同時如果將測速時間和基準(zhǔn)頻率設(shè)計成外部可以控制的參數(shù)單元,就可以很方便地修改參數(shù),實現(xiàn)不同場合、不同要求的情況下更高精度的控制。

基于FPGA技術(shù)實現(xiàn)編碼器脈沖的M法測速邏輯電路


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22050

    瀏覽量

    618665
  • 編碼器
    +關(guān)注

    關(guān)注

    45

    文章

    3808

    瀏覽量

    138100
  • 脈沖
    +關(guān)注

    關(guān)注

    20

    文章

    901

    瀏覽量

    97336
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    FPGA基礎(chǔ)學(xué)習(xí)筆記--組合邏輯電路-編碼器和譯碼

    `FPGA基礎(chǔ)學(xué)習(xí)筆記--組合邏輯電路-編碼器和譯碼編碼器4輸入2輸出編碼器代碼如下modul
    發(fā)表于 02-20 15:36

    AB相編碼器-變M/T測速,10ms定時,測6000轉(zhuǎn)伺服電機!

    本帖最后由 SXST_T 于 2017-9-13 12:11 編輯 適用所有線數(shù)編碼器,此方法主要解決M測低速分辨率不足,T測高速分辨率高,
    發(fā)表于 09-13 12:07

    【原創(chuàng)】組合邏輯電路詳解、實現(xiàn)及其應(yīng)用

    脈沖的寬度一般都很窄,在可能產(chǎn)生尖峰干擾脈沖的門電路輸出端與地之間接入一個容量為幾十皮的電容就可吸收掉尖峰干擾脈沖。4)修改
    發(fā)表于 04-24 15:07

    MT測速單片機程序設(shè)計

    MT測速單片機程序設(shè)計M、T
    發(fā)表于 09-02 06:01

    增量式編碼器倍頻技術(shù)M究竟是怎樣測速

    增量式編碼器輸出的脈沖波形信號形式常見的有哪幾種?增量式編碼器倍頻技術(shù)M究竟是怎樣
    發(fā)表于 11-09 07:08

    介紹在FPGA開發(fā)板上組合邏輯電路的設(shè)計實現(xiàn)

    FPGA開發(fā)板上組合邏輯電路實現(xiàn),這些實例包括在數(shù)字邏輯設(shè)計課程中所熟知的部分中規(guī)模集成電路:優(yōu)先編碼
    發(fā)表于 07-21 15:38

    FPGA開發(fā)板上實現(xiàn)優(yōu)先編碼器的設(shè)計

    介紹FPGA開發(fā)板上組合邏輯電路實現(xiàn),這些實例包括在數(shù)字邏輯設(shè)計課程中所熟知的部分中規(guī)模集成電路:優(yōu)先
    發(fā)表于 08-04 17:39

    編碼器計數(shù)原理與電機測速原理之多圖解析

    ,此時編碼器能夠分辨的最小角度為0.15°?! ?.2 M測速  又叫做頻率測量。該方法是在一個固定的時間內(nèi)(以秒為單位),統(tǒng)計這段時間
    發(fā)表于 03-30 14:57

    電子技術(shù)--組合邏輯電路

    電子技術(shù)--組合邏輯電路掌握組合邏輯電路的分析方法與設(shè)計方法掌握利用二進制譯碼和數(shù)據(jù)選擇進行邏輯
    發(fā)表于 04-12 17:52 ?0次下載

    基本組合邏輯電路

    基本組合邏輯電路 一、 實驗?zāi)康?⒈ 掌握一般組合邏輯電路的分析和設(shè)計方法。?⒉ 熟悉集成優(yōu)先編碼器邏輯功能及簡單應(yīng)用。
    發(fā)表于 09-24 22:14 ?2791次閱讀

    遙測脈碼調(diào)制(PCM)編碼邏輯電路實現(xiàn)

    遙測脈碼調(diào)制(PCM)編碼邏輯電路實現(xiàn)
    發(fā)表于 02-07 15:05 ?16次下載

    測速編碼器工作原理

     測速編碼器一般與軸相聯(lián),測速編碼器脈沖量是固定的,在軸旋轉(zhuǎn)的時候,測速
    的頭像 發(fā)表于 11-07 09:36 ?2.2w次閱讀

    基于FPGA的增量式光電編碼器的接口電路設(shè)計與實現(xiàn)淺析

    現(xiàn)場可編程邏輯陣列(FPGA)資源豐富,結(jié)構(gòu)靈活,近年來發(fā)展迅猛。針對其特點,本文設(shè)計了基于FPGA的增量式光電編碼器的接口電路,
    的頭像 發(fā)表于 04-27 13:57 ?5291次閱讀
    基于<b class='flag-5'>FPGA</b>的增量式光電<b class='flag-5'>編碼器</b>的接口<b class='flag-5'>電路</b>設(shè)計與<b class='flag-5'>實現(xiàn)</b>淺析

    STM32——編碼器測速原理及STM32編碼器模式

    本問講解了編碼器測速原理及STM32編碼器模式,文末有STM32編碼器模式例程。
    發(fā)表于 11-26 11:36 ?276次下載
    STM32——<b class='flag-5'>編碼器</b><b class='flag-5'>測速</b>原理及STM32<b class='flag-5'>編碼器</b>模式

    編碼器M測速CubeMax配置

    為了進行測速,我們一共需要3個定時,作用分別是:①輸出PWM;②編碼器模式進行脈沖計數(shù);③計時,確定每次測速的時間間隔。 其中,用于定時的
    的頭像 發(fā)表于 11-10 15:31 ?1781次閱讀
    <b class='flag-5'>編碼器</b><b class='flag-5'>M</b><b class='flag-5'>法</b><b class='flag-5'>測速</b>CubeMax配置