微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > 关于ads1298的一些使用问题

关于ads1298的一些使用问题

时间:10-02 整理:3721RD 点击:

你好,我在使用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波形,查看一下。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top