Tool/software: Code Composer Studio
I would like to use PGA970 device for an 5 wire LVDT sensor in a custom board. I just did some testing activities
by flashing a modified demo firmware onto the PGA970 device:
1) The software initializes the following registers:
1.1) DIG_IF_CTRL-> SPI_EN = 1
1.2) ALPWR->SD = 0, ALPWR->ADC_EN_VREF = 1
1.3) S1_CFG->GAIN0 = 0, S1_CFG->GAIN1 = 0, S1_CFG->S1_SEM = 0, S1_CFG->INV = 0
1.4) S1_S2_CFG->BIAS_VCM_CTR0 = 0, S1_S2_CFG->BIAS_VCM_CTR1 = 0 (BIAS_VCM_CTR = 1.25), S1_S2_CFG->VCM_EN = 1
1.5) DEMOD1_CFG->DEMOD_EN = 1, DEMOD1_CFG->DEMOD_DEC_RATE = 0
1.6) DEMOD2_CFG->DEMOD_EN = 1, DEMOD2_CFG->DEMOD_DEC_RATE = 0
1.7) S1_S2_DEMOD_CFG_1->RESET_MOD =0, S1_S2_DEMOD_CFG_1->RESET_CLK = 0, S1_S2_DEMOD_CFG_1->DEMOD_EN = 1
1.8) DEMOD1/2 BPF coefficients register, DEMOD1/2 LPF coefficients register
1.9) Waveform_Table_size = 0x52 for a 3KHz carrier wave, WAVEFORM_DAC_OFFSET_VAL = 0x2C08
2) I developed an application for an micro-controller that is able to communicate via SPI with the PGA970.
Briefly the application performs the following tasks:
2.1) Access to MICRO_INTERFACE_CTRL and set it to 0x03 (Enable SPI, and set Reset Mode)
2.2) Read the registers set via software on the PGA970
2.3) Read the DEMOD1_DATA and DEMOD2_DATA.
All seems working fine, we read the expected secondary voltages A and B.
The next step will be to understand: is there a chance to erase memory in which is loaded PGA970 program?
Our intend is to configure DIG_IF_CTRL-> SPI_EN = 1 via software and then use it without software on board and accessing directly
all registers via SPI (when the ARM M0 processor is in reset).
For example during installation stage we could load the firmware to setup all needed registers (from 1.1 to 1.9) and then erase
program memory.