element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Achievement Levels
    • Benefits of Membership
    • Feedback and Support
    • Members Area
    • Personal Blogs
    • What's New on element14
  • Learn
    Learn
    • eBooks
    • Learning Center
    • Learning Groups
    • STEM Academy
    • Webinars, Training and Events
  • Technologies
    Technologies
    • 3D Printing
    • Experts & Guidance
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Arduino Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Project Groups
    • Raspberry Pi Projects
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Or choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
Personal Blogs
  • Members
  • More
Personal Blogs
Legacy Personal Blogs Si4707 effort on hold
  • Blog
  • Documents
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Blog Post Actions
  • Subscribe by email
  • More
  • Cancel
  • Share
  • Subscribe by email
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: packetgeek
  • Date Created: 3 Apr 2015 11:32 AM Date Created
  • Views 591 views
  • Likes 0 likes
  • Comments 7 comments
  • i2c
  • si4707
  • radio
Related
Recommended

Si4707 effort on hold

packetgeek
packetgeek
3 Apr 2015

I'm putting the I2C coding effort for the Si4707 chip on hold.  The basic initialization code (same as for the Si4703 breakout board) does not work with the Sparkfun board.  Cause seems to be double-use of pull-up resistors (one set on the Pi, another on the Sparkfun board) that were added by Sparkfun.  Because of this, I don't believe that the I2C interface will work with the Pi without modifying the board.

 

Supporting this are the following:

  • https://learn.sparkfun.com/tutorials/si4707-hookup-guide
  • http://iradan.com/?p=486

 

Will revisit the chip when I'm learning how to work with the SPI interface, or work with a computer that doesn't add its own set of pull-up resisistors.  Maybe a Cubieboard or the XMOS controller.  Will need to dig.  In the mean time, this allows me to move on to the AS3935 lightning sensor and the Si4735 eval kit.

  • Sign in to reply
Parents
  • clem57
    clem57 over 8 years ago

    In software you can change whether it is a pull up or up down:

     

    GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
    GPIO.setup(24, GPIO.IN, pull_up_down=GPIO.PUD_UP)

    Do not know if this helps...

    Clem

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Comment
  • clem57
    clem57 over 8 years ago

    In software you can change whether it is a pull up or up down:

     

    GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
    GPIO.setup(24, GPIO.IN, pull_up_down=GPIO.PUD_UP)

    Do not know if this helps...

    Clem

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Children
  • packetgeek
    packetgeek over 8 years ago in reply to clem57

    Thanks for the suggestion but (sorry) it didn't work.  I've hit a wall with this one and can only assume that it won't work with the Pi, based on:

     

    - having two Si47xx based boards from Sparkfun

    - Silicon Labs' documentation indicating that the same technique should drive them into I2C mode
    - various docs indicating that the Sparkfun board and the Pi each have a set of resistors

     

    The painful part is that, if the above is true, the Si4703 shouldn't have worked (but it has a similar set of resistors and does work).  Maybe I've missed something.  It's doubtful as other user's code also does not work.  The board refuses to show up on the I2C bus.  It could be that I've damaged the board somehow.

     

    I think the best course is for me to learn how to use the SPI interface (on the Si4703) and come back to the Si4707 later.  I'll also be on the look-out for a non-Sparkfun version of the breakout board.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • packetgeek
    packetgeek over 8 years ago in reply to clem57

    I may have found another possible cause...  I'd moved to playing with the MOD-1016 lightning sensor and it refused to work.  It kept complaining about not being able to set up call-backs for pin 17 (which is used by the sensor as an interrupt, to signal the RPi that an update is available).  I messed with it for a couple hours and finally moved the interrupt to pin 23 and tweaked the code.  After that, it worked fine.

     

    So...  I'm wonder if the Si4707 will initialize if I move the reset signalling to a different pin.  Project for the weekend (next weekend?), I guess.  I'm hoping that the problem is just that something else in the RPi has laid claim to pin 17 and not that I've damaged the input.

     

    - Tim

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • michaelkellett
    michaelkellett over 8 years ago in reply to packetgeek

    I2C with short wires is often not that fussy about the value of the pull up resistors so I would expect it might very well work with an extra pair. The only way to be sure is to check the specs of the chips at both ends (and refer to the NXP I2C reference document) - or look at the signals with a scope.

     

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • packetgeek
    packetgeek over 7 years ago in reply to michaelkellett

    I can get it to work with other people's Python code.  Still haven't been successful in getting my C code to work (haven't had much time to experiment with it lately).  Will keep pounding on it when I can...

     

    R/ Tim

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Former Member
    Former Member over 7 years ago in reply to packetgeek

    Could you please tell me where you found the Python code to make the SI4707 work with the Pi?

    I'm still struggling to make it show up on the I2C bus.

     

    Knud

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2023 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube