Other Parts Discussed in Thread: ADS7128
Tool/software:
Hello, we have a brand new problem with ADS7028.
In our setup, we have 3 ADS7028 sensors to read analog data. They all have an input channel and a ZCD output channel. Inputs are also connected to RMS module.
For the 2 ADS7028s, everything works correctly and we have a clear square waveform output from the ZCD output pin. But for the last one, we couldn't produce the ZCD. Following are the settings and register values for this specific sensor:
Input channel = 1
ZCD output channel = 0
To set ZCD pin as output:
1. PIN_CFG_REGISTER = 0x01 (For setting as GPIO)
2.GPO_DRIVE_CFG = 0x01 (For push-pull)
3. GPO_VALUE = 0x00 (To make sure it is starting as low)
ZCD settings:
1. CHANNEL_SEL = 0x10 (Treat channel 1 as input to ZCD)
2. HYSERESIS_CH1 = 0xF0
3. HIGH_TH_CH1 = 0x7F
4. GENERAL_CFG = 0x30 (DWC_EN and STATS_EN are active. STATS_EN is activated before)
5. GPO_VALUE_ZCD_CFG_CH0_CH3 = 0x02 (To produce a signal only at crossings from negative to positive)
6. ZCD_BLANKING_CFG = left at default
7. GPO_ZCD_UPDATE_EN = 0x01 (Update channel 0 wrt ZCD)
These are the specific settings we did. I made sure they are like this by reading them back after writing to them. Everything looks in order. The rest of the ADS7028 settings are similar, only register values change wrt their particular input and ZCD channels. The channel arrangements are different for all of them. The input channel and other analog channels are automatically sequenced after making the arrangements, but ZCD pin always outputs HIGH signal.
We couldn't solve this issue, so we made some arrangements. We changed the ZCD output channel from 0 to 6 and it started to work like a charm. That raised the question, is there something innately wrong with channel 0? Then we set that channel as a regular output pin and tried to drive it low or high programatically, and it failed. We can't drive channel 0 to low. It always stays at high and never ever outputs low.
There are no pull-ups or downs. We even took out the following circuit to make sure nothing affects our setup. So channel 0 doesn't connect to anywhere. We conducted all of these with an oscilloscope. So the question is, is there something wrong with channel 0? Shouldn't we use channel 0 as an output GPIO and for ZCD output?
Thanks in advance.
P.S. This is the 4th ADS7028 we tried to make sure the IC doesn't have a physical issue.