My xCORE-200 eXplorerKIT notes

Started 6Aug2017, updated 16Aug2017

This page is in group Technology where I will try to add matters about my XMOS xCORE-200 eXplorerKITs that I haven’t found elsewhere. I purchased two of these boards in the summer of 2017. Also see My XMOS notes and XC is C plus X about the rest of what I have from this universe.

Disclaimer

Standard disclaimer, this is just for fun. No money, gifts, ads etc. Also, my non-association with XMOS, see here.

Intro

The board is described in [1].

Fig.1 – XMOS xCORE-200 eXplorerKIT ilde current measurement. Older 1A Apple iPhone USB power adaptors seen

Notes 1

  1. Idle current consumption as it comes out of the box @ USB 5V is about 75 mA (→375 mW). Measured with no code and when not connected to xTIMEcomposer
  2. The xTAG3 1V2 (that comes in the box) doesn’t seem to add anything to the idle current consumption
  3. Most of the components are on the top. There are some capacitors and low-power resistors  underneath. They would be low-temp and little to be afraid of. Besides, the four plastic mounting pieces do add some air. So I guess it’s ok to mount them in something I think is polystyrene foam, even it was flammable when I tested it. I could glue it with my standard contact adhesive (or double sided tape that it came glued with) – and nicely cut it with my FET table saw. eXplorerKIT sadly isn’t shipped in a nice foam like the startKIT. So I found some from my pile of different kinds that I have not ditched over the years
  4. The MAC address is on a label at the bottom. I made a new label for the top so that it’s available when the board is quite fastened in my fixture

Notes 2: Power-good LEDs

The hardware manual [2] doesn’t tell where the 5V power-good LED is. It’s seen below (press on it to get a PDF to print out, cut and glue in place; but screen layout is here). 3.3V was already shown as P, but I made it look the same:

Fig.2 – xCORE-200 eXplorerKIT Hardware Manual with 5V LED (press to get PDF)

Notes 3: WiFi sliceCARD via PCIe/GPIO?

I didn’t order the xCORE-200 sliceKIT (here) simply because I wanted a smaller board with Ethernet on the board. (I wasn’t in time-scope to consider its obsoleted forerunner up to Jan 2017, the xCORE-200 general purpose sliceKIT (here))

I did know that I would have to connect my WiFi sliceCARD myself. I want to test out the WiFi sliceCARD SW with the XMOS xCORE-200 eXplorerKIT but later see if I could move that SW to the startKIT. I would learn a new board, and I would not in the first round be bound by pins already having been used by my aquarium controller that uses a startKIT. The long goal is to try to get the aquarium controller visible over WiFi. (WiFi sliceCARD ia also written: Wi-Fi sliceCARD.)

I have made a summary of how the PCIe connector is used (press picture for a PDF):

Fig.3 – XMOS slice I/O with examples from xCORE-200 sliceKIT, startKIT and WiFi sliceCARD (press for PDF)

Looking in [2] we see that we might have trouble picking up 25M_STAR, 25M_TRI and SLI_RST_N that on the xCORE-200 sliceKIT are connected to a tile 0 sub circuit, and not to any pin that would available on the xCORE-200 explorerKIT. However, by looking at the WiFi sliceCARD we see that these pins are not used. (More about STAR, SQUARE, TRIANGLE and CIRCLE at XCore: Wi-Fi sliceCARD and ports on startKIT.)

I conclude from this that I cannot on the xCORE-200 explorerKIT connect a general one-to-one PCIe sliceCARD connector break-out board that I might solder myself.

However, I would be able to find pins to connect the WiFi sliceCARD to the xCORE-200 explorerKIT since 25M_STAR, 25M_TRI and SLI_RST_N are not used. (I have a Sullins Connector Solutions NWE18DHHN-T931 CONN PCI EXP FEMALE 36POS 0.039 that I found here).

XCore: Connecting a WiFi sliceCARD to xCORE-200 eXplorerKIT?

I queried about this at XCore Exchange, see Connecting a WiFi sliceCARD to xCORE-200 eXplorerKIT?

My WiFi sliceCARD breakout board

I made the board! Disclaimer (13Aug2017): I haven’t started with getting the XMOS demo SW on it yet, so it’s untested. The SPI slave in the library runs at 12.5 MHz! Will my breakout board tackle it? The TiWi-SL chip is an SPI Slave and handles clock rates of 0-16 MHz, so it should be made to operate I guess.

I connect it on J1 on eXplorerKIT to the same port pins as the SLICE CONNECTOR on the startKIT. So I won’t have to redefine the port pins for two. Not that it would have mattered, but it was OK to make the breakout board that way since it became wide enough to be solid enough. I’ve wiped out the MAC address label on this picture (press for more pixels):

Fig.4 – WiFi sliceCARD starKIT-like breakout board for J1 on eXplorerKIT (press for more pixels)

I used a standard breadboard (1/10″ spacing = 2.54 mm) and a non-holed glass fiber board that I bored 1.5 mm holes in (1 mm spacing but zic-zac layout made it not that tight for the holes). I soldered with wires underneath. No shaking hands! I removed unused breadboard matter above J1, so that it’s easier to use the free I/O ports at the same time.

+3.3V isn’t available on J1 so I pick it from the centre pin (P2) of J14. Since +5.0V is P1 I have made it ipossible to connect it wrongly with an interlock part filling up J14 entirely.

And here’s the diagram. Observe that the XMOS diagram correctly shows B8 as GND but also wrongly shows the unconnected B3 and B16. See this with Fig.3 above. (Press picture for a PDF):

Fig.5 – Diagram of WiFi sliceCARD starKIT-like breakout board for J1 on eXplorerKIT (press for PDF)

Installing the drivers

I am not certain if this is structured correctly. Maybe it’s not structured at all. Bear with me, once I find a structure of what I’m trying to structure I’ll try to structure it. (Disclaimer: this doesn’t necessarily mean that XMOS hasn’t given it any structure).

From when I started (but didn’t finish) trying this for the startKIT I had the first three modules installed in xTIMEcomposer:

  1. [sc_wifi] – 1v0. These  have the same tag
    1. Status: installedmodule_wifi_tiwisl 
    2. Status: installedapp_tiwisl_simple_webserver
    3. Status: installed – test_webclient_pkt_gen but it doesn’t show [sc–wifi] in xTIMEcomposer
    4. Status: ? – I assume this is a newer version of module_wifi_tiwisl? However, the [Wi-Fi TiWi-SL Module Driver –  1.1.1rc0.a November 11, 2013] (Wi-Fi TiWi-SL Module Driver) is probably what I’m after. It says “This component drives the TiWi-SL Wi-Fi module fitted on the XA-SK-WIFI sliceCARD. The TiWi-SL module is a SPI slave and is clocked at 12.5 MHz.” I think the code are the three first points here
    5. Status: ? – Demo code: [TiWi-SL Simple Webserver Demo Quickstart Guide – 1.1.1rc0.a November 11, 2013], at here. It says “This application uses the XA-SK-WIFI sliceCARD together with the xSOFTip module_wifi_tiwisl and demonstrate: Connecting to a wireless access point, Run a simple HTTP webserver to display a “Hello World!” webpage.”
    6. Status: installed  Embedded Webserver Library [lib_webserver – 2.0.1 January 07, 2016]. See https://www.xmos.com/support/libraries/lib_webserver
    7. 1.1-3h have I once downloaded from GiHub; the WiFi Repository [sc_wifi – 1.1.2rc0] at GitHub (https://github.com/xcore/sc_wifi). The bundle sc_wifi-master comes with the modules and apps above, but also with the extra files Makefile, LICENSE.txt,  README.rst  (lLatest release: 1.1.2rc0), xpd.xml and CHANGELOG.rst. (Changes to dependencies: sc_spi1.4.0rc0 – so it’s not been tested with 1.4.0rc1)
  2. [sc_spi] – 1v0. These  have the same tag
    1. Status: installed – module_spi_master
    2. Status: installed – module_spi_slave
    3. Status: installed – app_spi_loopback_demo
    4. Status: installed – app_spi_master_demo
    5. 2.1-4 I once downloaded from GitHub; the SPI SOFTWARE COMPONENT [1.4.0rc1]. See https://github.com/xcore/sc_spi/blob/master/README.rst. The bundle sc_spi_master comes with the modules and apps above, but also with the extra files Makefile, LICENSE.txt,  README.rst (latest release 1.4.0rc1), xpd.xml and CHANGELOG.rst (Changes to dependencies: sc_slicekit_support1.0.4rc0)
  3. I deleted 1.1 and 2.1-2 to try to start afresh. But as the list below grew longer and longer I undid that. (I undid by using “Import”, “Import Existing Projects into Workspace” from my backup.) The scheme right now is to install every piece of code I can find and then see. After all I am a sw engineer, it’s not magic!
  4. But I did start with rereading a thread I started on XCore a while ago: Chicken and egg: xTIMEcomposer and GitHub.
  5. Status: installed – SPI Library [lib_spi –  3.0.2 January 07, 2016]. Found in the Libraries tab that searches content from https://www.xmos.com in xTIMEcomposer. See https://www.xmos.com/support/libraries/lib_spi
  6. There is no xCORE-200 eXplorer support module or library. But there may be something in these two:
  7. Status: installed  module_slicekit_support [sc_slicekit_support]. Unknown version, probably 1.0.4rc0 since it’s mentioned above
  8. Status: installed  Slicekit Core Board Support Library [lib_slicekit_support – 2.0.1 January 07, 2016] from Libraries tab in xTIMEcomposer. See https://www.xmos.com/support/libraries/lib_slicekit_support
  9. Now maybe it’s time to start at the present presentation WiFi sliceCARD [3] (or here). It presents these papers:
    1. sliceKIT Modular Development System Product Brief [1.3 – April 16, 2014]
    2. sliceKIT Selector Sheet [4.0 – May 30, 2014]
      • WI-FI sliceCARD
        The wi- sliceCARD uses a high performance 2.4GHz WLAN module to bring 802.11b/g wireless connectivity to sliceKIT, with throughput of up to 7Mbps. Using the ready-built xSOFTip SPI component, it allows you to easily integrate the wireless module into your application. Our xSOFTip Explorer tool includes demo apps and full documentation to get you started quickly
    3. sliceKIT daughtercard port mappings [1.0 – April 27, 2014]
    4. GPIO Wi-Fi Demo Quick Start Guide [1.0.4rc0.a – March 12, 2013]
      • It is here. It says “This example demonstrates the use of two Slice Cards, XA-SK-GPIO and XA-SK-WIFI slice together with the xSOFTip components for Wi-Fi, SPI, I2C and WebServer to provide access to the GPIO slice features via a simple embedded webserver.”
  10. Dead end:
    Instead I went to GitHub at https://github.com/xmos where I found [lib_wifi – 0.0.2]: lib_wifi. But I think this is a newer, more generalised library and not what I’m looking for. It’s dependent on lib_xtcp(>=5.1.0) lib_ethernet(>=3.0.3) lib_gpio(>=1.0.0) lib_filesystem(>=0.0.1) lib_xassert(>=2.0.0) lib_logging(>=2.0.0) lib_locks(>=2.0.2) but it doesn’t say anything about tiwisl. (Update: Gothmag on XCore Exchange replied that “lib_wifi does seem to be a newer lib if they properly supported it but I’m not sure they do, as in it seems almost entirely abandoned by them and I don’t think a slice with that wifi module was ever released. They also don’t seem to have any lib/module/examples accessible from within xTimeComposer itself as you mentioned.”)
  11. I’ll keep you posted about how I pick the SW as it develops. I want to end up with something that should run on the startKIT as well as the xCORE-200 eXplorerKIT

Analysis of the components I now have

  1. [lib_webserver] Embedded Webserver Library: “This software library allows you to generate a webserver that communicates using the XMOS TCP/IP server component.”
    Analysis: This is a library. I’d rather go for a demo:
  2. [app_tiwisl_simple_webserver] : TiWi-SL Simple Webserver Demo Quickstart Guide:“This application uses the XA-SK-WIFI sliceCARD together with the xSOFTip module_wifi_tiwisl and demonstrate: * Connecting to a wireless access point, * Run a simple HTTP webserver to display a “Hello World!” webpage.”
    1. In Makefile I changed the target to XCORE-200-EXPLORER
    2. And of course I now use XTAG3
    3. In xhttpd.xc I inserted my values for WIFI_SSID and WIFI_PASSWORD
    4. Stay tuned

References

  1. xCORE-200 eXplorerKIT, see https://www.xmos.com/support/boards?product=18230. Part: XK-EVK-XE216. Silicon on Board: XE216-512-TQ128, xCORE-200 XE/XEF: GIGABIT ETHERNET, see http://www.xmos.com/products/silicon/xcore-200/xe-series
  2. xCORE-200 explorerKIT Hardware Manual, (XM007647C) 2015/10/20, see https://www.xmos.com/download/private/xCORE-200-explorerKIT-Hardware-Manual%281.2%29.pdf
  3. WiFi sliceCARD by XMOS, see https://www.xmos.com/support/boards?product=15833
Email this to someoneShare on FacebookTweet about this on TwitterShare on LinkedIn