XU216-512-TQ128 USB can't even enumerate?

Sub forums for various specialist XMOS applications. e.g. USB audio, motor control and robotics.
New User
Posts: 3
Joined: Fri Sep 11, 2015 9:40 pm

XU216-512-TQ128 USB can't even enumerate?

Postby odonov8 » Fri Mar 01, 2019 4:23 am

Hopefully someone with some experience can help out here.

I'm working on a design where we've already done 4 different PC board layouts using the XU216-512-TQ128 chip. The design is entirely based on the xCORE-200 Multichannel Audio Platform 2v0. Only differences are there is no USB switch since out setup only needs to work in Device mode, plus there is no selector for the audio I2S.

Even after 4 attempts, we consistently get the error where the USB communications just randomly gives up. It seems to be extremely sensitive, and we have no idea what is causing this issue.

Is it necessary to do some tricks to the USB signals when the USB switch is removed? For example do we need to add 90 ohm resistors in series with the lines to prevent noise reflections and signal corruption? We've tried working with the local FAE in Taiwan, but so far it seems like a futile exercise of dart throwing.

Anyone here have experience getting this part up and running? Any specifics about what is needed to do this?

User avatar
XCore Legend
Posts: 1470
Joined: Thu Jun 10, 2010 11:43 am

Postby mon2 » Fri Mar 01, 2019 7:20 pm

Hi. Wow :( Sucks when something does not work right.

Some general highlights:

1) The USB 2.0 interface and IP with XMOS is HS (high speed operating at 480 Mbps). Noting this, the PCB layout is critical and the traces between the USB connector and the XMOS device must be differential PCB traces for the layout and impedance controlled. No, no series resistors are required BUT after doing your best on the PCB layout, you must highlight the USB signal traces and request your PCB shop (there are tons in Asia and we can share some recent proven houses that are outstanding on QC including Suntak PCB, Shenzhen, CN) at fair prices. Once you alert them on the impedance control, demand that they supply you with a TDR tested report for your custom PCB. In summary, they will jockey the PCB layout traces in this region to hit the 90 ohms target demanded by the USB specification. It is a very common practice.

We have done this for assorted USB 2.0 / USB 3.1 Gen 1 (and soon USB 3.1 Gen 2) speeds. Tons for the PCIe designs we have at our company, zero issues.

2) If you can, share the screen grab for your PCB layout and also for your XMOS hookup. Censor what you want but need to see the connector, XMOS pins for the USB interface, power supply and power supply sequencing. XMOS demands proper power rail sequencing.

3) How long is your USB cable? Is it USB 2.0 compatible. Most are but best to ask. Keep it short.

4) Is your PCBA shop solid? Can they xray the XMOS CPU to be sure it is soldered correctly? Guessing after so many spins, they are ok.

5) If it makes sense, we can share the details of our PCB designer (he has 22+ years to date of experience with very high volume product designs for our company). Ping me in private for more details. Using the CAD drawings (Altium?) of your PCB layout, he can check and offer his feedback on corrections - if PCB layout related. Hoping that your PCB is at least 4 layers else it is very risky to expect stable results for USB 2.0 HS interface.

Our experience is in digital and high speed design, nothing to do with audio. Hope this helps.
User avatar
XCore Legend
Posts: 1470
Joined: Thu Jun 10, 2010 11:43 am

Postby mon2 » Fri Mar 01, 2019 8:49 pm

Preaching Part 2 (and you thought I was done? HA!!)...

To rule out your custom IP, have you attempted to reflash your custom PCB with a known good USB IP? For example, XMOS example code for USB HID or USB CDC firmware.

Please attempt this before anything else. Using this known good IP, how does this firmware behave on the XMOS demo kit and then on your custom PCB?

Looking forward to the feedback.
New User
Posts: 3
Joined: Fri Sep 11, 2015 9:40 pm

Postby odonov8 » Sat Mar 02, 2019 12:09 pm

@mon2: Thanks so much for your input! We tried the original sample code plus our custom code. They both worked on the multichannel audio platform but did not work on our custom board. Clearly a board issue.

Let's go in order for your questions:

1) In answer to your first question, please see the attached JPEG. All our PC board engineer has supplied to me is a computed differential impedance calculation. There are no measurements. So then I should insist on the TDR tested report? Could you elaborate on what this is so I can explain to our PC board guy in Chinese? I am surprised the XMOS FAE in Taiwan didn't bring this up...

2) Power supply sequencing: The XMOS FAE in Taiwan already verified we did this correctly. Actually I should clarify the USB does enumerate properly at lower speeds, but once it switches to higher speeds, it starts to have random errors.

3) USB cable is confirmed USB 2.0 compatible. Is it a problem if we use a type B connector?

4) Dang I hope the PCBA house is good. Doubt this is an issue tbh.

5) We use Protel for PCB layouts (could you believe?). Email me audioinn@audioinnovate.com

Again thanks for your input! Looking forward to hearing back from you.

User avatar
XCore Legend
Posts: 1470
Joined: Thu Jun 10, 2010 11:43 am

Postby mon2 » Sat Mar 02, 2019 2:43 pm

Hi. Let us split this discussion to public and private.

1) The attached jpeg did not make it to this forum. Please repost. If possible, please also post the power supply details and schematic for another set of 4 eyes to review.

2) Perhaps it is my nature of dealings with many people in my life but trust is something that must be earned. Respectively, we have been burnt but by PCB shops making claims they never met AFTER taking our money and we incurred losses during production (prototypes mostly). We have met some amazing PCB shops with shiny looking boards at past trade fairs (HK, Taiwan) but after making a purchase, need a welder to solder to or looked much worse than our nightmares. We just through the PCBs in the garbage. Lesson learned and we flame them if we see them at the fairs. We are picky but want what we pay for, nothing more. Respectively, we are confident that we are dealing with the major players in Asia for PCB shops after being gouged by local shops.

Don't get us wrong here, we love a "good deal" on our component purchases because we are in the PC industry and while we have invented many industry firsts, we can feel the fire breathing dragons trying to clone our unique designs. Some have stolen our product pictures and claim they are building for us in Asia - we build nothing in Asia but source raw materials from the region. It has been a rat race but most OEMs are loyal as they know they are working with the innovator rather than a clone shop. However, costs must remain competitive.

For prototype PCBs that are flawless,

JETPCB - that is the English name and they are an outfit out of Taiwan whom we have met many times over the past 15-20 years of our travel. Excellent quality and will not fail on specs but a bit more costly than others (actual company is All Wei PCB but they changed to the simple URL - they will ship out of Taiwan to anywhere in the world and on time to meet your deadlines; have used them for many projects over the years for our 4L and 6L FR4 designs)


ChinaFastPrint - out of Shenzhen, CN. Have used them for many projects but after they opened their US office, the end PCB pricing went in the wrong direction. We can source locally for similar costs so why bother. However, used them for volume builds as well as prototyping PCBs for many years when Shenzhen, CN did the pricing. Not competitive in our books but you may have better luck or through a reliable broker.

Suntak PCB - a giant PCB shop in Shenzhen, CN whom we have used for at least 10 years to date for our 4L & 6L PCBs. Very reliable and feel their silk screen quality is 7/10 - we are picky but never a QC issue. Very competitive on costs but recently they did not want to deal with us directly due to "low volumes" ($1M USD per year is not enough to be a direct account). We use multiple PCB shops so cannot guarantee a locked in contract with any one supplier. Respectively, our account is now being handled by a broker who is able to take our biz with other accounts and can meet their requirements for the dollar value. It is a crazy business model but the PCB shops want to "grow" using fewer customers with higher dollar value purchases. This shop is our key supplier for prototyping and volume PCBs - all bare as we do PCB assembly here in Canada due to the nature of the builds (under NDA) and for 100% QC.

Contact Terry (whom we have used for years to date) to purchase PCBs from Suntak (at ANY volume). The service from Terry has been flawless and he replies even in the middle of his night and has done so through the CNY holidays - that is customer service!! Very sharp on the details for the PCB business.

Terry Guan | Sales Department
Tel:+86 755-23727699 | Fax:+86 755-66831238 | Mobile:+86 13145861850
Email/Skype: pcb023@yaxindatech.com | Website: www.yaxindatech.com
Address: Room 318-322, Block H, Zhigu Science Park , Bao'an District, Shenzhen.

Terry is also able to build bare PCBs at his factory but we tool up through him with Suntak so that the PCB tooling cost can be used again once we go live if there are no PCB changes. However, Terry is able to supply the PCBs from his factory at a lower cost if in ROHS compliant only. Our OEM clients are Tier 1 customers who demand Halogen Free laminates which is not an issue with Suntak - many suppliers choke on such requests. On topic, be sure that the PCB shop you use applies their UL mark onto the PCB + mfr datecode. Using the UL mark, you can confirm who really built the bare PCB and also to hold them accountable for any possible defect of the PCB. It is a spec we always demand.

Another excellent shop is Kingford whom we met in HK - they do work for AMD and others and saw some gorgeous PCBs on display - have used them for many projects but more with Suntak (due to slightly lower costs and VERY quick lead times):

Daphne Tian (Ms.)
Sales Department
Mobile: +86-135-9019-1310
Tel: +86-755-23287851 ext:806
Email: kfpcb12@kingfordpcb.com
Website: www.kingfordpcb.com
Skype: kfpcb12@kingfordpcb.com
Your turnkey PCB & assembly partner in China

We have others but are of higher cost and use them for only the very complex PCBs (ie. buried and blind vias, etc.).

The # 1 PCB shop in China is Shennan Circuit and have used them for some complex PCBs but you have to use a broker as we are not worth to deal with them directly. Can share some names on demand for these brokers.

3) A good PCB shop can support TDR reporting without question. This is where a specialized test equipment will perform impedance checking of the highlighted traces from your PCB design to confirm that the final PCB is compliant to the spec. Your statement of that the design works at 12 Mbps but not 480 Mbps is disturbing and may very well be linked to this fault. Especially if you know that the IP is confirmed to be working on the evalkit. Perhaps you have USB stubs on the traces that are killing the higher speed operation?

4) Not an issue on Protel and believe our earlier designs were also on this tool. Altium allows us to do 3D modelling for our new roadmap of widgets that use enclosures.

5) If you are keen to find some good raw material suppliers (enclosures, PCBs, PCBA, etc.), consider to visit the upcoming Electronic fairs in April in HK. There are 2 coming up, one is the Global Sources fair held at the HK Airport Hall (April 11 - 14); then the HK Electronic Fair in Wanchai (April 13-16). They purposely hold both fairs around the same time.

https://www.globalsources.com/TRADESHOW ... RONICS.HTM

https://event.hktdc.com/fair/hkelectron ... g-Edition/

They hold the same fairs again in October (Fall edition) which is even larger but for us, our focus is electronic parts and often we find new and better suppliers for the latest designs. I am planning to visit this April fair in a few weeks. Let me know if you need any help on this if of interest.

Will ping you for the balance of the details of your design.
User avatar
Active Member
Posts: 38
Joined: Fri Oct 28, 2011 10:53 pm

Postby JohnWilson » Wed Mar 06, 2019 5:59 am

Highly uninformed unscientific reply: I've worked up four prototype designs with the XUF216-512-TQ128 over the last couple of years, and I too had problems getting USB to work at high speed (full speed was no problem). This is low-volume hobbyist-grade stuff so actually getting the impedance-control right is out of the question (at least with .062" 2-layer FR4 PCBs), but I figure, keep things short and close together and go crazy with ground planes (I'm so not an analog guy so all I know is that shielding is our friend) and I'll probably get away with it right? Well obviously not. But the biggest difference between what didn't work and what did is *not* having ground plane on either sides of the two traces. I figured that plus the real ground plane on the other side of the board would mean the traces were sort of 3/4 shielded, but now that I think about it (again with my dumb digital-only brain that graduated fourth from the bottom of my class in engineering school), it's more like the traces are perched along the mother of all plane splits. Even though it's just one plane, and it's close personal friends with the one 1.6 mm away. Or maybe it would've been if I'd plunked down a ton of vias to make sure. But as it was, my hazy uneducated impression is that each of the two differential lines was having an entirely different experience with its neighboring patch of groundiness, which couldn't be good. Isn't the whole point of differential signals "you and me against the world"? It only works if the "you and me" have everything in common, or close to it. Again, not a doctor!

Anyway my point is, getting rid of the same-layer ground plane surrounding the pair of USB traces seems to have done the trick. My prototype PCBs with the paired USB traces crossing *absolutely nothing* but the solder side's continuous ground plane (on the on their as-short-as-possible trip to the USB plug) have all worked fine. So maybe something like that?

Also this is even more unlikely (since it does work at FS), but with xTIME Composer Studio 14.3.3, I've been getting absolutely insane behavior now and then (which didn't happen with earlier versions and my older XS1-L projects), which vanishes when I do Project => Clean... Like it'll throw faults deep within a library, or claim it can't find a symbol that's in a file that I just fixed the last compile error on (so I *know* it sees the file), and then after the cleanup it all works just as I thought it would the first time.
New User
Posts: 3
Joined: Fri Sep 11, 2015 9:40 pm

Postby odonov8 » Wed Mar 06, 2019 10:43 am

Hi John, OK yes one thing is the ground planes are a bit close on the sides of the traces so that might make the difference. I like your mental animations of how these things work :)

Who is online

Users browsing this forum: No registered users and 1 guest