This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PGA460: PGA460

Part Number: PGA460

Dear E2E,

I bought ultrasonic-2-click board and try to use it for distance measurement application. I have connected ultrasonic-2-click board to stm32l452e using uart rx/tx + gnd/3.3V. My application engineer cooked for me basic code that communicates with pga460 chip. We do not have communication problems. The chip seems to be configurable, readable and writteable. We are using the following piezo transducer MA58MF14-7N with 58.6kHz center frequency. The piezo transducer is driven by transoformer and we are using monostatic configuration. At the end of the day we would like to sense objects below 10 cm if possible. Right now we are trying 50 cm and longer distance objects without succeed. I think the issue we have is to correctly setup pga460 registers to sense any kind of object. The problem is that we do not see i.e. any difference between situation with object present or without. Below is our basic pga460 configuration:

Configure PGA460 with Murata MA58MF14 7N sensor...
EEPROM memory dump:
Master to PGA460: 0x55 0x0b 0xf4
|------------|------------|------------|------------|------------|
|TVGAIN0 |TVGAIN1 |TVGAIN2 |TVGAIN3 |TVGAIN4 |
|0x88 |0x88 |0x88 |0xc3 |0x0c |
|------------|------------|------------|------------|------------|
|TVGAIN5 |TVGAIN6 |INIT_GAIN |FREQUENCY |DEADTIME |
|0x30 |0xc0 |0x60 |0x8f |0xa0 |
|------------|------------|------------|------------|------------|
|PULSE_P1 |PULSE_P2 |CURR_LIM_P1 |CURR_LIM_P2 |REC_LENGTH |
|0x04 |0x10 |0x55 |0x55 |0x19 |
|------------|------------|------------|------------|------------|
|FREQ_DIAG |SAT_FDIAG_TH|FVOLT_DEC |DECPL_TEMP |DSP_SCALE |
|0x33 |0xee |0x7c |0x4f |0x00 |
|------------|------------|------------|------------|------------|
|TEMP_TRIM |P1_GAIN_CTRL|P2_GAIN_CTRL| | |
|0x00 |0x00 |0x00 | | |
|------------|------------|------------|------------|------------|

and diagnostic readbacks

Master to PGA460: 0x55 0x09 0x7f 0x77
Register 0x7f value: 0xc9
Master to PGA460: 0x55 0x09 0x4c 0xaa
Register 0x4c value: 0x80
THR_CRC_ERR: no error
Master to PGA460: 0x55 0x19 0x88 0x88 0x88 0x88 0x88 0x88 0x42 0x10 0x84 0x21 0x08 0x40 0x40 0x40 0x40 0x00 0x88 0x88 0x88 0x88 0x88 0x88 0x42 0x10 0x84 0x21 0x08 0x40 0x40 0x40 0x40 0x00 0x7e
Master to PGA460: 0x55 0x0f 0xf0
Retrieved thresholds registers:
0x88 0x88 0x88 0x88 0x88 0x88 0x42 0x10 0x84 0x21 0x08 0x40 0x40 0x40 0x40 0x00 0x88 0x88 0x88 0x88 0x88 0x88 0x42 0x10 0x84 0x21 0x08 0x40 0x40 0x40 0x40 0x00
Threshold registers have program settings
Master to PGA460: 0x55 0x09 0x7f 0x77
Register 0x7f value: 0x0c
Master to PGA460: 0x55 0x09 0x4c 0xaa
Register 0x4c value: 0x80
THR_CRC_ERR: no error

right now we have either 11m or 0.01m readbacks which alternate every interval of readback i.e. every 1 sec.

Could You take a look to our registers readback and give us basic informations what could go wrong with our setup and registers set?

  • Konrad,

    Please consider using the Murata MA58MF14-7N register map example found on page 21 of the Ultrasonic Proximity-Sensing Module (PSM) Reference Designhttp://www.ti.com/lit/ug/tiduek5/tiduek5.pdf ). This example register map will yield similar results to the performance plots in the same report.

    Given you have written to the threshold section, and the THR_CRC_ERR is cleared to '0', I suspect your time varying gain and/or digital gain settings are not optimized. As for why you occasionally see 0.01m, this is due to a false triggering of threshold during the burst phase. The reason the burst and decay is being recognized as an object is because the threshold is allowing a low-to-high transition of the burst signal near ~0ms. The PGA460 FAQ # 5.2 How can I detect more than eight objects? Can I set the threshold to ignore ringing decay ripple or objects for a given time after bursting? How can the Threshold Offset be used?http://www.ti.com/lit/an/slaa733/slaa733.pdf ). This FAQ describes how to set the threshold level+offset and/or the time varying gain level to ignore the false positive created by the burst signal.

    You should also consider extracting the 128 byte echo data dump profile to visually check the echo activity over time for a single burst/listen cycle. You can extract the echo data dump profile using UART command 7 found in table 3 of the PGA460 datasheet.