I am interfacing an ADS1247 with an MSP430F6726. All looks good. I have comms going and have good data to and from the device. My question is in regards to sleep mode. My product is very sensitive to power. This chip was chosen due to the comparison to the internal converter and reference on the micro being better and with the integrated PGA and offset and gain registers being slightly better. I am finding this to be a slight problem. The specs were not completely clear when using the internal current source that Vref must be on in order to get the current output. This is an extra 180uA that was not planned (Vref current).
This can be dealt with through the use of sleep mode. However, I have just learned that the implementation of the sleep mode seems to be really wonky. I found in this post:
http://e2e.ti.com/support/data_converters/precision_data_converters/f/73/p/75486/282700.aspx#282700
That Bob Benjamin mentions that the sleep command is only active the the duration of the time after the command is sent until the CS* pin is returned high (This is not mentioned anywhere in the datasheet!). That makes absolutely no sense as the SPI interface is specifically designed to be used on multiple devices. Because of this, I must dedicate a complete SPI interface to this chip alone (and for each subsequent ADC of this family in my design). Please tell me this isn't so! I see no reason the sleep command shouldn't cause the device to go to sleep until I issue the wake command. I only need to sample the analog value about once a second and have no problem waking the ADC up and allowing the Ref to stabilize before issuing a conversion command, but I Must be able to use the SPI during the remaining 950mS between conversions (Single conversion command at 20 SPS).
I realize there is another option to use the START input pin to manually force the chip to sleep, but that wastes an IO pin just to make the analog portion (and REF) go to sleep? That's a serious waste of resources when the proper way would be to just issue a software sleep command.
If I were to use the START pin, it looks like the CS* pin is ignored? According to the timing diagram on page 33 of SBAS426G, CS* isn't even mentioned! In this case, if I were to just keep this pin low, then pulse it (for at least tstart seconds), then wait for the time of the conversion (which is easy for me since I have a timer that measures how long I'm asleep (usually 0.250s but as fast as 0.062s) and just read back a result. I'm also likely going to have to manually turn on Vref just before pulsing START and increase my DOR to 80 or 160 SPS just to get my data faster (and because I don't really need more than about 14-15bits of resolution).
So, I'm just looking for verification that there is no other way around this dependency on CS* for the sleep command than:
1. Dedicated SPI interface
2. Use of the START pin to manually control sleep state (and that this is not dependent on the CS* pin).
Thanks!