首页 > 编程语言 >关于QEI(增量编码器)的verilog程序

关于QEI(增量编码器)的verilog程序

时间:2024-10-10 17:02:22浏览次数:9  
标签:编码器 高电平 QEI 低电平 计数 倍频 verilog

关于QEI的Verilog程序其实比较简单的,但是opencores上没有现成的程序,FPGA4FUN上有一个4倍频计数程序[1],但是没有一个详细原理分析过程,[2]描述了一个编码器的VHDL代码,但是觉得很复杂,为此我分析了一下增量编码器的旋转过程和AB相的电平变化规律,在这个基础上开发了QEI的Verilog程序,首先是码盘的简化图,实际上码盘的花纹图案可以做如下简化:A,B相产生脉冲,

 

这里把圆形展开成为直线,这样更好理解,图中有4个位置,标志为1,2,3,4对应的是A和B的上升和下降沿,计数实际上发生在这四个边沿,根据1倍频,2倍频,4倍频的设置,计数可以在不同的边沿实现,假设旋转方向从左到右为正向,从右到左为反向,1倍频时,在1处如果是正向旋转,计数应该加1,如果是反向,计数应该减一,2倍频除了在1处应该有计数以外,还在3处也应该计数,计数和旋转方向关系也一样,而4倍频时在1,2,3,4都应该计数,就以1处进行分析,如果是正向旋转,则A相应该是上升沿,而B相此时为低电平,同理如果是反向旋转,A相应该是下降沿,同时B相电平为低,同理依次分析其他三个位置,可以得到如下计数和A,B的关系

1倍频 A上升沿 B 低电平 计数加1
A下降沿 B 低电平 计数减1
2倍频 A上升沿 B 低电平 计数加1
A下降沿 B 低电平 计数减1
A下降沿 B 高电平 计数加1
A上升沿 B 高电平 计数减1
4倍频 A上升沿 B 低电平 计数加1
A下降沿 B 低电平 计数减1
A下降沿 B 高电平 计数加1
A上升沿 B 高电平 计数减1
B上升沿 A高电平 计数加1
B下降沿 A高电平 计数减1
B下降沿 A低电平 计数加1
B上升沿 A低电平 计数减1
然后根据上述表就很容易写出verilog程序了

 

 

 

[1] https://www.fpga4fun.com/QuadratureDecoder.html

[2]https://dewdotninja.wordpress.com/2018/03/19/vhdl-code-for-quadrature-encoder-receiver-module/

标签:编码器,高电平,QEI,低电平,计数,倍频,verilog
From: https://www.cnblogs.com/embeddedengineer/p/18456731

相关文章

  • Bluespec SystemVerilog(BSV) 及 MIT 体系结构公开课 笔记
    前言早年MIT有三门用bsv作为硬件描述语言的体系结构课程,代号分别为6.004,6.175和6.375.根据MITCScourselist,现在这三门课分别改名为了6.1910、6.1920和6.5900.本文是自学这三门课所需的bsv时记录的笔记,内容主要来源于这三门课目前公开的资料(6.17516fall,6.375......
  • 【AI大模型】深入Transformer架构:编码器部分的实现与解析(下)
      目录......
  • Deformable DETR改进|爆改模型|涨点|在骨干网络和可变形编码器间加入YOLOv10的PSA和SC
    一、文本介绍本文修改的模型是Deformable-DETR,在骨干网络和可变形编码器之间加入YOLOv10的PSA和SCDown模块。其中PSA是YOLOv10提出的一种高效的自注意力模块,为了避免注意力带来的巨额开销,本文将PSA应用于可变形编码器输入的最高层级特征图。SCConv是一种空间和通道解耦的卷积......
  • systemverilog笔记
    变量类型变量名状态数是否带符号比特数logic4无1bit2无1byte2有8shortint2有16int2有32longint2有64integer4有32time4无64$isunknown(表达式):在表达式任意位出现X或者Z时返回1。数组数组初始化使用单引号加大括......
  • Github_以太网开源项目verilog-ethernet代码阅读与移植(五)
    实验背景在(四)中介绍了Github开源项目verilog-ethernet的移植思路,以及对MII接口和数据链路层等功能的仿真,下面介绍数据的跨时钟域传输,以太网数据传输过程和网络层数据传输相关的移植。实验内容数据的跨时钟域传输处理,以太网数据传输过程和网络层数据传输模块介绍与仿真。......
  • 直流电机编码器测速
    编码器(直接了解怎么接线)电机转动的时候编码器通过编码电机的A相和B相输出两个正交的方波,对电机进行测速和识别电机的方向。AIN1AIN2BIN1BIN2引脚控制正反转,PWM引脚控制占空比;AO1、BO1接电机的正极,AO2、BO2接电机的负极。让电机转起来,只用设置AIN1、AIN2和PWMA生成一个1......
  • 关于多圈绝对值编码器越0点数据的连续处理
    关于多圈绝对值编码器越0点数据的连续处理说明处理办法总结说明本次分享指在分享思路;此次演示案例为一款rs485通讯的多圈绝对值编码器,接收的数据格式为01030400000000FA33(01为从机地址,03为功能码,04为数据字节长度,00000000为测量数据,FA33为校验码)测量数......
  • FPGA Verilog基本语句(语法)FPGA入门
    本篇文章主要写了在Verilog环境下,FPGA基本语法和数据类型。可以通过导航键快速进入assign语句、always语句等其他内容!对于Verilog(FPGA):module     ...                   ==》构成主体endmodulemodule模块名(【端口......
  • 时间序列无监督异常点检测算法_孤立森林,局部离群因子检测和自编码器
    数据入口:压气机异常检测一维时间序列-Heywhale.com该数据为采样自工业压气机的一维时间序列数据。本文将通过无监督时间序列算法进行时间序列异常检测。针对时间序列数据,常用的无监督异常检测算法包括:孤立森林(IsolationForest)、基于密度的局部离群因子检测(LOF)、自编码器(Au......
  • 编码器与霍尔传感器的工作原理及区别
    霍尔传感器示意图:120度安装: 60度安装:霍尔编码器示意图:工作原理:霍尔传感器:基于霍尔效应,利用霍尔元件检测磁场变化,从而确定位置和运动。当磁场发生变化时,霍尔传感器产生电压信号,用于检测转子位置或线性运动的位置。霍尔传感器通常用于无刷直流电机中,通过检测永磁体的位......