999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA和PCI的高精度測速板卡的設計與實現

2010-04-12 00:00:00李新安,李秀娟
現代電子技術 2010年21期

摘 要:經典的碼盤數字測速方法有M法、T法、M/T法,但都有一定的不足。為了克服原有方法的不足,設計并實現了一種在較大速度范圍都有良好精度和良好快速性的測速方法。電路采用FPGA實現,測速得到的數據通過PCI總線從設備控制器實現與控制計算機通信。從而根據實際傳輸的需要,簡化了PCI從設備控制器,實現了PCI總線I/O普通讀與猝發讀數據的功能。

關鍵詞:測速; FPGA; PCI; M/T

中圖分類號:TN710-34文獻標識碼:A

文章編號:1004-373X(2010)21-0131-04

Design and Implementation of High Accuracy Tachometer Card Based on FPGA and PCI

LI Xin-an, LI Xiu-juan

(Automation Engineering College, Nanjing University of Aeronautics Astronautics, Nanjing 210016, China)

Abstract: The classical digital tachometer methods contain M method, T method and M/T method, which have some disadvantages. An enhanced method, which has higher accuracy and better rapidity in large velocity range is designed and implemented to overcome the disadvantages of these methods. The electric circuit is achieved by FPGA, and the data of tachometer communicates with the control computer by PCI-slave device controller. According to the actual requirement, the PCI device controller implements the function of I/O operation which includes ordinary read and burst read.

Keywords: tachometer; FPGA; PCI; M/T

0 引 言

增量式碼盤是一種原理簡單,抗干擾能力強,可靠性高,適合于長距離傳輸的位置與速度測量裝置,已成功應用于大量的控制系統中,極大地提高了其位置控制精度。理論上,只要測得碼盤輸出信號的頻率,即可得到被測軸的轉速,并且可以得到比模擬方法更高的測量精度。本文以增量式碼盤為基礎,設計實現一種在較寬速度范圍都有較高精度并且有良好反應速度的速度、位置測量裝置。

利用增量式碼盤的反饋脈沖信號測量速度的典型方法有3種:M法、T法和M/T法。其中,M法是直接計取給定采樣周期內的反饋脈沖數來測量速度的,低速時會因為脈沖數少而影響測速精度;T法是通過測量兩個相鄰反饋脈沖的間隔時間來測量速度的,高速時則因為脈沖間隔短而導致精度不高;M/T法結合了前兩種方法的優點,在大致相等的采樣間隔內,計取Cm個反饋脈沖,并同時計取這Cm個反饋脈沖間隔內插入的高頻時標信號數Cf,經計算得到速度測量值。M/T法雖然克服了前兩種方法的缺點,但仍存在低速時采樣時機不確定,精度不高等問題,這給定周期采樣的數字伺服控制系統帶來很大的不便,所以又出現了變M/T法等方法,以進一步改善M/T法的性能和實用性[1-2]。

本文利用FPGA實現了一種改進的M/T法,克服經典M/T法的不足,其測速電路與控制器間的數據接口形式有PCI總線和雙端口RAM,便于在高性能控制系統中使用。

1 總體方案

根據控制系統的實際情況,所設計的測速板具有位置測量和速度測量功能,如圖1所示,由倍頻辨向模塊、改進M/T法測速模塊、PCI從設備控制器三個部分組成。

圖1 總體設計方案

1.1 倍頻辨向

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

圖2 增量式碼盤輸出

A,B之間的相位關系標志被測軸的轉向,即當正轉時A相超前B相90°,反轉時B相超前A相90°。對于每個確定的碼盤,其脈沖周期T對應的碼盤角位移固定為θ,故其量化誤差為θ/2 。如果能將A,B信號四倍頻,則計數脈沖的周期將減小到T/4,量化誤差下降為θ/8,從而使增量式碼盤的角位移測量精度提高4倍。從圖2可知,根據A,B兩方波信號之間相位關系的4次變化,即可產生四倍頻信號和辨向信號,這樣就可以實現增量式碼盤測量精度的提高[3]。

1.2 改進的M/T測速算法

圖3展示了改進M/T法的電路原理,這是實現高精度的硬件基礎。圖4為改進M/T法的時序圖。

圖3 改進M/T法電路原理圖

圖4 改進M/T法時序圖

對圖3及其時序圖4的分析可以看出:本測速電路在每個反饋脈沖時鎖存高頻時鐘的計數值,兩個采樣周期間的高頻時標增量值Ct實際表示為T2前一個反饋脈沖上升沿到T4前一個反饋脈沖上升沿的高頻時標增量,而在采樣周期內每個反饋脈沖到來都對反饋脈沖計數器計數,兩個采樣脈沖采得反饋脈沖增量值Cm實際表示為T1~T3之間的反饋脈沖增量值,位置的反饋脈沖增量值

Cm′則是在Cm的基礎上考慮方向得到的,那么結合32位浮點運算,這種測速方法就解決了采樣時機不確定的缺點。

根據上述分析,通過差分處理就可得到當前實際采樣間隔內的反饋脈沖增量值Cm和高頻時標增量值Ct:

Cm=Cm(n)-Cm(n-1)

Ct=Ct(n)-Ct(n-1)

這樣得到的速度是當前實際采樣間隔內的平均速度:

Vn=KRf0Cm/Ct

式中:KR為反饋信號脈沖當量;f0為高頻時標頻率。

在實際采樣點T2處,高頻時標信號f0的邊沿不能總與反饋脈沖信號plus的邊沿保持一致,因而會產生±1個高頻時標當量的計數誤差,從而影響這種測速算法的測速精度。因此高精度數字測速算法的測速相對誤差為:

εv=v-v′v=kRf0Cm/Ct-kRf0Cm/(Ct±1)kRf0Cm/Ct=1f0T

動態位置算法不僅關注已經發生的反饋脈沖數量,也關注反饋脈沖的發生時刻,其硬件基礎是依據圖3所示邏輯電路的。根據當前有效采樣周期的定周期采樣點和實際采樣點之間的時間差:

ΔT(n)=(Ct′(n)-Ct(n))/f0

并根據改進的M/T法得到被測對象的平均速度vn,由vn和ΔTn相乘就可以計算出時間差ΔT(n)中所包含的動態位置信息,因此由當前有效采樣周期內的增量式高精度動態位置信息可以得出位置量:

Pn=kRCm′+vnΔTn-vn-1ΔTn-1

可根據這種方法完成測位置的功能[4-6]。

2 各個模塊VHDL實現

根據圖1的總體設計方案,使用VHDL語言設計實現如下幾個模塊。

2.1 倍頻辨向模塊

為便于使用VHDL語言描述,對圖2的碼盤信號作如下分析:

(1) 當碼盤正轉時,在一個周期T內,A,B兩相信號共有4次相對變化:00→10→11→01。這樣,根據前一次和當前的信號,就可以判斷方向,并產生四倍頻脈沖。

(2) 同理當碼盤反轉時,也根據A,B兩相信號的4次相對變化:00→01→11→10,可以判斷方向,并產生四倍頻脈沖信號。

(3) 當線路受到干擾或出現故障時,則可能出現其他狀態轉換過程,此時不產生脈沖。

根據上述分析就可以設計出測速辨向模塊,當判斷正轉時,把方向輸出置‘1’,反向時置‘0’。

2.2 改進M/T法測速模塊

如圖3所示可以看出,本部分的VHDL設計分成兩個模塊:計數器模塊與鎖存器模塊。

其中,計數器模塊分為兩種:高頻時標計數器和反饋脈沖計數器。高頻時標計數器在每個高頻時標的上升沿都做+1計數,在每個反饋脈沖的上升沿對計數值鎖存。反饋脈沖計數器,需要兩個輸出:反饋脈沖計數值Cm、位置反饋脈沖計數值Cm′。其中,Cm的增量值用于速度的計算,所以在每一個反饋脈沖到來時,計數器都+1;Cm′的計數值用于位置的計算,所以它是在Cm的基礎上考慮了碼盤方向得到的計數值,在正轉時反饋脈沖計數器+1,反轉時-1,當零位脈沖Z有效時,對其置0。然后分別輸出Cm,Cm′,由此就可以得到反饋脈沖計數器模塊。

在每個采樣周期的上升沿還要鎖存Cm,Ct的增量值和Ct′與Ct的差值,由于都做了差分處理,所以這三個鎖存器使用雙字就能滿足設計要求,而Cm′鎖存器在零位信號Z后不進行差分處理,若采用36 000刻增量式碼盤,并進行10 000倍頻,位置范圍為±720°,那么需要的最大計數值為:

(36 000×10 000×720×2)/360=1 440 000 000

可見,雙字鎖存器也能滿足設計要求。

綜上所述,本設計設置了4個雙字信號鎖存器Cm,Cm′,Ct,Ct′,同時還需要對其控制輸出,所以在PCI從設備控制器中為I/O分配4個雙字的地址空間。然后根據PCI總線給出的地址信號PCI_AD[3:2]和數據輸出使能信號DATA_EN對這4個雙字寄存器尋址輸出[2,7]。

2.3 PCI接口控制器

PCI的時序規則和PCI的總線協議由PCI接口控制器實現,同時它還負責傳遞地址和數據輸出使能信號給測速模塊,實現I/O口的基本讀與猝發讀數據功能。

從設備控制器包括2個部分:奇偶校驗模塊和PCI從設備狀態機。

2.3.1 奇偶校驗模塊

PCI的奇偶校驗提供了一種機制來決定一件作業。該作業判斷主設備是否成功地尋址相應的從設備,且數據是否正確地在它們之間傳輸。通過該模塊完成數據傳輸過程中PCI_AD和PCI_CBE的偶校驗。偶校驗的輸出信號在地址和數據周期有效,其產生的規則是使偶校驗輸出、PCI_CBE、PCI_AD各位的‘1’的個數為偶數。那么采用把PCI_AD與PCI_CBE各位異或的方法,就可以實現偶校驗的功能。

2.3.2 PCI從設備狀態機

PCI從設備控制器是PCI接口設計的核心模塊,按功能來說,它要產生奇偶校驗和數據的使能信號,并根據PCI_AD和PCI_CBE產生讀地址,完成主從設備的握手信號,并且實現從設備狀態機在各個狀態之間的轉換。

由于本設計只需要完成I/O讀操作,本狀態機設計配置空間的功能放在了從設備控制器來完成,同時刪去了PCI操作中對存儲器空間、配置空間的操作,結合PCI總線的傳輸時序,如圖5給出了其基本結構。

(1) 空閑狀態為PCI從設備的初始狀態,在沒有任何操作的時候,PCI從設備將始終保持這個狀態;

(2) 每次數據傳輸時首先傳出地址和命令字,根據地址和命令字確定是不是對本設備的訪問,并確定訪問的首地址;從設備則從命令字中識別該訪問是讀操作還是寫操作;

(3) 讀訪問只有在信號IRDY,TRDY,DEVSEL都為低狀態時才能進行;

(4) 猝發傳輸需要通過地址遞增邏輯來實現地址的自動遞加,其地址遞增的周期為數據周期和最后傳輸周期總和,在等待周期暫停遞增;

(5) 主從設備中任一方沒有準備好,操作中都需要能夠引起等待狀態插入的活動;

(6) 讀操作還有一個中間準備過程[8-10]。

圖5 讀狀態機結構

那么完成本狀態機需要6個狀態:idle表示空閑狀態;addr表示地址周期;turnad表示讀轉換周期;data表示數據傳輸周期;lasttra表示最后傳輸周期;wait表示等待周期;在各個狀態到來時還要對中間信號、輸出信號和本地信號執行相應的操作:

(1) idle,addr,turnad周期對PCI_TRDYn和PCI_DEVSELn置高電平;addr周期依據地址信號確定是否選中本機,識別是否為讀操作;addr周期輸出PCI_AD[3:2]對寄存器進行尋址,實現讀操作。

(2) data,lasttra周期對PCI_TRDYn和PCI_DEVSELn置低電平;data,lasttra周期置DATA_EN有效并輸出。

(3) addr,data,lasttra周期置奇偶校驗有效。

(4) 等待周期置PCI_TRDYn和PCI_DEVSELn低電平。

根據對PCI總線傳輸時序的分析,影響各個狀態相互轉化的因素是:幀同步信號PCI_FRAMEn、主設備準備好信號PCI_IRDYn、讀識別信號READn。其中,READn用來標識狀態addr產生的中間識別信號。

3 測試平臺與仿真測試

這種改進M/T數字測速及位置檢測算法的硬件采用Xilinx公司的FPGA XC3S400。使用36 000刻的增量式碼盤,速度環采樣周期T設定為1 ms,高頻時標信號的頻率為40 MHz,結合PC運算的數字測速算法可以在速度0.001~150(°)/s的范圍內獲得±2.5×10-5 s的測速精度。與此同時,高精度動態位置檢測算法可以使位置反饋的動態測量分辨率提高到10-2~10-5個脈沖當量。

對編寫好的VHDL程序采用ISE進行綜合,并編寫測試平臺,用ModelSim對其進行仿真測試。圖6為PCI控制器的仿真圖,圖中state表示狀態機在內部轉換的過程,狀態1表示空閑狀態,狀態2表示地址周期,狀態4表示讀轉換周期,狀態8表示最后傳輸周期,狀態9表示猝發讀寫周期。

圖6 I/O讀操作

該I/O讀操作,將地址為1的寄存器讀出。這里設定I/O地址為0X200~0X20F這4個雙字空間,那么在地址周期中地址0X204的2~3位尋址于寄存器的第一個雙字,其后緊跟的是讀的轉換周期,猝發讀寫周期和最后一位讀寫周期。可以看出,這兩個周期都對這個寄存器進行了讀操作。

4 結 語

本文介紹了使用FPGA設計和實現基于PCI總線傳輸的改進型M/T法測速電路,它克服了經典測速方法的幾個缺點,在較大速度范圍內都具有良好的精度。同時使用FPGA設計和實現了PCI從設備控制器,使得測速電路的設計與PCI總線的設計成為一個整體,節省了板上器件,也使得整個設計信號在FPGA內部流動,具有更加良好的抗干擾能力和穩定性。

參考文獻

[1]趙巖.編碼器測速方法的研究[D].長春:中國科學院長春光學精密機械與物理研究所,2002.

[2]何勇,范永坤,王濤,等.基于FPGA的增量式光電編碼器計數電路設計[J].儀器儀表用戶,2008,15(3):90-92.

[3]韓壯志,李偉王,田苗,等.光電碼盤四倍頻分析[J].自動化與儀器儀表,2000(12):38-40.

[4]石忠東,陳培正,陳定積,等.高精度數字測速及動態位置檢測算法[J].清華大學學報,2004,44(8):1021-1024.

[5]KAVANAGH Richard C. An enhanced constant sample-time digital tachometer through oversampling[J]. Transactions of the Institute of Measurement and Control, 2004, 26(2):83-98.

[6]LORENZ R D. High-resolution velocity estimation for all-digital, AC servo drives [J]. IEEE Trans. Industry Applications, 1991, 27(4): 701-705.

[7]李勇,艾竹君,史亞彬,等.基于FPGA的脈沖信號發生器的設計[J].低溫與超導,2006,34(6):478-480.

[8]王麗媛.基于FPGA的PCI總線接口控制器的設計[D].南京:南京航空航天大學,2008.

[9]怯肇乾.簡易通用型PCI接口的VHDL-CPLD設計[J].國外電子元器件,2003(11):57-61.

[10]PCI Special Interest Group. PCI local bus specification[S]. [2008-12-09]. http://www.elecfans.com.

[11]孫紹功,張文明,劉兆甲,等.基于CPLD的電機數字測速及顯示[J].大電機技術,2009(1):64-66.

作者簡介: 李新安 男,1986年出生,江西貴溪人,在讀研究生。主要研究方向為信號檢測與控制技術。

主站蜘蛛池模板: 久久精品无码专区免费| 国产一区亚洲一区| 欧美啪啪网| 欧美日韩精品一区二区视频| 亚洲欧美天堂网| 99在线视频网站| 国产真实乱子伦视频播放| 色婷婷成人网| 亚洲美女一级毛片| 亚洲天堂免费观看| 亚洲伊人久久精品影院| 国产精品大白天新婚身材| 97se亚洲综合不卡| 国产精品大尺度尺度视频| 青青极品在线| 97久久精品人人| 欧美日韩国产在线播放| 国产xx在线观看| 中文字幕亚洲综久久2021| 国产丝袜精品| 97国产精品视频自在拍| 国产成人综合在线视频| 国产精品亚洲片在线va| 久久婷婷五月综合色一区二区| 在线观看亚洲国产| 欧美有码在线观看| 国产高清精品在线91| 亚洲精品欧美日韩在线| 亚洲中文字幕精品| 无码一区中文字幕| 日本精品视频一区二区| 1769国产精品免费视频| 国产黄网永久免费| 精品综合久久久久久97超人该| 狠狠色香婷婷久久亚洲精品| 拍国产真实乱人偷精品| 国产福利观看| 综合色在线| 女人爽到高潮免费视频大全| 亚洲成人在线网| 91久久精品国产| 视频二区中文无码| 久久午夜夜伦鲁鲁片无码免费| 国产区在线观看视频| 日韩精品无码免费一区二区三区| 亚洲专区一区二区在线观看| 99草精品视频| 成年免费在线观看| 99re在线免费视频| 一区二区三区成人| 国产一二视频| 亚洲最新地址| 精品成人一区二区| 亚洲一区二区三区国产精品 | 国产精品人莉莉成在线播放| 亚洲天堂网在线观看视频| 亚洲欧洲综合| 乱色熟女综合一区二区| 色综合狠狠操| 久久婷婷五月综合97色| 国产XXXX做受性欧美88| 91视频99| 日韩欧美国产成人| 国产成人高精品免费视频| 亚洲国产欧美国产综合久久| 国产精品男人的天堂| 小说 亚洲 无码 精品| 免费播放毛片| 免费一级毛片| 67194在线午夜亚洲| 国产一区二区三区免费观看| 91 九色视频丝袜| 伊人久久久久久久久久| 人妻少妇久久久久久97人妻| 国产亚洲精品在天天在线麻豆 | 亚洲天堂在线免费| 黄色福利在线| 综合五月天网| 国产第一页屁屁影院| 久久99精品久久久久纯品| 久久semm亚洲国产| 99视频全部免费|