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.

RF430FRL152HEVM: Device programming. Temperature, RF

Part Number: RF430FRL152HEVM
Other Parts Discussed in Thread: MSP-EXP430G2ET, RF430FRL152H, MSP-FET

Hello,

I am using RF430FRL152HEVM together with MSP-EXP430G2ET and DLP7970ABP for its programming.
My goal is to program the RF430FRL152HEVM to obtain the temperature of the temperature sensor that it has incorporated and send the temperature value obtained through RF to another device, which would have an RF antenna to be able to read and save the temperature value, for example, an Arduino with RF antenna.

The case is that, point 1: I don't know how to get the temperature value of the RF430FRL152HEVM, I have achieved it with the GUI of RF430FRL152HEVM, in the graphic demo, but I need to create a CCS code to be able to read the temperature and be able to send it later.

Point 2: I don't know how to send the temperature value by RF to another device, and let this other one read it. I've been looking for information and it could be done with ISO15693 but I don't know how. I have also seen that it could be sent by NDEF but I do not know how, I ask for a lot of help in this matter please.

As a final question I wanted to add that I have two RF430FRL152HEVM devices, and I programmed one of them with the RF430FRL152HEVM GUI loading one of the examples that TI has for this device, specifically "RF430FRL152H_Default_Project_With_Custom_Command".
The fact is that when loading this program the RF430FRL152HEVM device stopped working with MSP-EXP430G2ET and DLP7970ABP, that is, the RF antenna stopped working, I have been looking for and I think it is by overwriting the IRQ vector of the RF interface, and therefore, RF communication is not possible.
I have read that it can only be fixed with the MSP-FET (device that I do not have). Is there any other way to fix the RF430FRL152HEVM device without the MSP-FET and get the RF antenna working again with the MSP-EXP430G2ET and DLP7970ABP?

Thanks for your attention.

  • Hi Marta,

    when you have no RF communication, the only way to get access to the device again is via the JTAG (MSP-FET).

    Because I am just back from vacation, please give my a few days to answer your questions in more detail.

    Best Regards,

    Helfried

  • Hi Helfried,

    First of all, thanks for your reply, I don't have the MSP-FET so I'll wait to see if I can correctly program the still working RF430FRL152HEVM device.
    If I am successful, I will not buy the MSP-FET because I only need one RF430FRL152HEVM device to develop my project, and its price is very high.

    Referring to the other questions, they form precisely the code that I want to load on my RF430FRL152HEVM device, so I will wait for your answer.

    Sincerely,

    Martha.

  • Hi Marta,

    sorry for the late answer. 

    For the application that you have described you will not need to program any firmware, the default program will do the job. The build in ROM firmware of the RF430FRL152H will let you configure your measurement task. This is done by so called virtual registers in the FRAM memory space that can be written vi RF. All the details can be found in the Firmware User's Guide:

    https://www.ti.com/lit/slau603

    With these registers you can define in which time distance measurements are take and how they are store in the FRAM. The measurement values in the FRAM are the ADC values and not the temperature values. These have to to be calculated from the ADC values.

    ISO15693 has defined Read Block and Write Block commands which can be used to configure the registers and read the measurement data. This can be done with an ISO15693 compliant reader or with a NFC enabled mobile phone. Starting from block number 9 the measurement data can be read.

    Additional information can be found in the FAQ:

    https://www.ti.com/lit/sloa247

    I have written a utility for my lab work which is maybe helpful for you (not officially supported - so take it as it is):

    1854.RF430FRL152H_Util_V1_3_2.zip

    Best Regards,

    Helfried

  • Hi Helfried,

    Thanks for the information, I have been looking a lot at the document "RF430FRL15xH Firmware User's Guide (Rev. B)". Now I understand that with the firmware loaded in the device it is possible to obtain the temperature of the internal temperature sensor of the RF430FRL152HEVM and send it by RF.

      and section "7.21 Internal Sensor Configuration Register".

    And section 4 "RF Stack" plus the corresponding part of section 7 for RF communication. 

    In this document there are an example to measure the temperature, but this is applying the sensor hub boosterPack, and I don't have this sensor, I want to use the internal sensor temperature of the RF430FRL152HEVM  device.

    So, I still don't understand what form my CCS code should have to be able to do it. Could you provide me with some very basic CCS code example to understand the idea a little more?

    Thank you very much,

    Sincerly,


    Marta

  • Hi Marta,

    please see this Application Note which describes a temp sensor patch.

    https://www.ti.com/lit/sloa212

    For the temperature measurement input ADC1 and ADC2 is used. At ADC1 a known resistor is connected, in this case 100k, to determine the exact value of the build in current source. At ADC2 a thermistor is connected. With the current known from the reference resistor the thermistor resistance can be calculated.

    If you need only this temp. measurement you will not need to program any firmware, just configure the registers for your need and start the measurement.

    With the EVM GUI you can setup the registers for your need and play around with the different settings.

    Best Regards,

    Helfried

  • Hello Helfried,

    I understand that with the GUI you can get the temperature of the device. But then, how do I send the temperature values ​​obtained in the GUI via RF?

    I need the values ​​of temperature and I nedd to send this value, via RF, to other device that have an RF antenna (example: Arduinio with RF antenna)

    How can I send the temperature values ​​by RF to another device with an RF antenna using the GUI?

    And how should this other device read the temperature data it receives?

    Sorry for having so many questions.

    Sincerely,

    Marta.

  • Hi Marta,

    maybe there is a general misunderstanding.

    The GUI controls the reader which is the DLP7970ABP + EXP430G2ET Launchpad. This reader will send ISO15693 commands to the RF430FRL152H. This can be a command like "Read Block" or "Write Block" which will handle, depending on the configuration, 8 byte or 4 byte blocks. To get the measured values from the RF430FRL152H the reader has to to send a "Read Block" command and the RF430FRL152H will then respond with the requested data. Also a NFC enabled mobile phone is able to send these ISO15693 commands with the right  app or an Arduino with a NFC module and a software that can handle ISO15693 commands.

    The RF430FRL152H will send data only when requested by an reader.

    Best Regards,

    Helfried

  • Hi Helfried,

    Thanks for the answer, according to what you have answered, can I program an Arduino with RF antenna to obtain the data from the temperature sensor of the RF430FRL152HEVM device?

    If the device only sends values ​​when a reader requests it, can any RF antenna request it?

    If this is not possible, how could I save the temperature value of the rf430FRL152H EVM device and send it via PLC (Power Line Communication)?

    Thanks for your attention,

    Marta.

  • Sorry, I think I'm not being clear.

    My goal is to take the temperature value from the rf430FRL152HEVM device, because this have a temperature sensor, and send it, via PLC, to another device that will analyze the data.

  • Hi Marta,

    you have selected with the RF430FRL152H a NFC device. From what I now understand is, that you do not need NFC. You want to measure a temperature with i.e. an Arduino and send the data via PLC. That would require just an digital temp. sensor connected to the Arduino or did I missed something ?

  • Hi Helfried,

    Not sorry, the question is that I need to use rf430FRL152HEVM to know the temperature value.

    But using rf430FRL152HEVM later I don't know how to send the value taken from the temperature sensor that has rf430FRL152HEVM.

    With DLP7970ABP + MSPEXP430G2ET + rf430FRL152HEVM I can get the temperature, but I want to send this temperature value from the sensor of rf430FRL152HEVM to another device, which is the Arduino, which this one analyzes the temperature data of the rf430FRL152HEVM, and through the data reaches Arduino PLC.

    Direct questions (this is better understood):

    How can I program DLP7970ABP and MSPEXP430G2ET to send ISO commands to rf430FRL152HEVM and it sends the sensor temperature value?

    Once the temperature value is saved in DLP7970ABP and MSPEXP430G2, how can I send this value through PLC from MSPEXP430G2 to my Arduino.

    PS: I cannot use an Arudino and a digital temperature sensor because the Arudino is in a different place than DLP7970ABP + MSPEXP430G2ET + rf430FRL152HEVM, and I want the temperature of the place where it is rf430FRL152HEVM.
    I hope I have explained myself better now, if you still do not understand I will try to explain it better.

    Thank you,

    Marta.

  • Hi Marta,

    ok, I see.

    Is this what you have / want to have?

    Overview.pdf

    In this case I can only help with the protocol to send via USB (virtual serial port) to get the data form the RF430FRL152H.

    Best Regards,

    Helfried

  • Hi Helfried,

    First of all thanks for the reply.
    For causality, do you know what are the ISO15693 commands that make the rf430FRL152HEVM device send the value of the temperature sensor?

    I need a CCS code that saves the rf430FRL152HEVM temperature sensor values ​​every 10 minutes.

    Shorter question:
    What is the ISO15693 command to change the frequency to 10 minutes?

    What is the ISO15693 command to get the sensor temperature value from rf430FRL152HEVM?

    How do I send these ISO15693 commands to rf430FRL152HEVM with the CCS programmer (Code Composer Studio)?

    Thanks for you attention.

    Sincerely,

    Marta

  • Hi Marta,

    a few questions from my side:

    1. Will you use the DLP7970ABP + EXP430G2ET with the firmware sloc346 for your project ?

    2. Have you ever used the RF430FRL152HEVM GUI to run the demo or to configure the RF430FRL152H registers ?

    3. If using the DLP7970A + EXP430G2EtT as reader what is connected to the virtual COM port (USB) when not using the PC with the GUI and is handling the reader communication ? 

    6. Have you used the RF430FRL152H_Util GUI I have send you in this thread ?

    For your project you will not need to program any firmware to the RF430FRL152H. The RF430FRL152H has a build in ROM firmware which can be configured by virtual registers (see Firmware Users Guide) for your needs. The CCS will be used to load the firmware from sloc346 to the EXP430FG2ET Launchpad. You can send commands via the virtual COM port (USB) to the reader. With these commands the reader will send i.e. ISO15693 "Read Block" or "Write Block" commands to RF430FRL152H via the antenna.

    Which blocks have to be written to configure the RF430FRL152H can be seen in the Firmware User's Guide.

    For the Frequency Register which configures the measurement interval, byte number 3 of the 8 byte block number 0 has to be written.

    After the measurement is started the results can be get from the RF430FRL152H with "Read Block" commands (first block is number 9 which contains measurement data). This is also be done by sending a command to the reader via the USB interface and read the response data.

    The RF430FRL152H_Util can be setup to show the commands that are send to the reader or received from the reader.

    Depending on the need in your project you can setup the RF430FRL152H to measure every 10 minutes and put the results in the FRAM until the memory is full, or you start yourself every 10 minutes one measurement by sending commands to the reader.

    Best Regards,

    Helfried

  • Hi Helfried,

    my answer to your questions:

    1. I have used sloc346 firmware on DLP7970ABP + EXP430G2ET to be able to use RF430FRL152HEVM GUI and see in the demo graph the sensor temperature of RF430FRL152HEVM.

    2. I have used RF430FRL152HEVM GUI to run the temperature demo.

    3. At the moment I have not been able to use DLP7970A + EXP430G2EtT without using the GUI (that's what I want, but I don't know how)

    6. I have used RF430FRL152H_Util GUI but I don't know very well how to use it, nor what purpose it has in my project.

    My idea is NOT to use the GUI RF430FRL152HEVM.

    I do not know if it can be done, but my idea is to create a CCS code that modifies the necessary registers to be able to obtain the temperature of the sensor from RF430FRL152HEVM and save the temperature value in a variable within the CCS code, that is, I only want to use CCS to get the temperature.

    In addition, I need to change the frequency to 10 minutes, I want to save the temperature value of the RF430FRL152HEVM in a variable within the CCS code, which will be loaded in DLP7970ABP + EXP430G2ET every 10 minutes, that is, my variable will have one more temperature value every 10 minutes.

    I want to emphasize that I already know that the code I am looking for will be loaded in DLP7970ABP + EXP430G2ET and not in RF430FRL152HEVM. I understand that the firmware of the RF430FRL152HEVM does not have to be changed.

    But I need to know the code that if it can be loaded into DLP7970ABP + EXP430G2ET, that is, the ISO15693 commands that make RF430FRL152HEVM send its temperature sensor value every 10 minutes.
    BUT I WANT TO CREATE A CODE THAT MAKES RF430FRL152HEVM TO SEND THE TEMPERATURE VALUE TO DLP7970ABP + EXP430G2ET AND THE FIRMWARE OF DLP7970ABP + EXP430G2ET ONLY NEED SAVE IT IN A VARIABLE CALLED "temp" INSIDE THE CODE CCS.

    If I can use DLP7970ABP + EXP430G2ET to load a CCS code in them that makes RF430FRL152HEVM give me its temperature value, I repeat, this temperature value I want to obtain via CCS and save it in a CCS variable.

    I don't think I need any GUI.


    Sorry but I don't understand this:
    For the frequency register that configures the measurement interval, byte number 3 of the 8-byte block number 0 must be written.

    Can you give me an example?

    Thank you Helfried and again sorry for so many questions, I have not yet solved my question and every time I think it is less possible.

    Sincerely,

    Marta.

  • In conclusion I need to create a CSS code for DLP7970ABP + EXP430G2ET that makes RF430FRL152HEVM answer by sending the value of its temperature sensor, and save this value that will send RF430FRL152HEVM via RF in a variable of the CCS code created, so that later we can see all the temperatures stored each 10 minutes.

    I need to save the temperature in a code variable because then I will send this variable to the cloud to analyze the data and see if the temperature is between the correct ranges.
    The time difference between temperature samples must be 10 minutes.

  • Hi Marta,

    please have a look at this application note. I think this one would better fit your needs:

    https://www.ti.com/lit/sloa233

    This would require to replace the EXP430G2ET with a EXP430FR4133 Launchpad (price $14)):

    https://www.ti.com/tool/MSP-EXP430FR4133

    It should be easily possible to modify the firmware for this launchpad to read the temperature every 10 minutes. The value can then be send via USB (virtual COM port) to whatever hardware is connected to.

    This will work also together with the RF430FRL152HEVM.

    Please let me know if this is of interest for you.

    Best Regards,

    Helfried

  • Hi Helfried,


    Thank you very much for your answer, the sloa233 file has served me well, especially the nfc_app.c file in which there is a state machine that precisely obtains the temperature of RF430FRL152HEVM.

    I only need to be able to modify the frequency with which RF430FRL152HEVM obtains the temperature, because in the attached code there is a delay and this does not interest me.

    I will investigate a little more about the registers and with the help of the example sloa233 maybe find the solution.

    Thanks for all Helfried.

    Sincerely,

    Marta