Issues with Custom L1-64 PCB

Technical discussions around xCORE processors (e.g. xcore-200 & xcore.ai).
User avatar
Folknology
XCore Legend
Posts: 1274
Joined: Thu Dec 10, 2009 10:20 pm
Contact:

Post by Folknology »

Actually to be honest the Xtag2 should have buffers on it, one common issue with Xmos chips is their rather puny output..


User avatar
Folknology
XCore Legend
Posts: 1274
Joined: Thu Dec 10, 2009 10:20 pm
Contact:

Post by Folknology »

Also note that the XTag2 has a 33R resistor in series on the TCK line to try to match the high speed impedance of the track+connector, luckily this only drives a single pin, however it still takes a chunk out of the supposed 100R limit stated in the errata.
User avatar
lilltroll
XCore Expert
Posts: 956
Joined: Fri Dec 11, 2009 3:53 am
Location: Sweden, Eskilstuna

Post by lilltroll »

Haha - I'm looking at the same thing in the XTAG2 schematics - but your where faster :mrgreen:

Correct me if I am wrong, but the 33 ohms is a serial termination - instead of using (a more common) termination down to ground close at the reciever - as that would consume more current from the transmitter. Maybe time to use 1 Gsample/s tomorrow and check U(t)
Probably not the most confused programmer anymore on the XCORE forum.
bearcat
Respected Member
Posts: 283
Joined: Fri Mar 19, 2010 4:49 am

Post by bearcat »

As a side note, I built a buffer card between the XTAG2 and the Audio card with high speed 25mA buffers on all lines. I needed this for other reasons. It did not help with XTAG2 issues (although I can't verify it without a good system, but worked no worse or better than without it). I wait for the next tools release for new firmware.
kster59
XCore Addict
Posts: 162
Joined: Thu Dec 31, 2009 8:51 am

Post by kster59 »

I assembled a second identical board to rule out a bad chip but it's still the exact same problem.

Debug through the JTAG is necessary so if it isn't working then I would like to figure out what is causing it.

The burn to flash and the debug mode run don't seem to work. I'll try hooking up the logic analyzer later and try an infinite loop toggling a pin on/off.

The XK1 demo board I have works fine.

I tested my code and am ready to roll out a device into production. Just need some help tracking down what's wrong with the schematic or pcb.
User avatar
Woody
XCore Addict
Posts: 165
Joined: Wed Feb 10, 2010 2:32 pm

Post by Woody »

To check for XCore life and controllability via JTAG I always try a command line access via xgdb:

First check that you can connect to the jtag device (XTAG or board with JTAG driver)

Code: Select all

xrun --listdevices
This should list one device. If it can't find anything it will say 'No Available Devices Found'

Now check basic XCore and JTAG operation. I always slow the speed of the JTAG down at this stage, just in case there are any PCB problems with the JTAG which prevent it from working at full speed.

Code: Select all

xgdb
connect --jtagspeed 10
This should give a response like this:

Code: Select all

(gdb) connect --jtagspeed 10
0xffffc04e in ?? ()
(gdb)
If the first number is '0x00000000',
or you get something like this
'XDBG [ERROR] :: Cannot initialise debug device interface'
you have a problem with either the JTAG or the XCore, and you know you need to work on that. Otherwise, you know that basic operation is functioning. You may want to try connecting without the --jtagspeed option to ensure the JTAG chain works OK at full speed now.
User avatar
lilltroll
XCore Expert
Posts: 956
Joined: Fri Dec 11, 2009 3:53 am
Location: Sweden, Eskilstuna

Post by lilltroll »

Good tips here - I think many will come up with there own custom designs in the near future.
- And we will have initial problems on the deployment.
Probably not the most confused programmer anymore on the XCORE forum.
User avatar
Folknology
XCore Legend
Posts: 1274
Joined: Thu Dec 10, 2009 10:20 pm
Contact:

Post by Folknology »

I guess an important question given the errata is if there is a mistake with the reference design or the XTag2 design.

For the reference design, should one incorporate a buffer for the TRST_N line input given it drives 3 pins? Or is it expected that the XTAG programmer connecting to this pin is capable of pushing those 3 pins low without a buffer, i.e. directly from its xmos pin output?

One other clarification is given the design reference it seems to indicate that pullups are not required, rather the internal weak pullups are used on control pins, if this is the case, if so I can reduce my BOM for Amino..

Some clarification from Xmos here would be very welcome..

regards
Al
kster59
XCore Addict
Posts: 162
Joined: Thu Dec 31, 2009 8:51 am

Post by kster59 »

Thanks for the tips. I will try it and report back.

Does the XMOS device support some sort of boundary scan through the JTAG port? Is there a tutorial or document to figure out how to find bad connections using the boundary scan during production?

Thanks.
kster59
XCore Addict
Posts: 162
Joined: Thu Dec 31, 2009 8:51 am

Post by kster59 »

I followed your instructions and I get '0x00000000'. If I turn off power to the device I get Cannot initialise debug device interface.

Any other hints to debug this problem or obvious errors in my schematic?

Thanks.
Woody wrote:To check for XCore life and controllability via JTAG I always try a command line access via xgdb:

First check that you can connect to the jtag device (XTAG or board with JTAG driver)

Code: Select all

xrun --listdevices
This should list one device. If it can't find anything it will say 'No Available Devices Found'

Now check basic XCore and JTAG operation. I always slow the speed of the JTAG down at this stage, just in case there are any PCB problems with the JTAG which prevent it from working at full speed.

Code: Select all

xgdb
connect --jtagspeed 10
This should give a response like this:

Code: Select all

(gdb) connect --jtagspeed 10
0xffffc04e in ?? ()
(gdb)
If the first number is '0x00000000',
or you get something like this
'XDBG [ERROR] :: Cannot initialise debug device interface'
you have a problem with either the JTAG or the XCore, and you know you need to work on that. Otherwise, you know that basic operation is functioning. You may want to try connecting without the --jtagspeed option to ensure the JTAG chain works OK at full speed now.
Post Reply