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-Q1: Connect more than one transceiver to PGA460-Q1

Part Number: PGA460-Q1
Other Parts Discussed in Thread: PGA460, ENERGIA, PGA460PSM-EVM

Hello there,
I want to connect 2 transceivers to 2 PGA460-Q1. I know it's possible to use the UART_ADDR command. But I'm confused. I'm using the GetDistance.ino demo code. How can I change this code for use 2 PGA460-Q1s? And I cant imagine, how can I set 2 different PGA460-Q1's UART_ADDR address seperately. I connected these like follows. 

When I run the system, MSP set the PGA460-Q1 normally. Is the same UART_ADDR address not loaded on 2 PGA460-Q1 ICs when connected in this way? How can I load two different UART_ADDR address to two different PGA460-Q1s? Could you show me how I should the connections for seperate by drawing like me? And if it is possible, could you show me how I should write code by writing the code's this part?

  • Hi Lacin,

    To expand upon my latest response on your other post at https://e2e.ti.com/support/sensors/f/1023/t/916680:

    The UART_ADDR values of each PGA460 will need to be EEPROM programmed to different values before connecting to the bus. The easiest way of updating the UART_ADDR value is to use the PGA460-Q1 EVM GUI software. Only connect one PGA460 module to the MSP430 LaunchPad's UART and ground pins at a time when using the GUI to update the UART_ADDR value. In the software, you will go to the "Interface Mode" page, change the "UART Interface Address" value, and click the "Update Device to Selected Address" button.

    The factory default address value will always be '0', so you can change this to non-default value of '1' to '7'. For example, set one module to address '1' and keep the other at address '0'. After you update the address value, you will need to EEPROM program the device to save the address value to memory. To burn the EEPROM in the GUI, go to the "Test Modes" page, and click the "Program EERPOM" button. Now this device will always expect UART_ADDR '1' in the command field of the UART frame.

    In the Energia GetDistance.ino and BusDemo.ino examples, the "uartAddrUpdate" value passed to the "ussc.initBoostXLPGA460(commMode, baudRate, uartAddrUpdate); " function determines which UART_ADDR the sketch is communicating with. The BusDemo.ino already implements this UART_ADDR sweep when collecting time-of-flight data, so I recommend you use the BusDemo.ino sketch for your software development example reference. The GetDistance.ino sketch is an example for a single PGA460 device.

    Note, you can also use the PGA460-Q1 EVM GUI to evaluate and configure each module one at a time on the bus by only changing the "UART Interface Address" value in the GUI without clicking the "Update Device to Selected Address" button to indicate which address you want to talk to.

  • Hi,

    Thanks for your reply again. I will not use MSP430 LaunchPad in my project. This is just a system I made to try the PGA460PSM-EVM module. So I don't think of using GUI either. Is it enough to use the BusDemo.ino code to load the UART_ADDR value separately for each PGA460? Where are the BusDemo.ino code assigned UART_ADDR values to PGA460s?

  • Lacin,

    The BusDemo.ino assumes the PGA460 device are already programmed to different UART_ADDR values before they are installed on the UART/SPI/OWU bus. This sketch does not include the UART_ADDR program/burn routine. Please see my response to your other post for the details on the UART_ADDR program/burn routine of individual sensors at https://e2e.ti.com/support/sensors/f/1023/p/916680/3401137#3401137.