element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • 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
MicroZed Hardware Design USB 0 hardware setup
  • 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 7 replies
  • Subscribers 302 subscribers
  • Views 517 views
  • Users 0 members are here
Related

USB 0 hardware setup

smvo555
smvo555 over 10 years ago

Hi,

What is the proper way to connect bank 501 USB MIO pins to my design?
I want to set up communication between PC and Microzed.
Is it as easy to use as the USB UART which connects to the micro USB?

I'm not able to synchronize the read port of my dual port BRAM with the default USB UART connecting to the micro USB as there are no synchronization signals that I am aware of.

Thanks, advice is much appreciated

Sam

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

    I think I may have caused some of the confusion by inadvertently typing 'UART' after the SMSC 3320 device in my comment above. The SMSC USB interface and the Silicon Labs USB UART are separate interfaces. The micro USB connector J2 is connected to the Silicon Labs CP2104 USB UART device which drives the Zynq ps_uart1 via MIO signals 48 and 49. By default the BSP generated by the SDK will set this port as the stdin/stdout port. You do need to load a driver for the Silicon Labs USB-UART device on your PC.

     

    The SMSC USB3320 USB device is connected to the USB Type A connector on the combination Ethernet RJ45/USB Type A connector J1 on the MicroZed. The default mode for the USB port on the MicroZed is Host mode. In this mode the MicroZed provides the Vbus supply but the amount of power available is very limited if the MicroZed is powered by the USB-UART port alone. You can configure the USB port to Device Mode. See Section 2.3 of the MicroZed HW Users Guide and the MicroZed Schematic for details. They can be downloaded here: http://zedboard.org/support/documentation/1519

     

    You do not need the axi usb device. What drivers you need depend on which mode you are using and if you are 'bare metal' or running under an OS like Linux.

     

    -Gary

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • Former Member
    0 Former Member over 10 years ago

    I think I may have caused some of the confusion by inadvertently typing 'UART' after the SMSC 3320 device in my comment above. The SMSC USB interface and the Silicon Labs USB UART are separate interfaces. The micro USB connector J2 is connected to the Silicon Labs CP2104 USB UART device which drives the Zynq ps_uart1 via MIO signals 48 and 49. By default the BSP generated by the SDK will set this port as the stdin/stdout port. You do need to load a driver for the Silicon Labs USB-UART device on your PC.

     

    The SMSC USB3320 USB device is connected to the USB Type A connector on the combination Ethernet RJ45/USB Type A connector J1 on the MicroZed. The default mode for the USB port on the MicroZed is Host mode. In this mode the MicroZed provides the Vbus supply but the amount of power available is very limited if the MicroZed is powered by the USB-UART port alone. You can configure the USB port to Device Mode. See Section 2.3 of the MicroZed HW Users Guide and the MicroZed Schematic for details. They can be downloaded here: http://zedboard.org/support/documentation/1519

     

    You do not need the axi usb device. What drivers you need depend on which mode you are using and if you are 'bare metal' or running under an OS like Linux.

     

    -Gary

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
  • smvo555
    0 smvo555 over 10 years ago in reply to Former Member

    Thanks Gary,
    I think I have a lot of ground to cover in my understanding of embedded systems.
    I found some drivers and API in my install directory listed below.
    C:XilinxSDK2014.1dataembeddedswXilinxProcessorIPLibdriversusb_v5_0dochtmlapi

    Please check my understanding, corrections can save me a lot of time.
    -The hardware for USB0 is already set up, so I only need to enable USB0 and make the MIO pins external in my block design for the usb etc..
    -I want to read data from PL, so I will make the data available on the EMIO
    -I will use the drivers and api in SDK to output the data on USB0 from EMIO.

    Besides the 8 data bits on USB0 , I see also the signals
    dir , stp ,nxt ,clk
    Is nxt a signal I can use to enable my read address to increment synchronously with clk?
    This is what I am mostly concerned with, I'm wondering if I am thinking about the issue of synchronization wrong. Is it possible to memory map my BRAM and send bursts of data to the processor for USB output? Would this be the correct way?

    Thanks
    Sam

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 10 years ago in reply to smvo555

    The hardware for USB0 is already set up if you select it and the MIO connections are as well if you used the board preset when you created your block design in Vivado. You do not need to make anything more external or add any EMIO connections.


    If you memory map your BRAM then you can use the SDK drivers to transfer the data using DMA or any other means. You do not need to deal with any of the signals directly.


    You will want to use the usbps_v2_1 drivers, not the usb_v5 drivers. Once you export your design to the SDK and generate a BSP you should be able to open the system.mss file under your BSP in the Project Explorer pane on the left in the SDK. Then, in the system.mss file, under the 'Peripheral Driver' section you can click on the 'Documentation' and 'Examples' links next to your peripheral, ps7_usb_0 in this case, to see example code for your peripheral.


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