porting USB Audio to xu208 / does not enumerate

Sub forums for various specialist XMOS applications. e.g. USB audio, motor control and robotics.
mrtok
Member
Posts: 11
Joined: Fri Nov 11, 2016 8:30 am

Re: porting USB Audio to xu208 / does not enumerate [update]

Postby mrtok » Thu Nov 17, 2016 3:40 pm

hi,
now i have an analyzer connected - Ellysis USB 260.

What I can see is that there are lots of invalid packets even if I switch to FS. (Idea was: if i have si problems (trace impedance et al) this should not be as critical as HS)

Does anybody need this traces to see what happen?

thanks.

br,
mrtok

Software to view can be downloaded here: http://www.ellisys.com/products/download/visualusb.msi
You do not have the required permissions to view the files attached to this post.
User avatar
mon2
XCore Legend
Posts: 1358
Joined: Thu Jun 10, 2010 11:43 am

Postby mon2 » Thu Nov 17, 2016 7:35 pm

Can you also post similar logs from a working platform for comparison ?

Would like to view the logs for USB FS (at least) and HS modes from a working circuit board running the same IP.
User avatar
Thomas
Active Member
Posts: 60
Joined: Fri Feb 05, 2010 12:34 pm

Postby Thomas » Fri Nov 18, 2016 10:29 am

Hello Thomas
Did you verify that the chip has a good ground connection?
I.e. does the PCB comply to the recommendation in the Datasheet?:
12.4 Ground and Thermal Vias
Vias under the heat slug into the ground plane of the PCB are recommended for a low inductance ground connection and good thermal performance. Typical designs could use 16 vias in a 4 x 4 grid, equally spaced across the heat slug.

It would also be helpful to see this information for the simple USB Application (e.g. the HID example):
- output of xrun --dumpstate <your.xe fie>. This will dump the state of all cores and show if any of them is in an exception state.
- Report from the USB Analyser.

Best Regards, Thomas
ElenRey
Newbie
Posts: 1
Joined: Thu Jan 19, 2017 5:04 pm

Postby ElenRey » Thu Jan 19, 2017 5:09 pm

You can also try for capturing usb data the next app:
USB Sniffer - http://www.virtual-serial-port.org/prod ... b-sniffer/
USB data logger - http://www.eltima.com/products/usb-data-logger/
XCoreXploits
Junior Member
Posts: 4
Joined: Tue Oct 18, 2016 2:56 am

Postby XCoreXploits » Sat Jan 21, 2017 3:59 am

Have you had any positive results on this topic? We're trying to do the same over here and are jammed up with exactly the same problem - infinite reset loop. We're trying various USB analyzers and we're not seeing the device (since its descriptor is bad), but using "next connected usb device" functionality, we're able to see the device, which simply says it is "connected" and then is "surprise removed" when we stop the XMOS program. Any suggestions here would be appreciated.

Note, we also tried AN00184 and it did not work. For people digging around in the future, XMOS has said this is the correct USB PHY for the chip XU(F|)208-128-TQ64:

Code: Select all

         <Port Location="XS1_PORT_1H"  Name="PORT_USB_TX_READYIN"/>
         <Port Location="XS1_PORT_1J" Name="PORT_USB_CLK"/>
         <Port Location="XS1_PORT_1K" Name="PORT_USB_TX_READYOUT"/>
         <Port Location="XS1_PORT_1I" Name="PORT_USB_RX_READY"/>
         <Port Location="XS1_PORT_1E" Name="PORT_USB_FLAG0"/>
         <Port Location="XS1_PORT_1F" Name="PORT_USB_FLAG1"/>
         <Port Location="XS1_PORT_1G" Name="PORT_USB_FLAG2"/>
         <Port Location="XS1_PORT_8A" Name="PORT_USB_TXD"/>
         <Port Location="XS1_PORT_8B" Name="PORT_USB_RXD"/>
User avatar
mon2
XCore Legend
Posts: 1358
Joined: Thu Jun 10, 2010 11:43 am

Postby mon2 » Sat Jan 21, 2017 3:32 pm

You can also try for capturing usb data the next app:
USB Sniffer - http://www.virtual-serial-port.org/prod ... b-sniffer/
USB data logger - http://www.eltima.com/products/usb-data-logger/


Thanks for your ad.

XCoreXploits


Note, we also tried AN00184 and it did not work.


On your custom PCB design or a XMOS kit ? If custom design, please post more details including the schematic for a review. The AN00184 does work, we recall testing this on the XCORE-200 board supplied by XMOS. Is your custom PCB 2L or 4L ? Are the USB traces impedance matched for 90 ohms ? Best to focus on AN00184 before moving forward. So many questions to ask but please share more details for a proper review.

"surprise removed" when we stop the XMOS program


If you halt the execution of the XMOS program then yes, the USB state machine will also halt and raise errors like you are observing. This entire solution is software based, including the USB transactions so if you halt the program, the USB engine will also stop operating.
XCoreXploits
Junior Member
Posts: 4
Joined: Tue Oct 18, 2016 2:56 am

Postby XCoreXploits » Wed Feb 01, 2017 1:40 am

We found that the issue for us what that some protection diodes and resistors we put in jammed everything up. Once we removed the diodes and replaced the resistors with 0 ohm resistors, everything worked. General theme is that the XMOS audio system is EXTREMELY picky, and slight deviations in hardware or software can stop the whole thing from working. Further, we never got AN00184 working, but got audio working.
User avatar
infiniteimprobability
XCore Legend
Posts: 1120
Joined: Thu May 27, 2010 10:08 am

Postby infiniteimprobability » Wed Feb 01, 2017 8:34 am

XCoreXploits wrote:We found that the issue for us what that some protection diodes and resistors we put in jammed everything up. Once we removed the diodes and replaced the resistors with 0 ohm resistors, everything worked. General theme is that the XMOS audio system is EXTREMELY picky, and slight deviations in hardware or software can stop the whole thing from working. Further, we never got AN00184 working, but got audio working.


What resistors did you add? (sounds like series resistors) Diodes to the rails shouldn't be a problem but changing the characteristic impedance of any transmission line can have dire effects.
User avatar
mon2
XCore Legend
Posts: 1358
Joined: Thu Jun 10, 2010 11:43 am

Postby mon2 » Wed Feb 01, 2017 12:13 pm

USB interface requires impedance matched traces and care must be taken in the PCB layout. We just completed a USB design (not XMOS based) which is working "out of the box" (stress testing for the past 48+ hours without errors in the lab) but we did invest a great deal of effort with the impedance matching of 90 ohms and requested our PCB shop to perform a test on the finished PCBs for the same criteria. The PCB impedance report is often +$10 for the formal documentation. Our design is 4 layers FR4. In addition to the USB connector, we have USB 2.0 HS EMI filters in series with the D+ and D- lines as well as ESD TVS diodes to supress any nasty ESD events.

Can you share more details on what you applied in your design that caused the failure to operate correctly ?

Who is online

Users browsing this forum: No registered users and 2 guests