Hi,
I'am using GC5016 as DDC, a I want measure the power level. All works fine, but the measuring is not running. I readed some tips from datasheet:
Example using a read of the msb to fire one shot:
1. Sync integration counter 2. Wait for ready bit to be 1 (8 clocks or less depending on sync source) 3. Read MSB of power (also fires one shot to clear ready bit) and ignore it. 4. Wait for ready bit to be 1 5. Read power LSB 6. Read power MSB 7. Check to be sure missed bit is not set 8. Go to step 4
but i dont know, what does mean step 1 - sync integration counter. I get always zerros values from power measurement data registers.
Thank you.
Thank you Joe,
please could check it my method?
First, in GC Studio, I generate GC_Pgm.gcprg file (attachement), I use my own utility and generate C source file (attachement).
Next, in hardware inicialisation by my ATMEGA code I call GC5016_Init() which go through while field and get item zerro as address, item one as data, item two as address, item tree as data etc... It seems, that inicialisation works fine, filtering is ok...
Next, when user want see value of power, I call ReadPower() function with consequent content:
// read PowerMeterchar ReadPower(unsigned int* powerh, unsigned int* powerl, unsigned int* status){ // if all is ok, return 1 char reval = 1; GC5016_WriteRegister(0x02, 0x13); GC5016_WriteRegister(0x1c, 0x0000); GC5016_WriteRegister(0x1d, 0x4000); GC5016_WriteRegister(0x02, 0x33); GC5016_WriteRegister(0x1c, 0x0000); GC5016_WriteRegister(0x1d, 0x4000); GC5016_WriteRegister(0x02, 0x13); *powerl = GC5016_ReadRegister(0x1a); *powerh = GC5016_ReadRegister(0x1b); *status = GC5016_ReadRegister(0x1c); return reval;}
but powerl and powerh is still zerro. GC5016_WriteRegister function works fine, I use this function in GC inicialisation and filtering is OK. GC5016_ReadRegister function works fine too, when I want read some another register, I read previous written value.
Please could you check my method (progress), that is correct?
I attached while C library for GC (attachement)
All atachemet are linked to third-party server.
Thank you Ondrej
Hello,
The 'sync integration counter' - is to set the pwr_mtr_sync value for this DDC channel to the startup sync source for fir_sync. These are shown in table
51 of the GC5016 data sheet.
The power meter method described in your post, power meter one shot, can't be tested on the TI EVM, as there is no local DSP/uprocessor.
We suggest that you setup the pwr_mtr_integ count for the number IQ samples*2 -1 tha are desired. Set the pwr_mtr_sync value, clear the pwr_mtr_status,
and read the power LSB and MSB registers. In the split IQ mode, the pwr_mtr_integ count is number IQ samples - 1.
I will send a GC5016 SEK example in the next post.
Regards,
Radio Joe
Hello Joe,
problem was solved. Power meter worked since first downloading, but signal was very poor... Low 8 bits on output was working, other had no function... I saw block diagram again and solve this proble.
Thank you for your time...
Ondrej