Archive

Posts Tagged ‘mcu’

SiFive Introduces Freedom U500 and E500 Open Source RISC-V SoCs

July 12th, 2016 5 comments

Open source used to be a software thing, with the hardware design being kept secret for fear of being copied, but companies such as Texas Instruments realized that from a silicon vendor perspective it would make perfect sense to release open source hardware designs with full schematics, Gerber files and SoM, to allow smaller companies and hobbyists, as well as the education market, normally not having the options to go through standard sales channels and the FAE (Field Application Engineer) support, to experiment with the platform and potentially come up with commercial products. That’s exactly what they did with the Beagleboard community, but there’s still an element that’s closed source, albeit documented: the processor itself.

Freedom U500 Block Diagram

Freedom U500 Block Diagram

But this could change soon, as SiFive, a startup founded by the creators of the free and open RISC-V architecture, has announced two open source SoCs with Freedom U500 processor and Freedom E300 micro-controller.

Freedom U500 (Unleashed family) platform key specifications:

  • U5 Coreplex with 1 to 8 U54 cores @ 1.6GHz+
  • RV64GC Architecture (64- bit RISC-V)
  • Multicore, Cache Coherency Support
  • High Speed Peripherals: PCIe 3.0, USB3.0, GbE, DDR3/4
  • TSMC 28nm

The SoC supports Linux, and targets applications such as machine learning, storage, and networking.

Freedom E300 Block Diagram

Freedom E300 Block Diagram

Freedom E300 (Everywhere family) platform key specifications:

  • E3 Coreplex
  • RV32IMC/RV32EMC Architecture
  • On chip Flash, OTP, SRAM
  • TSMC 180nm

Three real-time operating systems, including FreeRTOS, have already been ported to Freedom E300 for embedded micro-controllers, IoT, and wearable markets.

Open source SoCs are made to be customizable to match your applications exact needs, instead of picking on existing SoC matching your requirements but with some uneeded features. SiFive also explains that “storage customers talks about custom instructions for bit manipulation so they can use one not 10 instructions for 10x speed up”. But before you get to Silicon, you’d normally ruin and customize the core on FPGA boards and three boards are currently available for development and evaluation:

  • Freedom U500:
  • Freedom E300 – Digilent Arty FPGA development kit powered by Xilinx XC7A35T-L1CSG324I FPGA, with 256 MB RAM, 16 MB flash, and vairous expension ports. Price: $99
Click to Enlarge

Xilinx Virtex-7 FPGA VC707 devkit – Click to Enlarge

You also have detailed documentation about the SoCs, U5 nd U3 coreplex, the development kits, software and tools, as well as developer forums, on SiFive developers website. You can also directly checkout the code and SDK on github.

RISC-V instructions set is royalty-free, so compared to the entry level $40,000 ARM license for startups using Cortex M0 MCU, it should provide some savings. It does not help with manufacturing costs which should remain the same. but SiFive expects that open source SoC could be manufactured through a “moderate” crowdfunding campaign.  I have not been able to figure out SiFive business model yet, unless they plan on selling their own chips too, and/or provide customization services to customers.

Lots more information can be found on Sifive website.

Via EETimes

Fireduino Arduino Compatible Board Features Rockchip RKnanoD Dual Core Cortex-M3 MCU (Crowdfunding)

June 21st, 2016 4 comments

Rockchip RKNanoD dual core Cortex M3 micro-controller was introduced last year for IoT and audio applications, and the Firefly team, known for their FirePrime or Firefly-RK3288 development boards, has designed an Arduino compatible board based on the MCU with lots of audio ports, Arduino headers, and WiFi connectivity.

FireduinoFireduino specifications:

  • MCU – Rockchip RKnanoD dual core ARM Cortex M3 MCU @ up to 250 MHz (system core) / 500 MHz (calculate core) with respectively 640 KB and 384 KB RAM
  • Storage – 4 or 8MB SPI flash + micro SD slot
  • Audio
    • 24-bit/192 KHz audio codec (built in MCU) with HW accelerator for APE, FLAC, OGG, and MP3 audio decoding
    • 1x 3.5mm analog audio jack
    • 2x 3.5mm LINE In jacks
    • 1x On-board microphone
    • DLNA wireless audio support
  • Connectivity – 802.11 b/g/n WiFi via Ampak AP6181 module
  • Expansion
    • Arduino header with I2C, SPI, ADC, GPIO, PWM, UART
    • LCD interface (Intel 8080 mode) up to 400×400 resolution
  • Debugging – Serial console
  • Misc – HYM8563 RTC chip, 2x user LEDs, 1x power LED, buttons (reset, power and upgrade)
  • Power  Supply – 5 to 12V via 5.5/2.1mm DC jack ; 5V via micro USB port
  • Dimensions – 108.8 x 53.4 mm
  • Weight – 37 grams

The board can be programmed with either the Arduino IDE, or FireBlocks, a fork of Scratch visual programming utility.

Rockchip_RKnanoD_Block_Diagram

Rockchip RKNanoD MCU Block Diagram

The board can be used for robotics thanks to its many I/Os, IoT with WiFi connectivity, or for audio applications with the on-chip audio codec and various audio connectors. Some documentation is already available on the Wiki, and a few potential applications are shown in the promo video below.

The project will be launched in Kickstarter next week (June 27), and the draft page currently shows the board can be had for as low as $15 with an 8GB micro SD card with an “Hello World” pledge, but the normal KS price will be $25, and some rewards with various quantities up to 100 boards are also listed. Delivery is scheduled for September 2016. Since the page is still in draft mode, it’s not possible to check shipping fees for now.

STMicro Unveils Two Low Cost STM32F7 ARM Cortex M7 Development Boards

June 1st, 2016 No comments

STMicroelectronics introduiced its STM32F7 ARM Cortex M7 micro-controller family in 2014, and they released a $49 STM32F746G discovery board later in 2015. The company has now launched two new low cost development boards with the $23 STM32 Nucleo-144 board based on STM32F767 MCU, and a $79 Discovery Kit powered by STM32F746 MCU with TFT-LCD and MIPI-DSI support.

STM32 Nucleo-144 development board

STM32_Nucleo-144Key feature of NUCLEO-F767ZI board:

  • MCU – STMicro STM32F767ZI ARM Cortex M7 microcontroller @ 216 MHz with FPU, DSP, MMU, 2MB flash, 512 KB SRAM, 16 KB instruction TCM RAM (for critical real-time routines), and 4 KB backup SRAM
  • Connectivity – IEEE-802.3-2002 compliant Ethernet connector
  • USB – 1x micro USB OTG or full speed device
  •  Extension:
    • ST Zio connector including support for Arduino UNO v3 connectivity, and additional signals (A6 to A8, D16 to D72)
    • ST morpho extension pin header footprints for full access to all STM32 I/Os
  • On-board ST-LINK/V2-1 debugger/programmer with SWD connector
  • Misc – 3x user LEDs; USER & RESET push-buttons; 32.768 KHz crystal oscillator
  • Power supply
    • 5V from ST-LINK/V2-1 USB VBUS
    • External power sources: 3.3 V and 7 – 12 V on ST Zio or ST morpho connectors, 5 V on ST morpho connector

The board is ARM mbed enabled, the company provides free software HAL library & software examples, and the development board is  also supported by tools such as IAR, Keil, and GCC-based IDEs.

Hardware and software documentation, as well as links to distributors can be found on the product page.

32F746G-DISCOVERY Board

STM32769I-DISCO

Key features of STM32F769I-DISCO board:

  • MCU – STMicro STM32F769NIH6 ARM Cortex-M7 microcontroller @ 216 MHz with FPU, DSP, MMU,  2MB Flash, 512 KB SRAM, 16 KB instruction TCM RAM (for critical real-time routines), and 4 KB backup SRAM
  • External Memory – 128-Mbit SDRAM
  • External Storage – micro SD slot, 512-Mbit Quad-SPI Flash memory
  • Display – 4″ capacitive touch LCD display with MIPI DSI connector
  • Connectivity – Ethernet connector compliant with IEEE-802.3-2002, WI-FI or Ext-EEP daughterboard connector
  • Audio
    • SAI audio codec
    • 2x audio line jacks, one for input and one for output
    • Stereo speaker outputs
    • 4x ST MEMS microphones on DFSDM inputs
    • 2x S/PDIF RCA input and output connectors
  • USB – 1x micro USB OTG port
  • On-board ST-LINK/V2-1 supporting USB reenumeration capability
  • Expansion – Arduino UNO v3 headers
  • Misc – 2x push buttons (user and reset)
  • Power supply:
    • ST LINK/V2-1
    • USB HS connector
    • 5 V from RJ45 (Power Over Ethernet)
    • 5 V from Arduino or external connector
    • USB charger
    • Power Over Ethernet based on IEEE 802.3af (Powered Device, 48V to 5V, 3W)
    • Power supply output for external applications: 3.3 V or 5 V
Click to Enlarge

Click to Enlarge

The company provide libraries and examples part of the STM32Cube package, and the board is also supported by various integrated development environments: Keil MDK-ARM, IAR EWARM, and GCC-based IDEs (free AC6: SW4STM32, Atollic TrueSTUDIO, …) allowing  development in Linux or Windows operating systems. Like other STMicro boards, STM32F769I-DISCO board is open source hardware, and you can find the hardware design files, as well as software document on the product page, where you’ll also find links to purchase the board.

The company also announced two higher end STM32F7 boards selling for $360: STM32F769I-EVAL & STM32F779I-EVAL.

Getting Started with MPLAB Xpress Board and Online IDE

April 27th, 2016 4 comments

Microchip launched MPLAB Xpress online IDE and board earlier this year, and as part of the launch they offered 2,000 free boards. I joined the program and received my board. The keyword for the board is “Xpress”, as you should be able to get started in mere minutes thanks to the operating system agnostic online IDE that works with Internet Explorer, Firefox, Chrome, and Safari. That also means you don’t need to install any other tool. All you need is a web browser.

MPLAB Xpress Board

Let’s start by quickly checking out the package, board, and offline documentation.

MPLAB_Xpress_packageOnce you open the package, you’ll get the board, a folded sheet of paper for the schematics, and some information on the package itself with the pinout diagram, and a quick start guide explaining that the board acts as a mass storage device, and all you need is a web browser for programming it.

Click to Enlarge

Click to Enlarge

The part has two parts: “Application” and “Programmer”. The latter features the micro USB port, and the eleectronics to handle the USB connection with a PC. There’s also a 2-pin header to power the board with a battery. The application part comes with a mikroBUS socket to be used with MikroElektrona’s Click boards, two rows of through holes on the sides with GPIOs, SPI, I2C, UART, PWM, and analog input pins, a potentiometer, a user button, and Microchip PIC16F18855 MCU.

Click to Enlarge

Click to Enlarge

There’s not much to see on bottom of the board.

Click to Enlarge

Click to Enlarge

Getting Started with MPLAB Xpress

I had to find a commonly used micro USB to USB cable to connect the board to my computer. I’m using Ubuntu 14.04 and Firefox, but most operating systems and web browser combination should work.

The board four RED LEDs are blinking in sequence, and it is indeed detected as a mass storage device with a single file README.HTM. Clicking on the file will open your default web browser and redirect to the MPLAB Xpress page @ https://www.microchip.com/mplab/mplab-xpress. I scrolled down to the bottom of the age, and clicked on Examples in the Community section.

MPLAB_Xpress_Code_Samples

Click to Enlarge

You’ll get a list of code example for Xpress and Curiosity boards made by either Microchip themselves or the developer community. I filtered the results for Xpress board and Microchip, and clicked on Open for LED brightness control using potentiometer example, which started the online IDE with the sample program:

MPLAB_Express_LED_Potentionmeter_Example
The code is written in C, and is pretty simple, as all complex initialization tasks are handled by the “SYSTEM_Initialize” function:

I then clicked on the Build icon right above “main.c”, and shortly after I was asked to download “LED_brightness_control_using_potentiometer.hex”.

MPLAB_Express_Build_Sample

Click to Enlarge

Finally I copied the binary to the board, just like I would coy a file to a USB flash drive.

MPLAB_Express_Hex_FileThe program is then automatically started with the four red LEDs on, and I was able to dim and turn on and off the LEDs with the potentiometer.

MPLAB_Xpress_Potentiometer_LED_demoIt must have taken me about 5 minutes from the time I open the package to the time I have the demo running. Quite impressive in simplicity.

It’s also possible to play with MPLAB Xpress IDE without board using the “Test Drive” option. The board is not for sale yet, but if you are interested, you can apply for an introductory discount to buy the board when it becomes available on microCHIP direct store.

PULPino Open Source RISC-V MCU is Designed for IoT and Wearables

April 6th, 2016 4 comments

lowRISC is not the only open source processor project based on RISC-V instructions, as researchers at ETH Zurich university and the University of Bologna have developed PULPino open-source processor based on RISC-V instructions set, optimized for low power consumption, and targeting wearables and the IoT applications.

PULPino Block Diagram (Click to Enlarge)

PULPino Block Diagram (Click to Enlarge)

PULPino is a single core processor derived from the PULP project (Parallel Ultra-Low-Power Platform) featuring a quad core RISC-V SoC with new RI5CY Signal Processing ISA extensions designed by the universities.

The core has an IPC (instructions per cycle) close to 1, full support for the base integer instruction set (RV32I), compressed instructions (RV32C) and partial support for the multiplication instruction set extension (RV32M). PULPino also features peripherals such as I2S, I2C, SPI and UART.

PULPino FPGA Implementation Running on ZedBoard

PULPino FPGA Implementation Running on ZedBoard

PULPino has already been taped out as an ASIC in UMC 65nm at the beginning of the year, but the RTL code be run on Xilinx Zynq-7010 powered Zedboard, and all source files, test programs, and tools have been released in github under the Solderpad hardware license derived from the Apache 2.0 software license meaning you can basically do what you want with the design.

An implementation of FreeRTOS is said to be available for PULPino and PULP processor, but I could not find it. They’ve also compared RI5CY core to ARM Cortex-M4 to show a similar area and power consumption using 65nm process.

RI5CY_vs_ARM_Cortex_M4

You can find more details about PULPino and PULP projects on Pulp Platform website, and PULP page on ETH Zurich university website. lowRISC.org also mentions there are three proposed projects for PULPinfo as part of Google Summer of Code: porting CMSIS-DSP to PULPino, Doom on PULPino, and porting the Arduino libraries to PULPino.

Via EETimes

SiLabs Wireless Gecko SoCs Support Bluetooth 4.2, Zigbee, Thread, and 2.4GHz Proprietary Protocols

February 25th, 2016 3 comments

Silicon Labs has introduced three new Wireless SoC families with Blue Gecko for Bluetooth Smart, Mighty Gecko for Thread & Zigbee, and Flex Gecko for proprietary 2.4 GHz protocols. All three families provides up to 19.5 dBm output power & hardware cryptography, and are pin-to-pin and software compatible.

SiLabs Might Gecko SoC Block Diagram

SiLabs Might Gecko SoC Block Diagram

SiLabs Wireless Gecko SoC highlights:

  • MCU Core – ARM Cortex-M4 @ 40 MHz with FPU, up to 256 KB flash, and up to 32KB SRAM. Mighty Gecko also adds a DSP
  • Peripherals
    • AES256/128 Hardware Crypto Accelerator
    • ADC (12-bit, 1 Msps, 286 µA)
    • Current DAC (4-bit, Current Source or Sink)
    • 2x Analog Comparator
    • Low Energy UART
    • 2x USART (UART, SPI, IrDA, I2S)
    • I2C (Address recognition down to EM3)
    • Timers : RTCC, LE Timer & Pulse Counter
    • 12-channel Peripheral Reflex System
    • Up to 31 GPIO
  • EFR32BG Blue Gecko Family
    • Bluetooth Smart (Bluetooth Low Energy or “BLE”) 4.2 specification as well as proprietary wireless protocols
    • Supported by Silicon Labs’ Bluetooth Smart software stack and BGScript scripting language
    • Packages – QFN48 (7 mm x 7 mm), QFN32 (5 mm x 5 mm), WLCSP (3.3 mm x 3.2 mm)
  • EFR32MG Mighty Gecko Family
    • Multiprotocol SoC solution for low-power 802.15.4 mesh networking
    • Supports Silicon Labs’ ZigBee PRO software stack for ZigBee applications and Silicon Labs’ pre-certified Thread protocol stack for IP-based mesh networks
    • Gives developers the flexibility to select the optimal protocol (ZigBee, Thread, Bluetooth Smart or proprietary) for their IoT applications
    • Packages – QFN48 (7 mm x 7 mm), QFN32 (5 mm x 5 mm)
  • EFR32FG Flex Gecko Family
    • Supports popular proprietary protocol options for diverse applications including M2M links, building automation, security and electronic shelf labels.
    • Features Silicon Labs’ radio abstraction interface layer (RAIL) software easing the complexity of proprietary wireless development by simplifying radio configuration
    • Packages – QFN48 (7 mm x 7 mm), QFN32 (5 mm x 5 mm)

The Wireless Gecko SoC portfolio is supported by Simplicity Studio development platform including AppBuilder, to configure wireless applications, Desktop Network Analyzer for debugging, and Energy Profiler for profiling energy consumption. The IDE works on Windows, Linux, and Mac OS X.

The company also provided the table below to help customer choose the best 2.4GHz protocol for their application.

Bluetooth Smart ZigBee Thread Proprietary
Network Topology P2P, Star Mesh Mesh P2P, Star, Mesh
Network Size 2 ~ 10 150 ~ 250 150 ~ 250 Custom
Line-of-Sight Range 375 m 585 m 585 m 585 m (2.4 GHz)
Data Rate 1 Mbps 250 kbps 250 kbps Custom
IP Support Yes No Yes No
Low Energy Yes Yes Yes Yes
Application Examples Wearables
Fitness/Health
Home Automation
Lighting
Home Automation
Lighting
Smart Metering
Industrial Automation
Home Automation
Lighting
Smart Metering
Industrial Automation
Home Automation
Electronic Shelf Labels
Asset Tracking

Mighty_Gecko_DevkitThree development starter kits are available for the Blue, Mighty and Flex Gecko SoCs:

  • $99 EFR32 Blue Gecko Bluetooth Smart SoC Wireless Starter Kit (SLWSTK6020A) with mainboard, EFR32BG 2.4 GHz radio board (+10.5 dBm), 1x USB A to USB mini-B cable, 1x CR2032 battery, and a  EFR32BG Get Started Card
  • $229 Flex Gecko Starter Kit (SLWSTK6066A) with 2x Wireless starter kit mainboards, 2x EFR32FG 2.4 GHz radio boards (+19.5 dBm), 2x USB A to USB mini-B cables, 2x CR2032 batteries, 2x AA Battery holders, and a EFR32FG Get Started Card
  • $499 EFR32 Mighty Gecko Starter Kit (SLWSTK6000A) with 3x Wireless starter kit mainboards, 3 x EFR32MG 2.4 GHz 19.5 dBm radio board, 3 x EFR32MG 2.4 GHz 13 dBm radio boards, an AA Battery board (supports running +19.5 from battery), and an integrated debug and packet trace

Wireless Gecko engineering samples are available now in QFN32 and QFN48 packages, with mass production scheduled for Q2 2016. Pricing starts at $2.11 per unit for 100,000-unit quantities for Mighty Gecko SoCs, $2.06 for Flex Gecko SoCs, and $0.99 for Blue Gecko SoCs. More details can be found on SiLabs Wireless Gecko product page.

Via EETimes

STMicro Releases Linux based STM32 MCU Development Tools

February 10th, 2016 6 comments

Until a few years ago, most development tools for micro-controllers were only available for Windows, but as Linux gained popularity among developers and engineers, community of developers designed development tools running in Linux, but only a few companies are providing tools that run on Linux operating systems. The good news is that STMicro has just announced the release of STM32CubeMX configurator and System Workbench for STM32, for both Linux and Windows, with Mac OS supporting coming on Q2 2016.

Click to Enlarge

Click to Enlarge

Developped by Ac6 embedded systems company, System Workbench for STM32 relies on Eclipse IDE, supports the ST-LINK/V2 debugging tool under Linux through an adapted version of the OpenOCD project, and can be used with various STMicro STM32 boards including Nucleo boards, Discovery kits, and other Evaluation boards.

You can give it a try by visiting OpenSTM32 Community, but for some reasons they ask you to register before accessing the installation instructions. If you already have a recent Eclipse installed, and you easily , and otherwise the best way is to use the installer (install_sw4stm32_linux_64bits-v1.3.run) that will install all required components.STM32_System_Workbench_Installation

You can then launch Eclipse that you should be installed in ~/Ac6/SystemWorkbench/eclipse.

GigaDevice GD32 is a Faster, Software and Pin-to-pin STM32 Compatible Cortex M3 MCU

December 21st, 2015 2 comments

Las month, Olimex discovered a Chinese company called GigaDevice has made an STM32 clone called GD32 and compatible with STM32F103, but with higher core frequency (108MHz). Olimex has now posted an update after receiving a letter from GigaDevice, and trying GD32F103RBT6 MCU on their own STM32F103 boards. The company explained that GD32 was their own implementation, and claimed rights on GD32 trademarks, while Olimex discovered than GD32 was working just fine on their board having passed “all functional tests without any modifications”, and with all the same development tools and software code running fine.

Olimex_STM32_P103_GD32_MCU

Olimex STM32-P103 Board with GD32 MCU

GD32F103xx datasheet (PDF / English version) can be downloaded to find a few more details:

The GD32F103xx device incorporates the ARM Cortex-M3 32-bit processor core operating at 108 MHz frequency with Flash accesses zero wait states to obtain maximum efficiency. It provides up to 3 MB on-chip Flash memory and up to 96 KB SRAM memory. An extensive range of enhanced I/Os and peripherals connected to two APB buses. The devices offer up to three 12-bit ADCs, up to two 12-bit DACs, up to ten general-purpose 16-bit timers, two basic timers plus two PWM advanced-control timer, as well as standard and advanced communication interfaces: up to three SPIs, two I2Cs, three USARTs, two UARTs, two I2Ss, an USB 2.0 FS, a CAN and a SDIO.

The device operates from a 2.6 to 3.6 V power supply and available in –40 to +85 °C temperature range. Several power saving modes provide the flexibility for maximum optimization between wakeup latency and power consumption, an especially important consideration in low power applications.

Roger Clark also found out the board previously, and added support for GD32 to Arduino STM32. He also noticed that beside the fast clock speed, the zero wait state internal flash also provided performance improvements with GD32 delivering 64.41 VAX MIPS against 48.81 VAX  MIPS when both MCUs are clocked at the same 72 MHz frequency.

GD32 Board

GD32 Board

The tests were done on the GD32F103 board above, which can be purchased for 15 RMB (~$2.3 US) on Taobao. I also looked for GD32 board on Aliexpress, but the MCU does not appear to be very popular outside of China, and I only found one $12.75 GD32 + WiFi board. If you are based in China you have more more choice here and there with evaluation boards with LCD displays selling for 281 RMB (~$44 US) and up. You can also purchase various version of GD32 MCUs directly for $0.70 to $2.80 on Taobao.

Visit GigaDevice GD32 product page for some more details.