在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            用FPGA做正交解碼

            作者: 時間:2023-12-25 來源:電子森林 收藏

            非常適合用邏輯來實現(xiàn)正交解碼的功能。

            本文引用地址:http://www.biyoush.com/article/202312/454241.htm

            正交信號是兩個相位差為90度的信號。它們在機械系統(tǒng)中用于確定軸的運動(或旋轉(zhuǎn))。

            這是一個向前移動幾步的軸。

            如果對脈沖計數(shù),則可以說軸移動了3步。
            如果計算邊緣,則可以說軸移動了12步。這就是我們在此頁面上所做的。

            現(xiàn)在,軸向后移動了相同的量。

            因此,想法是通過查看邊緣和水平,我們可以確定運動的方向和距離。
            這是一個示例,其中軸向前移動10步,然后向后移動7步。

            它們在哪里使用?

            • 在機械手軸中,用于反饋控制。
            • 用旋鈕確定用戶輸入。
            • 在電腦鼠標(biāo)中,確定運動方向。

            如果您打開機械鼠標(biāo),則會看到以下內(nèi)容。

            有兩個光學(xué)正交編碼器,每個編碼器由開槽輪,光發(fā)射器和一對光電探測器制成。
            鼠標(biāo)包括負(fù)責(zé)正交解碼和串行/ PS2接口的IC。由于創(chuàng)建正交解碼器(在中)比串行或PS2接口要容易得多,因此我們修改了鼠標(biāo),并用四緩沖器施密特觸發(fā)器輸入IC替換了原始IC。

            我們使用CD4093,每個NAND門的輸入連接在一起形成反相器。
            現(xiàn)在,鼠標(biāo)輸出正交編碼信號!

            正交解碼器

            我們要實現(xiàn)一個根據(jù)正交信號遞增或遞減的計數(shù)器。我們假設(shè)有一個比正交信號快的“過采樣時鐘”(在此頁面中稱為“ clk”)。
            控制計數(shù)器的硬件電路非常簡單。

            這是軸向前移動的波形,計數(shù)器會遞增。

            該電路有時稱為“ 4x解碼器”,因為它會計算正交輸入的所有躍遷。
            在verilog HDL中,這為我們提供了:

            module quad(clk, quadA, quadB, count);
            input clk, quadA, quadB;
            output [7:0] count; 
            reg quadA_delayed, quadB_delayed;
            always @(posedge clk) quadA_delayed <= quadA;
            always @(posedge clk) quadB_delayed <= quadB; 
            wire count_enable = quadA ^ quadA_delayed ^ quadB ^ quadB_delayed;
            wire count_direction = quadA ^ quadB_delayed; 
            reg [7:0] count;
            always @(posedge clk)begin
              if(count_enable)
              begin
                if(count_direction) count<=count+1; 
                else count<=count-1;
              endend endmodule

            實際生活中的電路

            先前的電路假定“ quadX”輸入與“ clk”時鐘同步。在大多數(shù)情況下,“ quadX”信號與時鐘不同步。經(jīng)典解決方案是每個輸入使用2個額外的D觸發(fā)器,以避免將亞穩(wěn)性引入計數(shù)器。

            module quad(clk, quadA, quadB, count);
            input clk, quadA, quadB;
            output [7:0] count; 
            reg [2:0] quadA_delayed, quadB_delayed;
            always @(posedge clk) quadA_delayed <= {quadA_delayed[1:0], quadA};
            always @(posedge clk) quadB_delayed <= {quadB_delayed[1:0], quadB}; 
            wire count_enable = quadA_delayed[1] ^ quadA_delayed[2] ^ quadB_delayed[1] ^ quadB_delayed[2];
            wire count_direction = quadA_delayed[1] ^ quadB_delayed[2]; 
            reg [7:0] count;
            always @(posedge clk)begin
              if(count_enable)
              begin
                if(count_direction) count<=count+1; 
                else count<=count-1;
              endend endmodule

            總之,創(chuàng)建正交解碼器/計數(shù)器所需的硬件很少。FPGA可以容納多個軸,因此可以同時跟蹤多個軸。



            關(guān)鍵詞: FPGA L正交解碼

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉