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完整版在线观看| 在线看片免费人成视久网下载| 视频一本大道香蕉久在线播放| 国产精品欧美亚洲韩国日本不卡| 啪啪永久免费av| 91年精品国产福利线观看久久| 久久毛片网| 中文字幕 欧美日韩| 色呦呦手机在线精品| 国产嫖妓91东北老熟女久久一| 国产精品色婷婷在线观看| 日本福利视频网站| 99久久无色码中文字幕| 国产制服丝袜无码视频| 国产91蝌蚪窝| 亚洲综合二区| 国产精品尤物在线| 国产真实二区一区在线亚洲| 欧美人与牲动交a欧美精品 | 伊人久久大香线蕉综合影视| 国产凹凸视频在线观看 | 日韩无码白| 九色在线观看视频| 国产一区亚洲一区| 国产综合无码一区二区色蜜蜜| 中文字幕久久亚洲一区| 五月婷婷欧美| 98超碰在线观看| 91尤物国产尤物福利在线| 国产啪在线91| 国产永久在线观看| 播五月综合| 中文字幕亚洲第一| 欧美福利在线播放| 日韩黄色在线| 丁香婷婷激情综合激情| 日韩天堂视频| 91精品国产一区自在线拍| 国产精品七七在线播放| 制服丝袜亚洲| 国产一国产一有一级毛片视频| 青青极品在线| 国产精品成人啪精品视频| 欧美一区二区精品久久久| 99热这里只有精品免费国产| 中文字幕亚洲专区第19页| 欧美视频免费一区二区三区 | 亚洲欧美日韩精品专区| 成人精品在线观看| 国产一区二区精品福利| 亚洲精品无码人妻无码| 无码福利日韩神码福利片| 夜夜操狠狠操| 91麻豆精品国产91久久久久| 99精品一区二区免费视频| 色AV色 综合网站| 国产高清毛片| 日韩小视频网站hq| 伊人久久大香线蕉综合影视| 久久国产精品影院| 日韩欧美国产另类| 伊人久久青草青青综合| 最新亚洲人成网站在线观看| 日韩精品成人在线| 一级毛片网| 三上悠亚一区二区| 无码一区二区三区视频在线播放| 熟女成人国产精品视频| 日韩精品一区二区三区免费| 伊人激情久久综合中文字幕| 九色视频一区| 91在线国内在线播放老师| 无码专区在线观看| 婷婷激情五月网| 久久久噜噜噜久久中文字幕色伊伊| 国产美女免费| 亚洲欧美国产五月天综合| 欧美日韩在线第一页| 米奇精品一区二区三区| 丁香六月综合网| 日本精品中文字幕在线不卡| 国产三级国产精品国产普男人|