搜索
bottom↓
回复: 18

CPLD应用:光栅旋转编码器的4倍频解码

[复制链接]

出0入0汤圆

发表于 2007-10-27 10:22:55 | 显示全部楼层 |阅读模式
CPLD应用:增量式光栅旋转编码器的4倍频解码

刚学了几天的CPLD,上传我的第一个应用,不知道实际工作情况如何,希望高手指点指点,谢谢

如果CLK时钟频率为25Mhz,则至少可以对输出频率2.5Mhz以下增量式光栅旋转编码器的进行4倍频解码

概念如下:

增量式光栅旋转编码器分辨率:2500p/r (常用伺服系统的编码器)
按工作时最大的输出频率为2.5Mhz计算,编码器可以工作到60000r/m,当然这样的旋转速度实际上是很难达到的,实际上的常用的伺服电机最大工作到5000r/m

CLK:倍频用时钟频率
A:编码器A相
B:编码器B相

CP:解码后的脉冲
DIR:旋转方向

仿真图片如下:



Verilog hdl代码:

module decoder(CLK, A, B, CP, DIR);
        input CLK;
        input A;
        input B;
        output CP;
        output DIR;
       
        reg CP;
        reg DIR;
       
        wire a_xor_b;
        reg a_xor_b_temp;
        reg[3:0] a_xor_b_counter;
       

        xor (a_xor_b, A, B);       
       
        always @(posedge CLK)
                begin               
                if(a_xor_b_temp != a_xor_b)
                        begin
                        CP = 1'b1;
                        a_xor_b_temp = a_xor_b;                       
                        a_xor_b_counter = 4'b0000;
                        end
                else
                        begin
                        a_xor_b_counter = a_xor_b_counter + 4'b0001;
                        if(a_xor_b_counter >= 4'b0010)                 // 根据实际应用,可以改变a_xor_b_counter上限值来改变输出脉宽
                                begin
                                CP = 1'b0;
                                end                               
                        end
                end
       
        always @(posedge A) begin
                DIR = ~B;
        end

endmodule
头像被屏蔽

出0入0汤圆

发表于 2007-10-27 11:17:55 | 显示全部楼层
是用什么仿真的? 晕,不会又是 proteus 吧,这东东想抛开也有点不容易呢。。

出0入0汤圆

发表于 2007-10-27 11:29:03 | 显示全部楼层
老大草木皆兵
proteus 还没这本事

出0入0汤圆

 楼主| 发表于 2007-10-27 11:30:29 | 显示全部楼层
用的是ALTERA的EPM240,开发环境用QuartusII,里面自带仿真的,但不能仿真Verilog HDL里的时延等等,那样需要用到第3方工具,ModelSim仿真对此很好,我正在下载modelsim,等好了后,再上些照片
头像被屏蔽

出0入0汤圆

发表于 2007-10-27 11:35:17 | 显示全部楼层
new_friend , ilymy,

两位觉得有什么方法能超过 proteus 仿真? 如果可行的话,能否帮忙编写一个新手入门教程? 呵呵,我们可以成立一个专门的仿真讨论区,两位帮忙担任版主如何?

这样我们抵制 proteus 的行动就能坚持下去 :)

如果 proteus 是没有办法替代的,那可能我要妥协了。

出0入0汤圆

发表于 2007-10-27 11:52:42 | 显示全部楼层
阿莫,现在的仿真软件各自都有自己的特点和针对的目标,否则就不能在市场中生存的。

更专业的,功能强的,价格也高。而面向一般系统的,价格也就便宜点。就如同8位单片机一样,市场上有那么多的不同厂家的芯片,点亮一个LED肯定都行,但在一些特殊的地方,会不同的,各有各的长处,否则早就不存在了。以前,大家都只知道51,现在市场也细分了,随着工程技术人员水平的提高,会根据自己的需要,挑选适合自己使用的产品。

出0入0汤圆

发表于 2007-10-27 11:53:06 | 显示全部楼层
版主...我的水平还差的远

对于单片机,由于软件仿真与实际情况相差太多,所以很多人都不采用
对于模拟电路,我倒是推荐用软件仿真,确实很方便,而且也安全(相对于数字电路)
最好的一点是元件的参数调整很容易,而数字电路元件参数一般很少需要调整

仿真模拟电路有很多软件,这个就不多说了,网上很多的
头像被屏蔽

出0入0汤圆

发表于 2007-10-27 13:28:54 | 显示全部楼层
【5楼】 machao ,

呵呵,我不是那么容易妥协的 :)  proteus 的律师威胁过要关闭我们的网站,不是没有办法是不会向他们妥协。 当某一天我们成为国内最大的综合电子社区时, proteus 就会知道后悔了 :)

ilymy 能说说MCU仿真,及模拟仿真你推荐的软件?

出0入0汤圆

发表于 2007-10-27 13:59:29 | 显示全部楼层
其实我只用过几次multisim 10
他有个问题就是比如门电路单个的没有模型库,只能用整个的芯片

出0入0汤圆

发表于 2007-10-27 22:57:34 | 显示全部楼层
我用过一些软件,但都有很多问题,决大部分都是模拟库的问题,比如用Multism,我前几天想模拟一个由40106做的多谐振荡器,可是软件总提示错误。我想软件是将40106作成一个逻辑器件,没有将里面的基本电路做的和实际的一样,只是做了一个简单的逻辑。

出0入0汤圆

发表于 2011-6-30 01:03:23 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-30 08:37:40 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-23 18:20:52 | 显示全部楼层
mark
!

出0入0汤圆

发表于 2011-12-23 20:10:02 | 显示全部楼层
留个记号,备用

出0入0汤圆

发表于 2012-3-8 16:48:18 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-3-8 19:54:32 | 显示全部楼层
CPLD应用:光栅旋转编码器的4倍频解码 mark

出0入0汤圆

发表于 2012-3-8 21:30:07 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-3-8 21:37:11 | 显示全部楼层
QuartusII的仿真功能是很强大的,我上学的时候学了一点皮毛,考试后就还给老师了!

出0入0汤圆

发表于 2013-4-16 13:13:54 | 显示全部楼层
感谢楼主哈。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-6 06:14

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表