robotics company robot company  

Go Back   Trossen Robotics Community > Blogs > Adrenalynn

Rate this Entry

XMOS XC-2 :: First Impressions

Posted 10-06-2009 at 02:59 PM by Adrenalynn
Updated 10-06-2009 at 03:01 PM by Adrenalynn
[Note: Click photos once to enlarge, twice for full-size, some are very detailed if you care. ]

After DAYS of USPS screw-up, I finally received my XMOS XC-2 yesterday afternoon. [As a side-note: The only nice thing I can say about the United States Postal Service is that they are so horrible they actually make UPS look competent...]

The board arrived in a nice plastic case, sorta like a DVD case on steroids. Opening it up, there was the dev board (they note it's credit-card sized, but it's always hard for me to appreciate just how tiny these things are getting!), the XTAG programming interface, and a USB self-retracting cable. They're stored in cut-out foam.

Click image for larger version

Name:	xc2-xtag-box.jpg
Views:	98
Size:	142.0 KB
ID:	43

A couple things not immediately apparent: XMOS thought through this thing enough ahead that they included flat-bottomed stand-offs and a resealable anti-static bag. Nice touch! Every bit of packaging says "been there, done that..."

But that's just the start of the excess. When you open the static bag and pull that board out - it takes your breath away. It is _gorgeous_. Not at all what we've become accustomed to as hobbyists. Clearly XMOS is losing money on these dev boards looking to get the volume chip-sales dollars. Gold gold gold. Gold everywhere. The proto area pads are gold-plate on both sides of the board. The XTAG connector pins on _both_ sides are gold plated. The freakin' ground plane is gold including the mounting holes - which appear to be double-plate.

XMOS chose their BGA part on this board, and used the smallest SMT parts they could come up with. The BGA part allowed them to go multi-layer and embed almost all of the traces, which contributes to the overall feeling of clean design. I suspect they went out of their way to bury the traces in the middle layer[s] just to make the board shiny and clean. The traces that are visible are practically microscopic. The only through-hole components are the Ethernet interface, the XTAG connector, and the headers I soldered on, of course.

Click image for larger version

Name:	xc2-closeup.jpg
Views:	107
Size:	131.2 KB
ID:	44
Click image for larger version

Name:	xc2-underside.jpg
Views:	96
Size:	239.1 KB
ID:	45

I know I'm going on at length about the attractiveness of the board - and I gave some thought to why it was so surprising. I pulled out other high-end dev boards to compare. The Axis, the SBC-GX1, the Scenix SX-Stack eval, ... all hideous by comparison. The thing that is probably so striking to me is that my process has always gone from protoboard (where you can't see the board for all the greenwire jumpers) to production board where I'm trying to shave fractions of a cent off the build cost to increase margin. I never get a chance to build excessively expensive pretty boards. Some day I'd like to, but for right now, we'll just put this in a frame and hang it on the wall when we're done.

XMOS even thought to include not just a power brick/wall wort - but a world-power wall wort with a handful of different plug types!

Click image for larger version

Name:	xc2-power.jpg
Views:	98
Size:	136.5 KB
ID:	49

All the pads are unpopulated, giving the developer the option of soldering whatever the project warrants. I elected to populate mine with male pins. It was almost a shame to solder over that gold - but I used my finest leaded solder (shhhh! don't tell the state I still have a cache of it! ) and the high heat transfer of the gold made the solder flow like hot butter. I was actually a bit nervous - I'd have never lived down blowing up that chip with excessive heat-load, but I kept the station down to 280deg and did the 5-on-5-off thing and the chip never got more than about 20deg above ambient. In fact, it runs way hotter than it got soldering, but that's getting ahead of the review.


I followed the Getting Started. Well sorta. Kinda. You know... The onboard web server on the XC-2 actually takes some of the excitement out. Like everything else, it was clean and easy. Plug in a network cable, power it on, the leds cycle letting you know it's plugged in, hit the onboard webserver (which dhcp'd almost instantly on my local network), boom. There's the board. Don't believe it? You can turn LEDs on and off and check the status of the onboard buttons - eyup - the board is talking to the network. I had to check and make sure.

Click image for larger version

Name:	xmos-demo-web-server.jpg
Views:	102
Size:	65.1 KB
ID:	47

I was going to write a tutorial for the installation of the toolchain, but there's nothing to write. Download one file. Run the installer. Pick the directory. Take a bio-break, come back and it's done. That's all. No muss, no fuss. If anything, it's easier than the Arduino environment to install. Larger download (90+ MB), but these days that's a big "so what".

After installing the environment, I plugged in the power and USB to the board (using my own cable, thanks. Those reel cables are cute, but my physical environment is already set up with high grade cables for everything imaginable...), and Windows XP recognized a composite USB device. I turned away for a minute, turned back, and everything was installed. Really?

Click image for larger version

Name:	xmos-connected.jpg
Views:	99
Size:	80.2 KB
ID:	46

Next I executed the IDE, which is based on Eclipse, and it started right up with the guided tutorials. I ran through a couple, tweaked them, tossed them out to the board, and just no fuss and no muss. The XMOS feels more mature than the Arduino environment even though the Arduino has massive library support. The XMOS has simulation and the comforting familiarity of full-on gdb debugger. Just another place where it feels more commercial instead of hobby. A little more "serious tool". And that's where it's not just cosmetic. With parallel execution, multi-core-multi-thread, those tools are going to be a requirement later...

Click image for larger version

Name:	xmos-dev-env.jpg
Views:	104
Size:	87.0 KB
ID:	48
So I played a little more with getting different processors to run different code simultaneously, played a bit with the threading, and went to bed. Enough damage for one evening.

All in all, I'd guess, including populating the board (until I ran out of headers ), it took probably three hours to get to the point that I was writing original code and feeling comfortable with the basics. IMHO, that's not all that bad for an entirely new [to me] architecture. I'm sure it will be wicked-harder once I start trying to do wicked-harder stuff, but it's nice to know I have gdb and the simulator to help with that...

A note on populating the proto-area headers: Check the PDFs for the hardware manual [F, Chap 7, at the time of this writing] or look closely at the underside of the board. You don't need to populate every row most likely. The second and third rows are tied together and then the fourth-fifth-sixth are tied to each other. I ran out of headers before I could populate Core-3, Port B. I'll take care of it when my next order comes in...

That's all for now! I'll post more when I have a chance to write something fun...



Click image for larger version

Name:	xmos-connected.jpg
Views:	99
Size:	80.2 KB
ID:	46
Submit "XMOS XC-2 :: First Impressions" to Digg Submit "XMOS XC-2 :: First Impressions" to del.icio.us Submit "XMOS XC-2 :: First Impressions" to StumbleUpon Submit "XMOS XC-2 :: First Impressions" to Slashdot Submit "XMOS XC-2 :: First Impressions" to Google
Total Comments 0

Comments

 
Total Trackbacks 0

Trackbacks


All times are GMT -5. The time now is 08:05 AM.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.