Archive

Posts Tagged ‘freertos’

Think Silicon Ultra Low Power NEMA GPUs are Designed for Wearables and IoT Applications

May 8th, 2017 1 comment

When you have to purchase a wearable device, let’s say a smartwatch or fitness tracker, you have to make trade offs between user interface and battery life. For example, a fitness tracker such as Xiaomi Mi Band 2 will last about 2 weeks per charge with a limited display, while Android smartwatches with a much better interface need to be recharged every 1 or 2 days. Think Silicon aims to improve battery life of the devices with nicer user interfaces thanks to their ultra-low power NEMA 2D, 3D, and GP GPU that can be integrated into SoCs with ARM Cortex-M and Cortex-A cores.

Nema|t 3D GPU Block Diagram

The company has three family of GPUs:

  • NEMA|p pico 2D GPU with one core
    • 4bpp framebuffer, 6bpp texture with/out alpha
    • Fill Rate – 1pixel/cycle
    • Silicon Area – 0.07 mm2 with 28nm process
    • Power Consumption – leakage power GPU consumption of 0.06mW; with compression (TSFSc): 0.03 mW
  • NEMA|t tiny 2D & 3D GPU with one to 4 cores
    • 4bpp framebuffer, 6bpp texture with/out alpha
    • OpenGL ES support
    • Can render a 420×420 3D UI @ 80 MHz
    • Fill Rate – 1-4pixel/cycle; up to 1,600 MPixel/s for the quad core version  @ 400 MHz
    • Silicon Area – 0.1 to 0.25 mm2 with 28nm process
    • Power Consumption – leakage power GPU consumption of 0.07mW; with proprietary compression technology (TSFBc, TSTXc): 0.03 mW
  • NEMA|s GPGPU with one to four cores
    • Supports Network On Chip (NoC) interconnect for clusters with each cluster supporting up to four cores, and each core handling up to 128 threads
    • Fill Rate – 1pixel/cycle
    • Silicon Area and Power Consumption – TBA, as Nema|s is only implemented via FPGA for now

NEMA|s GPU

The first two models are available right now, while the third is still in development. The company is also working on the fourth family with NEMA|ts “tiny small” GPU, but no details have been provided.

Provided the website is up-to-date, NEMA|p 2D GPU is supported in FreeRTOS V8.0.1 and Linux kernel 3.x, while NEMA|t can be used in Linux 3.x and Android 4.x. The company also provides a software library in ANSI C, as well as DirectFB and Qt support.

I found out about the NEMA through a Charbax video at Mobile World Congress 2017.


Think Silicon GPUs are said to be already used in Microchip and Dialog MCUs, and Sequant recently announced an “LTE for IoT System-on-Chip” with a NEMA|p 2D/2.5D GPU. The demo in the video above also shows an Ambiq Micro board connected to an FPGA implementation of one of their GPUs. You’ll find more information on Think Silicon website.

Compulab IOT-GATE-iMX7 is an NXP i.MX7 IoT Gateway for Industrial Applications

February 28th, 2017 2 comments

CompuLab has introduced IOT-GATE-iMX7 compact fanless IoT gateway and industrial controller built around the company’s CL-SOM-iMX7 system-on-module, and offering Ethernet, WiFi, Bluetooth, 3G and Zigbee connectivity.Compulab IOT-GATE-iMX7 gateway specifications:

Block Diagram – Click to Enlarge

  • SoC –  NXP i.MX 7 dual ARM Cortex-A7 processor @ up to 1GHz with ARM Cortex-M4 core @ 200Mhz, 2D graphics engine
  • System Memory – Up to 2GB DDR3L-1066
  • Storage – Up to 32GB on-board eMMC + micro-SD socket
  • Connectivity
    • Dual Gigabit Ethernet
    • Dual band WiFi 802.11 a/b/g/n
    • Bluetooth 4.1 BLE
    • Optional 3G cellular module via mini PCie socket
    • Optional ZigBee NXP JN5168 module
  • Display – DVI up to 1920×1080 using a HDMI connector
  • Audio – 3.5mm jacks for stereo line out, stereo line in
  • USB – 4x USB2.0 host ports, type-A connectors
  • Serial – 1x RS485 / RS422 port, RJ11 connector; 1x RS232 port, ultra-mini serial connector; 1x serial console via UART-to-USB bridge, micro-USB connector
  • Expansion
    • mini-PCIe socket, full-size
    • embedded I/O header with up to 1x UART, 1x SPI, 1x I2C, 12x GPIO
  • Power Supply – Unregulated 8V to 24V via power barrel; support for PoE (powered device)
  • Dimensions – 108 x 83 x 24 mm ( Aluminum housing)
  • Temperature Range – -40C to 85°C

IOT-GATE-iMX7 ships with Debian Linux pre-loaded, and the company can provide a full Linux Board Support Package (BSP) with Linux kernel 4.1.15, Yocto Project file-system and U-Boot boot-loader. The gateway also supports run mainline Linux, upstream Yocto Project and FreeRTOS BSP.

 

Click to Enlarge

In case you’d rather provide your own enclosure the SBC-IOT-iMX7 single board computer is also available. Both the gateway and SBC have a 10-year availability.

IOT-GATE-iMX7 price starts at $107 for volume orders, and SBC-IOT-iMX7 at $85. You’ll find more details, including pricing for options, on IOT-GATE-iMX7 product page.

Mediatek MT2533D is a Bluetooth 4.2 SiP for Smart Headphones & Hands-Free Systems

January 9th, 2017 3 comments

There used to be a time when most products were based on a general purpose MCU or processor that you would interface to over chips like audio codecs, memory chips, flash storage, etc…, but in order to cut costs, application specific SoCs have become quite common over the year, so we’ve had mobile application processors for several years already, but more recently we got “wearables” SoCs and “Smart Home” SoCs, and Mediatek has launched MT2533D “headphone” SiP (System-in-Package) combining a Cortex-M4 MCU, 4MB PSRAM, an audio codec, and a dual mode Bluetooth subsystem.

mt2533-block-diagramMediatek MT2533D specifications:

  • MCU –  ARM Cortex-M4 @ up to 208MHz with 32KB L1 cache, FPU, MPU, AES 128/192/256 crypto engine and TRNG
  • Memory – 160kB SRAMs, 4MB pseudo SRAM
  • Storage – 4MB flash
  • Wireless Connectivity – Bluetooth 4.2 dual mode (classic and low energy)
  • Audio
    • AAC/SBC for Bluetooth audio
    • CVSD/mSBC for Bluetooth speech
    • PCM playback: 8-48kHz sample rate
    • PCM record: 8kHz and 16kHz sample rate
    • Dual-mic noise suppression and acoustic echo cancellation
  • Display
    • Hardware 2D accelerator
    • DBI serial interface up to 320×320 @ 30 fps
    • 1-lane MIPI DSI interface up to 480×320 @ 30 fps
  • Camera – Mediatek camera serial interface up to VGA resolution @ 30 fps with YUV422 or RGB565
  • Other Peripherals
    • USB 2.0
    • 3x UARTs, 3x I2Cs
    • 6x PWMs, 4x SPI masters, SPI slave
    • I2S
    • SDIO v2.0
    • 5-channel ADC
    • Up to 38 GPIOs
  • Package – 172-ball TFBGA with 0.4mm pitch
  • Dimensions – 6.2 x 5.8 x 1.05 mm
  • Ambient temperature – -40°C to 85°C

There are interfaces for small displays and low resolution cameras, as well as a fair amount of I/Os, so it could certainly be use for audio applications outside of simple headphones, not matter how “smart” they may be.

One interesting part is that I did not get the news from MediaTek, but instead MediaTek Labs, Mediatek’s Internet of Things (IoT) developer program, and MT2533 is supported by the MediaTek LinkIt Development Platform for RTOS based on FreeRTOS. That means the SiP will be available to makers, and not only large companies, and development and debugging can be done in ARM Keil μVision, IAR Embedded Workbench and GCC like other LinkIt platforms. A development board or, like Mediatek calls it, an HDK (Hardware Development Kit), based on MT2533D could also be launched in the near future.

However Mediatek Labs only mentioned that MT2533D will be available to device makers in Q1 2017, and the developer documentation and tools will be released in Q3 2017, so we will have to wait for a while before being able to play with the platform. More details can be found on MT2533D product page.

Meet NXP i.MX8 Processor Families: i.MX 8 for High performance, i.MX 8M for Audio/Video & i.MX 8X for Low Power

October 6th, 2016 4 comments

Freescale and then NXP have been talking about i.MX8 processors for several years, and this spring unveiled i.MX 8 Multisensory Enablement Kit without giving much details about the processor except it would include both Cortex A72 & A53 cores. But NXP put out a press release yesterday about “Multisensory Automotive eCockpit Platform to Advance Multimedia Experiences in Future Cars” which appears to be the same news but with different words, except the content of the PR has more interesting bits such as:

The new family, which is based on up to six 64-bit ARMv8-A technology processor cores and includes a HiFi 4 DSP, LPDDR4 and DDR4 memory support as well as dual Gigabit Ethernet with audio video bridging (AVB) capability, is designed to advance automotive dashboard graphics such as instrument clusters, infotainment visuals, heads-up displays, rear-seat screens and more. Capable of driving four HD screens with independent content or a 4K screen, the new devices introduced today include:

  • i.MX 8QuadMax which integrates two ARM Cortex®-A72 cores, four Cortex-A53 cores, two Cortex-M4F cores and two GC7000XS/VX GPUs
  • i.MX 8QuadPlus which integrates one ARM Cortex-A72 core, four Cortex-A53 cores, two Cortex-M4F cores and two GC7000LiteXS/VX GPUs
  • i.MX 8Quad which integrates four Cortex-A53 cores, two Cortex-M4F cores and two GC7000LiteXS/VX GPUs
Click to Enlarge - Source NXP and EETimes

Click to Enlarge – Source NXP and EETimes

Hmm… SoCs with two identical GPUs? That’s because automotive applications often require multiple operating systems running on a single processor, with maybe one part handling the “infotainment” screen, and another taking care of the dashboard, which has to be 100% stable. This is usually handled by a software hypervisor but i.MX 8 processors can do this mostly using hardware virtualization, and does not require safety critical and non-safety critical software to share the same part of the hardware.

The new processors currently support for Android, Linux, FreeRTOS, QNX, Green Hills, and Dornerworks XEN, multiple temperature grades including automotive AEC-Q100 grade 3 (-40° to 125° C Tj), industrial (-40° to 105° C Tj), and consumer (-20° to 105° C Tj), and are fully supported on NXP’s 10 and 15-year Longevity Program. You’ll find a few more details about NXP i.MX8 processors slated to go into mass production in Q1 2017 on the product page.

However, while searching for more details about i.MX 8, I’ve come across a PDF file dated July 15, 2016 (File has now been removed), revealing more i.MX8 processor families are on the way with i.MX 8M series for audio/video applications with 4K VP9/H.265 and HDR support, and i.MX 8X series based on  ARM Cortex A35 / M4 cores for low power applications.

[Post updated on January 27, 2017 to remove 2 slides with i.MX 8X references upon NXP request, since the processor has not been released yet].

The document also informs us that two more i.MX 8 processors are planned with i.MX 8Dual and i.MX 8DualLite dual core Cortex A53 SoCs.

Click to Enlarge

Click to Enlarge

But let’s go back to i.MX 8M series with four SKUs namely 8M Quad Video, 8M Dual Video, 8M Quad Audio, and 8M Solo Audio.

Click to Enlarge

Click to Enlarge

All features one, two or four Cortex A53 cores, a real-time Cortex M4 cores, 1080p to 4K video support, 20 channels audio, USB 2.0 or 3.0 interfaces, and DTS and Dolby Atmos support. The processors will be used in streaming media clients, networked speakers, soundbars or AV receivers, or some embedded clients in consumer or industrial sectors.

NXP i.MX 8X series should first include 3 SKUs: i.MX 8QuadXPlus, i.MX 8DualXPlus, and i.MX 8DualX all powered by one to four ARM Cortex A35 cores and supporting up to 3 displays. The processors will target display and audio applications, 3D graphic display clusters, telematics and V2X (Vehicle to everything) applications.

NXP i.MX 8X is not listed on NXP website yet, but I’d assume they’d go to mass production sometimes in 2017, when they may have become Qualcomm i.MX 8 processors… More details can now be found on NXP i.MX 8 series product page for both i.MX 8 and i.MX 8M processors.

Pine64 Unveils $2 PADI IoT Stamp WiFi IoT Module with FreeRTOS SDK, Upcoming ARM mbed 5.0 Support

September 12th, 2016 12 comments

Realtek RTL8710 WiFi IoT modules came out as potential competitors to ESP8266 modules last month, with similar features. an ARM Cortex M3, and a pricing as low as $2 in quantities. However, documentation is often in Chinese only, and based on my experience with an RTL8710AF module limited to AT commands set for now. Software and documentation are likely to improve a lot however, as Pine64, the makers of Pine A64 boards, are about to launch their own “PADI IoT Stamp” RTL8710AF module for just $1.99 in any quantities.

padi-iot-stampPADI IoT Stamp specifications:

  • SoC – Realtek RTL8710AF ARM Cortex-M3 @ 83 MHz with 1MB ROM, 512KB RAM, and 1MB flash
  • Connectivity – 802.11 b/g/n WiFi @ 2.4 GHz – 2.5 GHz (2400 MHz – 2483.5 MHz) with PCB antenna; Station / SoftAP / SoftAP + Station modes;
  • Expansion headers – 22 half-holes with
    • Up to 1x SPI @ 41.5 Mbps max
    • Up to 3x UART with 2x up to 4Mbps, 1x @ 38400 bps
    • Up to 4x PWM
    • Up to 1x I2C @ 3.4 Mbps max
    • Up to 19 GPIOs including 10 supporting interrupts
  • Power Supply – 3.0 to 3.6V (3.3V recommended)
  • Power Consumption – 87 mA typ. @ 3.3V using 802.11b 11 Mbps, +17 dBm; 0.9 mA light sleep; 10 uA deep sleep; More details on Section 6 of the datasheet.
  • Dimensions – 24 x 16 mm
  • Temperature range – -20 ℃ ~ 85 ℃

If the hardware looks familiar, it’s because it also most the same as B&T RTL-00 module. However, I’ve been told it might not be 100% compatible, so mixing firmware for different modules may potentially brick them. The module can be programmed and debugged using IAR, openOCD, and/or J-Link, and it supports firmware updates via UART, OTA, and JTAG. Currently, the company provides a download link to Ameba Standard SDK based on FreeRTOS and LWIP, but ARM mbed 5.0 support is planned in the coming months. [Update:Ameba RTL8710AF SDK ver v3.5a GCC ver 1.0.0- without NDA has been uploaded recently] Configuration can be done through AT Commands, Cloud Server, or Android / iOS mobile app.

PADI IoT Stamp Pinout Diagram

PADI IoT Stamp Pinout Diagram – Click to Enlarge

You’ll find documentation in English and tools on PADI IoT Stamp product page, including the datasheet, a guide start guide with AT commands, Ameba SDK 3.4b3, and some tools and drivers for the serial console. The module will officially launch on September 14th, and you’ll be able to purchase it for $1.99 plus shipping. The company is also working on a breadboard-friendly NodeMCU like board featuring PADI IoT Stamp, but I don’t have further info about this board at this stage.

In somewhat other news, some people submitted both RTL8710AF and RTL8711AF processors to a X-Ray machine, and while the latter has more features such as NFC support, it appears both SoCs look exactly the same under X-Ray, so RTL8710AF might actually have the exact same features, but they are just disabled.

Explore M3 Board based on NXP LPC1768 Cortex M3 MCU Comes with Lots of Tutorials (Crowdfunding)

September 12th, 2016 No comments

Explore M3 is an ARM Cortex M3 development board powered by a micro USB port, with plenty of I/Os, Arduino compatible, and the developers have also written many tutorials to help people getting started as fast and easily as possible. A starter kit with cables and sensors is also available with the board.

explore-m3

Specifications:

  • MCU – NXP LPC1768 ARM Cortex M3 @ up to 100MHz with 512KB flash, 64KB RAM,
  • USB – 1x micro USB 2.0 OTG port for programming and power
  • Expansion Headers – 2x 20-pin male headers + 8-pin unpopulated header with 38x GPIOs, 4x UARTs, 2x CAN, 2x SPI, 2x I2C, 6x PWM, 5x ADC, 1x DAC, 2x interrupt pins, I2S audio, and power signal
  • Debugging – JTAG/SWD Debug connector
  • Misc – USB boot and reset buttons
  • Dimensions – 55mm x 25mm

The hardware is somewhat similar to mbed LPC1768 board but with a few more I/Os. The breadboard friendly board can be programmed with the Arduino IDE, but you can also go “bare metal” using ARM-GCC and Ellipse, or other tool chains like Keil or Co-IDE. Alternatively, the board also support FreeRTOS real-time OS. You can find close to 50 tutorials for all three programming options on ExplorerEmbedded Wiki, and some source code is also available on Github.

explore-m3-pinoutExplorer M3 developers are now raising funds via CrowdSupply to help reducing price for mass production. A $19 pledge should get your the board, but for bare metal programming you may want to add $20 for SODA SWD debug adapter, if you don’t already have your own programmer, and the starter kit goes for $49 with various other accessories. Shipping is free, and delivery is planned for mid November.

Development Resources for Realtek “Ameba” RTL8710, RTL8711, and RTL8195 WiFi SoCs

August 1st, 2016 22 comments

We were made aware of a potential ARM based ESP8266 competitor last week with Realtek RTL8710 WiFi modules selling for about $3.5 shipped per unit, and under $2 per unit for larger orders (100+ pieces). Hardware is good, but for a platform to be successful, or even just useful, you also need software support. So I started doing some research into IoT-Tech BBS and asked ICStation for an “SDK” for the module they sold.

802.11 nxn with NFC RTL8710 Module

RTL8710 single band 802.11n (1×1) and NFC Tag Solution block diagram

I ended up on this forum post providing an “Realtek RTL8710 SDK” via Baidu (password: brwp), which turned out to be about the same as the Google Drive link provided by ICStation, and only contain minimal documents, as well as cracked Windows IAR Embedded Workshop and JLink tools. There are also some more technical details in Chinese only in another forum post, and well as B&T RTL8710 module datasheet (PDF).

However, if you don’t read Chinese that’s pretty challenging, and you may not want to use cracked software for development. I’ve soon come to the conclusion that RTL8710 was part of Realtek “Ameba” family also including RTL8711AF/AM and RTL8195AF, with the latter used in Ameba Arduino IoT board ($25), and supported by Ameba IoT community, where you’ll find both a “Standard SDK” and an “Arduino SDK” with several documents to get started.

Click to Enlarge

Click to Enlarge

The comparison table above shows that RTL8195AM and RTL8711AM support 2MB SDRAM + 512KB SRAM, while RTL8711AF & RTL8710AF only support 512KB SRAM. The not-so-good news here is that the Arduino SDK currently relies on the 2MB SDRAM lacking in the cheaper versions of the chips, and that’s the reason given by Realtek for the lack of implementation on RTL8710/RTL8711. The good news is that Realtek confirmed that the “Standard SDK” based on FreeRTOS and LWIP supports RTL8195, RTL8711 and RTL8710 processors.

Ameba_SDK_Architecture

Ameba SDK Software Architecture

You can freely download the standard SDK after registration on Ameba IoT community website, and you’ll find source code (component folder), documentation, sample code (project folder) and tools for Windows, as well as Android and iOS configuration apps (source + apk binary).

Realtek_Ameba_SDKYou may have noticed that the SDK name ends with “without NDA” which unfortunately means some documents – such as RTL8710 datasheet – are not publicly available at this time. However, Realtek has noticed the interest raised by their low cost WiSoCs, and hopefully the company will decide to become more open, at least for RTL8710/8711 to allow the community to fully leverage WiFi IoT modules based on Realtek low cost wireless processors.

Ameba IoT community appears to focus on their Realtek RTL8195AM based Ameba Arduino board right now, but you can always try to get more details or help in their forums. Alternatively, “dpape” has very recently created RTL8710 forums, and #rtl8710 IRC channel where interested developers and users can share ideas and more information about Realtek RTL8710/RTL8711 solutions.

An Alternative to ESP8266? Realtek RTL8710 ARM Cortex-M3 WiFi IoT Modules Sell for $2 and Up

July 28th, 2016 21 comments

ESP8266 WiFi modules initially stormed the maker market for IoT applications thanks to their low price, and later it became the dominant WiFi IoT platform for hobbyists thanks to its large community of developers. But technology progresses over time, and it’s always fun to look out for new solutions, and Realtek RTL8710 could prove to be an interesting alternative with its ARM Cortex-M3 processor @ 166 MHz, a little more user memory (48KB), audio support, faster WiFi performance, while still keeping a low price, as modules can be purchased for $3.90 on ICS station, a little more on eBay, and as low as $1.95 per unit on Aliexpress including shipping if you purchase 100 pieces or more.

Realtek_RTL8710_ModulesA Chinese website as a side-by-side comparison between Realtek RTL8710 and Espressif ESP8266, which I also found translated into English.

Realtek RTL8710 Espresif ESP8266
Package QFN-48 (6×6 mm) QFN-32 (5×5 mm)
CPU ARM Cortex M3 @ 166 MHz Tensilica LX106 @ 80 / 160 MHz
RAM 48KB available to user 36KB available to user
Flash 1MB Built-in 1, 2, 4, 8 or 16 MB
WiFi 802.11n up to 150 Mbps, 802.11g up to 54 Mbps 802.11n up to 65 Mbps, 802.11g up to 54 Mbps
GPIO Up to 21 Up to 17
I2C Up to 3 Up to 1
PCM Up to 2 None
PWM Up to 4
UART 2x high-speed UART, 1x low-speed UART Up to 2x UART
Power Voltage: 3.0 to 3.6V; Current: 80 mA
Temperature range -40 to 125 °C
Standard certifications FCC/CE/TELEC/SRRC/ WiFi Alliance FCC/CE/TELEC/SRRC

The processor is said to run FreeRTOS operating systems, which happens to be the one also used in Espressif ESP8266 and ESP32 SDKs. Boantong also provides a development board integrating their RTL-00 module with PCB antenna for $14 + shipping.

RTL8710 Development Kit

RTL8710 Development Kit

Debugging and programming can be done through the micro USB port using CMSIS DAP or JLINK.  I’ve not been able to find RTL8710 SDK yet, but there does seem to be a dedicated support forum (in Chinese only).

So at this stage RTL8710 is clearly not for everyone yet, but if you are interested in using or evaluating RTL8710 modules in commercial projects, you may want to check out “Boantong IoT Business Department“.

Via Bird on SMEoT Facebook Group.