亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CPLD的光電編碼器快速運算電路設(shè)計

        2013-11-10 07:09:26張會生
        關(guān)鍵詞:編碼器時鐘運算

        劉 燕,張會生

        (西北工業(yè)大學(xué) 明德學(xué)院,陜西 西安 710124)

        光電編碼器是一種通過光電轉(zhuǎn)換將輸出軸上的機械幾何位移量轉(zhuǎn)換成脈沖或數(shù)字量的傳感器,是目前應(yīng)用最多的傳感器。光電編碼器由光柵盤和光電檢測裝置組成。光柵盤是在一定直徑的圓板上等分地開通若干個長方形孔。由于光電碼盤與電動機同軸,電動機旋轉(zhuǎn)時,光柵盤與電動機同速旋轉(zhuǎn),經(jīng)發(fā)光二極管等電子元件組成的檢測裝置檢測輸出若干脈沖信號,其原理示意圖如圖1所示。通過計算每秒光電編碼器輸出脈沖的個數(shù)就能反映當(dāng)前電動機的轉(zhuǎn)速。此外,為判斷旋轉(zhuǎn)方向,碼盤還可提供相位相差90°的兩路脈沖信號。根據(jù)檢測原理,編碼器可分為光學(xué)式、磁式、感應(yīng)式和電容式;根據(jù)其刻度方法及信號輸出形式,可分為增量式、絕對式以及混合式3種。

        圖1 光電編碼器原理示意圖

        隨著電子設(shè)計技術(shù)的飛速發(fā)展,現(xiàn)場可編程邏輯門陣列(FPGA)的復(fù)雜程度越來越高,其所具備的功能也越來越多,芯片也向小型化發(fā)展,逐步成為復(fù)雜數(shù)字硬件電路設(shè)計的首選。FPGA/CPLD既繼承了ASIC的大規(guī)模、高集成度、高可靠性的優(yōu)點,又克服了普通ASIC設(shè)計周期長、投資大、靈活性差的缺點。FPGA/CPLD的集成度很高,可完成極其復(fù)雜的時序和組合邏輯電路功能。本文所設(shè)計的系統(tǒng)就是基于CPLD芯片實現(xiàn)六十進制壓縮BCD碼加減運算功能。

        1 軟件設(shè)計

        1.1 計算原理

        系統(tǒng)主要實現(xiàn)六十進制壓縮BCD碼的加減運算的算法,即:根據(jù)一個度數(shù)A的變化量來對另一個度數(shù)B實現(xiàn)同樣的變化,并輸出B變化后的值,從而實現(xiàn)光電編碼器的快速運算,提升位置檢測系統(tǒng)的動態(tài)性能指標(biāo)。具體如圖2所示,即B隨A變化而變化,當(dāng)A變化到A′時,B變化到 B′,A與 B的變化量相等,即 A與 B相差的度數(shù)始終相等。

        圖2 系統(tǒng)計算要求示意圖

        程序采用分別對度、分、秒進行運算的辦法。

        (1)實現(xiàn)對輸入數(shù)據(jù)的轉(zhuǎn)換,即從壓縮BCD碼轉(zhuǎn)化為二進制碼。

        (2)計算部分。本程序采用對度、分、秒分別進行運算的辦法,三者之間存在進位、借位信號 c2、c3、c4、c5,其中 c2、c3分別為 A、B初始值作差時 A度分秒各部分間的進位、借位信號,c4、c5分別為B變化后的值C的各部分間的進位、借位信號。

        (3)實現(xiàn)把運算結(jié)果從二進制碼轉(zhuǎn)化為壓縮BCD碼。

        1.2 算法實現(xiàn)

        (1)當(dāng)時鐘 clk為上升沿時,把輸入的壓縮 BCD碼轉(zhuǎn)換為二進制碼;

        (2)當(dāng) reset有效時,置入 A與 B的初始值;

        (3)當(dāng) load有效時,開始計算變化量;

        (4)把變化后的 B變?yōu)閴嚎sBCD碼 C;

        (5)由于本電路時鐘頻率為 5 MHz,輸入數(shù)據(jù)的頻率約為200 μs。為減小毛刺,設(shè)計一個300的計數(shù)器與一個鎖存器,使輸出效果更佳。具體為,每當(dāng)計完300個數(shù)時,輸出一次程序的運算結(jié)果。

        (6)設(shè)計鎖存器,當(dāng)計數(shù)器計完300后輸出C。

        1.3 壓縮BCD碼向二進制的轉(zhuǎn)換

        以度部分為例,算法思路為:個位+十位×10+百位×100。

        主要程序?qū)崿F(xiàn)如下:

        Q00:="00"& (Q (9 downto 8)*"1100100"+Q (7 downto 4)*"1010"+Q(3 downto 0))。

        1.4 計算B變化后的值C

        以分部分為例,算法思路如下。

        (1)計算初始值 A00、B00 的差量 e,e=A00-B00-c2,其中c2為A的秒部分的進位或借位信號,若e為負則自加60,并輸出借位給A的度部分;

        (2)計算變化后的 B 值 C,C=A0+e+c4,其中A0為變化后的A值,c4為C秒部分的進位或借位信號;

        (3)判斷輸出 C是否大于 60,若 C≥60,則輸出進位給C的度部分,并自減60輸出結(jié)果C。

        1.5 二進制向壓縮BCD碼的轉(zhuǎn)換

        這一部分采用循環(huán)減的辦法,以C的度部分為例。

        (1)判斷 C是否小于 10,若小于則對 C循環(huán)減 10,直到C小于10為止,C減完后的值為個位數(shù);

        (2)對步驟(1)中減的次數(shù) n2再進行循環(huán)減 10,n2減完后的值為十位數(shù);

        (3)步驟(2)中減的次數(shù)n1為百位數(shù)。

        2 結(jié)果分析

        2.1 軟件仿真結(jié)果

        圖3、 圖 4 為當(dāng) A 初 值為 0,B 為 359°59′57″時,A逐次增加1″,輸出結(jié)果C的變化過程。為方便檢查和觀看,圖3為 A、B、C為未壓縮BCD碼的仿真結(jié)果,圖4為A、B、C為壓縮BCD碼的仿真結(jié)果。

        圖3 BCD碼仿真波形

        圖4 壓縮BCD碼仿真結(jié)果

        由圖 3、圖 4可以看出,當(dāng) A初值為 0,B為 359°59′57″時,A逐次增加 1″,輸出結(jié)果C的變化過程為由初值0 變?yōu)?359°59′58″, 之后順次變?yōu)?359°59′59″、0、1″…,由結(jié)果可驗證程序的正確性。

        2.2 硬件調(diào)試與結(jié)果驗證

        硬件驗證就是將編譯、綜合生成的下載文件下載到指定的CPLD芯片上,然后進行硬件驗證。本項目通過一個轉(zhuǎn)盤改變原始輸入數(shù)據(jù)A,并用數(shù)碼管顯示出數(shù)據(jù)A,各輸入數(shù)據(jù)、時鐘、功能信號都由插頭輸入,輸出數(shù)據(jù)C也由插頭輸出,并用數(shù)碼管顯示出數(shù)據(jù)C。

        當(dāng)數(shù)據(jù) A 輸入為 0°,B 為 359°59′59″,reset為高電平,load為高電平時,輸出顯示保持上一數(shù)據(jù);當(dāng)A變?yōu)?″,reset變?yōu)榈碗娖?,輸出顯示 0°;當(dāng) load變?yōu)榈碗娖?,輸出顯示 A的值 1″。

        根據(jù)實驗數(shù)據(jù),驗證了該電路功能的正確性與可靠性,達到了預(yù)期項目要求,實現(xiàn)了基于CPLD實現(xiàn)六十進制壓縮BCD碼加減運算功能。

        3 不足之處與改進

        本電路的時鐘頻率為5 MHz,時鐘頻率約為數(shù)據(jù)A更新頻率的1 000倍,當(dāng)數(shù)據(jù)A的更新頻率與時鐘頻率較接近時,會出現(xiàn)進位滯后的情況,如圖5所示。

        由圖 5 可知, 當(dāng) A 初值為 0,B 為 359°59′57″時,A逐次增加1″,輸出結(jié)果C的變化過程為由初值 0變?yōu)?59°59′58″, 以 后 順 次 變 為 359°59′59″、359°59′00″、359°00′01″、2″、3″…。 可見從 359°59′59″不能直接變到000°00′00″,直到 000°00′02″才恢復(fù)正確值,在 359°59′59″與 000°00′02″之間應(yīng)該存在的兩個數(shù)為 000°00′00″、000°00′01″實際為 359°59′00″、359°00′01″,這里可以看出 359°59′59″到 0°中間存在兩次進位,每次進位滯后一個時鐘周期,根本原因是由于數(shù)據(jù)更新相對較快,接近時鐘clk的頻率,在一個時鐘周期內(nèi)計算不完全,從而導(dǎo)致了進位滯后的現(xiàn)象。

        圖5 進位滯后波形

        可用分頻的方法實現(xiàn)進位的同步,比如秒、分、度分別采用時鐘頻率的2分頻、4分頻、8分頻。

        也可使用秒、分、度各自的計算部分占不同時鐘段的方法解決,比如:秒部分從時鐘上升沿開始計算,分部分從時鐘三分之一周期處開始計算,度部分從時鐘三分之二處開始計算。

        [1]吳凡.高精度絕對式光電軸角編碼器高質(zhì)量光電信號的提取方法[D].成都:電子科技大學(xué),2001.

        [2]王誠.Altera FPGA/CPLD設(shè)計[M].北京:人民郵電出版社,2005.

        [3]方艷輝.增量式編碼器全數(shù)字量相加技術(shù)的研究[D].長春:中國科學(xué)院長春光學(xué)精密機械與物理研究所,2005.

        [4]周志煒.基于FPGA的多路光電編碼器數(shù)據(jù)采集系統(tǒng)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2006.

        [5]俞芳.基于 CPLDFPGA的IP核設(shè)計[D].蘇州:蘇州大學(xué),2005.

        [6]王蕾.基于FPGA的數(shù)據(jù)傳輸系統(tǒng)基帶處理單元的設(shè)計[D].哈爾濱:哈爾濱工業(yè)大學(xué),2006.

        [7]李宗伯,王蓉暉,王蕾.VHDL設(shè)計表示和綜合 [M].北京:機械工業(yè)出版社,2002.

        [8]NELSON V P, NAGLE H T, CARROLL B D, et al.Digital Logic Circuit Analysis&Design[M].北京:清華大學(xué)出版社,1997.

        [9]WAKERLY J F.Digit-Principles and Practices[M].北京:高等教育出版社,2001.

        猜你喜歡
        編碼器時鐘運算
        重視運算與推理,解決數(shù)列求和題
        別樣的“時鐘”
        古代的時鐘
        有趣的運算
        基于FPGA的同步機軸角編碼器
        “整式的乘法與因式分解”知識歸納
        基于PRBS檢測的8B/IOB編碼器設(shè)計
        有趣的時鐘
        撥云去“誤”學(xué)乘除運算
        時鐘會開“花”
        99久久精品一区二区三区蜜臀| 青青国产揄拍视频| 日韩插啊免费视频在线观看| 99久久伊人精品综合观看| 国产在线白丝DVD精品| 亚洲AV成人无码久久精品四虎| 一区二区三区精品偷拍| 亚洲长腿丝袜中文字幕| 人与人性恔配视频免费| 大肉大捧一进一出好爽视频mba| 亚洲欧美一区二区三区国产精| 亚洲男人在线无码视频| 国产成人精品久久二区二区91| 精品国产精品久久一区免费式| 成人欧美一区二区三区| 久久久精品3d动漫一区二区三区 | 国产精品涩涩涩一区二区三区免费| 亚洲天堂av一区二区三区不卡| 国产高颜值女主播在线| 真多人做人爱视频高清免费| 久久久久国产一级毛片高清版A | 好看的中文字幕中文在线| 婷婷久久精品国产色蜜蜜麻豆| 精品露脸国产偷人在视频| 国产乱人伦av在线a| 国产欧美日韩网站| 太大太粗太爽免费视频| 91精品啪在线观九色| 色综合久久久久久久久久| 真人直播 免费视频| 国产a级午夜毛片| 免费无码AⅤ片在线观看| 亚洲国产精品av麻豆一区| 琪琪色原网站在线观看 | 人妻少妇看a偷人无码精品| 亚洲国产精品无码久久九九大片健 | 美女一级毛片免费观看97| 一本色道88久久加勒比精品| 欧美人与禽z0zo牲伦交| 亚洲av无码一区二区三区四区| 国产成年无码久久久免费|