• 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 RemoTI for RF4CE Remote Controls Forum » I2C pinout for Remoti
Share
Low Power RF & Wireless Connectivity
  • Forums
  • Announcements
  • Files
  • E2E Wiki
Options
  • Subscribe via RSS

I2C pinout for Remoti

I2C pinout for Remoti

This question is answered
davejor
Posted by davejor
on Aug 26 2009 17:04 PM
Prodigy150 points

How is the I2C ported(to which pins) when implemented thru the Remoti HAL API?  Where can the pinout documention be found?

Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • davejor
    Posted by davejor
    on Aug 27 2009 10:24 AM
    Prodigy150 points

    I found the hal_i2c.c files in the  components/hal/target/CC2530EB_NPI  directory.   The pinout is defined at the top of this file.   Must be included in build to be used....

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • LPRF Rocks the World
    Posted by LPRF Rocks the World
    on Aug 27 2009 16:45 PM
    Genius10415 points

    Davejor:

    There are couple of Developer's Guide that can be interest to you when using RemoTI software and developing code.

    RemoTI Basic Remote Developer’s Guide:
    http://www.ti.com/litv/pdf/swru224

    RemoTI Network Processor Developer’s Guide:
    http://www.ti.com/litv/pdf/swru223

     

    LPRF Rocks the World

    "Customer Centricity, Enthusiasm, Mass collaboration and Great minds are the best path towards great products"

    “Victory awaits him who has everything in order – luck people call it. Defeat is certain for him who has neglected to take the necessary precautions in time; this is called bad luck.” 
    Roald Amundsen, The South Pole

    RemoTI Developer's Guide
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • chethan kp
    Posted by chethan kp
    on Nov 15 2010 09:24 AM
    Expert1150 points

    Hi,

     

    I'm using the I2C code given in  the RemoTI stack to interface one sensor to the TIMAC(CC2530) .

    SCL frequency for the sensor is 400kHz(this is max frequency in which the sensor works).

    Since our CC2530 controller runs with 32MHz frequency , I'm not able to use the (I2C) code given in the RemoTi.

    STATIC _Bool hali2cRead( void )
    {
      // SCL low to let slave set SDA. SCL high for SDA
      // valid and then get bit // I think Here the controller runs with 32MHz, I need to run this at  freq b/w 200 to 400KHZ
      hali2cClock( 0 );
      hali2cWait(1);  
      hali2cClock( 1 );
      hali2cWait(1);

      return OCM_SDA;
    }

     

    STATIC uint8 hali2cReceiveByte()
    {
      int8 i, rval = 0;

      for (i=7; i>=0; --i)  {
        if (hali2cRead())  {
          rval |= 1<<i;
        }
      }

      return rval;
    }

    int8 HalI2CReceive(uint8 address, uint8 *buf, uint16 len)
    {
      hali2cReceive(address, buf, len);

      return 0;
    }

     

    pls suggest me a solution to fix this problem.

    regards

    chethan

    CC2530 I2C
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • TheDarkSide
    Posted by TheDarkSide
    on Dec 13 2010 21:15 PM
    Verified Answer
    Verified by TheDarkSide
    Intellectual2860 points

    Hi Chetan,

    the actual clock speed of the I2C bus is set in the init function HalI2CInit(). This function just stores the value which is then used in the read and write function and programmed in the configuration register of the HW I2C module embedded in the CC253x.

    The physical register, I2CCFG, is hence programmed with the values of the divisor with respect to 32 Mhz.

    Please find the prototype of the function you need to call to configure i2C

    void HalI2CInit(bool master, uint8 address, uint8 clockRate, halI2CCallback_t halI2CCallback), where for the clock parameter you can refer to the values in hal_i2c.h file and repeated below.

    In your code setting the value to 1 sets actually the speed of the I2C clock at 144Khz, this is why you might have a problem.

     

    #define I2C_CLOCK_123KHZ    0x00

    #define I2C_CLOCK_144KHZ    0x01

    #define I2C_CLOCK_165KHZ    0x02

    #define I2C_CLOCK_197KHZ    0x03

    #define I2C_CLOCK_33KHZ     0x80

    #define I2C_CLOCK_267KHZ    0x81

    #define I2C_CLOCK_533KHZ    0x82

    #define I2C_CLOCK_RESERVED  0x83

    #define I2C_CLOCK_MASK      0x83

     

    I hope this helps.

    The dark side

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • XY CH
    Posted by XY CH
    on Mar 29 2011 15:34 PM
    Intellectual360 points

    Hello TheDarkSide,

    I have the similar concerns on your hal_i2c.c, in my version of the file (from latest RemoTI), I can see that the HalI2CInit() is defined as void HalI2CInit(void); it seems to me that this function does not accept any parameters. In this case would you please suggest how to program the SCL clock frequency ? I also targeting something wround 200kHz to 400kHz.

     

    Thank you

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • TheDarkSide
    Posted by TheDarkSide
    on Apr 26 2011 21:19 PM
    Verified Answer
    Verified by LPRF Rocks the World
    Intellectual2860 points

    Hi,

    sorry for the delay of my reply. You can use this code snippet

     

     

    /* I2C clock rate */

    #define I2C_CLOCK_123KHZ    0x00

    #define I2C_CLOCK_144KHZ    0x01

    #define I2C_CLOCK_165KHZ    0x02

    #define I2C_CLOCK_197KHZ    0x03

    #define I2C_CLOCK_33KHZ     0x80

    #define I2C_CLOCK_267KHZ    0x81

    #define I2C_CLOCK_533KHZ    0x82

    #define I2C_CLOCK_RESERVED  0x83

    #define I2C_CLOCK_MASK      0x83

     

     

     

    #define I2CCFG          XREG( 0x6230 )

     

    #define I2C_CLOCK_RATE(x)     st( I2CCFG  &=    ~I2C_CLOCK_MASK;    \

                                      I2CCFG  |=     x;                 )

     

     

    As an example, if you want to clock it at 533 Khz

      I2C_CLOCK_RATE(I2C_CLOCK_533KHZ);

    Thanks,

    TheDarkSide

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • ishnanaveen
    Posted by ishnanaveen
    on Jun 18 2012 15:42 PM
    Prodigy70 points

    Hi,

    I have integrated the I2C files in my project, but I just do not get any interrupt after I2C_START().  Do I have to enable any other register apart from the IEN2 register?

    Thanks!

    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