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.

MSP430F2274 post-PCB programming

Other Parts Discussed in Thread: MSP430F2274, MSP-GANG

I am prototyping a new wireless accessory using the eZ430-RF2500 development kit, and I am basing this design around the RF2500's MSP430F2274 MCU.  I am new to the world of PCB manufacturing, and need a little guidance from those that are more knowledgeable.  It seems that PCB shops will only manufacture the boards for you, and despite my search efforts, I have not found any clear-cut information regarding how my custom-designed PCBs could be programmed en masse by the PCB shops.  

I would appreciate advice from anyone who is experienced with PCB design, especially for real-world products such as the one I am designing (this is a loose, collaborative effort with friends).  I do know that my particular MSP430 MCU can be programmed via the JTAG interface, so I could include the appropriate jumper pins on the board.  I would like a second opinion before proceeding, though.

  • For most PCB shops, your MSP is just a plain vanille SMD device with a certain form factor. Only a few have programming equipment to do mass-programming.
    For our own RF alarm sensors, we pre-programmed the devices before sending them to the PCB shop.

    Some shops work together with distributors who will do the mass-programming before delivering the parts to the PCB shop. Or if you provide the parts, you may do the same.

    However, on the PICs we used for out alarm sensors, we had occasional flash failures, possibly because of the heat during soldering. It's a good idea to have at least test points on the PCB where you can attach a JTAG for reprogramming or firmware update.

  • Jens-Michael,

    Thank you for your help.  I am going forward with using a 14-pin JTAG connector so that it's compatible with the TI MSP-FET430UIF. 

    However, I have a specific question regarding the connector's implementation with the chosen MCU (MSP430F2274).  In Figure 2-1 (page 23) in the MSP430 Hardware Tools User Guide, it says that the RST pin isn't required for 4-wire JTAG programming.  I notice that on the RST pins of both the 14-pin connector and the MCU, there is a 47K resistor and 10 nF capacitor in parallel on the RST bus.  If the RST pin isn't needed, do I even need this R1 and C1, or do I omit it from my design?

  • Ken Clive said:
    I am going forward with using a 14-pin JTAG connector so that it's compatible with the TI MSP-FET430UIF. 

    If you don't want to have this rather large connector on your board, you can reduce it. On MPSs with SBW support, you only need three pins, for 4-wire JTAG a few more, but not all 14. Especially if you power the target externally. You can use an adapter to fit the 14 pin onto the lower-size header on your board then.

    Ken Clive said:
    I notice that on the RST pins of both the 14-pin connector and the MCU, there is a 47K resistor and 10 nF capacitor in parallel on the RST bus.  If the RST pin isn't needed, do I even need this R1 and C1, or do I omit it from my design?

    It is required for proper startup of the CPU if the supply voltage is slowly rising. I recommend includign it in every design. Howeve,r if you're planning to use SBW instead of 4-wire JTAG, the R/C combo must be separated by another 1k resistor from RST pin or it will attenuate the SBW signal too much (which is also going into the RST pin). The capacitor can even be larger. standard 100nF is fine.

  • Jens,

    Thank you for your advice, it is very helpful.

    However, I spoke with my design colleague who is creating the exterior casing of the product that my PCB is meant for, and the standard JTAG connectors are far too large for my particular application.  Even the ARM mini-JTAG connectors are quite large for my application, and I can't find any adapters that would allow me to minimize pinouts to the target board.  

    Would you know of any adapters that would fit the purpose, or would I have to design a custom "adapter board" to convert the standard 14-pin header to a much smaller one?

  • Hi Ken,

    Just a heads-up, because I've seen many people make this mistake:

    Ken Clive said:
    I notice that on the RST pins of both the 14-pin connector and the MCU, there is a 47K resistor and 10 nF capacitor in parallel on the RST bus.  If the RST pin isn't needed, do I even need this R1 and C1, or do I omit it from my design?

    Please note that even in 4-wire JTAG mode, the connection to RST is required for this device for programming. Please see the Hardware Tools User's Guide figure 2-1 "Signal Connections for 4-wire JTAG communication" Note D:

    "The connection to the JTAG connector RST pin is optional when using 4-wire JTAG communication mode capable-only devices and not required for device programming or debugging. However, this connection is required when using 2-wire JTAG communication mode capable devices in 4-wire JTAG mode."

    Since the F2274 you are using is a device that is capable of SBW, you need the RST connection on the programming header even when using 4-wire JTAG mode. The reason this connection is needed (with a 47 kOhm Pullup and 2.2nF pull-down) is because the RST line (along with TEST) is used as part of an entry sequence the programmer performs to start up the device in the desired mode: either normal execution, BSL mode, SBW mode, or importantly for your case - JTAG mode. The R and C values are important to get the correct timings on these entry sequences from the programmer - they are the R and C values the programmer timing is designed to work with.

    If you want a little more information on the entry sequences you can see the JTAG programmer's guide Figure 1-11 that shows the JTAG entry sequences on devices that support SBW. This is just some extra information in that document if you are curious - it isn't necessary to know in detail how the JTAG works to use the FET tool as long as you follow the programming connections from the hardware tool's users guide figure 2-1 that I mentioned before, which is best practice to ensure programming will work with our MSP-FET430UIF or MSP-GANG tools.

    Hope this helps!

    Regards,

    Katie

     

    Regards,

    Katie

  • When using SBW you need at least these pins: RST, TEST, GND. For JTAG in JTAG+SBW devices, at least these are required: RST, TEST, GND, TDI, TDO, TCK, TMS. In devies with dedictated JTAG , the TEST pin is not available. In JTAG only devices the RST pin is not required for programming.

    In addition, some devices support a bootstrap loader (BSL), which enables you to use a serial connection for programming, though this requires three pins as well (TxD, RxD, GND).

    Apart from the 2.54mm pitch standard JTAG header, there are also 1.27mm pitch headers available. Using spring loaded pins on the programmer and flush pads (SMD like pads) to connect to is also an option, which also saves the cost of a header on each target PCB.

    When mass producing, consider a gang programmer (8 targets at once) combined with a per-frame programming header.

**Attention** This is a public forum