Dear All,
what is the reasons that cause data corruption in ADS1248?
what is the optimal way to keep these data uncorrupted, is this by reading setting contentiously and compare it or what?
please advice me
Mahmoud
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.
Dear All,
what is the reasons that cause data corruption in ADS1248?
what is the optimal way to keep these data uncorrupted, is this by reading setting contentiously and compare it or what?
please advice me
Mahmoud
Mahmoud,
This appears to be the same question as your other post. Is this a problem with registers reads? Or is this a problem only with data reads (RDATA) from the ADC results register?
When sending the screen shot of the SPI transfer (as Michael mentioned) also show the signal to DRDY. You will get corrupted data if you try to read the results register the same time it is being updated from a conversion.
Best regards,
Bob B
Dear All,
Many thanks for helping me.
right now i have got correct data after last comment of Mr.Bob on my written code.
BUT this question occurs some times for ADS1248 setting registers when i connect earth or disconnect it "the ADS1248 hang up, register corrupted and need reinitialization to give me correct data".
is there are any problem writing settings every time i need to read data from ADS1248?
thanks,
Mahmoud
Mahmoud,
This sounds like a power surge. If you are using a supply where the (-) lead is above earth ground, and you connect earth ground to the (-) lead (either directly or through your board ground) you will change the ground reference on the supply and bypass caps. This same type of event can happen with analog inputs as well. The end result is a current surge and a large voltage spike that resets the device, and can even damage the device.
To prevent this from happening, you need to make sure that all your grounds are connected properly at power up. Sometimes this isn't enough if your system requires you to plug an external device to the system (like sensor). In this case the occurrence is similar to an ESD type event, and protection diodes (Schottky or TVS) may help.
Best regards,
Bob B
Bob,
Thank you very much about this advice
where should i put your recommended TVS/schottky? {is it between earth and - ve of system supply or not}
what about my question:
Is there are any problem writing settings every time i need to read data from ADS1248?
many thanks
Mahmoud
Mahmoud,
You can read/write the registers at anytime. The only issue is when you are reading/writing in RDATAC mode. It is generally a good idea to use a SDATAC command before register operations. This will prevent the results register from updating the output register which can corrupt a read register operation.
What might be considered a problem with the method you described is certain register writes will cause a digital filter reset, so you will have to wait the specified time before the data is again valid, which is slightly longer than the period of the data rate. If you monitor DRDY, the data will be valid at the point DRDY goes low.
The placement of protection diodes will depend upon what is exactly causing the problem. I have seen this problem in several different situations. One is where the supply to the board is battery operated and an earth grounded sensor is connected. The other is using two different power supplies where the supplies are actually floating with respect to each other. There can be other situations where this problem can occur as well. So you need to anticipate problems and design your circuit appropriately. In your case you have a situation that forces some event to happen. All I know is that you have connected or disconnected something to earth ground. I would need to know exactly what you are trying to do and how your system is to work for me to give better detail on how to prevent the situation you have described. Basically you want to provide a current path prior to the ADS1248 that will prevent a major disturbance to the ADS1248.
Best regards,
Bob B
Bob,
regarding my situation as you know i have measured RTD three wire with ADS1248 used in differential mode, can i measure another input on the same ADS1248 with this specs:
-single ended input {not differential} with signal from 0 up to 2Vdc.
also can i use the same reference voltage that used with RTD measurements {2.5Vdc external}?
Many thanks,
Mahmoud
Mahmoud,
There is a common mode input range restriction on the ADS1248, so you cannot measure single ended inputs if referenced to ground and AVSS is also connected to ground.
Depending on what you are measuring, it may be possible to bias the input above ground into the valid range, or you might use an op amp to establish an offset into the common mode input range.
As far as the reference is concerned, you could use the same reference, but remember that there can be noise added to your measurement. The RTD measurement is ratiometric and the noise is canceled. If you are only reading up to 2V difference between the inputs, then it may be better to switch to the internal reference to take that measurement.
Best regards,
Bob B