Issues with Custom L1-64 PCB

Technical discussions around xCORE processors (e.g. xcore-200 & xcore.ai).
kster59
XCore Addict
Posts: 162
Joined: Thu Dec 31, 2009 8:51 am

Issues with Custom L1-64 PCB

Post by kster59 »

I made my own L1-64 PCB prototype and am having some issues.

My design is basically the same as the reference design but I used the LTC3417 chip (same design as the XC-5) to provide power on reset and also 3.3v and 1v switching power supplies.

Attached is the schematic.

I assembled the board and tested the voltage outputs and the 3.3v and 1v supplies are stable.

I hooked up the XTAG2 and tried to program a simple program to test it:

Code: Select all

#include <stdio.h>

int main(void)
{
	puts("Hello world!");
	return 0;
}
I run it with XRUN --io a.xe and it runs fine on an XK-1 dev kit.

However when I run it on my custom board, it doesn't print the result out to the console. It seems to go into some sort of infinite loop.

When I disconnect power to my custom board, XRUN reports an error connecting to the board so it looks like my board and the XTAG2 are talking fine.

Anybody see any obvious errors in my schematic? Any other suggestions for troubleshooting and/or testing? Thanks in advance.
You do not have the required permissions to view the files attached to this post.


User avatar
lilltroll
XCore Expert
Posts: 956
Joined: Fri Dec 11, 2009 3:53 am
Location: Sweden, Eskilstuna

Post by lilltroll »

How is the timing of the LTC3417 power-good signal ? (compared to the reference design)
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 »

Seems to me maybe you need a pullup on the RST_N line. Not sure if the XTAG2 drives this line as an open collector or regular output (pullup may not be needed when XTAG2 connected???), or if there is some weak pullup inside the L1 that you are counting on????
kster59
XCore Addict
Posts: 162
Joined: Thu Dec 31, 2009 8:51 am

Post by kster59 »

The LTC3417 design is from the XC-1A and the XC-5. I assume the power good timing is ok because they designs work well but welcome any comments.

The low cost reference design: http://www.xmos.com/published/xs1-l1-64 ... are-design

does not have any pullup resistors on TRST_N or RST_N. I remember reading somewhere the internal pullups on those lines was enough but don't remember where. If people think they are required please let me know and I will add them in.

I noticed on the Sparkfun XS1 board they have 10k pullups on the TRST_N and RST_N lines but I just went with the reference design. Since the reference design doesn't have them I assume they aren't needed or else the reference design really should be updated so other people don't make this same error.
User avatar
lilltroll
XCore Expert
Posts: 956
Joined: Fri Dec 11, 2009 3:53 am
Location: Sweden, Eskilstuna

Post by lilltroll »

Try something easier like just flipflop a port in a loop and check if it's starts to run. Something that is not correlated to comm. over the XTAG2.

What about XFLASH, does it report a success or not if you burn the program to flash.
Probably not the most confused programmer anymore on the XCORE forum.
kster59
XCore Addict
Posts: 162
Joined: Thu Dec 31, 2009 8:51 am

Post by kster59 »

XFLASH does not burn the flash.

XRUN with a single debug output is the simplest program I can think of.
User avatar
lilltroll
XCore Expert
Posts: 956
Joined: Fri Dec 11, 2009 3:53 am
Location: Sweden, Eskilstuna

Post by lilltroll »

kster59 wrote:XFLASH does not burn the flash.

XRUN with a single debug output is the simplest program I can think of.
Skip the debug mode - that sometimes doesn't work with the USB Audio card either.
Use release mode - minimizing the data over the XTAG2.
Probably not the most confused programmer anymore on the XCORE forum.
User avatar
lilltroll
XCore Expert
Posts: 956
Joined: Fri Dec 11, 2009 3:53 am
Location: Sweden, Eskilstuna

Post by lilltroll »

It´s this thing I'm thinking about:
10 Errata
To guarantee a logic low is seen on the following pins, the driving circuit should
present an impedance of less than 100 ohms to ground.
Pin ID Signal
8 RST_N
17 DEBUG
25, 24, 23, 22 MODE[3:0]
26 TRST_N
27 TMS
29 TCK
30 TDI
Usually this is not a problem for CMOS drivers driving single inputs, however, if
one or more of these inputs are placed in parallel, additional logic buffers may be
required to guarantee correct operation.
For static inputs tied high or low, the relevant input pin should be tied directly to
GND or VDDIO.
The XK-1 has a buffer on 4 of those pins, and you are driving 3 pins from
the TRST_N pin (Mode pins) Folknology noticed that.
Can you check it with a scope ?
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

Post by Folknology »

Hmm the TRST_N pin is the biggest possible issue as it is often connected to 2 other Mode pins. Thus driving it is equal to driving 3 pins!
User avatar
Folknology
XCore Legend
Posts: 1274
Joined: Thu Dec 10, 2009 10:20 pm

Post by Folknology »

I should add that the audio card also has a similar config TRST_N + 2 mode pins, coincidence? as it seems to have more XTag2 issues than XK1 which has buffers