element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • 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
  • Settings
Avnet Boards Forums
  • Products
  • Dev Tools
  • Avnet Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
Using Xilinx Tools Forum i2c via EMIO on PicoZed board
  • Forum
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Avnet Boards Forums to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 2 replies
  • Subscribers 336 subscribers
  • Views 2204 views
  • Users 0 members are here
Related

i2c via EMIO on PicoZed board

Former Member
Former Member over 8 years ago

I have a PicoZed FMC Gen 2 and a PicoZed 7030 SOM.

My experience with FPGA design consists of going through the tutorials available on this website to define a basic system and generate a minimal FPGA image, so not very much.  I'm using Vivado 2016.3 and can successfully create the bitstream and export to SDK, creating the FSBL which i have incorporated into QNX and can successfully boot that on the board.  Now I want to read the MAC address from the EEPROM on the carrier card via i2c.  I haven't found specific instructions on how to do this so my info just comes from various bits and pieces I have found.

In the ZYNQ processing core I enabled I2C_0 under Peripheral I/O Pins.  This selects EMIO pins by default.  I then right click on the IIC_0 and make it an external port.  I then run synthesis and implementation and when that is done I look at I/O planning in the implementation.  My understanding is that pin assignment is made here which generates constraints that are used when creating the FPGA bitstream.   From the schematics it appears that the I2C signals going to the EEPROM are labeled HDMIO_SCL and HDMIO_SDA and that they are connected to ZYNQ pins H6 and H5 respectively.  In the I/O Ports tab I have configured those pins and set them as Fixed, Bank 35, I/O Std to LVCMOS18, Vcco to 1.8, Drive Strength to 12, Slew Type to SLOW, Pull Type to PULLUP and Off-chip Termination to FP_VTT_50.  Most of those are the default values.  

I have a logic analyzer hooked to the test header at J14.  I see I2C activity when the board powers on.  I think I am seeing the Clock IC getting its config from its EEPROM.  After that when I initiate my I2C access to the MAC EEPROM I see no activity.

Could be sw or hw issues, but I want to rule out hw because I'm much less sure of that side of things.  Are there steps that I have missed or gotten wrong in configuring the I2C to use the EMIO pins?  Anything I should check?

Thanks,

Bruce

  • Sign in to reply
  • Cancel
  • jafoste4
    0 jafoste4 over 8 years ago

    Hi Bruce,

    I have a few design suggestions for you.

    1. I would suggest you to double check your constraints were created correctly.

          a. You can see the constraints that will be used to generate your bitstream by Typing "write_xdc -exclude_physical test.xdc" in the TCL console. Use this as your starting point

         b. Here is an excellent documents to start learning about constraints

    https://www.xilinx.com/support/documentation/sw_manuals/xilinx2014_1/ug903-vivado-using-constraints.pdf

    2. I would suggest you remove your "Pull up Type : PULLUP and Off-chip Termination to FP_VTT_50" 

         a. Please see document UM10204 section 3.1.1 for more information about the SDA and SCL signals

    http://www.nxp.com/documents/user_manual/UM10204.pdf

    3. Change the drive strength to a higher value. This shouldn't affect your design negatively.

    --Josh

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • paolofalconearesys
    0 paolofalconearesys over 8 years ago

    Hy Bruce,

    Did you solve? I'm facing the same issue: i do not see any activity on iic bus when I try to write/read to/from the eeprom.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • 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 © 2025 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