This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于ads1298的一些使用问题

Other Parts Discussed in Thread: ADS1298

你好,我在使用ads1298时遇到了如下问题,希望可以解答:

  (1)部分寄存器读写不正常,在寄存器读写测试中我对所有寄存器进行读写操作,包括读初始值,写入读出操作,发现ID寄存器初始值为0x81,与技术手册描述不符,相对的后四个通道寄存器无法进行读写操作,而其他寄存器读写正常

   (2)关于GONFIG2手册中的描述似乎矛盾

技术手册44页register map中,GONFIG2的初始值是0x40,而BIT6为零,而在47页寄存器描述中Bits[7:6] Must always be set to '0',前后矛盾

希望给出解答,非常感谢!

 

  • 你好!

    1,“ 相对的后4个通道寄存器“是哪四个?请把其地址写出来。把芯片的丝印告诉我们,看一下你用的是哪一版芯片。

    2, 默认初始值40可能是笔误,我们马上确认,谢谢你的反馈。

    Regards,

    JHL

  • 你好,我使用的芯片丝印是07C59RTG4(或07C59RT04,07C59RTC4看不清楚),后四个通道寄存器指的是CH5SET-CH7SET,地址分别为09h,0Ah,0Bh,0Ch,我无法对其进行写操作,而CH1SET-CH4SET读写正常

  • 请确认一下上电复位时序满足Figure 76 of datasheet?

  •  

    你好,以下是我引脚设置,及上电复位程序的部分相关代码,MSP430主时钟设定为4194304hz(已测),ads1298采用内部时钟2.048Mhz(已测)对照

  • 你好,以下是我引脚设置,及上电复位程序的部分相关代码,MSP430主时钟设定为4194304hz(已测),ads1298采用内部时钟2.048Mhz(已测)对照

    void main( void )
    {
     
     
      WDTCTL = WDTPW + WDTHOLD;//关闭看门狗
      _DINT();                         //关中断
      Init_Clk();//初始化时钟
      Init_Port();//初始化引脚
      Init_COM();//初始化串口
      Init_SPI();//初始化SPI
       _EINT();
      POR_Reset_ADS1x9x ();
      ADS1298_SEND(ADS1298_SDATAC);
      while(1)
      {

     
     ...
     
      }
     void Init_Port(void)
        {
          P1OUT = 0XBF;       //Each bit in each PxOUT register is the value to be output on the correspondingI/O pin when the pin is configured as I/O function and output direction.
                               //P1OUT设置为10111111,P1.1(MCLK)p1.4(SMCLK)P1.5(ACLK)P1.6(232EN)P1.7(232FORCEOFF)
          P1DIR = 0Xf6;       //P1DIR设置为11110110设置P1.1(MCLK)和P1.5(ACLK)为输出,P1.2(TA1), P1.4(SMCLK)为输出
          P1SEL = 0xf6;       //P1SEL设置为11110110设置P1.1为MCLK输出,p1.5为ALCK输出,P1.2为TA1输出,p1.4
          P4SEL = 0x03;       //P$SEL=00000011,配置P4.1~P4.0为USART接口,P4.0(232DIN)P4.1(232DOUT)
          P4DIR = 0xfe;        //11111110
          P4OUT = 0xf7;       //11110111
          P7SEL = 0x0e;       //P7SEL=00001110,配置P7.3~P7.1为SPI接口,p7.0为IO口
          P7DIR = 0xbb;       //10111011P7.2(SPI_430IN)P7.6(SPI_DRDY)为输入,其他为输出
          P7OUT = 0xf5;       //11110101P7.0(SPI_CS)P7.2(SPI_430OUT)P7.3(SPI_CLK)P7.7(AD_RESET)P7.1(SPI_430IN)
          P8SEL = 0x01;       //配置P8.0(AD_START)为SPI接口
          P8DIR = 0xff;       //全部为输出
          P8OUT = 0xff;             
         }

    void POR_Reset_ADS1x9x ()
    {
      int i,j;
      int k;
     P4OUT|=0x0c;
     
    for(i=0x20;i<0;i--);

     P7OUT|=0x80;
      for (k = 0xFFFF; k > 0; i--)
            {
                for (j= 0x09; j > 0; j--);                                             // Large Delay
            }                                                      ;
     P7OUT&=0x7f;
     for(i=0x10;i<0;i--);
     P7OUT|=0x80;
     for(i=0x90;i<0;i--);
     
     
    }

     

  • 你所用的属于量产芯片。重点检查上电时序,请用示波器捕捉power and reset timing波形,查看一下。