Hi, there
We configured AFE4420 to have 6 phases. An interrupt is generated every 1/120 second to output the data. Each phase is 355us in length and consists of turning on LED, ADC sampling and conversion, etc.
The detailed AFE4420 register configurations are as follows:
0x1D | 0x00208D | 0x00208E |
0x23 | 0x001600 | 0x021600 |
0x42 | 0x000160 | 0x000160 |
0x6C | 0x200000 | 0x200000 |
0x78 | 0x000007 | 0x00000D |
0x88 | 0x000005 | 0x000005 |
0x8A | 0x1330CC | 0x1330CC |
0x8B | 0x0F0F03 | 0x0F0F03 |
0x8D | 0x010004 | 0x010004 |
0x8E | 0x008003 | 0x008003 |
0x8F | 0x000003 | 0x000003 |
0xB8 | 0x020808 | 0x020808 |
0xB9 | 0x801C12 | 0x801C02 |
0xBA | 0x001064 | 0x001064 |
0xBB | 0x020202 | 0x020202 |
0xBC | 0x801C12 | 0x081C02 |
0xBD | 0x001064 | 0x001064 |
0xBE | 0x020000 | 0x020000 |
0xBF | 0x801C02 | 0x801C02 |
0xC0 | 0x001064 | 0x001064 |
0xC1 | 0x020101 | 0x020101 |
0xC2 | 0x801C12 | 0x801C12 |
0xC3 | 0x001064 | 0x001064 |
0xC4 | 0x010404 | 0x010404 |
0xC5 | 0x801C12 | 0x801C12 |
0xC6 | 0x001064 | 0x001064 |
0xC7 | 0x010000 | 0x010000 |
0xC8 | 0x801C02 | 0x801C02 |
0xC9 | 0x001064 | 0x001064 |
Register 0xAC and 0xAE are programmed dynamically depending on the AGC algorithm. Other registers are left untouched.
The issue is that one of the phases, 2, 4 or 6, will give us negative maximum, i.e., 0xE00000, from the FIFO register 0xFF. It is always one phase that does this, and it seems to us that this happens randomly to one of the 2, 4 or 6 phases.
Can you take a look at the register configurations and let us know what we did wrong ?
Let us know if you need more information.
Thank you.
Regards,
Tom