日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀]摘要:經(jīng)典的碼盤數(shù)字測速方法有M法、T法、M/T法,但都有一定的不足。為了克服原有方法的不足,設(shè)計并實現(xiàn)了一種在較大速度范圍都有良好精度和良好快速性的測速方法。電路采用FPGA實現(xiàn),測速得到的數(shù)據(jù)通過PCI總線從

摘要:經(jīng)典的碼盤數(shù)字測速方法有M法、T法、M/T法,但都有一定的不足。為了克服原有方法的不足,設(shè)計并實現(xiàn)了一種在較大速度范圍都有良好精度和良好快速性的測速方法。電路采用FPGA實現(xiàn),測速得到的數(shù)據(jù)通過PCI總線從設(shè)備控制器實現(xiàn)與控制計算機(jī)通信。從而根據(jù)實際傳輸?shù)男枰?,簡化了PCI從設(shè)備控制器,實現(xiàn)了PCI總線I/O普通讀與猝發(fā)讀數(shù)據(jù)的功能。
關(guān)鍵詞:測速;FPGA;PCI;M/T

O 引言
    增量式碼盤是一種原理簡單,抗干擾能力強(qiáng),可靠性高,適合于長距離傳輸?shù)奈恢门c速度測量裝置,已成功應(yīng)用于大量的控制系統(tǒng)中,極大地提高了其位置控制精度。理論上,只要測得碼盤輸出信號的頻率,即可得到被測軸的轉(zhuǎn)速,并且可以得到比模擬方法更高的測量精度。本文以增量式碼盤為基礎(chǔ),設(shè)計實現(xiàn)一種在較寬速度范圍都有較高精度并且有良好反應(yīng)速度的速度、位置測量裝置。
    利用增量式碼盤的反饋脈沖信號測量速度的典型方法有3種:M法、T法和M/T法。其中,M法是直接計取給定采樣周期內(nèi)的反饋脈沖數(shù)來測量速度的,低速時會因為脈沖數(shù)少而影響測速精度;T法是通過測量兩個相鄰反饋脈沖的間隔時間來測量速度的,高速時則因為脈沖間隔短而導(dǎo)致精度不高;M/T法結(jié)合了前兩種方法的優(yōu)點,在大致相等的采樣間隔內(nèi),計取Cm個反饋脈沖,并同時計取這Cm個反饋脈沖間隔內(nèi)插入的高頻時標(biāo)信號數(shù)Cf,經(jīng)計算得到速度測量值。M/T法雖然克服了前兩種方法的缺點,但仍存在低速時采樣時機(jī)不確定,精度不高等問題,這給定周期采樣的數(shù)字伺服控制系統(tǒng)帶來很大的不便,所以又出現(xiàn)了變M/T法等方法,以進(jìn)一步改善M/T法的性能和實用性。
    本文利用FPGA實現(xiàn)了一種改進(jìn)的M/T法,克服經(jīng)典M/T法的不足,其測速電路與控制器間的數(shù)據(jù)接口形式有PCI總線和雙端口RAM,便于在高性能控制系統(tǒng)中使用。

1 總體方案
    根據(jù)控制系統(tǒng)的實際情況,所設(shè)計的測速板具有位置測量和速度測量功能,如圖1所示,由倍頻辨向模塊、改進(jìn)M/T法測速模塊、PCI從設(shè)備控制器三個部分組成。


1.1 倍頻辨向
    增量式碼盤的典型輸出是兩個相位差為90°的方波信號A,B以及零位脈沖信號Z(見圖2)。


    A,B之間的相位關(guān)系標(biāo)志被測軸的轉(zhuǎn)向,即當(dāng)正轉(zhuǎn)時A相超前B相90°,反轉(zhuǎn)時B相超前A相90°。對于每個確定的碼盤,其脈沖周期T對應(yīng)的碼盤角位移固定為θ,故其量化誤差為θ/2。如果能將A,B信號四倍頻,則計數(shù)脈沖的周期將減小到T/4,量化誤差下降為θ/8,從而使增量式碼盤的角位移測量精度提高4倍。從圖2可知,根據(jù)A,B兩方波信號之間相位關(guān)系的4次變化,即可產(chǎn)生四倍頻信號和辨向信號,這樣就可以實現(xiàn)增量式碼盤測量精度的提高。
1.2 改進(jìn)的M/T測速算法
    圖3展示了改進(jìn)M/T法的電路原理,這是實現(xiàn)高精度的硬件基礎(chǔ)。圖4為改進(jìn)M/T法的時序圖。


    對圖3及其時序圖4的分析可以看出:本測速電路在每個反饋脈沖時鎖存高頻時鐘的計數(shù)值,兩個采樣周期間的高頻時標(biāo)增量值Ct實際表示為T2前一個反饋脈沖上升沿到T4前一個反饋脈沖上升沿的高頻時標(biāo)增量,而在采樣周期內(nèi)每個反饋脈沖到來都對反饋脈沖計數(shù)器計數(shù),兩個采樣脈沖采得反饋脈沖增量值Cm實際表示為T1~T3之間的反饋脈沖增量值,位置的反饋脈沖增量值則是在Cm的基礎(chǔ)上考慮方向得到的,那么結(jié)合32位浮點運算,這種測速方法就解決了采樣時機(jī)不確定的缺點。
    根據(jù)上述分析,通過差分處理就可得到當(dāng)前實際采樣間隔內(nèi)的反饋脈沖增量值Cm和高頻時標(biāo)增量值Ct:
    
    這樣得到的速度是當(dāng)前實際采樣間隔內(nèi)的平均速度:
    
    式中:KR為反饋信號脈沖當(dāng)量;fo為高頻時標(biāo)頻率。
    在實際采樣點T2處,高頻時標(biāo)信號fo的邊沿不能總與反饋脈沖信號plus的邊沿保持一致,因而會產(chǎn)生±1個高頻時標(biāo)當(dāng)量的計數(shù)誤差,從而影響這種測速算法的測速精度。因此高精度數(shù)字測速算法的測速相對誤差為:
    
    動態(tài)位置算法不僅關(guān)注已經(jīng)發(fā)生的反饋脈沖數(shù)量,也關(guān)注反饋脈沖的發(fā)生時刻,其硬件基礎(chǔ)是依據(jù)圖3所示邏輯電路的。根據(jù)當(dāng)前有效采樣周期的定周期采樣點和實際采樣點之間的時間差:
    
    并根據(jù)改進(jìn)的M/T法得到被測對象的平均速度vn,由vn和△Tn相乘就可以計算出時間差△T(n)中所包含的動態(tài)位置信息,因此由當(dāng)前有效采樣周期內(nèi)的增量式高精度動態(tài)位置信息可以得出位置量:
    
    可根據(jù)這種方法完成測位置的功能。

2 各個模塊VHDL實現(xiàn)
    根據(jù)圖1的總體設(shè)計方案,使用VHDL語言設(shè)計實現(xiàn)如下幾個模塊。
2.1 倍頻辨向模塊
    為便于使用VHDL語言描述,對圖2的碼盤信號作如下分析:
    (1)當(dāng)碼盤正轉(zhuǎn)時,在一個周期T內(nèi),A,B兩相信號共有4次相對變化:00→1O→11→01。這樣,根據(jù)前一次和當(dāng)前的信號,就可以判斷方向,并產(chǎn)生四倍頻脈沖。
    (2)同理當(dāng)碼盤反轉(zhuǎn)時,也根據(jù)A,B兩相信號的4次相對變化:00→01→11→10,可以判斷方向,并產(chǎn)生四倍頻脈沖信號。
    (3)當(dāng)線路受到干擾或出現(xiàn)故障時,則可能出現(xiàn)其他狀態(tài)轉(zhuǎn)換過程,此時不產(chǎn)生脈沖。
    根據(jù)上述分析就可以設(shè)計出測速辨向模塊,當(dāng)判斷正轉(zhuǎn)時,把方向輸出置‘1’,反向時置‘O’。
2.2 改進(jìn)M/T法測速模塊
    如圖3所示可以看出,本部分的VHDL設(shè)計分成兩個模塊:計數(shù)器模塊與鎖存器模塊。
    其中,計數(shù)器模塊分為兩種:高頻時標(biāo)計數(shù)器和反饋脈沖計數(shù)器。高頻時標(biāo)計數(shù)器在每個高頻時標(biāo)的上升沿都做+1計數(shù),在每個反饋脈沖的上升沿對計數(shù)值鎖存。反饋脈沖計數(shù)器,需要兩個輸出:反饋脈沖計數(shù)值Cm、位置反饋脈沖計數(shù)值。其中,Cm的增量值用于速度的計算,所以在每一個反饋脈沖到來時,計數(shù)器都+1;的計數(shù)值用于位置的計算,所以它是在Cm的基礎(chǔ)上考慮了碼盤方向得到的計數(shù)值,在正轉(zhuǎn)時反饋脈沖計數(shù)器+1,反轉(zhuǎn)時-1,當(dāng)零位脈沖Z有效時,對其置0。然后分別輸出Cm,,由此就可以得到反饋脈沖計數(shù)器模塊。
    在每個采樣周期的上升沿還要鎖存Cm,Ct的增量值和與Ct的差值,由于都做了差分處理,所以這三個鎖存器使用雙字就能滿足設(shè)計要求,而鎖存器在零位信號Z后不進(jìn)行差分處理,若采用36 000刻增量式碼盤,并進(jìn)行10 000倍頻,位置范圍為±720°,那么需要的最大計數(shù)值為:
    (36 000×10 000×720×2)/360=1 440 000 000
    可見,雙字鎖存器也能滿足設(shè)計要求。
    綜上所述,本設(shè)計設(shè)置了4個雙字信號鎖存器Cm,,Ct,,同時還需要對其控制輸出,所以在PCI從設(shè)備控制器中為I/O分配4個雙字的地址空間。然后根據(jù)PCI總線給出的地址信號PCI_AD[3:2]和數(shù)據(jù)輸出使能信號DATA_EN對這4個雙字寄存器尋址輸出。
2.3 PCI接口控制器
    PCI的時序規(guī)則和PCI的總線協(xié)議由PCI接口控制器實現(xiàn),同時它還負(fù)責(zé)傳遞地址和數(shù)據(jù)輸出使能信號給測速模塊,實現(xiàn)I/O口的基本讀與猝發(fā)讀數(shù)據(jù)功能。
    從設(shè)備控制器包括2個部分:奇偶校驗?zāi)K和PCI從設(shè)備狀態(tài)機(jī)。
2.3.1 奇偶校驗?zāi)K
    PCI的奇偶校驗提供了一種機(jī)制來決定一件作業(yè)。該作業(yè)判斷主設(shè)備是否成功地尋址相應(yīng)的從設(shè)備,且數(shù)據(jù)是否正確地在它們之間傳輸。通過該模塊完成數(shù)據(jù)傳輸過程中PCI_AD和PCI_CBE的偶校驗。偶校驗的輸出信號在地址和數(shù)據(jù)周期有效,其產(chǎn)生的規(guī)則是使偶校驗輸出、PCI_ CBE、PCI_AD各位的‘1’的個數(shù)為偶數(shù)。那么采用把PCI_AD與PCI_CBE各位異或的方法,就可以實現(xiàn)偶校驗的功能。
2.3.2 PCI從設(shè)備狀態(tài)機(jī)
    PCI從設(shè)備控制器是PCI接口設(shè)計的核心模塊,按功能來說,它要產(chǎn)生奇偶校驗和數(shù)據(jù)的使能信號,并根據(jù)PCI_AD和PCI_CBE產(chǎn)生讀地址,完成主從設(shè)備的握手信號,并且實現(xiàn)從設(shè)備狀態(tài)機(jī)在各個狀態(tài)之間的轉(zhuǎn)換。
    由于本設(shè)計只需要完成I/0讀操作,本狀態(tài)機(jī)設(shè)計配置空間的功能放在了從設(shè)備控制器來完成,同時刪去了PCI操作中對存儲器空間、配置空間的操作,結(jié)合PCI總線的傳輸時序,如圖5給出了其基本結(jié)構(gòu)。


    (1)空閑狀態(tài)為PCI從設(shè)備的初始狀態(tài),在沒有任何操作的時候,PCI從設(shè)備將始終保持這個狀態(tài);
    (2)每次數(shù)據(jù)傳輸時首先傳出地址和命令字,根據(jù)地址和命令字確定是不是對本設(shè)備的訪問,并確定訪問的首地址;從設(shè)備則從命令字中識別該訪問是讀操作還是寫操作;
    (3)讀訪問只有在信號IRDY,TRDY,DEVSEL都為低狀態(tài)時才能進(jìn)行;
    (4)猝發(fā)傳輸需要通過地址遞增邏輯來實現(xiàn)地址的自動遞加;其地址遞增的周期為數(shù)據(jù)周期和最后傳輸周期總和,在等待周期暫停遞增;
    (5)主從設(shè)備中任一方?jīng)]有準(zhǔn)備好,操作中都需要能夠引起等待狀態(tài)插入的活動;
    (6)讀操作還有一個中間準(zhǔn)備過程。
    那么完成本狀態(tài)機(jī)需要6個狀態(tài):idle表示空閑狀態(tài);addr表示地址周期;turnad表示讀轉(zhuǎn)換周期;data表示數(shù)據(jù)傳輸周期;lasttra表示最后傳輸周期;wait表示等待周期;在各個狀態(tài)到來時還要對中間信號、輸出信號和本地信號執(zhí)行相應(yīng)的操作:
    (1)idle,addr,turnad周期對PCI_TFRDYn和PCIDEVSELn置高電平;addr周期依據(jù)地址信號確定是否選中本機(jī),識別是否為讀操作;addr周期輸出PCI_AD[3:2]對寄存器進(jìn)行尋址,實現(xiàn)讀操作。
    (2)data,lasttra周期對PCI_TRDYn和PCI_DEVSELn置低電平;data,lasttra周期置DATA_EN有效并輸出。
    (3)addr,data,lasttra周期置奇偶校驗有效。
    (4)等待周期置PCI_TRDYn和PCI_DEVSELn低電平。
    根據(jù)對PCI總線傳輸時序的分析,影響各個狀態(tài)相互轉(zhuǎn)化的因素是:幀同步信號PCI_FRAMEn、主設(shè)備準(zhǔn)備好信號PCI_IRDYn、讀識別信號READn。其中,READn用來標(biāo)識狀態(tài)addr產(chǎn)生的中間識別信號。

3 測試平臺與仿真測試
    這種改進(jìn)M/T數(shù)字測速及位置檢測算法的硬件采用Xilinx公司的FPGA XC3S400。使用36 000刻的增量式碼盤,速度環(huán)采樣周期T設(shè)定為1 ms,高頻時標(biāo)信號的頻率為40 MHz,結(jié)合PC運算的數(shù)字測速算法可以在速度O.001~150(°)/s的范圍內(nèi)獲得±2.5×10-5 s的測速精度。與此同時,高精度動態(tài)位置檢測算法可以使位置反饋的動態(tài)測量分辨率提高到10-2~10-6個脈沖當(dāng)量。
    對編寫好的VHDL程序采用ISE進(jìn)行綜合,并編寫測試平臺,用ModelSim對其進(jìn)行仿真測試。圖6為PCI控制器的仿真圖,圖中state表示狀態(tài)機(jī)在內(nèi)部轉(zhuǎn)換的過程,狀態(tài)1表示空閑狀態(tài),狀態(tài)2表示地址周期,狀態(tài)4表示讀轉(zhuǎn)換周期,狀態(tài)8表示最后傳輸周期,狀態(tài)9表示猝發(fā)讀寫周期。


    該I/O讀操作,將地址為1的寄存器讀出。這里設(shè)定I/O地址為0X200~0X20F這4個雙字空間,那么在地址周期中地址0X204的2~3位尋址于寄存器的第一個雙字,其后緊跟的是讀的轉(zhuǎn)換周期,猝發(fā)讀寫周期和最后一位讀寫周期??梢钥闯?,這兩個周期都對這個寄存器進(jìn)行了讀操作。

4 結(jié)語
    本文介紹了使用FPGA設(shè)計和實現(xiàn)基于PCI總線傳輸?shù)母倪M(jìn)型M/T法測速電路,它克服了經(jīng)典測速方法的幾個缺點,在較大速度范圍內(nèi)都具有良好的精度。同時使用FPGA設(shè)計和實現(xiàn)了PCI從設(shè)備控制器,使得測速電路的設(shè)計與PCI總線的設(shè)計成為一個整體,節(jié)省了板上器件,也使得整個設(shè)計信號在FPGA內(nèi)部流動,具有更加良好的抗干擾能力和穩(wěn)定性。
 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

(全球TMT2022年10月17日訊)Brother內(nèi)置墨倉彩色噴墨一體機(jī)DCP-C421W新上市。此次Brother創(chuàng)新引入"按需打印,按頁付費"的家庭文印新模式:通過微信小程序購買打印頁數(shù),墨水則由廠家提供。通過綁...

關(guān)鍵字: DC 微信小程序 打印機(jī) 高精度

最近為什么越來越多的研究開始利用FPGA作為CNN加速器?FPGA與CNN的相遇究竟能帶來什么神奇效果呢?原來,F(xiàn)PGA擁有大量的可編程邏輯資源,相對于GPU,它的可重構(gòu)性以及高功耗能效比的優(yōu)點,是GPU無法比擬的;同時...

關(guān)鍵字: FPGA 可編程邏輯資源 GPU

FPGA的應(yīng)用領(lǐng)域包羅萬象,我們今天來看看在音樂科技領(lǐng)域及醫(yī)療照護(hù)的智能巧思。

關(guān)鍵字: FPGA 科技領(lǐng)域 智能

強(qiáng)大的產(chǎn)品可降低信號噪音并提高分辨率與動態(tài)

關(guān)鍵字: Spectrum儀器 數(shù)字化儀 FPGA

最近某項目采用以太網(wǎng)通信,實踐起來有些奇怪,好像設(shè)計成只能應(yīng)答某類計算機(jī)的ICMP(ping)命令, 某類計算機(jī)指的是Windows特定系統(tǒng),其他系統(tǒng)發(fā)送ping都不能正確識別。

關(guān)鍵字: 嵌入式Linux FPGA 協(xié)議

近兩年,國外廠商的FPGA芯片價格飆升,由于價格,貨期,出口管制等多方面因素的影響,很多公司都在尋找FPGA國產(chǎn)化替代方案。我工作中正在使用的幾款芯片也面臨停產(chǎn)的風(fēng)險,用一片少一片,了解到國產(chǎn)FPGA發(fā)展的也不錯,完全自...

關(guān)鍵字: FPGA 芯片 EDA

本篇是FPGA之旅設(shè)計的第十二例,在前面的例程中,完成了DS18B20溫度傳感器數(shù)據(jù)的采集,并且將采集到的數(shù)據(jù)顯示在數(shù)碼管上。由于本例將對溫濕度傳感器DHT11進(jìn)行采集,而且兩者的數(shù)據(jù)采集過程類似,所以可以參考一下前面的...

關(guān)鍵字: FPGA DS18B20溫度傳感器

這是FPGA之旅設(shè)計的第十三例啦,本例是一個綜合性的例程,基于OLED屏幕顯示,和DHT11溫濕度采集,將DHT11采集到的溫濕度顯示到OLED屏幕上。

關(guān)鍵字: FPGA OLED屏幕

第八例啦,本例將介紹如何通過FPGA采集DS18B20傳感器的溫度值。

關(guān)鍵字: FPGA DS18B20傳感器

這是FPGA之旅設(shè)計的第九例啦!!!本例將介紹如何使用FPGA驅(qū)動OLED屏幕,并在接下來的幾例中,配合其它模塊,進(jìn)行一些有趣的綜合實驗。由于使用的OLED屏是IIC接口的,對IIC接口不是很清楚的,可以參考第五例的設(shè)計...

關(guān)鍵字: FPGA OLED屏幕

電子設(shè)計自動化

21319 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉