• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Low Power RF & Wireless Connectivity » Low Power RF Hardware & Tools Forum » ACK issue on CC2530
Share
Low Power RF & Wireless Connectivity
  • Forums
  • Announcements
  • Files
  • E2E Wiki
Options
  • Subscribe via RSS

ACK issue on CC2530

ACK issue on CC2530

This question is answered
Bryce Lembke
Posted by Bryce Lembke
on Jun 29 2011 15:08 PM
Prodigy190 points

Hi,

I have two CC2530 radios right next to each other that are sending simple data packets between each other every 5 seconds.

I am using AUTO_ACK, AUTO_CRC, and RX_ENABLE_ON_TX.

My data packets have virtually 100% success rate reception rate. However, I only get about 80% of ACKs successfully received (meaning my data packets get unnecessarily transmitted again). I am verifying this by counting my TXACKDONE interrupts on the sender and the FIFOP interrupts (where the FIFOCNT == 6) on the receiver. The acks are getting sent and the receiver is not getting it. I have enable all RFERRM interrupts and see no errors occur on either.

Since the switching the radio from transmit to receive happens automatically in HW and the ACK send is also done in HW, I have no idea why these are getting lost (timing?).

I have even tried using ISACK to send the ACKs manually, but I still get 80% loss on my ACKs (and ~100% on data packets).

Also, I never lose two ACKs in a row, (i.e. after the second data transmission, the ACK always succeeds).

Any thoughts?

Bryce

 

CC2530 wireless cc2531 ZigBee cc2530dk CC2530EM RF Transceiver RF RX cc2530zdk ACK
Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • Bryce Lembke
    Posted by Bryce Lembke
    on Jun 29 2011 18:01 PM
    Prodigy190 points

    OK. I found a fix.

    I changed the MDMCTRL0.PREAMBLE_LENGTH from 4 leading zeroes to 9 leading zeros. Now I get 100% data and 100% ACKs.

    Is this the right way to fix this. I could also try playing with CORR_THRESH value I suppose.

    Bryce

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Bryce Lembke
    Posted by Bryce Lembke
    on Jun 29 2011 19:19 PM
    Prodigy190 points

    Wait, scratch that. If I move a distance away, I get many dropped packets (more than using 4 leading zeroes).

    Hmm, Not sure what else to try.

    Bryce

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Tor-inge
    Posted by Tor-inge
    on Jul 01 2011 04:59 AM
    Verified Answer
    Verified by Bryce Lembke
    Expert3205 points

    Hi Bryce

     

    This problem puzzles me.

    I havenot encountered this problem when using two CC2530EM’s, are you using the TI development kit or your own HW?

    Are you using CSMA-CCA? I am just thinking if this somehow can be related to mid air collisions. I am a  HW engineer and not an expert on the CCA operation in ZigBee. However, if CCA is used prior to sending a package this can explain the 100% success rate when sending packages. If no CCA is performed prior to sending an acknowledgement this ACK might collide with anther transmission.

     

    To validate this try turning other 2.4GHz devices such as WLAN and Bluetooth off and repeat your test.

    If this fixes the problem changing channel is the only counter measure available.

     

    I struggle to se how this relates to the experiment with increased preamble. However the observation might just be related to random variation in 2.4GHz traffic.

    Tor-Inge

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Bryce Lembke
    Posted by Bryce Lembke
    on Jul 01 2011 20:49 PM
    Prodigy190 points

    Thanks for your response. I was indeed using the CCA incorrectly.

    I have fixed it now I get 100% data and acks.

     

    Bryce

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mircea Iuonas
    Posted by Mircea Iuonas
    on Mar 01 2012 05:52 AM
    Prodigy110 points

    How did you manage to use the manual ISACK strobe? because I am unable to use this. Maybe a code example could be very helpful.

    Many thanks,

    Mircea

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Bryce Lembke
    Posted by Bryce Lembke
    on Mar 21 2012 19:24 PM
    Prodigy190 points

    Sorry for the delay. Unfortunately I can't post the full source, but basically after I have successfully received a packet I set the following register.

    RFST = 0xE6;

    This triggers an ACK to be sent.

    Bryce

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mircea Iuonas
    Posted by Mircea Iuonas
    on Mar 22 2012 05:08 AM
    Prodigy110 points

    Hi,

    Thanks for the reply. I will try to do that.

    All the best

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • yancy chen
    Posted by yancy chen
    on Aug 11 2012 11:33 AM
    Prodigy195 points

    hello, I have a question about the ACK.

    When the coordinator receives  the data frame, it will wait for aTurnaroundTime(=12symbol),and then send ACK frame back to the transmitter .

    And my question is whether the ACK frame need obey the CSMA-CA algorithm or  the ACK frame  will be sent immediately ignoring the channel is busy.

    And I have another question ,when a sensor node doesnot receive an ACK after macAckWaitDuration symbols, it will retry transimte the former data frame.

    And my question is whether the former data frame will obey the CSMA-CA  algorithm or  the former data frame will be sent immediately ignoring the channel is busy.

    ACK cama-ca
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use