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.

BOOSTXL-PGA460: PGA460 EVM Memory Map not the same values as Block Diagram etc

Part Number: BOOSTXL-PGA460
Other Parts Discussed in Thread: PGA460


When I want to set up profiles to use with my own PGA460 setup, I make them beforehand with the EVM (So the MSP microcontroller with UART connected to own PGA460 setup) to set the thresholds, time varying gain etc.

For example when I want to Memory Map the thresholds for P1, and I set the first threshold (P1 Level 1) to 248/255 in the chart, I should see 0xFF in my Memory Map, but I always get a value under 0xFF.

This results in my profile triggering a detection within the ringing time of the transducer, giving a lot of false positives.

So far, the only way to solve this problem, is to manually review every register value (because this applies also after setting P1 duratations) and then edit them by hand.

I also make sure to ''write'' the set values, double check after reading (or not reading) the PGA460 to save the memory map to a txt file.

Is this a bug? Or did I mess up in some magical way every time I set my values in the EVM?

When I use those ''wrong'' values, they go unnoticed when detecting short-mid range values, but when you aim for 5+ meters, it is a noticeable error.

  • Hi Jaatje,

    If I understand your problem correctly, you are experiencing problem when uploading the memory map text file through the GUI, such that the imported threshold map does not match the previously exported threshold map. I tried this with a similar case, such that the first level is maxed to a value of 248/255 with an offset of +7 to enable threshold masking. After exporting, and importing the memory map, I did not see any issue with the values (thresholds maps matched).

    • Can you provide a table or .txt file of the Memory Map showing the expected/correct values versus the wrong values that get uploaded?
    • Is the erroneous upload case consistent, such that that same value always show the wrong value, or is the error random each time?

    One item to note is that the P1_Level_1 is a five bit value, and shares a byte space with a part of the P1_Level_2 value ([7:3] TH_P1_L1 and [2:0] TH_P1_L2) in the P1_THR_6 register. So unless your P1_Level_2 value is also maximized (or nearly maximized), the P1_THR_6 register value may not be 0xFF. At the least, the five MSBs should be '1' or b11111xxx for P1_Level_1 to be maximized.

  • Yeah, now I just read the values back, check if the threshold settings are still correct (edit if possible), save the file. Reupload the file and check the thresholds again. Sometimes it does screw up the first threshold level (even with offset +7, 248 for first level) to a lower value, but I haven't found a method yet to exactly replicate it. It just happens from time to time.

    If I find out what exact steps are needed to create the problem, I'll make another topic. Since it was frustrating at first when uploading my settings to the ESP32 and getting crap measurements haha, now it works as intended and I have to say, the PGA460 is going to be a keeper in my IC arsenal ;)