XMOS multicore-microcontrollers

Lets go through another new trend in the ever evolving embedded systems development field. We see a huge leap in multicore processors.The number of cores extend from 2 to 16 or even more. But such a trend was never observed in micro-controllers which forms the heart of many Real time embedded systems. Such systems are self contained and are built and tested for limited but fail proof applications. A multicore environment didnt find any taste here. But as systems got complex and upgradation or adaptations become necessary within very limited time gaps, even microcontrollers needed to be flexible or more powerfull. The need for time critical embedded devices boomed up in military, aerospace, multimedia or even in consumer electronics field. Conventional microcontrollers have limitation in their I/O response time, task completion time, flexibity and peripheral support 

XMOS is a fabless semiconductor startup from 2005 with the vision of configurable processing in multicore microcontrollers (not microprocessors). They introduced a concept of using logic resources, user defined routing of data between various cores, dedicated processing paths , reconfigurable at the fly. So they are into a new concept of 'software defined silicon' as they introduce themselves.

I was little confused at the start about Software defined Silicon concept by XMOS. It seemed to be a little exaggerated. FPGAs are much suited to the defenition i think. As FPGAs could completely mimic a hardware defined through the synthesis software. Any way i had to give a shot myself to see how these could benefit.

XMOS offers microcontrollers with 4 to 16 core in number.They have configurable switch matrices for user defined data routing, selectable and configurable logic blocks. A 4 core XMOS device is capable of handling nearly 32 tasks in parallel. The internal architecture of XMOS devices is completely OOB from conventional micro-controller concepts.

How to get hands on ??

HARDWARE
XMOS provides the hardware at very low cost.The basic development kit for XMOS device is a startKIT which contains a 8-core controller with built in ADC, USB debugger, etc:- The board is credit card sized, with a raspberry pi compatible header, a PCIe 1X connector for expansion with Slice Cards, a two level capacitive touch sensor, and more GPIO pins un populated.



Apart from startKIT, XMOS offers a bunch of development cards with much bigger XMOS device and peripheral capabilities. They also provide many expansion cards called as Slice cards for connectivity which fits into the PCIe connector on the boards.

SOFTWARE ( xTIME Composer)
Yeah.. the software from XMOS for their devices is quite innovative and simple at the same time. It is offered completely free . The xTIME Composer is the one place where user can write , compile, compile, upload, debug and run code snippets in a particular platform. xTIME composer is an JAVA based tool containing many utilities. It consists of a text Editor , LLVM base compiler, GDB based Debugger, A cycle accurate simulator, XTA based timing analyser, XScope internal signal monitor and so more... 

XMOS recently had a promotion, in which they gave away 3500 startKIT s worldwide. I was lucky to grab one, and has started experimenting with it. So far the environment seems to be very friendly and quick to understand. The direct connectivity option for Raspberry Pi seems to be very attractive and usefull. The support from XMOS community is an added advantage of this platform. The community website contains a huge resource of information and clarifications. the community is self contained and fast growing as more users are getting hands on this platform.

Comments

Popular posts from this blog

Bidirectional 3.3v 5v Level Shifter

DIY Fixing a Laptop Battery

USB-UART console using old nokia DKU-5 datacable. (3.3v TTL)