原创 HCTL2032应用

2013-1-21 11:03 1013 8 9 分类: MCU/ 嵌入式 文集: MCU

HCTL-2032是Avago公司生产的CMOS专用集成电路,集噪声滤波、正交解码、可逆计数、总线接口于一体,可大大改善测量系统的性能。HCTL-2032可接收两路(X轴、Y轴)正交编码脉冲,并且增加了接收基准信号,时钟频率达33 MHz,不仅使电路设计简单,(电路是简单,只是资料太少,遇到问题比较麻烦)而且提高了测量精度和处理数据的速度。说明白点就是,它可以检测AB相相位相差为90度的波形,并计数,图二是光栅输出信号时正交信号,很多时候就使用这个芯片去检测,光栅正反向的运动和运动距离。

电路连接如下图所示,各个管脚在datasheet中都有具体说明,该怎么用很简单,我不多说了,下面的电路是单独使用X没有使用Y。这里特别说明一下第17脚CHIx,如果你的光栅有频率校验信号输出,可以接到17脚。如果没有,就把17脚接地了,否则计数不稳定,我就在这里吃了很大的亏。
这个芯片的资料不多,我把电路图和源程序都放在这里方便一些使用该芯片的人。

24343357_135304989745H7.jpg
                 图一
24343357_135304990017V8.gif
24343357_13531172485gGZ.jpg
这是相位差为90度的波形,我用示波器截图的,还是荧光屏的示波器,很差劲。呵呵。

24343357_1353050449hrWL.jpg
这个图片主要说明了它的主要控制信号,英文很简单,一看就明白了,我们接下来写程序也是要控制这几个信号就好了。
下面看看程序 ,
/*单片机ATMEGA16 晶振8MHZ,软件编译环境IAR5.11B8*/
#define DataPort PINC          //PORTA?aêy?Y???ú
#define EN1_1 PORTA_Bit0=1    
#define EN1_0 PORTA_Bit0=0 
#define EN2_1 PORTA_Bit1=1   
#define EN2_0 PORTA_Bit1=0   
#define SEL1_1 PORTA_Bit2=1   
#define SEL1_0 PORTA_Bit2=0  
#define SEL2_1 PORTA_Bit3=1   
#define SEL2_0 PORTA_Bit3=0  
#define RESETX_1 PORTA_Bit5=1   
#define RESETX_0 PORTA_Bit5=0  
#define X_1 PORTA_Bit6=1   
#define Y_0 PORTA_Bit6=0 
#define EN_1 PORTA_Bit7=1   
#define EN_0 PORTA_Bit7=0 
void hctl2032init()
{
   
    RESETX_1;
    Delay_nms(5);  
    RESETX_0;
    Delay_nms(5);  
    RESETX_1;
    EN1_1;
    EN2_1;
    Y_0;
    EN_1;
    
}
 
void hctl2032data()
{
   
    EN_0;
    SEL1_0;
    SEL2_1;
    Delay_nms(5);     
    table6[0]=DataPort;
    Delay_nms(10);
    SEL1_1;
    SEL2_1;
    Delay_nms(5);  
    table6[1]=DataPort;
   Delay_nms(10);
    SEL1_0;
    SEL2_0;
    Delay_nms(5);  
    table6[2]=DataPort;
    Delay_nms(10);
    SEL1_1;
    SEL2_0;
    Delay_nms(5);  
    table6[3]=DataPort; 
    Delay_nms(10);  
    EN_1;   
   
   
}
 
这是2个子函数,我试验过没有问题,我发送1001个AB信号给HCTL2032,通过串口从单片机中读出数据如下
 
24343357_13530516647I78.jpg
最后的计数是0x03EA,十进制是1002,这是,刚刚开始发送脉冲的时候,HCTL2032已经加1了,我们不用管它,到时候可以修正一下,在单片机软件中。
附件是它的datasheet。
common.gif AV02-0096EN.pdf 

文章评论1条评论)

登录后参与讨论

用户377235 2014-7-24 19:41

您好,我想咨询一下,有关晶振是怎么选择的?是用8M,还是33MHZ.谢谢!
相关推荐阅读
用户420394 2013-01-23 09:17
PCB走线信号分析3-串扰
先看串扰的一些概念,串扰是指信号在传输通道上传输时,因电磁耦合而对相邻传输线产生的影响。   变化的信号(如阶跃信号)沿传输线由A到B传播,传输...
用户420394 2013-01-23 09:16
PCB走线信号分析2-hyperlynx
传输线的反射- 先说几个信号完整性的经典语句 1:一个信号沿着传输线前进的每一步中,都会感觉到一个瞬间阻抗。听起来,感觉是在开汽车,都会感觉到路面的坑坑洼洼一...
用户420394 2013-01-23 09:16
PCB走线信号分析1-hyperlynx
昨天晚上原本还打算再介绍一下PADS如何设计自己的元器件和PCB封装,我到网络上看了一下,这个方面的有很多的教程,所以呢,我就不多说了,各位可以到网络上参考其他好心网友提供的教程,很...
用户420394 2013-01-21 12:06
CY7C68013自动下载固件驱动程序的配置
CY7C68013自动下载固件驱动程序的配置 EZ Loader Custom USB Firmware Loader Driver 上面的一串英文是cypress公司的一个文档名称,是讲...
用户420394 2013-01-21 12:01
ADUC842开发-初步概述
  简单介绍一下ADI公司的8052核心的单片机。   8052核心的,不用多说了吧,这个表可以大概的知道这个系列单片机的性能,注意,ADUC分频比可以是1,传统的8052都是1...
用户420394 2013-01-21 11:59
ADUC842开发-IIC接口
  今天简单介绍一下ADuC842的IIC接口。 ADUC842有专门的IIC接口,我们不需要使用IO去模拟IIC主机了,先看看IIC的寄存器   这里我说明一下,我们下面把...
我要评论
1
8
关闭 站长推荐上一条 /3 下一条