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.

RF430 initial programming via NFC?

Other Parts Discussed in Thread: RF430FRL152H, MSP-FET, TRF7970A

Team,

A local customer had the following question concerning our RF430FRl15xH devices. 

This customer is designing a security wristband.  The RF430 device will be inside the wristband, and charging will likely be wireless so there will not be a wired connection on the final product.  The MCU will either need to be programmed prior to the manufacturing process, or it would need to be programmed wirelessly.

Is it possible to do the initial programming of the RF430FRL15xH via NFC (I would imagine no), and has any other customer asked this before?

Thanks!

Andrew

  • see the 10:19am post from Alex on this (from today) for the method by which to do that.
    e2e.ti.com/.../1470038
  • Thanks Josh, is the ISO15693 stack part of a boot-loader that exists on an unprogrammed RF430 device?
  • The ISO15693 stack part exists in the ROM of the device, along with the application code (outlined in the Firmware User's Guide document).

    However this RF stack needs to have the correct address of the ROM code exists in the interrupt vector table. The interrupt vector table is in the last part of the FRAM memory (2kB of it) and it ends with 0xFFFF.

    The default project and the NFC only project available as downloads for the RF430FRL15xH have this "ISO vector" programmed correctly.

    In short the RF13M module interrupt vector which exists in 0xFFF2 needs to be set to value 0x54D0 for the RF stack to execute from ROM (this address exists in ROM).

    I would just recommend studying the interrupt vectors in the RF430FRL15xH datasheet and populate them with what is set in the example firmware projects. These interrupt vectors are located in FRAM memory space, so once set they are non-volatile.

    Also there is no boot-loader on the part. The RF stack allows access to the whole FRAM and RAM so you could use it as a bootloader.
  • Yes, it is programmed in the ROM of the device.
  • Apologies if this is not the most aligned thread for my query.

    A professor at UIUC who works with TI RF/NFC parts extensively for his work on epidermal electronics sent me the following query (below). Please let me know if there is someone who can talk to him about this.

    *********************************************

    Most recently, we have been working with NFC platforms, starting simple (see attached), but now moving to high functionality systems using the latest in NFC technology. 

     

    The most sophisticated and most interesting chip that we could find is from TI: RF430FRL152H.  We have been successful in several initial experiments with this system, and now we’d like to program it so that we can make some multifunctional demonstration units.  This is where I need your help.  For programming, we’re currently using the MSP-FET without evaluation board. We are attaching that chip to fabricated metal lines to connect to the evaluation board after detaching the RF430FRL152H chip from the board.  We connected TCK(22), TDI(21), TDO(20), TMS(19), VDDB(4), RST/NMI(10) and ground. Also TST1 and TST2 are connected to ground. However, when we attempt to send a program, the CCS shows some errors such as 'Could not enable JTAG wrong password' or 'Security fuse is blown.'

     

    Could you direct us to experts at TI who could provide some guidance?

    *********************************************

  • In addition to level translators 3.3v to 1.5v you should not be connecting to the VDDB line to the programmer. Internally there is a battery on VDDB that is opened on reset (see Figure 2-1 in the RF430FRL15xH Family Technical Reference Manual, section RFPMM). Therefore the chip is likely not being powered.

    Instead, the programming power should be going to VDDSW (3) which is connected directly to internal power.

    To program the chip wirelessly, you would need to use the ROMed ISO15693 RF stack to program the FRAM. This can be done using a TRF7970AEVM and sending the write block commands over USB through the host interface.
  • Hi Alexander

    How exactly do you change the RF13M interrupt vector value using only the TRF7970A EVM, and no JTAG loader (i.e over the air without connecting to JTAG)? This would then allow me to continue using over the air programming, or is an initial JTAG setup (using for eg. the NFC project) the only way?

    Regards

    Michael

  • If you change the RF13M interrupt vector value, this will cause it point away from the ROM RF stack.  Unless you have your own RF stack you will lose communication with the device.  If that happens the only way to restore the correct value would be to reprogram the device using JTAG.

    Basically you need to change the 0xFFF2 address (which is the RF13M interrupt vector address).

    This can be done using the TRF7970AEVM and the "TRF7970 EVM Control" GUI.

    In 8-byte mode, the block number which contains this interrupt vector is 0xF1.  Within this block are 3rd and 4th bytes are 0xFFF2 and 0xFFF3.  Since the GUI does not have 8-byte block write support you will have to "Test" tab and create the custom string.