没有合适的资源?快使用搜索试试~ 我知道了~
首页基于Verilog HDL的一种绝对值编码器实时读出算法
基于Verilog HDL的一种绝对值编码器实时读出算法
234 浏览量
更新于2023-05-29
评论
收藏 222KB PDF 举报
针对所设计的绝对值编码器读出电路板,用Verilog HDL设计了一种绝对值编码器实时读出程序。可以将编码器数据读入FPGA,并将编码器输出的普通二进制数据转换为角度值,最后驱动液晶显示屏实时读出角度值。经过测试,该程序能够稳定运行在电路板上,完全满足编码器数据在液晶显示屏上的实时读出。本程序基于模块化设计,易于移植。
资源详情
资源评论
资源推荐

基于基于Verilog HDL的一种绝对值编码器实时读出算法的一种绝对值编码器实时读出算法
针对所设计的绝对值编码器读出电路板,用Verilog HDL设计了一种绝对值编码器实时读出程序。可以将编码器
数据读入FPGA,并将编码器输出的普通二进制数据转换为角度值,最后驱动液晶显示屏实时读出角度值。经过
测试,该程序能够稳定运行在电路板上,完全满足编码器数据在液晶显示屏上的实时读出。本程序基于模块化
设计,易于移植。
摘摘 要:要: 针对所设计的绝对值
关键词:关键词:
光电编码器是通过光电转换将输出轴上的机械几何位移量转换成一串脉冲或数字量的传感器。在电机伺服控制系统中,它与
电机同轴连接,常用来测量电机转子的速度和位置[1]。近年来,随着研究室小批量军工生产的开展,需要批量采购部分绝对
值编码器等外协器件。为方便检验采购的编码器,保障生产任务的按时完成,设计了一个单圈绝对值编码器实时读出电路板,
其结构如图1所示。基于此电路板,开发出了一个程序,它能够实现将绝对值编码器的数据读入FPGA,并将数据转换为角度
值,最终驱动液晶显示屏实时输出角度值。这使得不需要将编码器数据输入到计算机就可以处理转化为角度值,使用更加方
便。程序中用到了线性变换思想,可以应用到其他程序中。电路板中用到的绝对值编码器是BEI-IDEACOD公司的CHO5系
列。液晶显示屏为3.3 V供电的1602型LCD,FPGA采用的是Xilinx的Spartan-6系列。
1 数据读入及去抖动数据读入及去抖动
本文所采用的绝对值编码器是BEI-IDEACOD公司的CHO5系列,它采用并行输出模式,有13 bit数据
(Data[0]~Data[12]),读出速度快。由于电动机的旋转或机械设备的震动,会使编码器输出脉冲抖动[2],因此首先对编码器
脉冲进行了去抖动处理。下面的程序实现了数据读入,并在去抖动后被锁存在Gray_data中。
always@(posedge clk_50M)
begin
D0<={D0[1:0],Data[0]};
D1<={D1[1:0],Data[1]};
......
D11<={D11[1:0],Data[11]};
D12<={D12[1:0],Data[12]};
end
always@(posedge clk_50M)
begin
Gray_data[0]<=D0[2]&D[1]&D[0];
Gray_data[1]<=D1[2]&D[1]&D[0];
......
Gray_data[11]<=D11[2]&D[1]&D[0];
Gray_data[12]<=D12[2]&D[1]&D[0];
end
2 二进制格雷码转普通格雷码二进制格雷码转普通格雷码
上面得到数据Gray_data还是格雷码,因为绝对值编码器(并行输出)采用的是格雷码二进制输出。格雷码的特点是任意两
个相邻位其输出格雷码值只有一位不同[3],这提高了数据输出的稳定性。假设二进制格雷码为Gn-1 Gn-2…G2G1G0,其所对
应的普通二进制为Bn-1Bn-2…B2B1B0。那么它们最高位之间的对应关系如式(1)所示,其他各位的对应关系如式(2)所
示。
Bn-1=Gn-1(1)
Bi-1=Gi-1^Bi, i=1,2,…,n-1(2)
根据式(1)和式(2),格雷码二进制转化为普通二进制的Verilog HDL代码如下:
always@(posedge Clk_50M)
begin
Binary_data[12]=Gray_data[12];
Binary_data[11]=Binary_data[12]^Gray_data[11];
Binary_data[10]=Binary_data[11]^Gray_data[10];
......
Binary_data[1]=Binary_data[2]^Gray_data[1];
Binary_data[0]=Binary_data[1]^Gray_data[0];
end
该程序实现了由格雷码二进制Gray_data向普通二进制Binary_data的转换。
3 将二进制转为角度值将二进制转为角度值
绝对值编码器的最小精度是由最低位决定的。因为所用的绝对值器是13 bit数据输出,绝对值编码器的最低位为1时,对应的
角度值如式(3)所示:

















weixin_38584148
- 粉丝: 10
- 资源: 1001
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制

评论0