johnson925

AD7864芯片EOC#信号的问题

johnson925 在 2015-5-14 建立的討論區
最後回覆由Rocky2016於2016-5-17提供

采用freescale的单片机控制AD7864芯片,硬件选择采样通道。

初始化后convst#信号为高电平,然后拉低保持低电平1ms后重新设为高电平,EOC#总是为高电平,也就是说数据转换结束标志不清0,导致数据读不出来。

 

 

     DDR1AD0_DDR1AD07 = 1; //CONVST#   output

     PT1AD0_PT1AD07 = 1;

     DDR1AD0_DDR1AD03 = 1; //CS#       output

     DDR1AD0_DDR1AD05 = 1; //WR#       output

     PT1AD0_PT1AD05 = 1; //WR#

     ATD0DIEN_IEN6 = 1;    // EOC#     input   digital

 

 

     uint16 ii = 0;

     PT1AD0_PT1AD07 = 0;

     while(ii++ < 2);

     PT1AD0_PT1AD07 = 1; //CONVST#   a conversion is initiated on the rising edge of COMVST#.

 

     while(PT1AD0_PT1AD06);    //EOC# 等待转换结束

     converson_result = (PT1AD1_PT1AD112)+(PT1AD1_PT1AD113<<1)+(PT1AD1_PT1AD114<<2)+(PT1AD1_PT1AD115<<3);

     converson_result += (PT0AD1_PT0AD116<<4)+(PT0AD1_PT0AD117<<5)+(PT0AD1_PT0AD118<<6)+(PT0AD1_PT0AD119<<7);

     converson_result += (PT0AD1_PT0AD120<<8)+(PT0AD1_PT0AD121<<9)+(PT0AD1_PT0AD122<<0)+(PT0AD1_PT0AD123<<11);

結果