Hi. The project we are referencing is our p/n LF1071KB XMOS Xlinks LVDS Slice Board. This product is to supply interconnect between XMOS StartKits or XMOS SliceKits (see the SQUARE & TRIANGLE slot compatibility) using standard CAT6 cable using the LVDS transceivers. The design offers support of the use of standard straight-through CAT6 cables or even cross-wired CAT6 cables. More detailed documentation will be posted but the schematic will show that we are monitoring pin # 8 of the RJ45 connector for the style of cable being used in the interconnect.
That is, if RJ45, pin # 8 is NOT connected on the remote side, then a straight through cable is being used so pin # 8 is floating but the pull-up resistor will park the line HIGH. If RJ45, pin # 8 is HIGH, the straight-through wired LVDS transceiver will enable and the cross-wired LVDS transceiver will DISABLE.
If the RJ45 connector is mated with a cross-wired cable then RJ45, pin # 8 on one side of the cable will be driven to LOW which confirms a cross-wired cable is being used so the straight-through wired LVDS transceiver will DISABLE and the cross-wired LVDS transceiver will ENABLE.
The design was developed to mate directly onto the XMOS StartKit using a single 0.1" spacing (2.54 mm pitch) 1 x 13 male pin header (on LF1071KB PCB) & female (on XMOS StartKit) pair. Using this method, the add-on board can send & receive packets from a remote connected board over the respective xLinks.
The bare PCBs for this project, the special 2 x 2 RJ45 connectors, the mating male & female header pins are in house BUT we have not yet assembled these PCBs. If there is an interest, can raise the priority to move to a small batch production.
We would like to work with XMOS and/or developers who can offer public feedback on the operation of this design.
This XMOS Slice board is to offer the interconnect / daisy-chaining of XMOS StartKits or SliceKits (confirm the symbol for compatibility). Respectively, the idea for you to consider is:
1) source a USB self-powered Hub (with a nice 4A power supply or similar) so that each kit & LVDS slice board can be properly powered
2) dock 2 x StartKits into this USB self-powered Hub - each with a LF1071KB PCB
3) Follow the details for the .XN file definition to connect 2 StartKits together from Sethu.
4) Confirm that the 2 kits are able to communicate with each other - using this same method, you should be able to continue to daisy chain to use additional StartKits for your project.
As you are finding, being s/w driven, the XMOS solutions offer many options for a resolution. If you consider this LVDS slice board, then you are only sending simple commands / data packets to interconnect between the boards. Each local board will support your 8 transducers (ie. one per thread). We have not (yet) confirmed the timing of the interconnections for your project. The LVDS slice boards operate using 2W (2 wire) mode.
The solution from infiniteimprobability is to use a wider port (ie. 8 bit) but buffer the data as 32 bit and allow the XMOS instructions to clock out 8 bits per clock cycle, automatically (ie. stream out your data automatically).
Each approach has merits. Somewhat limited on "free" time these days but as noted, if there is an interest, will push to properly document this project asap. Although we have great investment of time and expenses, this design will most likely become open sourced.
The XCORE-200 Explorer board should be fine to use with the wider port idea & buffered ports in your code but please wait on a confirmation from infiniteimprobability. Believe that there is also a XCORE-200 style of SliceKit available which will then allow for daisy-chaining of additional XCORE-200 Slice boards using the LVDS Slice board (LF1071KB). Will review the schematics of the XCORE-200 Sliceboard to confirm the use with our LVDS slice design.
You may download the first release of this project from here:
XMOS LVDS Slice Board (p/n LF1071KB)