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: DIAG byte value always 0x44 as first read.

Part Number: BOOSTXL-PGA460
Other Parts Discussed in Thread: PGA460, ENERGIA, MSP430F5529

Hi.

I have been trying to develop a code on CCS based on example from energia for PGA460 using MSP430F5529LP (basicallly the EVM kit). However, everytime, when I send a command "Register Read", as first read I always receive the first value 0x44 but the register value is correct. When I send second, third ... nth time it will be 0x40. If I would send again a new command, it will be again 0x44 but the data bytes are correct. Was wondering if it is something missing to see if something must be sent before any command? I know I haven't cleared the TH_ERR byte, but in PGA460 GUI is sends back correctly everytime through interface mode even with TH_ERR being present (equals to 1). The command I am sending is 0x55 0x09 0x2B 0xCB at 115200kbps. I did try changing baudrate, but didn't help and for my project I am required to use 115200kbps.

Best Regards,

Edvardas Vysniauskas

  • Hi Edvardas,
    What do you have the UART_DIAG bit configured to?
    If UART_DIAG=0, then the UART diagnostic data error of 0x44 is interpreted as "Consecutive sync field bit widths do not match". If UART_DIAG=1, then the error is interpreted as "Frequency diagnostics error".
  • Hi,

    It is set up to be as 0. Otherwise, the commands are sent with 2 stop bits as required.

    Best Regards,

    Edvardas Vysniauskas

  • Additional information on how I send/read messages to/from PGA460:

    • Send Threshold values. Delay.
    • Send TVG value. Delay.
    • Send EEPROM write command. Delay.
    • Read the EEPROM. This is where I get a problem. Actually, it is regardless what read command I am sending to the PGA460. the very first message is always 0x44 DIAG byte, consecutive read commands are fine.

    I checked with oscilloscope how the bytes are being transmitted back to MSP430F5529. I attach the images from oscilloscope when I am sending EEPROM read command the first time and second time. THC_ERR is cleared after sending Threshold values. The first image is when DIAG byte is 0x40. The CH1(yellow) is TX pin of PGA460, CH2(blue) is RX pin of PGA460.

    The second image is when I send same EEPROM read command the first time. The response is zoomed in here to see the signal better.

  • Hi Edvardas,
    The randomly re-occuring issue of the 0x44 diagnostic field is likely a result of the PGA460's TXD pin not being idled high prior to returning data. If you add a weak pull-up resistor to the TXD pin, this will help guarantee a high-idle state between commands. Otherwise, it appears the TXD pin can idle low due to its tri-state logic nature.
    (Note: your CH1 is the master TXD, and PGA460's RXD, and vice-versa for CH2.)