Hi Team,
We are developing with ADS8166 and are writing firmware as there is no sample code/drivers to support this. A few questions listed below. Thanks for your help!
- We want to operate the device in standard manual mode, with 8 separate ADC's single ended. As depicted in Figures 42 and 43 of the ads8166 datasheet, there is an operation to "switch to AINy" ie switch to channel AIN#. I recognize this operation needs to be done with the CHANNEL_ID register, 0x1D, since that also specifies 3 bits for selecting the analog input channel. Is this switch operation on channel "AINy" a write operation, or a read operation? (The write and read operations are specified by the upper 5 bits in a 24 bit packet).
- I suspect the operation to switch to a specific channel is meant to be a "write" command, since the read has a specified lower 8 bits of 0x00. If we are suppose to write that to the register, do I need to set REG_ACCESS_BITS in the 0x00 REG_ACCESS register, to complete this properly?
- How strict is the 24 clock pulse packet to the ads module? On our embedded linux platform, the default spi driver doesn't accept a 24 bit packet size, as in the chip select is low for those 24 clock pulses. It will take 8bit, 16, and 32 though, and I've set it up as size 32bit with 0's for the extra 8 bits at the end
Regards,
Garret