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
Avnet Boards Forums
  • Products
  • Dev Tools
  • Avnet Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
MicroZed Hardware Design SPI From Chosen Pins to Ethernet
  • Forum
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Avnet Boards Forums requires membership for participation - click to join
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 1 reply
  • Subscribers 176 subscribers
  • Views 139 views
  • Users 0 members are here
Related

SPI From Chosen Pins to Ethernet

Former Member
Former Member over 9 years ago

Hello all,

I'm having trouble getting SPI to behave as desired. Very much a noob here so, be gentle.

The ports I wish to use for SPI via LVDS are located on the breakout carrier card.

The data being sent is via SPI with an accompanying GPIO pin that determines which "side" of the data is being sent.

Once both sides of the data is received, it's then packaged and sent via UDP through the ethernet port.

Inside Vivado, I cannot choose which ports are used for the SPI.

Is this done within the SDK? I would prefer that the FPGA side of things handles the SPI and the Arm merely handles the UDP package.

Within Vivado, I have the SPI_0 activated in the ZYNQ7 Processing System. (But no inputs to the module?)

I seem to have some fundamental design flow issues wrong and I'm wondering if someone has a link to an SPI tutorial on the Zynq.

Logically, I assume I can just map the GPIOs to a custom IP that handles the SPI and output it to DRAM and handle it in C... I think.

Thanks in advance for the help. I've recently started learning FPGA development and any direction here would be greatly appreciated!

  • Sign in to reply
  • Cancel
  • Former Member
    0 Former Member over 9 years ago

    You can control the ports assigned to the SPI controller in Vivado. Normally SD0 in the Zynq PS (Processing System) is connected to the QSPI Flash device on the MicroZed via MIO pins 40 - 45. If you want to keep the QSPI peripheral you can either enable the Zynq PS SD1 peripheral and set it's IO to the 'EMIO' or instantiate an AXI Quad SPI controller in the PL (Programmable Logic) section.

     

    Assuming you want to use the PS SD1 controller, once you have selected EMIO IO for the device the SD1 ports will appear on the Zynq Processing System block in your Vivado design. You can 'Make External' the whole interface or expand the SD1 port and connect to the individual signals you want. You can then connect these SD controller signals to logic in the PL or directly to ZYNQ IO pins that are connected to the MicroZed MicroHeaders by creating a constraints file (.xdc file type) specifying the pins each signal is to be connected to.

     

    You will need to look at the MicroZed HW Users Guide and the Break Out Carrier Card Users Guide to determine which Zynq device IO you want to select in your constraints file. The MicroZed HW Users Guide and MicroZed Carrier Design Guide are here: http://zedboard.com/support/documentation/1519

     

    The MicroZed Break Out Carrier Card documents are here: http://zedboard.com/support/documentation/2182

     

     

    Same thing for the GPIO. You can select EMIO IO for the PS GPIO or instantiate an AXI GPIO controller.

     

    While they do not specifically address using the SD1 peripheral the general process is detailed in the Avnet Developing ZynqRegistered-7000 All Programmable SoC Hardware (Vivado 2013.3) Speedway design seminar that can be downloaded here: http://zedboard.com/support/trainings-and-videos

     

    Adam Taylor also has an excellent blog that steps you through developing Zynq Designs for the MicroZed board. The first blog entry is here:

    http://forums.xilinx.com/t5/Xcell-Daily-Blog/Bringing-up-the-Avnet-MicroZed-with-Vivado/ba-p/362901

     

    -Gary

    • 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 © 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