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.

MSP430F5234: How can I connect SDA and SCL to the BSL pins P1.1 and P1.2 if I want to use I2C BSL?

Part Number: MSP430F5234
Other Parts Discussed in Thread: MSP-TS430RGC64C, MSP430F5229, MSP-FET, MSPBSL

Hi,

I want to use I2C for BSL. How can I design the hardware and is there any example code for MSP430F5234 implementing I2C BSL? Thanks. 

Best regards,

Penny

  • Hello Penny,

    What you are trying to do will not be possible. The MSP430F5234 comes with an UART based BSL which is why P1.1 and P1.2 are used. BTW the UART BSL is a timer based UART which is why timer pins are used on this device.

    If you want to use an I2C BSL, then you will have to create a Custom BSL for this device that changes the Peripheral Interface to I2C and the associated I2C pins. Please see the MSP-BSL page for more information about Custom BSLs.
  • Hi Jace,

    Thanks for the reply. So which timer pins are used for UART BSL? In the datasheet, it says RSTDVCC/SBWTDIO, TEST/SBWTCK, P1.1, P1.2, DVCC/AVCC, DVSS are needed for BSL. I didn't see the timer pins.

    As for I2C BSL, I understand we need to custom the software to support that. But from hardware stand point, how can we design the hardware to support that? Can we use the same I2C pins for BSL and communication with another CPU? Thanks.

    Best regards,
    Penny
  • Penny,

    P1.1 and P1.2 are timer pins. Please see datasheet pinout for clarification.

    For a custom I2C bSL, yes, you can use the same USCI and associated pins for I2C BSL and application I2C. You just need to make sure the USCI/Pins used in the Custom BSL match the one used in Application. The examples provided in the Custom BSL download may not match up exactly as what your customer is using so modification may possibly be needed.

    If you are just changing the Peripheral Interface for the BSL to I2C from UART, then the standard entry sequence (Test + RST pin toggle) will still be needed for BSL entry, or a SW BSL entry would be needed. It is possible to change the entry sequence to something else with a Custom BSL, but this is a more involved change.
  • Hi Jace,

    The Test +RST pins are always required for BSL, right? I was copying the schematic of Target-Socket MSP-TS430RGC64C, but RST pin was missing from the BSL Interface pins.  We need to add RST pin to pin 4 in order to use BSL rocket to run scripter, is that correct?

    As BSL rocket and BSL scripter support both I2C and UART, how can I design the hardware to support I2C BSL? 

    Can I connect SDA and SCL to the BSL connector? And besides the I2C pins, TEST, RST, DVCC and DVSS should be the same, right?

    Another question about the target socket board: why do you have two 26Mhz crystal on the board while MSP430 device only support 25Mhz system clock? Thanks.

    Best regards,

    Penny

  • Hello Penny,

    First the Xtal Question, this is probably an artifact of the PDF making process for the version you have. I do not see this newest version of slau278 (HW Tools User Guide). Also, Xt2 input frequency can be up to 32MHz for this part even though max MCLK frequency is 25MHz. You would need to divide down higher frequencies of course. Please see device datasheet for exact parameters.

    In general, TST and RST are needed for standard invocation of the BSL. This particular board is a little complicated as it supports chips such as the MSP430F5234 that are standard supply voltages and it also supports out 1.8V split-rail devices such as the MSP430F5229. In addition to these complications, this board has a schematic error associated with the BSL connector. As you pointed, RSt is not connected to the BSL connector and thusly, this connection will not work on the target board. I will be addressing this with the MSP EVM team to see our next steps on that issue.

    To get back to your question about I2C connections, even if the BSL connector was correct, you would not be able to use it for I2C connections as the layout of the board does not support this. You would need to make manual connections from the MSP-FET or BSL Rocket to the correct pin headers around the board. Please keep in mind I2C standards and that appropriate pullup resistors would need to be added as well for I2C to work properly. Now, on a customer board, they could of course adjust their schematic/layout to accommodate I2C BSL to a BSL Connector or any custom header they so choose. The Flash BSL User Guide located on MSPBSL and the device datasheet are the authorities on how to connect and use the BSL for this device.

    For future reference for those looking at this post and needed to use the standard UART BSL with this board, you would need to make manual connections to the correct pins in the associated pin headers around the board instead of using the BSL connector pinout.

**Attention** This is a public forum