Avior32 - IoT & Brain of Things module

Towards a More Smart Thing for Automation and Internetwork


brain-of-things 
Besides its complexity, dimension of Avior32 are set to 8.4cm x 3.4cm. size comparizon w coin
microduino Avior32A 350 1

 (Examples of dimensions from two real Microduino paired, Avior32 A rendering, A Microduino with a coin and an Arduino Uno)

The Brain of Things (BoT) vs the Internet of Things (IoT)

add an important feature to those interconnected and automated Things,

the power of functional languages or languages used for artificial intelligence (like Haskell, or LISP), while supporting the simplicity to use languages like Python, Lua, and .NET, now widely accepted and well supported on single core 32 bit Microcontrollers. This real-time and multiprocess software system can't be achieved with this languages without a proper OS and a special hardware like Avior32 with 16 logical core MCU.

Avior32 concept is born to concentrate in a single miniaturized module with the stacking possibility the needed connections for batteries, the old but not replaceable (in terms of automation) RS485, as well as extension modules (Wi-Fi, ETH, 6LoWPaN, 868MHz, Zigbee etc), with an MCU extensible with Software peripherals. Then what born do not remain fixed.

The use of Xmos xCore-200, top Class MCU, comed after a long list of evalued candidates among ST, Atmel, Microchip, TI and Parallax. Finally we selected Xmos and it's the time to start.

"Because each peripheral driver is encapsulated in a single CPU, performance doesn’t suffer – or indeed, change at all – when you add more code to the other CPUs. That’s a big philosophical change from traditional processors. Even multicore chips can’t entirely separate the software effects of one CPU on another CPU. Threads can compete for shared memory, invalidate each other’s caches, delay interrupt response, and more."

But Something was still missing. The board was not optimized for Low power functions, like stay up and running even for a year from a single cell.

So that Like in a Brain also in the hardware we have sepeared two problems with not integrable solution and done a simmetric hardware with one side specialized in Low power (that can handle most of communication for example) with state of the art technology and one side with huge power and external SDRAM to run specialized or Huge application still with the best around ready to handle complex job like Computer Vision.

For GPIO and Peripherals extension, we accomodated two Microduino form factor headers, in order to stack extension boards on it one for each side of the board(each side of the brain), and four Type-C connectors to be used in combination with external custom cables/male/female/headers. This to keep maximum of flexibility without wasting any resource. Another Type-C is used to Power and control both the MCU both by UART & USB. Type-C ---> PC Board with hub for 4 USB ---> USB-A, USB-B, UART-A, UARTB out with only one cable. This is the Only Type-C on the board with reversible-USB ability and is placed on the center.

The Type-C is a very well done and cheap connector, it solved also the problem to Link many board together (in Xmos Link or Simply by I2C/SPI), to deliver power to the board, as well as to drain power from the board connected to  another power cable/source. One of the Type-C is specialized to carry Battery Vbat + - from an external cell.

Regarding the base networking, still thinking to the embedded world, we selected RS485 (6lobac) for wired networking, and SPI (SDCard) to connect various SDCard shaped modules with various (the market is plenty of not standard solutions between sub 1GHz to 2.4Ghz) cards / adapters. So at the base we have just the RS485 with snap in cards for wireless.

 

Avior32A 350 2Avior32A 350 3Avior32A 350 4

 

The last problem with Avior board was, "hey the node becomed too much expensive to use it everywhere!"

so that Trapezium1 was set as complementary or why not stand alone very low cost solution.

(the way it is born) Different from Avior32 with a lot more planning.

 

Avior32 Specs:

  • Low Power TQFP MCU STM32L4 64 Pin clocked at 80MHz - Intended as Left Brain
  • XU216 (16 Core ) TQFP 128 pin MCU clocked at 400-500MHz - Intended as Right Brain
  • 128KB SRAM on STM32L4 - 512KB SRAM on XMOS XU216 - 32MB SDRAM on Xmos XU216
  • 1MB Flash on STM32L4 - 2 GBit Nand Flash Serial Nand Quad SPI shared between STM32L4 and XU216
  • Low Power RS485 Tranceiver onboard and connected to the STM32L4
  • MicroSD Connector for storage or to connect & Swap various SPI Radio modules / SPI daughter boards.
  • Two Microduino Headers (STM32L4 side compatible with Nucleo/Arduino/Microduino header)
  • Four Type-C to connect GPIO & Peripherals, Input or output of Power up to 2.5A.
  • Two LDO Low power Voltage regulators, One Disconnect / Reconnect all the Xmos Section - Two power LED (Brain A,B)
  • 8 Capacitive buttons present on-board , Some buttons are backlighted in RGB and the LEDs are controllable via I2C
  • Connection for Camera & Camera motors via Type-C headers.

 

Status:

  • Concept completed
  • Mechanichal drawings Completed
  • Rendering and Placement Completed
  • Schematic draft 30% completed, in progress.

Todo:

  • Complete Schematics
  • 4 layer very Large board With VCC/GND inner layers for testing, with the needful patching & revisions of the same.
  • After that will follow an 8 layers production board and for what is possible, defect free.

 

Software:

  • STM32L4 will run NuttX, this is already ported and working. The first scripting language to be integrated is Lisp.
  • Xmos XU216 will run Bare metal interpreters, Applications,

in future a port of NuttX (as soon as the port is completed) in combination with various interpreters even powerful one like Haskell, .Net Micro, Python (Micropython with Computer Vision extensions - OpenMV). The NuttX + interepreters work will be then integrated in Alcor6L OS (our NuttX distribuition) that will be NuttX + Several VM/Interpreters running at once.

The bare minimum set of software in order to proceed with other connected & related projects like Mira128, is NuttX + Lisp running on the STM32L4 and Bare metal Micropython (OpenMV) running on Xmos XU216.

 

  • Estimated hardware design completion: Mid 2017.
  • Estimated SW completion to be estimated (probably the various part delivered as soon as ready to be tested).

 

Some Random Documentation:

Video introduction to Xcore-200

Video of ANC Demo

 

cXL216

^ Block Diagram of an Xcore-200 able to run up to 32 Threads simultaneously.^

 

http://www.xcore.com/ - Community around Xmos Silicon products.

xCore Github projects - https://github.com/xcore

xCore ModBus TCP - https://github.com/xcore/sc_modbus_tcp

RS485 Terminal Console Demo

sc_uart XCore Peripheral

xCore Lua port

 

Operating System Port (some dead):

Free RTOS Port

MoX OS Project

OpenThreads

Context Switching

Chibi-OS Port

ZPU eCos

 

Mid 2015 Articles - News

elektormagazine

electronicdesign

element14

macnica

electronics-eetimes

newelectronics

electronicsweekly

design-reuse

eejournal

 

 

 

 

 

 

 

 

 

Our website is protected by DMC Firewall!