Ch2 Ch3 Ch4 Ch5 Ch6 ch7 ch8 ch1 Dear Alex, Again thank you for your valuable feedback. To make sure all of your comments:set CLKSEL =1, does the oscillator correctly wake up? Does /DRDY toggle? Do you set /PDWN and /RESET = 1 and wait tPOR? Does VCAP reach 1.1V? Do you issue an additional /RESET and wait for 18tCLK? CLKSEL = 1; the oscillator wakes up and the /DDRY toggles. /PDWN = RESET = 1, I have waited for tPOR but is there a maximum value?? The following is my Boot sequence. // Boot sequence // Issue Reset Pulse digitalWrite(PIN_RESET, HIGH); delay(500);// Wait for Min(tpor) = tclk * 2^18 = 1/2.048mHz*2^18 = 128ms - for power on rest and oscillator Start-up digitalWrite(PIN_RESET, LOW); delay(500); digitalWrite(PIN_RESET, HIGH); delay(500); //Wait for 18tclk // Reset communication digitalWrite(PIN_CS, LOW); delay(10);// Delay 10 ms digitalWrite(PIN_CS, HIGH); delayMicroseconds(10); // Delay 10 ms // Send SDATAC Command (Stop Read Data Continuously mode) command(SDATAC); Vcap reaches 1.1V, VREV+ - VREF- = 2.4V / 4V for 4 voltage reference My regester settings are as follows: write(CONFIG3, 0xCE);// reference buffer, 2.4Vref, rld mes - open, rldRef - internal, rld buf-on, rld sens-enabled, rld lead off-connected delayMicroseconds(100); //Wait for Internal Reference to Settle // Set ADC to work at high resolution 0.5KS/sampling rate, HP,multiple read back, clken-0, write(CONFIG1, 0xC6);// // Generate internal test signal write(CONFIG2, 0x10);//Activate a (1mV ´ V /2.4) Square-Wave Test Signal write(LOFF, 0x41);//90%, current mode, 6nA, ac lead-off dectection write(RLD_SENSP, 0x06); // channels 2&3 write(RLD_SENSN, 0x06);//channels 2&3 write(LOFF_SENSP, 0x06);//channels 2&3 write(LOFF_SENSN, 0x06);//channels 2&3 write(LOFF_FLIP, 0x00);//no flip write(GPIO, 0x00); // All GPIO set to output 0x0000: (floating CMOS inputs can flicker on and off, creating noise) //Willson terminals write(WCT1, 0x0B); // WCTA powered and connected to channel 2 negative input write(WCT2, 0xD4); // WCTB connected to channel 2 positive input and WCTC connected to channel 3 positive input //Pace and respiration disabled write(PACE, 0x00); // pace disabled write(RESP, 0x00); // respiration disabled write(CONFIG4, 0x02);//Turn on DC lead off comparator //CONFIG4, LOFF_SENSP, LOFF_SENSN, LOFF_FLIP, LOFF_STATP, LOFF_STATN for (int i = 1; i (133110 - 132610) = 500 samples). Everything seems working but when I tried to connect an electrode or a simulator the data is random and I can't get it work. Do you think I should assemble a another prototype?? Additionally, I have used the following formula to calculate the real values in Voltage. if(dataValue (the 24 bit data ) >= 8388608 )){ // Check for the maximum value, maximum positive value is 7FFFFF - hex or 8388607 dataValue = dataValue - 16777216; //[ dataPacket - 1 (in decimal)*LSB size]/gain, where LSB size = VREF/(2^23-1) - in voltage } Am I getting it right ?? If so what else should I do?? It really took me a lot to figure out the problem. I have an ECG AFE from discrete components and INOP and it is working but the ads chip isn't. I am really confused. Waiting for your usual feedback. Kind regards Mes
↧