how set USB tile? Topic is solved

If you have a simple question and just want an answer.
Post Reply
woodsb
Experienced Member
Posts: 79
Joined: Thu Nov 17, 2016 11:24 pm

how set USB tile?

Post by woodsb »

Hello,

I am interested in having my application send data out over a USB connection. It seems the simplest way to do this is to use the XUD library.

I believe the cores used for XUD execution have to be on the same tile that the USB PHY is connected to, and that the USB PHY connection can be changed "in software".

For instance, app note AN00182 indicates the change is executed in the Makefile. (Section 3.1, "-DUSB_TILE=tile[1]".)

But a forum post (http://www.xcore.com/viewtopic.php?t=3060) indicates the change is executed in the XN file.

Am I misunderstanding the methods for and capabilities of the USB tile configuration?

If not, can someone explain to me what I have to do to change the specification of which tile is connected to the USB PHY?

Are the two refs discussing different things, or two ways of doing the same thing, or something else?

thanks for your help,
Bill


View Solution
User avatar
data
Active Member
Posts: 43
Joined: Wed Apr 06, 2011 8:02 pm

Post by data »

Not an official XMOS answer here but --

The USB peripheral is configured over Xlink. On XS2 devices, either tile can use it, though in practice only one tile should try to use it at a time. (On XS1 devices like XS1-U16A, only one tile can physically use the USB peripheral; there is no choice given.)

The USB peripheral reserves ports on one of the tiles, and you have to tell it which tile to take over. XUD makes this setting for you based on -DUSB_TILE: this should be set to whichever tile you are running XUD on.

-DUSB_TILE is also important for systems which have multiple XMOS packages; in a system with five tiles, XUD has to know which tile it's running on.

You don't set any of that in the XN file -- but the USB ports do need to be defined there, and associated with the tile where XUD is running. These ports are required, and used internally, and several of them are 1-bit ports, and you can't use those pins when you are using USB. So, on parts like XU216, one of the tiles doesn't bring those ports out; on XU216 that's Tile 1, so that's the tile you'll use for USB in almost every case; and in XMOS-supplied XN files, that's where the USB pins are placed by default. Therefore, you usually won't change that part of the XN file.

Hope this helps ..
woodsb
Experienced Member
Posts: 79
Joined: Thu Nov 17, 2016 11:24 pm

Post by woodsb »

Thanks for the info, data, it does clear up the situation for me.

cheers,
Bill
Post Reply