Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

ADC ADS7138 always read 0x00

flote21

Advanced Member level 1
Joined
Jan 22, 2014
Messages
401
Helped
1
Reputation
2
Reaction score
2
Trophy points
1,298
Activity points
5,491
Hello everybody, I am facing an issue with the following ADC: ADS7138...

See below my schematics:

1669741510046.png


I was able to communicate with the part because adter sending the next command: RIB 0x2E 0x1000 1 => Result: 0x81

However after sending the next settings to configure the ADC in a manual way, I alwas read 0x00 in all the channels (I have already checked that the input voltage on AINXX are in the range of 1V - 1v8 :

1) All AINxx configured as Analog inputs:

WIB 2e 0805 00

2) Send the calibration command:


WIB 2E 0801 02

3) CON_MODE = Manual:

WIB 2E 0804 00

4) SEQ_MODE = Manual:

WIB 2E 0810 00

5) Select Channel to read (AIN0):

WIB 2E 0811 00

6) Read the register of AIN0:

RIB 2E 10A0 1

Result=0x00 for all the AIN. I have tried to enable the FIX PATTERN register (WIB 2E 0802 80) and I read always 0x00 too.

Any idea about what is going on?

Thanks in advance.

Greetings.
 

flote21

Advanced Member level 1
Joined
Jan 22, 2014
Messages
401
Helped
1
Reputation
2
Reaction score
2
Trophy points
1,298
Activity points
5,491
Just a guess as we can't see the rest of the schematic or see your software - do you have pull-up resistors on the I2C lines?

Brian.
Hi! Yes i have them on other page. Actually i can read other registers from the ADC but the ones with the analog values are always at 0x00
 

barry

Advanced Member level 5
Joined
Mar 31, 2005
Messages
5,946
Helped
1,172
Reputation
2,356
Reaction score
1,298
Trophy points
1,393
Location
California, USA
Activity points
32,336
Many possibilities:
1) You're not reading from the registers you THINK you're reading from
2) You've configured your analog inputs as GPIO
3) You've got a timing issue
 

stenzer

Advanced Member level 3
Joined
Oct 1, 2012
Messages
705
Helped
113
Reputation
227
Reaction score
160
Trophy points
1,323
Activity points
7,466
Hi,

I haven't had a detailed look on the datasheet, but you are mentioning your result is 0x00. This corresponds only to 8 Bit, so at least 4 additional bits are missing here (I assume 8). This missing bits include your LSB"s", if the MSB is clocked out first. So depending on your test condition, which I do not know, and it looks like the inputs are floating, the floating/open ADC input "noise" (flipping of the lower bits) will not be displayed.

Further, for your read hex presentation I'm missing a digit (ending zero?): 2E 10A0 1X.

BR
 

KlausST

Super Moderator
Staff member
Joined
Apr 17, 2014
Messages
23,010
Helped
4,714
Reputation
9,444
Reaction score
5,082
Trophy points
1,393
Activity points
152,440
Hi,

What library or software do you use?
Where is the description of "RIB" and "WIB" commands?

Your commands are rather messy:
* upper case / lower case
* HEX identifier "0x" and not (maybe without "0x" is interpreted as decimal values)
* leading zeroes and not

--> clean up the mess and only change one item per time. Then do the test.

Klaus
 

LaTeX Commands Quick-Menu:

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top