Migrating from XHRA to XU208

Discussions about USB Audio on XMOS devices
User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am
Contact:

Post by infiniteimprobability »

Is this a command-line build only? It doesn't appear that the eclipse project files are included, so I don't see a way to import this into Composer.
Yes it is, but the GUI allows you to import it and will generate the necessary eclipse files for you

File->New->xTIME Composer Project Based on Existing Application or Module


User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am
Contact:

Post by infiniteimprobability »

What should the boot partition size be set to?
Depends on the size of your boot flash. Normally you set it to the whole device, unless you want to reserve some space for a data partition. For exmaple, for the flash on the XHPA board, it is 2097152 (8192 * 256). I have updated the top post in this thread to correct this. Thanks for reporting the issue!
User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am
Contact:

Post by infiniteimprobability »

We found that after swapping to the new processor, the chip select is always held low. Tried 2 different boards. It's the XMOS causing the issue, as I tried removing the spi flash and isolated the problem to the XMOS. Any ideas?
Yes, the chip is not entering boot from QSPI flash mode properly. Is this your custom board or the HiRes-2-DAC-HPA reference platform? Basically you need to check all normal items for any xCORE:

- Power is OK and sequenced (3v3 first)
- Reset properly deasserted
- Clock present and correct (this project is expecting 24M on CLK)
- Boot mode set correctly. Leaving the QSPI data lines with no pull-ups (which means internal pull downs will win) sets the chip to boot from QSPI master

See section H of https://www.xmos.com/download/private/X ... .14%29.pdf for the full checklist
jmag99
Active Member
Posts: 35
Joined: Tue Jul 20, 2010 9:45 pm

Post by jmag99 »

It is a custom board, but it is supposed to be identical to the HPA and has worked fine for us. Even when the xmos is put into reset (verified because the spi clock stops), the chip select remains low. When we swapped the parts, the qspi still had the old image on it for the XHRA part. Did the XHRA have the boot pins? That is pretty much what I figured, but there are no pull-ups on the 3 lines and it goes into the exact same qpsi chip as the reference design. The power supply is all the same as the reference design as well and looks to be sequenced properly.
User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am
Contact:

Post by infiniteimprobability »

Did the XHRA have the boot pins?
Yes - it loads it's firmware from the flash the same as the XU208. However, the XHRA device does not look at the value of QSPI data lines to determine the boot mode.

I would reccomend double checking the value on the QSPI data pins when the chip is in reset to ensure that they are all low (boot from QSPI master). The device applies a weak (30kish) pull down on these pins in reset.

If you are happy that these lines are pulled low and the XHRA asserts CS to boot but the the XU208 device does not, then I'm stuck for a reason to explain this unless the hardware or IC is somehow damaged..
jmag99
Active Member
Posts: 35
Joined: Tue Jul 20, 2010 9:45 pm

Post by jmag99 »

OK, so I held the device in reset and checked QSPI_D0 through D2. They were all low. Even in reset, the XMOS is holding the CS low. This is happening on 2 different boards, so I doubt it's a damaged chip. Could I share the schematics with you privately?
User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am
Contact:

Post by mon2 »

@jmag99, if wish, can have my 4 eyes review the schematic in private. we are not audio developers but have reviewed the XHRA ref design to death.

the datasheet states in Section 8 of the datasheet:
To assure a low value, a pull-down resistor is required if other external devices are connected to this port.
So we have always understood this to mean that external parking resistors ARE required for the pull-down or pull-up since the external device is the mated SPI / QSPI flash

It will be interesting to check if the XMOS ref designs with the XCORE-200 series contain similar external parking resistors or not.

Even though it may sound redundant, apply a pull-down resistor of say 3k3-10k onto each of the following lines X0D06, X0D05, X0D04, respectively. Perhaps during boot time, the XU208 does NOT see all of these 3 lines as low and enters some goofy state (in a non-Disney way). What is the result if you do apply such external pull-down resistors?

USB Vbus has the recommended filter to limit the inrush current? **very important** else you will face field failures. for our USB designs, we use the Diodes Inc. USB load switch which has a number of nice features including soft-start, etc. in a single device.

SS (slave select) is pin X0D01 if using boot from QSPI master - is this the pin you are checking and remains low during boot time or even in reset?

anything else camped (other loads?) onto X0D01 pin?

the boot flash is enabled with the QSPI bit = 1 for QSPI mode? Although the XMOS processor needs to access the flash using X0D01 pin being high.

if possible, consider to configure the xmos cpu to boot from standard SPI flash and map the proper SPI pins on the XU208 -> just force the XMOS CPU to blink an LED or pulse a port pin so you can confirm the widget is operational. Be sure to apply a strong pull-up of 3k3 as noted in the data sheet to force the XU208 to boot from normal SPI flash (not QSPI flash).
jmag99
Active Member
Posts: 35
Joined: Tue Jul 20, 2010 9:45 pm

Post by jmag99 »

I did try the 10K pull-downs on X0D04-6, no luck with that. I also note that the reference designs for the XU series don't have pull-downs on those lines. We are using the same QSPI chip from the HPA reference.

I triple checked (2 engineers) that our design for the xmos portion is identical to the XK-USB-AUDIO-HPA reference design. I actually used the Altium source files to do this portion of the design (including the power supply etc...).

These boards were working fine with the XHRA. Then we swapped 2 of them to the new XU208.

Yes, SPI_SS (X0D01) stays low even in reset on both boards we swapped processors on. I know it's the xmos holding the line low as I removed the rest of the circuit to test.

The QSPI bit may not be set on the flash part yet, as I am unable to program it at this point. I need the chip select to go high :).

Has this really been tested on the XK-USB-AUDIO-HPA board? If so, I am tempted to buy one to see what could possibly different. Digikey still has stock..
User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am
Contact:

Post by mon2 »

Digikey is showing stock at this time of writing but note the kit is also EOL so while supplies last? BTW - We have this board @ work. Would you like for us to monitor anything on this PCB?

https://www.digikey.ca/product-detail/e ... SD&lang=en

Recommend that you review the excellent and in depth boot process review from ISSI here:

https://www.xcore.com/viewtopic.php?t=6146&start=20

See the last post on this landing page.
jmag99
Active Member
Posts: 35
Joined: Tue Jul 20, 2010 9:45 pm

Post by jmag99 »

I just wanted to confirm that it's really been tested on that board so that I know it's something wrong with our board. I don't think there are any parts differences between the 2, so just want to be sure it was tested and not just a theoretical "it should work" project.
Post Reply