一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4結(jié)論

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

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


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

    關(guān)注

    1645

    文章

    22050

    瀏覽量

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

    關(guān)注

    45

    文章

    3808

    瀏覽量

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

    關(guān)注

    20

    文章

    901

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

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

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

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

    MT測(cè)速單片機(jī)程序設(shè)計(jì)

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

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

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

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

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

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

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

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

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

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

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

    基本組合邏輯電路

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

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

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

    測(cè)速編碼器工作原理

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

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

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

    STM32——編碼器測(cè)速原理及STM32編碼器模式

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

    編碼器M測(cè)速CubeMax配置

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