亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 網絡通信 > 正文

基于CPLD多通道編碼器數據采集系統

2019-11-03 09:03:46
字體:
來源:轉載
供稿:網友

賀勝洪 錢雪軍
同濟大學電氣工程系上海,200331


  摘 要:本文提出了采用Xilinx公司生產的CPLD來對多通道旋轉編碼器進行數據采集的方法,著重介紹了系統的軟硬件設計和驅動程序開發,以及實際應用情況,得出了用CPLD技術為多通道編碼器進行數據采集這樣一種切實可行的方法。

  關鍵詞:旋轉編碼器 CPLD 數據采集

  概述

  旋轉編碼器是一種測量旋轉角度的測量器件,通常采用兩個相位差90度的方波編碼方式,其旋轉方向由兩個波形的相位差決定。當輸出波形A超前于輸出波形B如圖1,則可認為是正方向旋轉,反之,若輸出波形A滯后于輸出波形B如圖2,則可認為是反方向旋轉,當旋轉方向發生變化時,其輸出信號產生鏡像翻轉如圖3。







  編碼器的精度由旋轉一周產生方波數決定,當旋轉一周可產生2000個方波時,每一個方波周期表示為360°/2000。但為了提高旋轉編碼器的測量精度,系統將A、B兩相的各個沿進行了計數,從而將測量精度提高了四倍,相當于最小的測量角度為360°/8000。

  旋轉編碼器廣泛應用于旋轉角度的測量,以及可以將各種參數角度化的參數的測量,通過與各種機械結構的組合,可以測量多種物體的邊緣形狀、各種機械裝置的結構偏差等。

  本論文主要根據旋轉編碼的輸出信號特點,提出了采用CPLD技術,來完成6個旋轉編碼器信號測量,采用CPLD技術,設計適合于PC機的數據采集卡的硬件以及軟件,并給出了實際調試及應用結果。

  1數據采集系統的硬件設計

  1.1系統結構

  數據采集系統由旋轉編碼器信號接口、光電隔離和信號校正、編碼計數以及PC接口組成,系統結構如圖4。旋轉編碼器信號接口將旋轉編碼器的信號通過一定的接插件引入到采集卡中,隨后通過光電隔離與信號校正,送入到由CPLD器件實現的編碼器計數。宿主機通過ISA總線來對編碼器的計數進行控制與讀取。



  1.2光電隔離和信號校正

  旋轉編碼器的控制電源可以在較大范圍內變化使用,為了確保系統的安全可靠,必須進行光電隔離。

  由于旋轉編碼器的輸出信號頻率達100kHz,所以應選用高速的光電隔離器件,如具有1M數據速率的4N135/136,或10M數據速率的4N137等。同時為了防止噪聲引起的信號抖動,應采用斯密特觸發器進行抗抖和信號校正。

  1.3編碼器計數

  編碼器計數由CPLD器件來完成。CPLD是復雜可編程邏輯器件的簡稱。系統選用Xilinx生產的XC9500系列CPLD,它是一種Flash編程型的可編程邏輯器件。該產品采用先進的FastFLASH技術,該技術采用一個雙層的多晶硅、兩層金屬技術,可提供高達10000次以上的編程/擦寫壽命周期,和傳統存儲技術EPROM和E2PROM相比有著明顯的優勢。采用EPROM存儲技術雖可提供優良存儲器單元且功耗較低,但它不可電擦除;采用E2PROM技術雖可電擦除,但需要較大的存儲器。而CPLD的FastFLASH技術是對EPROM技術的電擦除擴展。

  和普通的可編程邏輯器件相比,CPLD具有以下優點:操作靈活、使用方便;高性能的邏輯能力;存儲元胞密度高;可靠性高;開發迅速;經久耐用;能實行電擦除;能為器件提供快速編程;采用ISP(系統同編程)技術。

  XC9500系列中可供選用的片子有多種,從旋轉編碼器的測量、片子宏單元的多少以及調試的方便,系統最終選用了XC95108PC84。

  XC95108的機械特性和電氣特性如下:宏單元數為108個;最大端口數為108個;引腳至引腳延時7.5ns;系統頻率為83.3MHz;支持單個OE(輸出使能)控制;支持JTAG(IEEE邊界掃描標準1149.1)協議。特別值得一提的是,XC95108采用了ISP技術。因此,對器件進行編程不再需要硬件編程器。只要一根下載電纜通過下載軟件與元件的編程接口連接即可實現。并且,無論產品處在設計或制造的哪個環節,還是產品已提交給用戶以后,都可以改寫器件的邏輯功能,也就是可以通過軟件對硬件進行升級。

  六個通道的旋轉編碼器計數由兩個XC95108完成,每個XC95108完成三個編碼器通道的編碼計數以及相關控制命令的接受和計數值的輸出,其大致功能可由圖5表示。



  1.4PC機接口

  六個通道的編碼器信號通過光電隔離和信號較正送入兩片XC95108后,XC95108分別對三個通道的計數信號進行正反相計數,其計數結果分別存放在不同的寄存器中,供宿主機PC讀取。根據設計的實際需要,PC機接口采用ISA總線。

  PC機接口要完成對ISA總線的地址譯碼,數據的緩沖和數據的雙向傳送(控制命令發送和編碼器計數值的讀取)。所有的這些功能同樣由一片CPLD器件(同樣選擇XC95108)完成,其主要功能可由圖6表示。



  2CPLD功能實現

  系統采用3片XC95108分別實現6個通道旋轉編碼器的編碼計數以及與PC計算機的接口。這里主要介紹一個通道的編碼計數實現。CPLD功能實現根據支持軟件的不同可選擇采用原理圖方式、VHDL編程以及兩者混合使用三種模式,本系統設計采用VHDL語言編程方式。

  為了確保旋轉編碼器的編碼精度,采用對輸出信號A、B的各沿進行編碼計數方式,這意味著要提取輸出信號A、B的各個跳變,圖7是一種跳變檢測電路的原理圖,相對應的VHDL編程如下。







  根據A,B變化前后的狀態,可以得到旋轉方向、變即計數器計數方向Dire。從而可以有下列計數程序。



  這樣就實現了一個通道的編碼計數。

  3系統的控制軟件設計

  3.1虛擬設備驅動程序

  應用系統要使用該采集卡,必須要有相應的軟件支持,這各支持可以是直接將復雜的控制方式告訴用戶,讓用戶直接對該卡操作,這樣大大增加了程序的復雜性,也可以采用動態連接庫的方式,這里該系統提供了虛擬設備驅動程序的接口方式。

  對于不同的工作平臺,可以有不同的設備驅動程序模型,對于Windows9x可以為VxD,對于Windows2000為WDM,對于Windows98既可以是VxD,也可以是WDM。而編寫的方式和借助的工具也各不相同。對于編寫VxD可以借助于VtoolsD,對于編寫WDM可以借助于DriverWorks,或者直接用Microsoft DDK(Windows9x和Windows2000均可)?,F以編寫VxD為例,簡述本系統的虛擬設備驅動程序的編寫。

  VxD是Vixtual x Device的簡寫,此處x表示Something。但VxD的功能遠非僅僅虛擬某個硬件設備。有些VxD確實用來虛擬設備,而有些雖然用作驅動程序,卻并不虛擬任何設備。而另外有些VxD只是給其他應用程序或VxD提供服務。不管如何,它的作用在于對Windows操作系統的功能進行擴展。開發VxD常用的方法是用匯編語言,或者用匯編語言和C語言混合編程,而本設計借助于Compuware推出的VtoolsD,從編寫、編譯VxD到應用程序調用VxD都不涉及匯編語言,直接用C++語言來實現。思路如下:

  (1)運用VtoolsD的QuickVxd,快速生成VxD基本框架。在“Device Parameters”欄填上VxD的名稱(要遵循C語言規則),本研究中設為SJCJ。為了能將該軟件動態加載,注意選中Dynamically Loadable。對VxD有動態加載和靜態加載方法。動態加載是由應用程序或別的VxD來加載,而靜態加載是在Windows初始化時加載,直至Windows結束運行時才卸載。如果VxD(如本例)是為某些特定應用程序服務,則最好不要靜態加載,因為當應用程序不調用它時,它所占的那部分內存就浪費了。為了能向Win32應用程序提供服務,控制消息W32-DEVICEIOCONTROL應選中。在“Output Files”欄選擇輸出地址目錄,輸出SJCJ.h文件、SJCJ.cpp文件和SJCJ.mak文件。

  (2)根據需要在SJCJ.h和SJCJ.cpp添加相應的類和函數(SJCJ.mak用來指導編譯程序對源程序進行編譯,不要變更),其添加規則與C++的規則完全一樣。本程序所要實現的是要對某個指定的I/O端口進行完全監視,并且采集相關數據,所以另外添加了一些與相關的類和函數。

  3.2應用程序對VxD的調用

  按照傳統方法,調用VxD一般要用匯編語言,但通過W32-DEVICEIOCONTROL控制消息,可以實現Win32API對VxD的直接調用。剛才在Quick Vxd中已將該消息選中,系統就會自動加載Virtual DWord OnW32DeviceIoControl函數,該函數用來處理Win32API的調用問題。換言之,當Win32應用程序加載VxD、調用W32 DeviceIocontrol API以及卸載VxD時,將觸發函數OnW32DeviceIoControl,從而實現數據的交換。Win32應用程序通過調用函數CreateFile可以調用SJCJ.VxD;通過調用函數CloseHandle可以卸載SJCJ.VxD。

  4調試結果

  多通道旋轉編碼器數據采集系統完成后,先后在不同的系統中進行了應用測試,取得了較好的實際效果。下面該系統應用于“具有交叉支撐的三大件轉向架的平面形位偏差”測試為例作簡要說明。

  鐵路車輛應用具有交叉支撐的三大件轉向架后,左右側架被彈性固定。由于各種因素,不可能使左右側架完全正位。從而使實際導框的中心與名義中心不一致。雖然輪對的承載鞍與導框間有間隙,但由于摩擦力巨大,輪對不能輕易活動,導框的實際中心的偏差會造成輪對的平均(統計概率)定位中心的偏差。研究表明這種偏差會不同程序地影響車輛的線路上的運行狀態,引起轉向架的不對稱磨耗,實際情況下我們用軸距偏差、對角線偏差等來控制轉向架的正位狀態。

  為此采用機械結構結合多個旋轉編碼器來測量軸距偏差、對角線偏差等來控制轉向架的正位狀態。

  為此采用機械結構結合多個旋轉編碼器來測量軸距偏差、對角線偏差,從而保證將這些偏差控制在一定范圍內,減少轉向架的不對稱磨耗。該系統選用10個日本光洋公司出產的旋轉編碼器TRD-N-RZ2000,旋轉一周能產生2000個方波,而且最大的響應頻率達到100kHz。該系統用兩塊多通道旋轉編碼器數據采集卡,同時采集10個計數值。使用表明,可以很好的實現系統的要求,采集數據誤差為±1,即測量精度為360°/8000。

  5結論

  采用CPLD技術來實現多通道編碼器數據采集系統是切實可行的,由于采用了ISP和JTAG技術,修改和編程都很方便,所以通過對程序的修改,可以使該數據采集系統適合于多種編程方式的編碼器,從而使該系統的應用場合更加廣泛。

  參考文獻

  1朱明程.XILINX數字系統現場集成技術.南京:東南大學出版社

  2徐志軍等.CPLD/FPGA的開發與應用.北京:電子工業出版社

  3楊全勝等.現代微機原理與接口技術.北京:電子工業出版社

  4KAREN HAZZAH.Writing Windows VxDs and Device Driver,孫喜明譯.北京:中國電力出版社

  5楊強,李堂秋.Win9x虛擬設備驅動程序編程指南.北京:清華大學出版社

  
摘自 自動化與儀器儀表
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久9999| 亚洲欧美日韩精品久久亚洲区| 久久伊人色综合| 97香蕉超级碰碰久久免费的优势| 成人a在线观看| 91丝袜美腿美女视频网站| 日韩电影中文字幕在线| 色综合五月天导航| 91在线观看免费高清| 日韩欧美中文第一页| 亚洲bt天天射| 欧美性xxxxx极品娇小| 久久久精品一区二区三区| 91av福利视频| 色爱精品视频一区| 中文字幕精品一区久久久久| 中文字幕日韩高清| 国产午夜精品久久久| 亚洲国产成人精品久久久国产成人一区| 精品小视频在线| 欧美日本高清视频| 欧美猛交ⅹxxx乱大交视频| xxav国产精品美女主播| 亚洲第一中文字幕在线观看| 亚洲免费视频网站| 91成人福利在线| 在线成人免费网站| 精品久久久久久久久久ntr影视| 久久精品美女视频网站| 国产97在线观看| 久久精品色欧美aⅴ一区二区| 中文字幕在线亚洲| 欧美中文字幕在线| 亚洲sss综合天堂久久| 国产精品毛片a∨一区二区三区|国| 久久久久国产一区二区三区| 高清欧美性猛交xxxx黑人猛交| 最新的欧美黄色| 欧美激情一区二区三区高清视频| 亚洲视频在线免费看| 欧美精品久久久久久久久久| 亚洲欧美日韩国产成人| 亚洲天堂免费视频| 亚洲欧美国产精品久久久久久久| 2018国产精品视频| 国产suv精品一区二区| 91九色精品视频| 亚洲国产小视频在线观看| 久久久av网站| 91色在线观看| 日韩欧美亚洲范冰冰与中字| 亚洲成在人线av| 北条麻妃一区二区三区中文字幕| 国产v综合v亚洲欧美久久| 欧美乱妇高清无乱码| 91理论片午午论夜理片久久| 国产精品成人观看视频国产奇米| 2019亚洲男人天堂| 欧美视频二区36p| 欧美日韩午夜视频在线观看| 欧美孕妇与黑人孕交| 中国人与牲禽动交精品| 国产视频999| 久久精品国产亚洲7777| 精品毛片三在线观看| 久久久久久久999精品视频| 亚洲性无码av在线| 国产精品久久久久77777| 久久夜色撩人精品| 亚洲国产精品国自产拍av秋霞| 免费97视频在线精品国自产拍| 国产精品精品国产| 欧美精品videosex极品1| 久久精品美女视频网站| 久久久久久中文字幕| 久久久欧美一区二区| 久久久国产一区二区| 日韩免费中文字幕| 日韩在线观看免费av| 亚洲国产小视频| 亚洲第一av网| 国产在线播放91| 精品国产鲁一鲁一区二区张丽| 俺去了亚洲欧美日韩| 欧美丝袜第一区| 久久99热精品这里久久精品| 亚洲免费精彩视频| 色综合久久精品亚洲国产| 国产精品亚洲视频在线观看| 中文字幕亚洲无线码在线一区| 久久这里有精品| 日韩成人网免费视频| 国产精品极品美女粉嫩高清在线| 亚洲男人天堂2019| 2019中文字幕在线观看| 青青草国产精品一区二区| 欧美影院成年免费版| 欧美日韩国产精品一区二区不卡中文| 欧美精品久久久久久久| 国产丝袜一区二区三区免费视频| 成人免费高清完整版在线观看| 日韩av在线免费观看| 日本高清视频精品| 在线观看欧美日韩国产| www.欧美精品一二三区| 免费91麻豆精品国产自产在线观看| 成人在线国产精品| 亚洲第一精品夜夜躁人人躁| 欧美日韩美女视频| 欧美精品免费看| 中文字幕在线观看日韩| www.xxxx精品| 国产成人精品国内自产拍免费看| 中文字幕在线精品| 日本在线精品视频| 国产精品一区久久久| 国产精品福利在线| 欧美日本精品在线| 91九色单男在线观看| 日韩不卡中文字幕| 国产视频自拍一区| 亚洲精品理论电影| 亚州成人av在线| 爽爽爽爽爽爽爽成人免费观看| 亚洲自拍小视频免费观看| 成人亚洲综合色就1024| 岛国av一区二区在线在线观看| 久久天堂av综合合色| 疯狂做受xxxx欧美肥白少妇| 国产专区精品视频| 欧美色视频日本版| 97免费视频在线播放| 亚洲国产精品成人va在线观看| 在线亚洲国产精品网| 久久香蕉精品香蕉| 亚洲精品在线看| 亚洲午夜久久久久久久| 亚洲jizzjizz日本少妇| 亚洲欧美色婷婷| 欧美日韩在线免费| 日本亚洲欧洲色α| 2019中文字幕全在线观看| 亚洲精品国产精品乱码不99按摩| 成人精品久久av网站| 成人久久久久久| 92国产精品久久久久首页| 亚洲日韩中文字幕| 日本精品va在线观看| 国产亚洲人成a一在线v站| 国产精品入口免费视| 最好看的2019的中文字幕视频| 精品久久中文字幕| 日本伊人精品一区二区三区介绍| 色婷婷**av毛片一区| 2019日本中文字幕| 久久综合久久美利坚合众国| 成人网欧美在线视频| 国产精品毛片a∨一区二区三区|国| 日韩毛片在线看| 国产欧美久久一区二区| 国产香蕉一区二区三区在线视频| 国产不卡av在线免费观看| 久久免费视频在线观看| 亚洲free性xxxx护士白浆|