Archive

Posts Tagged ‘mcu’

Beyond Semi Introduces 32-bit BA20 Core with Cortex M4 Performance Efficiency, and Cortex M0+ Silicon Area

October 24th, 2014 4 comments

Beyond Semiconductor and CAST have jointly announced BA20 32-bit embedded processor core with PipelineZero Architecture (zero-stage execution pipeline), that rivals with ARM Cortex A4 in terms of performance per MHz, while using about the same silicon area as an ARM Cortex M0+. which could be critical for applications such as wearables, sensors, and wireless communication, that may require both a small footprint and high performance efficiency.

Beyond_Semi_BA20_Block_Diagram

Beyond Semi BA20 Block Diagram

The company’s PipelineZero micro-archirtecture can execute one instruction per cycle, hence saving energy by doing more in less time, and by operating at lower clock rates.

Key features listed for BA20 IP core:

  • PipelineZero architecture for high performance efficiency with tiny silicon footprint
    • 3.04 DMIPs/MHz (vs ARM Cortex M4: 1.25 DMIPS/MHz)
    • 3.41 Coremarks/MHz (vs ARM Cortex M4: 3.40 CoreMarks/MHz)
    • 2µW/MHz (vs ARM Cortex M0+: 3µW/MHz)
    • 10K gates (0.01mm2) in 9-track 40G (vs 0.009mm2 for ARM Cortex M0+)
  • BA2 ISA Extreme Code Density for less instruction fetching energy usage
  • Interconnect – 32-bit wide AMBA AXI4-lite bus
  • Advanced power management
    • Dynamic clock gating and power shut-off of unused units
    • Software- and hardware-controlled clock frequency
    • Wake-up on tick timer or external interrupt
  • Optional Processor Units
    • Programmable Vectored Interrupt Controller Unit
    • Memory Protection Unit
    • Timer Unit
    • Debug Unit
      • MDB support
      • Trace port support
    • ROM Patching Unit
    • IEEE-754 compliant Floating Point Unit
    • Hardware Multiplier/Divider
  • Peripherals include GPIO, UART, Real-Time Clock, Timers, I2C, and SPI
  • Memory controllers, interconnects, and more

Beyond_BA20_vs_ARM_Cortex_M BA20 Processor IP Core, and peripherals IP are available now in RTL source code (Verilog) or FPGA netlists, and BeyondStudio Eclipse-based IDE for Windows or Linux can be used for software development. The company can also provide reference design boards with JTAG and serial debug/trace for both CPU and system, but no details have been provided about these hardware platforms.

As with all Beyond Semi processor Core, BA20 is royalty-free, and only a one-time license needs to be purchased. Further details can be found on Beyond Semi BA20 PilelineZero Embedded Processor page.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Categories: Beyond Semi BAxx Tags: arm, beyond semi, mcu

Cortus Introduces APS23 and APS25 32-Bit Cores for Micro-controllers

October 8th, 2014 4 comments

ARM and MIPS are not the only games in town with it comes to 32-bit cores for micro-controllers. I’ve already written about Beyond Semiconductor, and mentioned Andes used in some Wi-Fi SoC, and today I’ve come across another IP company called Cortus. which just introduced APS23 and APS25 cores based on their latest Cortus V2 instruction set. which offers a smaller code footprint compared to there V1 ISA.

Cortus APS25 Block Diagram

Cortus APS25 Block Diagram

APS23 can achieve 1.44 Coremarks/MHz, 2.83 DMIPS/MHz, and can run up to 200 MHz when manufactured with 90nm process, whereas APS25 is a bit more powerful with 2.09 Coremarks/MHz, 2.36 DMIPS/MHz, and can run up to 344 MHz. Minimal power consumption is 11.6 and 19.3 uW/Mhz for APS23 and APS25 respectively.

Key features of both cores include:

APS23 APS25
Excellent Code Density
3 stage pipeline 5-7 Stage Pipeline
Sequential Multiplier High Performance Integer Multiply
Optional Parallel Multiplier (Gives 2.62 Coremakes/MHz) Integer Divider
Full Peripheral Set Dual & Multi-Core Capable
AXI Lite Bus Co-Processor Interface
0.054 mm2 silicon area (min.) AXI4 buses
Optional Caches
0.099 mm2 silicon are (min.)

Peripherals avalable with the cores includes counters, timers with capture and PWM, UART, GPIO, SPI, I2C, Watchdog, USB 2.0 Device & OTG, Ethernet 10/100 MAC, and AHB-Lite Bridge (master and slave).

APS23 are expected to be part of touchscreen controllers, smart meters, Bluetooth LE chips, smart sensor controllers, automotive applications, etc,, whereas the more powerful and feature rich APS25 cores should find their ways into embedded control systems, encryption/decryption chips, wireless and wireline communication as well as sensor fusion and machine vision applications.

The company provide a complete development environment including C and C++ toolchains, and an IDE based on Eclipse. An instruction set simulator, Cortus on-chip debugging hardware, and an Ethernet connected JTAG (EtherTag) can be used for debugging. RTOSs such as FreeRTOS, Micrium μC/OSII have already been ported to APS processors.

Further details can be found on Cortus APS23 and APS25 product pages. In case you wonder where Cortus cores are currently used, the company claims over 35 licenses, and their press releases mention touch screen solutions (IMAGIS), CMOS image sensors (Pyxalis), WiFi SoCs (Newport Media), smart card chips, etc… Microsemi (previously Actel) has also selected APS core for mixed signal SoC for industrial applications.

Via Embedded.com

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Categories: FreeRTOS, Linux, Processors Tags: IoT, cortus, mcu

Micro Python ARM Cortex M4 Board is Now Available for $45

September 26th, 2014 1 comment

Micro Python is both a lightweight implementation of Python 3.4 programming language, and a board, aka pyBoard, based on STMicro STM32F4 ARM Cortex M4 micro-controller running Micro Python. The project had a successful Kickstarter campaign in 2013, and they’ve completed shipment of the perks to their backers last June. The company has now launched its own store, so let’s see the progress of the project.

Micro Python Board (Click to Enlarge)

Micro Python Board (Click to Enlarge)

The board has been re-designed since Kickstarter campaign, but the specifications remains the similar, but with some extra I/Os exposed:

  • MCU – STMicro TM32F405RG micro-controller @ 168 MHz with 1MB flash, 192KB RAM, and an FPU.
  • External Storage – Micro SD card slot, supporting standard and high capacity SD cards
  • Expansion Headers:
    • 24x GPIO on left and right edges and 5x GPIO on bottom row, plus LED and switch GPIO available on bottom row
    • 3x 12-bit analog to digital converters, available on 16 pins, 4 with analog ground shielding
    • 2x 12-bit digital to analog (DAC) converters, available on pins X5 and X6
  • USB – Micro USB connector for power and serial communication
  • Sensors –  3-axis accelerometer (MMA7660)
  • Misc – Real time clock with optional battery backup,  4x LEDs (red, green, yellow and blue), 1x reset and 1x user switch
  • Power – 5V via micro USB port. On-board 3.3V LDO voltage regulator, capable of supplying up to 300mA, input voltage range 3.6V to 10V
  • Dimensions – 32 x 40 mm

The board connects to your PC over USB, and all I/Os can be controlled with a Windows, Mac or Linux computer using three possible ways:

  • REPL - Connect to the board using serial program (minicom, hyperterminal) to get a Python REPL (read–eval–print loop) prompt, where you can execute Python commands just as you would on your PC.
  • Remote script - Pressing ctrl-A in the console will switch to raw REPL mode, where you can send any Python script to the board for it to execute immediately. pyboard.py script is provided to your script to the board.
  • From file - The pyboard has a filesystem located in the flash memory of the MCU and a micro SD card slot. When you connect the board to your PC it will show as a USB mass storage device, which can be mounted in your PC. Simply copy your Python script (main.py) in the partition, and it will run automatically. This allows to run scripts without being connected to your PC.

The company provides documentation and source code about Micro Python software implementation, as well as hardware files in PDF format.  Eagle schematics & PCB layout, and gerber files are also available for the earlier version (pybv3), but not the the latest version of the board (pybv10). You should also be able to run Micro Python implementation on hardware based on x86, x86-64 or ARMv7 targets running Linux.

Micro Python board v1.0 can be purchased for £28.00 (~$45) on the company’s e-store, and you can also find LCD and audio “skins”, as well as a few other modules to interface with the board.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

STMicro STM32F7 Series is the First ARM Cortex-M7 MCU Family

September 24th, 2014 1 comment

Right after ARM’s Cortex-M7 announcement, STMicro has listed STM32F7 MCU family based on the latest ARM core on their website. The family is comprised of 20 different MCUs with various flash size, packages, and with or without a crypto/hash coprocessor. The company expects their STM32F756xx microcontrollers to be used for motor drive and application control, medical equipment, industrial applications such as PLC, inverters, and circuit breakers, printers & scanners, alarm systems, video intercom, HVAC, home audio appliances, mobile applications, Internet of Things application, and wearable devices such as smartwatches.

STM32F7 Block Diagram (Click to Enlarge)

STM32F756xx Block Diagram (Click to Enlarge)

STM32F7 MCUs share the following key features:

  • Cortex-M7 core @ 200 Mhz (1000 CoreMark/428 DMIPS) with L1 cache (4KB I-cache, 4KB d-cache)
  • 320KBytes of SRAM with scattered architecture:
    • 240 Kbytes of universal data memory
    • a 16 Kbytes partition for sharing data over the bus matrix
    • 64 Kbytes of Tightly-Coupled Data Memory (DTCM) for time critical data handling (stack, heap…)
    • 16 Kbytes of Tightly-Coupled Instruction Memory (ITCM) for time critical routines
    • 4 Kbytes of backup SRAM to keep data in the lowest power modes.
  • 512 to 1024 KB flash memory
  • AXI and multi-AHB bus matrix for interconnecting Core, peripherals and memories
  • Two general purpose DMA controllers and dedicated DMAs for Ethernet, high-speed USB On-The-Go and the Chrom-ART graphic accelerator.
  • Peripheral speed independent from CPU speed (dual clock support) allowing system clock changes without impacting the function of the peripherals
  • Other peripherals:
    • 2x serial audio interfaces (SAI) with SPDIF output support
    • 3x I2S half-duplex with SPDIF input support
    • 2x USB OTG with dedicated power supply
    • Dual Quad SPI interface
    • 3x 12-bit ADC with 16 to 24 channels
    • 2x 12-bit DAC with 2 channels
    • 2x CAN Bus
    • Camera Inteface
    • LCD-TFT interface
  • GPIOs: 82 to 168 depending on model
  • Operating voltage – 1.7 to 3.6V
  • Power efficiency:
    • 7 CoreMark/mW at 1.8V and 180 MHz
    • 120µA typical current consumption in Stop mode with all context and SRAM saved
  • Temperature Range:
    • Ambient temperatures: –40 to +85 °C /–40 to +105 °C
    • Junction temperature: –40 to + 125 °C

As announced this morning Cortex M7 is backward compatible with Cortex M4 instruction set, and to simply upgrades from STM32F4 to STM32F7, ST Micro has made the new F7 series pin-to-pin compatible with F4 series.

STM32F7_Models

There are 20 models divided into 5 families with the key differences listed in the table below.

STM32F756Vx STM32F756Zx STM32F756Ix STM32F756Bx STM32F756Nx
SPI/I2S 4/3 (simplex) 6/3 (simplex)
GPIOs 82 114 140 168
ADC Channels 16 24
Package LQLP100 WLCSP143
LQFP144
UFBGA176
LQFP176
LQFP208 TFBGA216

If you can read German, and are interested in knowing more about Cortex-M7 and/or STM32F7, you may want to read a long article on Electroniknet including the Cortex-M4 vs Cortex M7 below, that appears to be a bit more detailed than the info on Anandtech, since it includes FPU and power consumption details.

Property ARM Cortex-M4 ARM Cortex-M7
ISA ARMv7M-E ARMv7M-E
Command length 16/32 bit 16/32 bit
Thumb instructions Thumb-2 Thumb-2
Integer pipeline 3 steps 6 steps Dual Issue
Memory Architecture Harvard Harvard
L1 cache (instructions / data) No 4-64 KB / 4-64 KB
TCM (instructions / data) No 0-16 MB / 0-16 MB
FPU (single / double precision) FPv4 Yes / No * FPv5 Yes / Yes
Floating point register 32×32 bit 32×32 bit / 16×64 bit
32-bit divider Yes Yes
Memory protection unit Optional 8 areas Optional 16 or 32 areas
System Interfaces 3xAHB Lite 32 bit 1×64 bit ITCM, DTCM 2×32 bit, 1xAXI 64 bit, 32 bit 2xAHB Lite
Nested Vectored Interrupt Controller 1-240 external interrupts 1-240 external interrupts
Interrupt priorities / NMI 256 / Yes 256 / Yes
DMIPS / MHz – Mark Core / MHz (IAR) 1.25 / 1.52 ** – 3.4 2.14 / 2.52 ** – 5.0
Interrupt latency 12 clock cycles 11-12 clock cycles
Power Saving 3 (Sleep / Deep Sleep / Deep Sleep WIC) 3 (Sleep / Deep Sleep / Deep Sleep WIC)
Real-time trace optional only code optional code and data
Breakpoints / watchpoints 2-6 / 1-4 2-6 / 1-4
Lockstep operation No Yes
Clock rate (maximum) in 40 nm LP 300 MHz *** 400 MHz
Power consumption in 90 nm LP 33 uW / MHz 53 uW / MHz #
Power consumption in 40 nm LP 8 uW / MHz 12.9 uW / MHz #
Announcement February 2010 September 2014

Back to STM32F7. Currently only STM32F756NF is listed, and the marketing status is set to “preview”, so the MCU is only available to “lead” customer for now, and it will be demonstrated at ARM Techcon 2014 next week. I could not find any information about a development board (Discovery / Nucleo) either. You can find more information including STM32F7 datasheet on the STMicro STM32F7 Series page. For a quick overview of the capabilities and performance of STM32F7, you may also want to read that 23-page presentation.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

ARM Introduces Cortex-M7 MCU Core for IoT, Wearables, Industrial and Automotive Applications

September 24th, 2014 4 comments

ARM has just announced Cortex-M7 processor based on ARMv7-M architecture, with double the compute and digital signal processing (DSP) capability of ARM Cortex M4. The latest ARM MCU core targets IoT and wearables applications for the automotive, industrial, and consumer markets including motor control, industrial / home / factory automation, advanced audio, image processing, connected vehicle applications, and so on.

Cortex-M7 Block Diagram

Cortex-M7 Block Diagram

Cortex-M7 comes with enhanced DSP instructions, a better FPU (FPv5 with single and double precision support), and tight coupled memory compared to Cortex-M4, according to an Anandtech article. ARM Cortex-M7 also achieves 5 CoreMark/MHz against 3.41 CoreMark/MHz for Cortex M4, and up to 3.23 DMIPS/MHz against up to 1.95 DMIPS/MHz.

ARM Cortex-M7 features listed in the press release:

  • Six stage, superscalar pipeline delivering 2000 Coremarks at 400MHz in a 40LP process.
  • AXI interconnect (supports 64-bit transfer) and fully integrated optional caches for instruction and data allowing efficient access to large external memories and powerful peripherals.
  • Tightly coupled memory interfaces for rapid, real-time response.
  • Extensive implementation configurability to enable a wide range of cost and performance points to be targeted.
  • Optional full instruction and data trace via the Embedded Trace Macrocell enabling greater system visibility.
  • An optional safety package and built-in fault detection features contribute toward ASIL D (Automotive Safety Integrity Level) and SIL 3 (Safety Integrity Level) compliance.
  • Third-party tools, RTOS, middleware support of any architecture, provided by the ARM Connected Community of complementary partner companies.

Cortex-M7 remains binary compatible with older Cortex-M processors, so system designers can take advantage of code reuse in order to lower development and maintenance costs. Available tools include Keil microcontroller development kit (MDK) and ULINK debug adapter, and various real-time operating systems will be supported such as Express Logic ThreadX, FreeRTOS, Mentor Graphics Nucleus, or Micrium µC/OS-III.

Atmel, Freescale and ST Microelectronics will be the first companies to release MCUs based on Cortex-M7.

You can find more details on the Anandtech article, or ARM Cortex-M7 product page.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

WeIO is an Open Source Hardware IoT Board Programmable from a Web Browser (Crowdfunding)

September 16th, 2014 9 comments

WeIO is an open source hardware board for the Internet of things with Wi-Fi connectivity and lots of I/Os designed by nodesign, a French based startup, in collaboration of 8devices, the makers of the Carambola boards. WeIO is powered by an Atheros AR9331 SoC running OpenWRT as well as an NXP LPC MCU for faster handling of I/Os and support for analog I/Os. One interesting aspect of this board is that it can be programmed via a web browser using HTML5 or Python, and it does not rely on the Cloud to store data.

WeIO

WeIO Board (Click for Larger View of the Board)

WeIO hardware specifications:

  • SoC – Atheros AR9331 MIPS 24K Wireless SoC @ 400 MHz
  • MCU – NXP LPC11xx ARM Cortex M0 MCU for analog I/O and real-time H/W interfaces
  • System Memory – 64 MB DDR2
  • Storage – 16 MB flash + micro SD slot
  • Connectivity – 802.11 b/g/n Wi-Fi with on-board antenna (AP and STA modes), solder pads for Ethernet
  • USB – 1x USB 2.0 host port (for storage, webcam, sound cards, …), 1x micro USB (FTDI) for console access.
  • Expansion Headers – 5 headers with:
    • 32x GPIO
    • 1x UART, 2x SPI, 1x I2C
    • 8x ADC with 10-bit precision
    • 6x PWM with 16-bit precision
  • Debugging – micro USB for programming, JTAG solder pads for AR9331 SoC, and LPC11xx MCU.
  • Misc – RGB LED connected to 3 PWM outputs, AP mode and soft reset buttons, LM75 digital thermometer
  • Power – 3.3V operating voltage, 5V tolerant I/Os (except ADC), external supply 5V.
  • Dimensions – 91 x 68 mm

There’s no IDE to install to program WeIO, as everything can be done from WeIO IDE hosted on the board itself, and you just need to connect using your favorite Web browser. There’s no cross-compiling, board flashing, or  programming electronics in C, unless you plan to update OpenWRT or the MCU firmware. That also means you should be able to program the board from any operating system, be it Windows, Linux, Mac OS, or even Android, FreeBSD…

WeIO IDE (Click to Enlarge)

WeIO IDE (Click to Enlarge)

The API is said to be “Arduino-like”, but using HTML5 (HTML, Javascript, CSS) and/or Python. You can find related code on weio repository on github.Some of the server technologies or protocols used include Tornado web server (written in Python), Websockets, SSH and SMB, and Bonjour zeroconf. The board is also supposed to be open source hardware, but the hardware design files do not appear to have been released just yet.

The company has made some demos using WeIO such as a smart lamp, real-time data visualizaton on iOS or Android smartphones, various displays support,  music and video streaming, interfacing with Arduino, and so on. You can watch the video for an overview of the board and have a look at some of the demos.

The project has been launched on Indiegogo, and have already reached its $10,000 funding target. A $86 pledge will get you a WeIO board, but various kits are available between $99 to $399, and there are also 1 to 2-day workshops for several thousands dollars. Shipping is either free, or $9 to Europe, and $12 to the other continents, depending on the perks, and delivery is scheduled for November 2014. You may also want to visit we-io.net for access to full documentation (work in progress), and/or join WeIO Google+ Community.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Infineon XMC 2Go Cortex M0 Development Kit Sells for 5 Euros

September 15th, 2014 4 comments

Infineon brought another tiny, portable, and cheap ARM Cortex M0 board to market with XMC 2Go development kit featuring XMC1100 ARM Cortex M0 micro-controller with 16KB RAM, 64KB Flash, and tow breadboard friendly headers to access various serial interfaces and ADC pins.

 

Infineon_XMC_2GoKey features listed on Infineon website:

  • MCU – Infineon XMC1100 ARM Cortex-M0 MCU @ 32 MHz with 64KB flash, 16KB RAM.
  • Debugger – On-board J-Link Lite Debugger using an XMC4200 Microcontroller.
  • Headers – 2×8 pin headers suitable for Breadbord with access to 2x USIC (Universal Serial Interface Channel: UART, SPI, I2C, I2S, LIN), 6x 12-bit ADC, external interrupts (via ERU), 4x 16-bit timers
  • Misc – 2 x user LED, RTC
  • Power – 5V Micro via USB, or 3.3V external power. ESD and reverse current protection
  • Dimensions – 14.0 x 38.5 mm

XMC1100_Development_BoardThe board is programmed via USB using the same Dave IDE I tried with XMC4500 Relax Lite Kit. Documentation includes PCB design data, the board’s user manual, and various documents to get started. The board has been released in March, so some people have already played with it (Link in Polish), and another ran some Arduino code on the board (in English!).

You can find more information and purchase the board on Infineon’s XMC 2Go page. The board is sold for 5 Euros + shipping, but you can also find it on Mouser and Digikey for about $6 to $12.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter