新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 正交解碼及在旋轉編碼器中的應用

正交解碼及在旋轉編碼器中的應用

作者:時間:2024-01-25來源:電子森林收藏

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;
  end
 end 
 endmodule

實際的電路

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;
  end
 end 
  endmodule


評論


相關推薦

技術專區

關閉
无码国产福利AV私拍|AV边做边流奶水无码免费|2021国自拍产精品视频|中文中文字幕不卡人妻|亚洲肥婆艳情片