Welcome to the Low Power RF & Wireless Connectivity Section of the TI E2E Support Community. Ask questions, share knowledge, explore ideas, and help solve problems with fellow engineers. To post a question, click on the forum tab then "New Post".
Hi,
I'm new to using eZ430-rf2500 development kit.
If I want to change the transmit power of the transreceiver, do I use smartrf studio to do so? (there seems to be a way to do it from there)
After that, how do i integrate the settings from smartrf studio into the hardware?
Thanks in advance!
Hi Wayne,
I hope the following helps. You generate the .h file Simpliciti need from SmartRF Studio by going File->Export CC2500 Code. The export box opens where there is a simpliciti option in the bottom left box.
In the following directory (typical Simpliciti installation) is the .h file Simpliciti uses (smartrf_CC2500.h). Make a backup of the original and export to here from SmartRF Studio.
C:\Texas Instruments\SimpliciTI-IAR-1.1.0\Components\mrfi\smartrf\CC2500
Have fun developing ...
Cheers,
Yoda
You might want to look here: http://tiexpressdsp.com/index.php?title=Low_Power_RF_Solutions#Workshop_Contents
Check out Lab5a in the SImpliciTI module.
Scott
Hi
I'm also trying to change the tx power, so I recover this thread. Actually, I'm trying to increase the tx power to the maximum possible power. So, following your indications, I've used SmartRF to create a new configuration, upgrading the parameter "RF Output Power" from 0dBm to +10dBm (the maximum power allowed). But when I export the code to SimpliciTI, the file created is exactly the same as the original.
The steps I've followed to export my code are:
1) File / Export CC1101 code2) Double click over "SimpliciTI settings"3) Click over "Write to file" to save the file.
I don't know what the problem is. Are you sure this is the correct way to change the tx power?
Thanks you in advance.
Regards
Hi another time
Exploring the code of SimpliciTI, I've found a function called MRFI_SetRFPwr that is used to change the transmission power. This function configure the tx power using the values declared in the table mrfiRFPowerTable, defined in the line 188 of mrfi_f1f2.c.
static const uint8_t mrfiRFPowerTable[] ={ 0x0F, 0x27, 0x50};
If I change the values of this table, I'm changing the tx power of my radio chip? How is defined the value of this table? In dBm? In -dBm? In other words, 0x50 is using more power in the transmission that 0x27? What's the maximum value?
Thanks you in advance
This values correspond to a power : 0x0F : -20dBm, 0x27 : -10 dBm and 0x50 : 0dBm.
The SmartRF Studio tool is interresting to understand this. You want download it in TI website.
Will
Thanks you for your quickly response.
And yes, I use SmartRF Studio. In fact, I tried to use it to change my tx power editing the file smartrf_CC1101.h, which contains all information about the tx parameters. But as I said in my previously message (at 5:56AM), it looks like that no information about tx power is contained in this file. So I'm trying to search alternative methods to increase my tx power.
Thanks you another time. I will use SmartRF to change these values and increase my tx power.
Hi Ardoster,
Having the CC1101 datasheet available might be handy, especially chapter 24 and tables 36-39.
The reason the PATABLE is not exported to simpliciTI code is that this is overridden by SimpliciTI. The mrfiRFPowerTable contais register settings for the PATABLE register and you will have to look in the datasheet to see what they corresponds to in term of output power. MRFI_SetRFPwr() in MRFI_Init() initializes this and this can be changed using a IOCTL call any time (IOCTL_ACT_RADIO_SETPWR).
Hope this helps. Kjetil
--PS. Thank you for clicking Verify Answer if this answered your question!
Thanks you. Yes, it looks like more flexible the way you say that having exported the tx power in the SimpliciTI code.
Thanks you a lot of
Kjetil Hi Ardoster, Having the CC1101 datasheet available might be handy, especially chapter 24 and tables 36-39. The reason the PATABLE is not exported to simpliciTI code is that this is overridden by SimpliciTI. The mrfiRFPowerTable contais register settings for the PATABLE register and you will have to look in the datasheet to see what they corresponds to in term of output power. MRFI_SetRFPwr() in MRFI_Init() initializes this and this can be changed using a IOCTL call any time (IOCTL_ACT_RADIO_SETPWR). Hope this helps. Kjetil
I am using the ez430_chronos sample project and I want to use it for a very near range application so I changed the ioctlLevel from the preset IOCTL_LEVEL_2 to IOCTL_LEVEL_0 but that did not appear to shorten the range to the device at all. Any advice?
Unfortunately TI did not develope the code for the eZ430-Chronos it was done by BM innovations GmbH http://www.bm-innovations.com/ and they are interested in monitoring athletes and want to sell BlueRobin™. I am not saying anything bad about BlueRobin™, as I have not really even used it. But BM innovations GmbH, IMHO, made some compromises to support TI's SimpliciTI, you may be see one of them.
BTW - in addition to adding support for BlueRobin™ and switching to and from TI's SimpliciTI, BM innovations GmbH added Over The Air Firmware Update. This can be a real plus!
SimpliciTI uses the first entry in the mrfiRFPowerTable by default, which you also use, therefore nothing changed.
I am also new to Simpliciti and have been reading this with great interest. as I have been having trouble getting good range on on my 433 module in the CC1110-CC1111 dev kit.
I have been getting inconsisent results so I am at a loss as how to improve things.
Could someone confirm my understanding from this topic thread which
Simpliciti does NOT use any power settings from RFStudio. even if it outputs it.
SimpliciTi ONLY uses the Power Table built in?
If the above is true is the IOCTL API the prefered (only) way to adjust the power in an application.
Also if the above is true does RFstudio have a table output mode?
If not I have to change the value in the table myself, in which case how do choose the the vaules, do I really have to read the CC1110 datasheet. The tools were supposed to make things easier.
I want to make the the max power the max power of the circuit i.e. 10dbm waht value do I use.
Correct, SimpliciTi always uses a hardcoded power table, which is an array called mrfiRFPowerTable.
It writes the first entry of this array in the power register of the radio by calling the smpl_init() function.
If you call the smpl_ioctl function then another value of this array is written into radio register.
The design note DN013 gives you a list of all possible values.
If you want to amplify the output power by 10 dbm then you have to write the value 0xC0 in the register. Keep in mind that this doubles the current consumption
Thanks thats a brilliantly clear answer. I didin't see that app note as its only on the CC1101 webpage and I have a CC1110 so I would never have looked.
I'm not sure I do need 10dbm but I have to test the radios in a harsh environment to see what error rate and range I get and the test needs to run automatically for 24 hours.
So obviously I need to test at different transmision powers to see what happens but I couldn't start the test a I didn't even get good range on the bench.
The setup was supposed to be an acess point running at full power( or high) and then 4 enpoints running at four different power settings each one built with a different export from RFStudio. However it transpires that this would never have worked.
Hopefully I can move forward now, Thanks again