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

基于Verilog HDL的一種絕對值編碼器實時讀出算法*

2013-08-15 02:02:46顧海峰李范鳴
網絡安全與數據管理 2013年3期

岳 振,顧海峰,李范鳴

(中國科學院上海技術物理研究所,上海 200083)

光電編碼器是通過光電轉換將輸出軸上的機械幾何位移量轉換成一串脈沖或數字量的傳感器。在電機伺服控制系統中,它與電機同軸連接,常用來測量電機轉子的速度和位置[1]。近年來,隨著研究室小批量軍工生產的開展,需要批量采購部分絕對值編碼器等外協器件。為方便檢驗采購的編碼器,保障生產任務的按時完成,設計了一個單圈絕對值編碼器實時讀出電路板,其結構如圖1所示。基于此電路板,開發出了一個程序,它能夠實現將絕對值編碼器的數據讀入FPGA,并將數據轉換為角度值,最終驅動液晶顯示屏實時輸出角度值。這使得不需要將編碼器數據輸入到計算機就可以處理轉化為角度值,使用更加方便。程序中用到了線性變換思想,可以應用到其他程序中。電路板中用到的絕對值編碼器是BEI-IDEACOD公司的CHO5系列。液晶顯示屏為3.3 V供電的 1602型 LCD,FPGA采用的是 Xilinx的 Spartan-6系列。

圖1 電路板結構圖

1 數據讀入及去抖動

本文所采用的絕對值編碼器是BEI-IDEACOD公司的CHO5系列,它采用并行輸出模式,有13 bit數據(Data[0]~Data[12]),讀出速度快。由于電動機的旋轉或機械設備的震動,會使編碼器輸出脈沖抖動[2],因此首先對編碼器脈沖進行了去抖動處理。下面的程序實現了數據讀入,并在去抖動后被鎖存在Gray_data中。

2 二進制格雷碼轉普通格雷碼

上面得到數據Gray_data還是格雷碼,因為絕對值編碼器(并行輸出)采用的是格雷碼二進制輸出。格雷碼的特點是任意兩個相鄰位其輸出格雷碼值只有一位不同[3],這提高了數據輸出的穩定性。假設二進制格雷碼為Gn-1Gn-2…G2G1G0, 其所對應的普通二進制為Bn-1Bn-2…B2B1B0。那么它們最高位之間的對應關系如式(1)所示,其他各位的對應關系如式(2)所示。

根據式(1)和式(2),格雷碼二進制轉化為普通二進制的Verilog HDL代碼如下:

該程序實現了由格雷碼二進制Gray_data向普通二進制Binary_data的轉換。

3 將二進制轉為角度值

絕對值編碼器的最小精度是由最低位決定的。因為所用的絕對值器是13 bit數據輸出,絕對值編碼器的最低位為1時,對應的角度值如式(3)所示:

因此,絕對值編碼器的最小精度為min=0.043945312 5°。也就是說二進制編碼每加1,度數就應該增加0.0439453125°。為方便在Verilog HDL中進行處理,對這種十進制數進行一個線性變換,將其最小精度值對應二進制min_degree=2′b000000000000011010001100011000010111000101, 其實就是十進制數439 453 125對應的二進制數。相對于編碼器輸出的二進制數,將這個二進制數稱為編碼二進制。這樣就對每一個編碼器輸出的13 bit二進制進行了一個線性變化,轉化為對應的編碼二進制Now_degree。其對應關系如式(4)所示,其中的“<<”是左移位運算符。

為了得出在每一數據位(百位、十位、一直到小數點后10位)上需要輸出什么數據,需要求出每個數據位權值(即次位數據為1時的值)對應的編碼二進制,數據位權值對應的編碼二進制如表 1所示。其中Decimal10_degree指的是小數點后第10位權值所對應的編碼二進制,以此類推,Hundred_degree是百位上權值所對應的編碼二進制。

表1 各數據位對應的編碼二進制

通過將Now_degree與各位對應的編碼二進制一一比較,使用狀態機得出具體實現各數據位上的數值:Decimal1Decimal1、Single、Ten、Hundred。 具體 Verilog HDL代碼如下所示:

該程序最終實現了將絕對值編碼器輸出的普通二進制數轉化為角度值。例如,一個普通二進制數0100100110010先通過式(3)運算,轉化為 Now_degree,然后再通過上述代碼就可以被轉化為103447265625(依次為從百位上的值到小數點后第10位上的值)。這樣就得到了角度值 103.447 265 625°。

4 液晶顯示屏驅動

LCD1602是一個16行2列的液晶顯示屏,因為所需要的數據位(算上小數點)總共14位,所以完全滿足角度值輸出要求。LCD1602內置192種字符,顯示字符時,要先輸入顯示字符地址,即告訴模塊在哪里顯示字符[4]。由于只需要顯示角度,因此只需要知道數字0~9和小數點(.)的地址就可以了,如表 2所示。從表 2中可以看出,數字地址的前4位都是0011,而后4位正好是數字的二進制表示,這給編寫驅動液晶屏的編碼帶來了很大方便,可以直接采用類似下面的語句輸出:

Lcd_data<={4′b0011,Hundred};

這樣就將從百位上的值Hundred到小數點后10位上的值Decimal10依次輸到液晶顯示屏上了。其中的Lcd_data是接LCD1602的8 bit數據位。上面并不是程序中的真正代碼,因為液晶顯示屏驅動需要初始化,且需要嚴格時序控制,程序較長,這里就不給出具體代碼了。

表2 數字0~9和小數點(.)在LCD1602中的地址

5 仿真結果

整個代碼的開發、編譯、仿真以及下載到電路板都是通過ISE 12.4實現的,圖2給出了絕對值編碼器輸入的格雷碼二進制是0100100100100時的仿真結果,由于時鐘速率太快,時鐘已經很難看出。

把程序下載到開發板后,程序運行正常,角度值被寫到了液晶顯示屏第一行上,如圖3所示。液晶屏動態刷新顯示,程序中設計每隔900 ns讀入一個字符,讀入16個字符共需0.014 4 ms。顯示所有的8 192個狀態(即旋轉一周)最短需要 117.964 8 ms,因此能夠實現實時顯示。通過檢驗,該系統運行穩定,能夠獲得穩定的角度值輸出。

本文用Verilog HDL設計了一種絕對值編碼器實時讀出程序,仿真和在電路板上的測試表明,該絕對值編碼器運行正常。程序采用模塊化編程,一致性較好。其中,在二進制數轉角度值時用到了線性變換的思想,解決了在用Verilog HDL處理角度值輸出問題。使編碼器數據不傳入計算機也可以得到處理,具有較大實用性。

[1]陳赟,趙興國.基于 PCI總線的單圈絕對式光電軸角編碼器實時數據采集系統 [J].光子學報,2007,36(3):421-424.

[2]夏冬梅,孫林.基于CPLD的增量式旋轉編碼器接口電路模塊設計[J].機械制造與自動化,2009(5):156-157,160.

[3]周政,李菊芬.絕對值編碼器在高爐料車控制中的應用[J].南鋼科技與管理,2006(2):47-48.

[4]于志贛,劉國平,張旭斌.液晶 LCD1602模塊的應用[J].機電技術,2009(3):58-59.

主站蜘蛛池模板: 亚洲精品无码不卡在线播放| 国产欧美又粗又猛又爽老| 最近最新中文字幕在线第一页| 国产网友愉拍精品视频| 成人无码一区二区三区视频在线观看| 久久国产精品影院| 日韩精品成人在线| 女人天堂av免费| 新SSS无码手机在线观看| www.99在线观看| 91精品小视频| 波多野结衣无码中文字幕在线观看一区二区| a天堂视频| 国产精品女人呻吟在线观看| 另类专区亚洲| 中文字幕2区| 乱人伦99久久| 国产一级在线观看www色| 国产va在线观看| 中文字幕欧美成人免费| 久久中文字幕av不卡一区二区| 国产午夜一级毛片| av手机版在线播放| 免费人成网站在线观看欧美| 亚洲侵犯无码网址在线观看| 国产在线观看第二页| 国产亚洲精品97AA片在线播放| 91精品人妻一区二区| 国产一区二区三区夜色| 亚洲成A人V欧美综合| 97国产精品视频自在拍| 亚洲人成网线在线播放va| 久久免费成人| 成人精品在线观看| 手机看片1024久久精品你懂的| 尤物国产在线| 日韩乱码免费一区二区三区| 欧美不卡视频在线| 欧美一区精品| 狠狠综合久久久久综| 日韩无码白| 91精品国产自产在线老师啪l| 国产永久无码观看在线| 国产呦精品一区二区三区网站| 在线观看亚洲天堂| 伊人久久青草青青综合| 国产aⅴ无码专区亚洲av综合网| 狠狠色丁香婷婷| 国产一区成人| 新SSS无码手机在线观看| 国产91麻豆免费观看| 日韩亚洲综合在线| 午夜国产理论| 精品一区二区三区无码视频无码| 国产激情无码一区二区APP| 丰满少妇αⅴ无码区| 色综合a怡红院怡红院首页| 欧美国产日本高清不卡| 亚洲成人免费在线| 在线a视频免费观看| 亚洲VA中文字幕| 国产精品青青| 成人精品亚洲| 91成人在线观看视频| 欧美在线中文字幕| 国产jizz| 亚洲,国产,日韩,综合一区| 国产中文在线亚洲精品官网| 99精品伊人久久久大香线蕉| 婷婷色在线视频| 日日噜噜夜夜狠狠视频| 国产欧美综合在线观看第七页| 美女内射视频WWW网站午夜| 久久久成年黄色视频| 中文字幕日韩视频欧美一区| 午夜一区二区三区| 亚洲人成网站色7777| 老色鬼欧美精品| 91福利免费视频| 在线看片中文字幕| 欧美伦理一区| 日韩小视频在线播放|