| CC2520: TI's Successor to the CC2420 - A Detailed Review | | Print | |
| Written by Akiba | |
| Saturday, 01 March 2008 | |
|
Texas Instruments just did a press release announcing their CC2520. As some of you know, I'm using an AVR+CC2420 as my main platform, from which I'm going to branch off to other combinations. So when I heard that the CC2520 was out, I took some time to check out the datasheet to see what kind of benefit it bestows on the user versus the CC2420. There are many improvements to the CC2420, but probably the main benefit to the users is that this chip can be had for a lower cost. It looks like this chip incorporated a die shrink since the operating voltage changed. Whereas the CC2420 had an operating range of 2.5-3.3V (actual 2.1-3.6V), the CC2520 can now run at 1.8V-3.3V (actual 1.8-3.8V). This means that, most likely, they shrunk the core down to 0.18u or below, whereas the CC2420 was probably done in a 0.25u process. The CC2520 also has a smaller package size, weighing in at a QFN-28 5x5mm package, where the CC2420 had a QFN-48 and 7x7mm package. These two changes, a die shrink and smaller package, translate into a lower cost. A quick look at Digikey (the chips seem like they are already available there) show that the CC2520 costs $3.35 in 5k volumes and the CC2420 costs $4.09 at 4k volumes which confirms the lower cost suspicions.
"The procedure for waking a system up from LPM2 is as follows: • MCU is running on RC oscillator, CC2520 is in LPM2 • Change CC2520 from LPM2 to active mode. • Switch the MCU over to the 1 MHz clock that CC2520 outputs on GPIO0. • Change to the desired clock frequency.
• Switch MCU over to RC oscillator. • Set CC2520 in LPM2." So the dirty workaround is that if you have ANY data in your indirect queue, you would set the pending bit in ALL of the ACKs. This would satisfy the ACK response time requirement. If its a data poll, you then scan your list and if there's data for that node, send it. If not, send an empty frame (0-payload size). With the CC2520, if you have an indirect data frame, then you can put the src address in the matching table. When a data poll arrives asking for data, then the hardware will automatically respond with the pending bit set or not depending on the src address of the poll. You can then leisurely retrieve the indirect frame from the queue and kick it out to the node. Nice feature!!! Hits: 22914 Trackback(0)
Comments (15)
![]()
FYI: AT86RF230
written by nobody, March 03, 2008
Link disappeared.. trying again:
AT86RF230: http://www.atmel.com/dyn/produ...rt_id=3941. report abuse
vote down
vote up
Votes: +0
...
written by ubisys, April 23, 2009
By the way: You can create a random number on CC2420 using the ADCTST registers. Combining the I and Q branches of the ADC value gives you a true random number which one can use a seed for the C RTL rand() function, for example.
report abuse
vote down
vote up
Votes: +1
...
written by coldfire, February 26, 2010
hi,could any one show some detail of how to get a random number by cc2420?
i tried but failed. i set the CCAMUX, read the LSB of ADCTST. but i always get 0. report abuse
vote down
vote up
Votes: +0
...
written by mats nilsson, March 05, 2010
Anyone knowing about vendors that have nodes with cc2520 onboard.
report abuse
vote down
vote up
Votes: +0
Antenna for CC2520
written by rasha, July 06, 2010
You have a nice blog here. I'm currently looking at at86rf231 and cc2520 for simple
wireless connectivity on my xMOS board. It seems that it's nearly impossible (or I have failed so far) to obtain output impedance characteristics for cc2520. TI just won't give them, and most of the ANs do not show anything useful, and even less of it is related to cc2520. Is it possible that then only way to use this chip is to importthe layout they provide for single-ended antenna and use it? This is very disappointing if it's true... On the other hand, is there any way to get at86rf231 to be 3.3v IO tolerant? The supply can go up to 3.6v, but it seems that they always want (either internal or external) regulation to 1.8v. I would really like to avoid level shifters but it seems that it is impossible ... On the other hand, if they are .18u they probably do not have 3.3v tolerant digital IO. report abuse
vote down
vote up
Votes: +0
Random number with CC2420
written by Arasch Honarbacht, September 16, 2010
In response to coldfires comment (sorry, a bit late): This is how we did it:
unsigned int CPhysicalCC2420::GetRandomValue() { CCriticalSectionLock csl; unsigned int nResult = 0; ASSERT(!(GetStatus() & statusSynthesizerLocked)); for (unsigned int i = 0; i < 16; i ) { // Turn off radio, and wait until it has been turned off InvokeCommand(commandRadioOff, false); InvokeCommand(commandFlushRX); WaitStatus(0, statusSynthesizerLocked); // Turn on radio, and wait until synthesizer has locked and receiver // has run for a while to avoid start-up transients InvokeCommand(commandEnableRX); WaitStatus(statusSynthesizerLocked | statusRSSIValid); // Read a value from the ADC test register and combine the I and Q // LSBs const unsigned int nADC = ReadRegister(0x2d); // TRACE2("ADC = uI;/uQ; ", (nADC >> & 0x7f, nADC & 0x7f); nResult |= ((nADC & 0x0001) | ((nADC & 0x0100) >> 7)) report abuse
vote down
vote up
Votes: +0
Random number with CC2420, part #2
written by Arasch Honarbacht, September 16, 2010
This was missing above (some problem with the web form):
// Finally, turn off radio InvokeCommand(commandRadioOff, false); InvokeCommand(commandFlushRX); // Wait until radio is turned off WaitStatus(0, statusSynthesizerLocked); return nResult; } report abuse
vote down
vote up
Votes: +0
low power applications
written by ramdev, February 04, 2011
it was good to see a comment like this.but for low power applicaions,is it advantageous to use 2520 prior to 2420....since iam trying to build a wireless mote for a low power application this information can be a great advantage for me....
report abuse
vote down
vote up
Votes: +0
Registration ? written by don vukovic, April 14, 2013
1. Is registration still open for your forum ?
2. In the source files in FreakZ_v075, there are some files missing. #include "dev/spi.h" #include "dev/cc2420.h" Has FreakZ been ported to the CC2420 ? Thank you for any information. don report abuse
vote down
vote up
Votes: +0
Write comment
|
| sameer |
CC2520: TI\'s Successor to the CC2420 - A Detailed Review
Feb 22 2010 11:57:49 This thread discusses the Content article: CC2520: TI's Successor to the CC2420 - A Detailed Review
Hi i just need some source code written for CC2520 as i want to do a project on this and i need some idea, more accurately i need the application program source codes. pls mail to [email protected] |
#1792 |
| Akiba |
Re:CC2520: TI\'s Successor to the CC2420 - A Detailed Review
Feb 25 2010 01:44:42 No idea what you mean by the application program source code. A simple search on google should net you some projects with the CC2520 and possibly some driver code though.
|
#1795 |
| < Prev | Next > |
|---|
What about: ?