《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA 和PCI 的高精度測速板卡的設計與實現
基于FPGA 和PCI 的高精度測速板卡的設計與實現
摘要: 摘要:經典的碼盤數字測速方法有M法、T法、M/T法,但都有一定的不足。為了克服原有方法的不足,設計并實現了一種在較大速度范圍都有良好精度和良好快速性的測速方法。電路采用FPGA實現,測速得到的數據通過
Abstract:
Key words :

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

0 引 言

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

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

本文利用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 次變化,即可產生四倍頻信號和辨向信號,這樣就可以實現增量式碼盤測量精度的提高 。

1. 2 改進的M/ T 測速算法

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

改進M/ T 法電路原理圖

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

改進M/ T 法時序圖

圖4 改進M/ T 法時序圖。

對圖3 及其時序圖4 的分析可以看出: 本測速電路在每個反饋脈沖時鎖存高頻時鐘的計數值,兩個采樣周期間的高頻時標增量值Ct 實際表示為T 2 前一個反饋脈沖上升沿到T4 前一個反饋脈沖上升沿的高頻時標增量,而在采樣周期內每個反饋脈沖到來都對反饋脈沖計數器計數,兩個采樣脈沖采得反饋脈沖增量值Cm 實際表示為T 1 ~ T 3 之間的反饋脈沖增量值,位置的反饋脈沖增量值Cm‘ 則是在C m 的基礎上考慮方向得到的,那么結合32 位浮點運算,這種測速方法就解決了采樣時機不確定的缺點。

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

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

式中: K R 為反饋信號脈沖當量; f 0 為高頻時標頻率。

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

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

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

可根據這種方法完成測位置的功能。

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°,那么需要的最大計數值為:

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

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

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) 讀操作還有一個中間準備過程。

讀狀態機結構

圖5 讀狀態機結構。

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

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

( 2) data,lastt ra 周期對PCI _ T RDYn 和PCI _DEVSELn 置低電平; data,last t ra 周期置DAT A _EN有效并輸出。

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

( 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 表示猝發讀寫周期。

I/ O 讀操作

圖6 I/ O 讀操作。

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

4 結 語

本文介紹了使用FPGA 設計和實現基于PCI 總線傳輸的改進型M/ T 法測速電路,它克服了經典測速方法的幾個缺點,在較大速度范圍內都具有良好的精度。

同時使用FPGA 設計和實現了PCI 從設備控制器,使得測速電路的設計與PCI 總線的設計成為一個整體,節省了板上器件,也使得整個設計信號在FPGA 內部流動,具有更加良好的抗干擾能力和穩定性。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品一区二区三区不| 亚洲精品自在在线观看| 欧美理论大片| 美乳少妇欧美精品| 久久久亚洲欧洲日产国码αv| 亚洲欧美激情精品一区二区| 中日韩美女免费视频网址在线观看| 亚洲精品欧美极品| 亚洲日本va午夜在线影院| 亚洲黄色一区二区三区| 亚洲国产另类久久精品| 亚洲国产成人av| 亚洲国产婷婷综合在线精品 | 香蕉久久一区二区不卡无毒影院 | 国产精品丝袜91| 欧美日韩亚洲高清| 欧美日韩不卡视频| 欧美日韩在线免费视频| 欧美三级黄美女| 欧美深夜福利| 国产精品久久久久毛片大屁完整版| 久久精品电影| 欧美在线亚洲综合一区| 欧美一区二区视频97| 欧美一区日韩一区| 久久精品九九| 亚洲国产视频直播| 亚洲精品一区中文| 一区二区久久| 亚洲在线观看免费视频| 欧美在线播放| 久久人91精品久久久久久不卡| 久久久久看片| 欧美mv日韩mv国产网站app| 欧美激情一区二区久久久| 欧美色图首页| 国产精品揄拍500视频| 国内精品亚洲| 亚洲日本va午夜在线电影| 一本一本a久久| 亚洲欧美在线网| 亚洲韩国日本中文字幕| 亚洲神马久久| 久久不见久久见免费视频1| 久久夜色精品国产欧美乱| 欧美精品一区二区三区一线天视频 | 国产一区二区三区免费观看 | av成人老司机| 小嫩嫩精品导航| 久热精品在线视频| 欧美一区二区免费视频| 亚洲午夜伦理| 欧美专区在线观看一区| 免费观看日韩| 国产精品久久久久久五月尺| 国产一区二区av| 91久久国产综合久久| 亚洲一区高清| 亚洲激情不卡| 亚洲综合99| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美亚洲成人精品| **性色生活片久久毛片| 亚洲视频二区| 亚洲三级免费电影| 欧美一区三区二区在线观看| 欧美激情在线播放| 国产亚洲成精品久久| 亚洲久久一区二区| 欧美一区永久视频免费观看| 一区二区电影免费在线观看| 久久综合狠狠综合久久综青草 | 黄色精品在线看| 亚洲午夜一区二区三区| 亚洲人精品午夜在线观看| 欧美在线视频不卡| 欧美日本韩国| 一区免费在线| 亚洲欧美日韩在线高清直播| 一区二区高清| 欧美xx69| 国产综合久久久久久| 亚洲午夜视频在线| 99一区二区| 老司机久久99久久精品播放免费| 国产精品美腿一区在线看| 最新日韩欧美| 亚洲黑丝一区二区| 久久久久国色av免费观看性色| 国产精品99免费看 | 亚洲精选成人| 国产精品久久久久久久午夜| 美女网站久久| 国产一区二区三区观看| 亚洲图中文字幕| 一本色道久久综合亚洲二区三区| 久久频这里精品99香蕉| 国产欧美一区二区精品性| 在线视频你懂得一区| 夜夜爽www精品| 欧美激情综合五月色丁香| 伊人男人综合视频网| 欧美一区二区三区四区在线观看| 亚洲欧美日韩综合国产aⅴ| 欧美日本在线一区| 91久久久在线| 最近中文字幕mv在线一区二区三区四区| 欧美一区二区黄| 国产精品区二区三区日本| 中文国产一区| 亚洲一区二区三区成人在线视频精品 | 欧美视频在线免费| 亚洲精品一区久久久久久| 亚洲清纯自拍| 欧美a级大片| 亚洲国产成人在线视频| 亚洲国产精品精华液网站| 玖玖综合伊人| 在线观看亚洲a| 亚洲精品乱码久久久久久蜜桃麻豆| 久久亚洲精选| 一区二区在线观看视频| 亚洲福利视频二区| 欧美xx69| 最新高清无码专区| 中文国产成人精品久久一| 欧美亚洲不卡| 亚洲一区观看| 久久精品欧美日韩| 极品av少妇一区二区| 亚洲精品免费一二三区| 欧美精品久久久久久久久老牛影院| 亚洲精品在线三区| 亚洲色图自拍| 国产精品久久久久一区| 午夜免费日韩视频| 久久视频这里只有精品| 国内精品99| 亚洲精品孕妇| 欧美性猛交xxxx乱大交退制版| 午夜精品久久久久久99热软件 | 一区国产精品| 久久爱www| 男男成人高潮片免费网站| 亚洲国产精品国自产拍av秋霞| 亚洲麻豆av| 欧美日韩专区| 亚洲欧美国产77777| 久久久91精品国产| 亚洲福利一区| 亚洲一级一区| 国产视频一区在线观看| 亚洲国语精品自产拍在线观看| 欧美女主播在线| 亚洲影音一区| 久久综合中文色婷婷| 在线成人小视频| 中文成人激情娱乐网| 国产精品一区二区久久久| 欧美一级专区免费大片| 欧美成人免费在线视频| 一本色道久久综合亚洲91| 久久激情五月激情| 亚洲激情亚洲| 亚洲一二区在线| 国产一区二区精品久久99| 亚洲精品国产视频| 国产精品视频你懂的| 久久精品青青大伊人av| 欧美视频一区在线| 欧美综合第一页| 欧美日韩另类综合| 欧美一级一区| 欧美日韩精品综合| 久久精品系列| 国产精品二区二区三区| 欧美专区在线观看| 欧美午夜精品久久久久久孕妇| 欧美在线综合| 欧美日韩精品综合在线| 欧美伊人久久久久久午夜久久久久| 欧美理论在线| 欧美一区二视频| 欧美日韩中文字幕综合视频| 亚洲成人在线视频播放| 麻豆精品在线播放| 亚洲欧美卡通另类91av| 欧美激情麻豆| 欧美一区二区三区视频在线观看| 欧美日韩高清在线播放| 久久精品国产精品亚洲综合| 欧美视频中文字幕| 亚洲国产精品尤物yw在线观看| 国产精品美女诱惑| 亚洲精品一区在线观看| 欧美一级午夜免费电影| 亚洲免费成人av| 美女精品视频一区| 午夜精品久久久| 欧美三级午夜理伦三级中文幕|