• 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 » Microcontrollers » MSP430™ Microcontrollers » MSP430 Ultra-Low Power 16-bit Microcontroller Forum » ez430-Rf2500 development Kit
Share
MSP430™ Microcontrollers
  • Forum
  • Announcements
  • E2E Wiki
Options
  • Subscribe via RSS
MSP430 Resources
  • MSP430 Product Folder
  • MSP-EXP430G2 - MSP430 LaunchPad Value Line Development kit
  • MSP430 Getting Started Guide
  • MSP430 Microcontroller Projects
  • More Resources >
  • ez430-Rf2500 development Kit

    ez430-Rf2500 development Kit

    This question is not answered
    Abhishek Trivedi
    Posted by Abhishek Trivedi
    on May 08 2012 14:42 PM
    Prodigy170 points

    Hello,

         I am using the ez430-Rf2500 development kit. I know that the baud rate for this device is fixed for about 9600. I am using the sensor monitor demo code for the device in which it transmits one data of temperature from the end device every second as Its TACCR0 is set to 12000 for 12MHZ clock. Now, I have made some changes in the code which transmits integer from 1 to n but every 0.5ms that is I have set TACCR0 to 6. And i see the data received from the end device on Hyperterminal through access point. So, according to this I should receive 2000 numbers every second to my access point and the same should be displayed on the hyperterminal. But, when i see on the Hyperterminal i only get around 270 numbers in a second and that also the numbers which are shown on the hyperterminal are not continuous like for eg. it displays 2012, 2015, 2017.....in fact it should display 2012, 2013, 2014.....

    SO, i dont knw whether its the problem of the hyperterminal (if it is not able to capture the data which is coming so fast) or may be the baud rate problem....

    would appreciate if anyone can help me out with this.

    Thanks.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Jens-Michael Gross
      Posted by Jens-Michael Gross
      on May 09 2012 06:54 AM
      Guru141810 points

      Abhishek Trivedi
      Its TACCR0 is set to 12000 for 12MHZ clock

      This gives an interrupt every millisecond. I don't know the code, but likely, the ISR is counting the milliseconds and start a transmission if it counted to 1000.

      If you change the count to 6, you'll get an interrupt every 0.5µs or every 6 MCLK cycles. Which is faster than the MSP can enter and exit an ISR, let alone execute some code inside the ISR.

      You should instead change TACCR0 to 6000, getting an interrupt every 500µs, and then remove the counter from the ISR, to send something on every ISR call, not every 1000th.

      However, sending a 16 bit value every 0.5ms, means 4000 bytes per second. So you'll neet at least a baudrate of 57600. With 9600, you are limited to 960 bytes per second, which limits you to one value every 2.1ms. Which fits the observation of 270 values (=540 bytes) per second due to the missing interrupts caused by the insanely (and unnecessary) high interrupt rate

      _____________________________________
      Before posting bug reports or ask for help, do at least quick scan over this article. It applies to any kind of problem reporting. On any forum. And/or look here.
      If you cannot discuss your problem in the public, feel free to start a private conversation: click on my name and then 'start conversation'. But please do so only if you really cannot do it in a public thread, as I usually read all threads. And I prefer to answer where others can profit from it (or contribute to it) too.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Abhishek Trivedi
      Posted by Abhishek Trivedi
      on May 14 2012 10:38 AM
      Prodigy170 points

      Hello Michael,

            Thanks for the reply. I am really sorry, I made a mistake the clock is 12 KHz not 12 MHz. Now should there be any problem of high interrupt rate?

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Jens-Michael Gross
      Posted by Jens-Michael Gross
      on May 15 2012 12:53 PM
      Guru141810 points

      Abhishek Trivedi
      I made a mistake the clock is 12 KHz not 12 MHz. Now should there be any problem of high interrupt rate?

      Well, if your MCLK is also 12kHz only, the the problem scales to the same amount. 6 clock cycles per interrupt only. Where do you get these 12kHz from? What is your MCLK? What is the clock source for the UART?

      _____________________________________
      Before posting bug reports or ask for help, do at least quick scan over this article. It applies to any kind of problem reporting. On any forum. And/or look here.
      If you cannot discuss your problem in the public, feel free to start a private conversation: click on my name and then 'start conversation'. But please do so only if you really cannot do it in a public thread, as I usually read all threads. And I prefer to answer where others can profit from it (or contribute to it) too.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Abhishek Trivedi
      Posted by Abhishek Trivedi
      on May 16 2012 12:05 PM
      Prodigy170 points

      The 12 KHz is my ACLK which is the internal oscillator clock known as VLOCLK. The clock source for my UART is SMCLK which is ~1.1MHz.

      I think i got the output as i need. At 9600 we have a limitation of sending 960 bytes per second and I am sending a buffer of 10 bytes(for numbers), so I am limited to 96 numbers per second, so when I set the interrupt rate <= 96(by changing TACCR0) , I get the continuos numbers but when I set it >96, I loose numbers in between. So, i think this whole problem is due to baud rate limitation.

      And you are most welcome to tell me if I am wrong in any way. 

      And can you suggest me any other similar develoment kit with a higher baud rate?

      Thanks.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Jens-Michael Gross
      Posted by Jens-Michael Gross
      on May 18 2012 06:12 AM
      Guru141810 points

      Abhishek Trivedi
      The 12 KHz is my ACLK which is the internal oscillator clock known as VLOCLK.

      So it's rather a 4-20kHz clock that is likely to be somewhere in the 12kHz range :)

      Abhishek Trivedi
      The clock source for my UART is SMCLK which is ~1.1MHz.

      The '~' is a problem. UARTs are not very forgiving about ~ baudrates. YOu should rathe ruse teh calibrated 1MHz DCO settings (if available) or calibrate your MSP somehow.

      Other than that, yes, if you're sending 10 bytes per package, you're limited to 96 interrupts per second. And that you're losing numbers indicates that you're starting to overwrite packets already in the queue, instead of simply slowing down the pace (losing interrupts), which would be the other option.

      Abhishek Trivedi
      And can you suggest me any other similar develoment kit with a higher baud rate?

      The backchannel UART is limited to 9600Bd because it uses bit-banging of unused I/O ports of the TUSB chip that connects the FET with the PC.
      The MSP itself can go as high as 1MBd, bu tthat won't be forwarded to the PC tough the standard connection.

      The the 4x/2x combo experimenter board has a dedicated RS232 connector supporting all baudrates (you'll need a real COM port or an USB/serial converter to connect to the PC) and the experimenter board for the MSPs with USB controller offers a virtual serial port that is stuffed directly by the MSPs USB controller (but requires much more code to handle).

      However, you can connect even teh LaunchPad to the PC with any baudrate by using a separate USB/serial converter. Eithe rone that has an RS232 signal level (the standard type). Then you'll have to disconnect the RX and TX signals from teh FET part of the LaunchPad (pulling the two jumpers) and connect them to a MAX3232 chip or similar. Or you get an USB converter that offers direct TTL signal output. In this case the MAX3232 isn't necessary and RX and TX can be connected directly.

      _____________________________________
      Before posting bug reports or ask for help, do at least quick scan over this article. It applies to any kind of problem reporting. On any forum. And/or look here.
      If you cannot discuss your problem in the public, feel free to start a private conversation: click on my name and then 'start conversation'. But please do so only if you really cannot do it in a public thread, as I usually read all threads. And I prefer to answer where others can profit from it (or contribute to it) too.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Abhishek Trivedi
      Posted by Abhishek Trivedi
      on May 18 2012 10:31 AM
      Prodigy170 points

      Thanks for your help Michael, I really appreciate it.

      Now, I am directly converting numbers from int to char and I am directly transmitting the numbers(not converting to ASCII), So each number takes only two bytes. So, basically with the limitation of 960 bytes, I can send 480 bytes per second. But this is all based on calculation. Is there any way to know how many numbers I receive in each second programmatically? Because right now till whatever number I send, I will eventually receive it but i dont knw whether I will receive it in one second or not?

      Can you help me out with this?

      Thanks.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Jens-Michael Gross
      Posted by Jens-Michael Gross
      on May 21 2012 09:11 AM
      Guru141810 points

      Abhishek Trivedi
      Is there any way to know how many numbers I receive in each second programmatically?

      Well, you need to write your own PC frontend software that eeps track of how many number received in how much time.

      Or you start capturing and stop capturign fro a certain period of time and thencount how many numbers arrived in that delay (easier to do, but less precise, of course).

      For an MCU, time is relative. If the MCU has no access to a timebase that matches our human 'normal time flow', it cannot tell.

      Well, another way would be keepign track of the tiem internally (with a precision crystal as time source). Then count ho wmany values sent and how much tiem passed, itnernally. YOu then have to communicate the result somehow.

      I guess, doing it externally on the PC side is the easier way :)

      _____________________________________
      Before posting bug reports or ask for help, do at least quick scan over this article. It applies to any kind of problem reporting. On any forum. And/or look here.
      If you cannot discuss your problem in the public, feel free to start a private conversation: click on my name and then 'start conversation'. But please do so only if you really cannot do it in a public thread, as I usually read all threads. And I prefer to answer where others can profit from it (or contribute to it) too.

      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