CPLD应用:光栅旋转编码器的4倍频解码
CPLD应用:增量式光栅旋转编码器的4倍频解码刚学了几天的CPLD,上传我的第一个应用,不知道实际工作情况如何,希望高手指点指点,谢谢
如果CLK时钟频率为25Mhz,则至少可以对输出频率2.5Mhz以下增量式光栅旋转编码器的进行4倍频解码
概念如下:
增量式光栅旋转编码器分辨率:2500p/r (常用伺服系统的编码器)
按工作时最大的输出频率为2.5Mhz计算,编码器可以工作到60000r/m,当然这样的旋转速度实际上是很难达到的,实际上的常用的伺服电机最大工作到5000r/m
CLK:倍频用时钟频率
A:编码器A相
B:编码器B相
CP:解码后的脉冲
DIR:旋转方向
仿真图片如下:
http://cache.amobbs.com/bbs_upload782111/files_8/ourdev_178480.PNG
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 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 是用什么仿真的? 晕,不会又是 proteus 吧,这东东想抛开也有点不容易呢。。 老大草木皆兵
proteus 还没这本事 用的是ALTERA的EPM240,开发环境用QuartusII,里面自带仿真的,但不能仿真Verilog HDL里的时延等等,那样需要用到第3方工具,ModelSim仿真对此很好,我正在下载modelsim,等好了后,再上些照片 new_friend , ilymy,
两位觉得有什么方法能超过 proteus 仿真? 如果可行的话,能否帮忙编写一个新手入门教程? 呵呵,我们可以成立一个专门的仿真讨论区,两位帮忙担任版主如何?
这样我们抵制 proteus 的行动就能坚持下去 :)
如果 proteus 是没有办法替代的,那可能我要妥协了。 ./emotion/em147.gif 阿莫,现在的仿真软件各自都有自己的特点和针对的目标,否则就不能在市场中生存的。
更专业的,功能强的,价格也高。而面向一般系统的,价格也就便宜点。就如同8位单片机一样,市场上有那么多的不同厂家的芯片,点亮一个LED肯定都行,但在一些特殊的地方,会不同的,各有各的长处,否则早就不存在了。以前,大家都只知道51,现在市场也细分了,随着工程技术人员水平的提高,会根据自己的需要,挑选适合自己使用的产品。 版主...我的水平还差的远
对于单片机,由于软件仿真与实际情况相差太多,所以很多人都不采用
对于模拟电路,我倒是推荐用软件仿真,确实很方便,而且也安全(相对于数字电路)
最好的一点是元件的参数调整很容易,而数字电路元件参数一般很少需要调整
仿真模拟电路有很多软件,这个就不多说了,网上很多的 【5楼】 machao ,
呵呵,我不是那么容易妥协的 :)proteus 的律师威胁过要关闭我们的网站,不是没有办法是不会向他们妥协。 当某一天我们成为国内最大的综合电子社区时, proteus 就会知道后悔了 :)
ilymy 能说说MCU仿真,及模拟仿真你推荐的软件? 其实我只用过几次multisim 10
他有个问题就是比如门电路单个的没有模型库,只能用整个的芯片 我用过一些软件,但都有很多问题,决大部分都是模拟库的问题,比如用Multism,我前几天想模拟一个由40106做的多谐振荡器,可是软件总提示错误。我想软件是将40106作成一个逻辑器件,没有将里面的基本电路做的和实际的一样,只是做了一个简单的逻辑。 mark mark mark
! 留个记号,备用 mark CPLD应用:光栅旋转编码器的4倍频解码 mark mark QuartusII的仿真功能是很强大的,我上学的时候学了一点皮毛,考试后就还给老师了! 感谢楼主哈。
页:
[1]