Archive

Posts Tagged ‘mcu’

NXP Unveils LPC84x ARM Cortex M0+ MCU Family, and LPCXpresso845-MAX Evaluation Board

June 23rd, 2017 No comments

NXP Semiconductors has expanded LPC800 series MCUs with the new LPC84x family of 32-bit ARM Cortex-M0+ microcontroller said to offer 10 times the performance, three times more power saving savings, and 50 percent smaller code-size than 8- or 16-bit microcontrollers.

Click to Enlarge

Key features of LPC84x MCU family (LPC844 / LPC845):

  • MCU Core – ARM Cortex-M0+ core @ 30 MHz with advanced power optimization
  • RAM – 16 kB RAM (Logic for Bit banding across all of SRAM)
  • Storage – 64 kB Flash, small 64-byte page size suitable for EEPROM emulation
  • Peripherals
    • Timers – 32-bit CTimer, WWDT, 4-channel multi-rate, SCTimer/PWM
    • Serial Interfaces – Up to 4x I2C, 2x SPI, up to 5x UART
    • Analog Interfaces – 12 ch, 12-bit ADC up to 1.2 Msps; 2x 10-bit DAC; comparator with external Vreg; 9-channel capacitive touch interface working in sleep and deep sleep modes
    • Up to 54 GPIOs
    • 25-ch DMA offloads core
  • Power Control
    • Five power modes
    • Power profile APIs for simple runtime power optimization
    • Fast Access Initialization Memory (FAIM) for low power boot @ 1.5 MHz
  • Clock Generation Unit with Free Running Oscillator
  • Packages – LQFP64, LQFP48, HVQFN48 and HVQFN33

The LPC84x MCUs target applications typically making use of 8- or 16-bit MCUs such as sensor gateways, gaming controllers, motor control, fire & security, climate control, lighting, etc.. The company has already provided code samples that can be used in MCUXpresso, Keil, and IAR IDEs, as well as a datasheet, and a user guide for the microcontrollers on the product page.

Click to Enlarge

NXP also unveiled LPCXPresso845-MAX development board (OM13097) to help quickly evaluating the new MCUs. The board comes with the following key features:

  • LPC845 MCU
  • On-board CMSIS-DAP (debug probe) with VCOM port, based on LPC11U35 MCU
  • Debug connector to allow debug of target MCU using an external probe
  • Red, green and blue user LEDs;  Target ISP and user/wake buttons; Target reset button
  • LPCXpresso expansion connector
  • DAC output via speaker driver and speaker
  • Arduino connectors compatible with the “Arduino UNO” platform
  • Pmod compatible expansion header
  • Prototyping area

NXP did not disclose pricing for LPC84x MCUs, but it should be priced competitively against 8-bit micro-controllers. LPCXpresso845-MAX development board (OM13097) can be purchased for $19 directly on NXP website.

Mini Review of Nextion Enhanced NX8048K070 7″ Display with Enclosure for HMI Applications

June 21st, 2017 2 comments

I reviewed some Nextion touchscreen a while ago. Those were 2.4″ and 5″ serial TFT displays with optional resistive touch support that could be used in standalone mode, or connected to an MCU board over UART to control external hardware. The user interface could be designed and emulated in Windows based Nextion Editor program before uploading it to the display via UART or micro SD card. ITEAD Studio has recently launched Nextion Enhanced NX8048K070 family of 7″ displays with resistive or capacitive touch panels, and support for GPIOs. The company sent me the capacitive model with enclosure for evaluation, so I’ll have a quick look at the hardware and Nextion Editor in this mini review.

Nextion Enhanced NX8048K070_011C Unboxing

I received it in a package from “ITEAD intelligent solutions” with basic description with

  • Model: NX8048L070_011C with enclosure
  • Outside dimensions : 275 x 170 x 50 mm (That’s the package dimensions)
  • Product size: 218 x 150 x 22.5 mm
  • Gross weight: 0.598kg

Click to Enlarge

The display comes with a UART cable, or small micro USB power board, and a wall mounting kit.

Click to Enlarge

If we check the other side of the display, we’ll find the UART connector on the left, a micro USB slot on the bottom right, and the GPIO connector that inconveniently requires a flat cable, so you’d have to make your own board to connect external hardware, or purchase the company’s $5 expansion board, which is not included in the kit by default. There’s also the almost-compulsory typo found on many devices made in China: “Human Mechine Interface”.

Click to Enlarge

The thickness is indeed 22 mm, but if you fully embed the display into a wall, the visible thickness will be 6 mm.

You may have to open the bottom cover, as you’ll need to add a battery in case you want to use the RTC function.

Click to Enlarge

Let’s have a look an the main IC while we have the case open:

I close the case back, and power the display via the micro USB power supply board, and a USB power adapter.

Click to Enlarge

It’s a simple demo with a background image, some text, a slider, and 4 different pages, which I’ll demonstrate below after doing some simple modifications.

Nextion Editor and NX8048K070 Demo Sample

Nextion Editor is a Windows program, but a while ago, I was told it also worked with Wine in Ubuntu. So I downloaded the latest version (v0.47), and while the installation started, it eventually failed in Ubuntu 16.04. So I reverted to using Windows 7 in VirtualBox. I also downloaded and extracted Enhanced_Nextion_5.0-7.0_Demo.zip found at the bottom of Wiki page, which I then opened from Nextion Editor.

Click to Enlarge

The user interface will allow you to add various items from the Toolbox including text, scrolling text, numbers, buttons, pictures, progress bars, gauges, check boxes, and so on. As with the previous version, you’ll also need to import and convert font with a fixed size. The demo already has four of those defined. You can also add and link several pages with 4 pages used in the demo, and the Attributes section is used to defined parameters for the selected item

Click to Enlarge

I just added text. It should have been easy, but I was very confused at the beginning, since nothing would show up when I clicked on “Text” in toolbox. I could change the attributes, but the text would not be displayed. I went back to check the old review, and I used “Add Component” menu in Nextion v0.30 at the time, but that menu does not exist anymore. Finally, I noticed the 800×480 display was not shown completely, on the text was located on the top left of the UI. I delete the dozen text items I had created, and added “CNXSoft was here!” at the end of the list. The user interface is not really intuitive, so I’d still recommend to read the user guide, even some of the parts are outdated, as it should help getting started, and they have examples with Arduino. To control GPIOs on the display, you’d need to use cfgpio code.  In case, you run into troubles because the documentation is not quite as good as expected, you can always try your luck in the forums.

You can click on Compile to check for errors in your user interface, and then Debug to launch the simulator.

This will allow you to test the UI as if it was running in the display itself. You can even send keyboard or MCU commands. Once you are happy with the results, click on Operation->Upload to Nextion to upload the UI to the display. I had some troubles getting the display work when I connected it through my serial debug board via USB hub (the display would blink), but the problem was solved by connecting it directly to the USB power from my computer. The upload still failed as the demo is configured for the 5.0″ board, and it correctly detected a 7.0″ board. The fix was easy, as I just had to select Device ID, and change NX8048K050_011 to NX8048K070_011.

Click to Enlarge

After that the upload could start with the Nextion display properly detected.

It took 6 minutes and 35 seconds to upload the ~4MB user interface to the display, so it’s not really fast. That mean if you have  ~32MB UI, it would take close to 50 minutes. In that case, it would be much faster load the UI from the micro SD card. In that case, you need to copy the .tft file found via Nextion->File->Open build folder.

Here’s a quick overview and demo.

Nextion Enhanced 7″ display can be purchased for $88 with resistive touch and $108 with capacitive touch.

Nextion Enhanced NX8048K070 is a 7″ Resistive or Capacitive Programmable Touch Display with an Optional Enclosure

May 15th, 2017 No comments

Nextion displays are designed to be controlled by MCU boards with the user interface designed in Nextion Editor drag-and-drop tool. ITEAD Studio launched them in 2015, and I played with Nextion 2.4″ and 5.0″ models, but at the time, I found the Windows only Nextion Editor program not to be that user-friendly and inconvenient to use, as for example, UI designs do not automatically scale across all display sizes. The company is now back with a 7″ model, available with resistive or capacitive touch panel, and featuring an ARM7 processor exposing 8 GPIOs.

Nextion Enhanced NX8048K070 (_011) specifications:

  • CPU – ARM7 processor @ 108 MHz with 8K RAM, 1024 EEPROM, 1024 bytes instruction buffer
  • Storage – 32MB flash memory, micro SD card slot
  • Display – 7″ TFT display with resistive or capacitive panel; resolution: 800×480; 65K colors; adjustable brightness: 0 to 230 nit
  • Expansion – 8x GPIOs including 4x PWM, 4-pin serial interface to MCU board
  • Misc – Built-in RTC + battery slot
  • Power Supply – 5V/2A through micro USB to 2-pin power board
  • Dimensions – Display + board only: 181 x 108 mm; enclosure: 218 x 150 x 22.50 mm
  • Weight – Display + board only: 268 g; with enclosure: 598 grams

The display can work in standalone mode controlling external hardware through the 8 GPIOs, or connected to an MCU board over serial. You’ll find a few more technical details in the Wiki. The UI designed in Nextion Editor is stored in the flash memory or micro SD card, and the MCU board can receive / send commands to get user input/update the display. Nextion Editor is still a Windows only program, but if my memory serves me well, it can also work with Linux through Wine using a /dev/ttyUSB0 to COM1 redirect.

There are four models: NX8048K070_011N without touch support (no sold for now), NX8048K070 with resistive touch sold for $81.90, as well as NX8048K070_011C and NX8048K070_011R both sold with enclosure, and either resistive or capacitive touch respectively for $88.00 and $108.00. It appears the model without enclosure has been selling for a few months already, and the models with enclosure are new.

Categories: Hardware Tags: display, itead studio, mcu, nextion

MCUBoot is an Open Source Secure Bootloader for IoT / MCUs

May 15th, 2017 5 comments

Bootloaders takes care of the initial boot sequence on the hardware before the operating system takes over. For example, U-boot is often used in embedded systems as the bootloader before starting the main operating systems such as Linux or FreeBSD. MCUBoot is also a bootloader, but it targets the IoT, here referring to MCU based systems with limited memory and storage capacity, and is born out of work on Apache Mynewt OS, when developers decided to develop the bootloader separately from the operating system.

MCUBoot is designed to run on small & low cost systems running on MCU with ~512 KB flash, ~256 KB RAM, and currently supports Zephyr OS and Mynewt, with support for other RTOS also considered. Due to constraint the bootloader uses minimal features with a flash driver, a single thread, and crypto services. The project also aims at solving security and field firmware updates. To address the latter, the flash is partitioned in four sections, one for the bootloader, one “slot” with the primary image, a second slot for the firmware upgrade, and a Scratch partition to swap slots when an upgrade is needed. An image trailer at the end of each slot indicates the state of the slot.

You’ll find the source code in MCUBoot repository in Github, and you may want to watch the presentation at Linaro Connect Budapest 2017 for more details.

EEMBC IoT-Connect is a Family of Benchmarks Designed To Test the Power Efficiency of IoT Devices

April 14th, 2017 No comments

EEMBC, the Embedded Microprocessor Benchmark Consortium, has been providing benchmarks for embedded systems since 1996, including ULPBench helping to rank micro-controllers by their power efficiency. But with the Internet of Things gaining traction, it’s important to test more than just the MCU core’s power efficiency, and having a benchmark taking sensors and connectivity into account would be useful.

EEMBC EnergyBench Monitor showing Accumulated Energy while running UPLBench – Click to Enlarge

That’s exactly what EEMC IoT-Connect benchmark family aims for with the three main characteristics:

  • Provides flexibility to accommodate various communication protocols (e.g. Bluetooth, Thread, LoRa, WiFi)
  • Portable to work with any vendor’s microcontroller and radio-module products
  • Compatible with EEMBC ULPBench and EEMBC IoT-Secure benchmarks

The first benchmark of the family is IoTMark-BLE connectivity profile that supports Bluetooth (LE) MCUs. The benchmark requires fixed payload size, frequency of transmission, and transmit power, and performs a complete sequence of event ranging from sensor reading, to BLE notifications, and command write and CRC.

The IoT-Connect test infrastructure is completed, and supports IoTMark-BLE, but to access it, you’ll either need to license one or more benchmark suites, join the EEMBC Board of Directors, or an application-focused EEMBC subcommittee. There are also special licenses for faculty members colleges and universities.

The next IoT-Connect benchmark profile will be completed around Q4 2017 for another communication protocol which is yet to be decided between Wifi, Thread, and LoRA.

You can find more details on EEMBC’s IoT Connect product page.

NuMicro M2351 TrustZone Enabled ARM Cortex M23 MCU is Designed for Fingerprint Applications

March 21st, 2017 No comments

ARM Cortex-M23 & M33 ARMv8-M cores were unveiled at ARM Techcon 2016 last October. They are the first MCU class cores to support TrustZone technology for better security, and one of the first micro-controllers to feature the technology is Nuvoton’s NuMicro M2351 Cortex M23 MCU designed for fingerprint applications.

NuMicro M2351 MCU specifications

  • Processor Core – ARM Cortex-M23 ARMv8-M core @ up to 48 MHz
  • Memory – 96 KB embedded SRAM
  • Storage – Up to 512 KB embedded flash with dual bank mode supporting OTA firmware update, 32 KB Secure Boot ROM
  • Display IF – 8 COM x 40 SEG controller with internal charge pump for segment LCD panel
  • Peripherals – UART, SPI, I²C, GPIOs, USB and ISO 7816-3 for smart card reader.
  • Security features
    • TrustZone Technology
    • 8 Memory Protection Units (MPU)
    • 8 Security Attribution Units (SAU)
    • Implementation Defined Attribution Unit (IDAU)
    • 2 KB OTP ROM with additional 1KB lock bits
    • Hardware Crypto Accelerators
    • CRC calculation unit
    • Up to 6 tamper detection pins
    • 96-bit Unique ID (UID), 128-bit Unique Customer ID (UCID)
  • Operating Voltage – 1.62 to 3.6V
  • Low Power Modes –  Power-down mode with RTC turn on, RAM retention less than 2.0 uA, deep power-down mode with RAM retention less than 1 uA and fast wake-up via multiple peripheral interfaces

The flash support XOM (eXecution Only Memory) mode so that part of the code can only be execute but not read or copied by other tools. If you’ve followed ARM Trustzone for ARMv8-M webinar, you’ll now that there’s both non-secure and secure code on such platform, and in the case of M2351 the user interface runs in the “non-secure world”, while the fingerprint code runs in the “secure world”.

The micro-controller is expected to be used for IoT secure connections, fingerprint authentication, EMV card reader, security alarm system, smart home appliance, wireless sensor node device (WSND), auto meter reading (AMR) and portable wireless data collector.

The company was showcasing their MCU and evaluation board at Embedded World 2017.

Currently the processor’s package is fairly large, but in 3 to 4 months, a 3×3 mm WLCSP package will be available.

There’s no information about the new processor on Nuvotron’s Fingerprint Identification page yet, but I found a few more details on Embedded World Website.

Via ARMdevices.net

NXP Introduces Kinetis K27/K28 MCU, QorIQ Layerscape LS1028A Industrial SoC, and i.MX 8X Cortex A35 SoC Family

March 15th, 2017 3 comments

NXP pushed out several press releases with the start of Embedded World 2017 in Germany, including three new micro-controllers/processors addressing different market segments: Kinetis K27/K28 MCU Cortex M4 MCU family, QorIQ Layerscape LS1028A industrial applications processor, and i.MX 8X SoC family for display and audio applications, 3D graphic display clusters, telematics and V2X (Vehicle to everything).

NXP Kinetis K27/K28 MCU

Click to Enlarge

NXP Kinetis K27/K28 MCU family is based on an ARM Cortex-M4 core clocked at up to 150 MHz with FPU,and includes up to 1MB embedded SRAM, 2MB flash, and especially target portable display applications.

Kinetis K27/K28 MCUs share the following main features:

  • 2x I2S interfaces, 2x USB Controllers (High-Speed with integrated High-Speed PHY and Full-Speed) and mainstream analog peripherals
  • 32-bit SDRAM memory controller and QuadSPI interface supporting eXecution-In-Place (XiP)
  • True Random Number Generator, Cyclic Redundancy Check, Memory Mapped Cryptographic Acceleration Unit

K28 supports 3 input supply voltage rails (1.2V, 1.8V and 3V) + separate VBAT domain, implements a Power Management Controller supporting Core Voltage Bypass and can be powered by an external PMIC, and is available in 169 MAPBGA (9x9mm2, 0.65mm pitch) and 210 WLCSP (6.9×6.9mm2, 0.4 mm pitch) packages.

K27 supports 1.71V to 3.6V input voltage + separate VBAT domain, and is offered in 169 MAPBGA (9x9mm, 0.65mm pitch) package only.

Click to Enlarge

FRDM-K28F development board will allow you to play with the new MCUs’ capabilities. It features a Kinetis K28F microconroller, on-board discrete power management, accelerometer, QuadSPI serial flash, USB high-speed connector and full-speed USB OpenSDA. Optional add-on boards allows for USB-Type C, Bluetooth low energy (BLE) connectivity, and a 5” LCD display board with capacitive touch.

Software development can be done through MCUXpresso SDK with system startup code, peripheral drivers, USB and connectivity stacks, middleware, and real-time operating system (RTOS) kernels.

Kinetis K27/K28 MCU family will be start selling in April 2017. Visit NXP K2x USB page for more information.

QorIQ Layerscape LS1028A

LS1028A Block Diagram

NXP QorIQ Layerscape LS1028A SoC comes with two 64-bit ARMv8 core, support real-time processing for industrial control, as well as virtual machines for edge computing in the IoT. It also integrates a GPU and LCD controller enable Human Machine Interface (HMI) systems, and Time-Sensitive Networking (TSN) capabilities based on the IEEE 802.1 standards with a four-port TSN switch and two separate TSN Ethernet controllers.

The processor especially targets “Factory 4.0” automation, process automation, programmable logic controllers, motion controllers, industrial IoT gateway, and Human Machine Interface (HMI).

OEMs can start developing TSN-enabled systems using LS1021ATSN reference design platform based on the previous LS1021A processor in order to quickens time-to-market.The reference design provides four switched Gigabit Ethernet TSN ports, and ships with an open-source, industrial Linux SDK with real-time performance. Applications written for LS1021ATSN will be compatible with the LS1028A SoC since the API calls won’t change.

It’s unclear when LS1028A will become available, but it will be available for 15 years after launch, and you’ll find a few more details on the product page. You could also visit NXP’s booth (4A-220) at Embedded World 2017 to the reference design in action.

NXP i.MX 8X ARM Cortex-A35 Processors

Block Diagram of NXP i.MX 8X family

The last announcement will not really be news to regular readers of CNX Software, since we covered i.MX 8X processors last year using an NXP presentation. As previously known, i.MX 8X family comes with two to four 64-bit ARMv8-A Cortex-A35 cores, as well as a Cortex-M4F core, a Tensilica HiFi 4 DSP, Vivante hardware accelerated graphics and video engines, advanced image processing, advanced SafeAssure display controller, LPDDR4 and DDR3L memory support, and set of peripherals. The processor have been designed to drive up to three simultaneous displays (2x 1080p screens and one parallel WVGA display), and three models have been announced:

  • i.MX 8QuadXPlus with four Cortex-A35 cores, a Cortex-M4F core, a 4-shader GPU, a multi-format VPU and a HiFi 4 DSP
  • i.MX 8DualXPlus with two Cortex-A35 cores, a Cortex-M4F core, a 4-shader GPU, a multi-format VPU and a HiFi 4 DSP
  • i.MX 8DualX with two Cortex-A35 cores, a Cortex-M4F core, a 2-shader GPU, a multi-format VPU and a HiFi 4 DSP

The processors are expected to be used in automotive applications such as  infotainment and cluster, industrial control and vehicles, robotics, healthcare, mobile payments, handheld devices, and so on.

The i.MX 8QuadXPlus and 8DualXPlus application processors will sample in Q3 2017 to selected partners. More details may be found on NXP i.MX8X product page.

Ambiq Micro Introduces Ultra-Low Power Apollo 2 Cortex-M4F MCU Consuming Less than 10 μA/MHz

December 18th, 2016 1 comment

Last year Ambiq Micro unveiled their Apollo Cortex-M4F MCU with Cortex M0+ energy efficiency thanks to operation in sub-threshold voltage (< 0.5 V), and the MCU is said found in Matrix Powerwatch, a fitness tracker powered by body heat that you never need to charge. The company has recently announced a new version of the micro-controller with Apollo 2 MCU with better maximum performance thanks to a higher maximum clock speed (48 MHz vs 24 MHz), and higher efficiency (10 μA/MHz vs 30 μA/MHz @ 3.3V).

apollo-2-mcu

Apollo 2 MCU key features and specifications:

  • Ultra-low supply current
    • <10 μA/MHz executing from flash at 3.3 V
    • <10 μA/MHz executing from RAM at 3.3 V
  • ARM Cortex-M4 Processor up to 48 MHz with FPU, MMU, wake-up interrupt controller with 32 interrupts
  • Ultra-low power memory
    • Up to 1 MB of flash memory for code/data
    • Up to 256 KB of low leakage RAM for code/data
    • 16kB 1 or 2-way Associative Cache
  • Ultra-low power interface for off-chip sensors
    • 14 bit, 15-channel, up to 1.2 MS/s ADC
    • Voltage comparator
    • Temperature sensor with +/-2ºC accuracy
  • Serial peripherals – 6x I2C/SPI master,1x I2C/SPI slave,2x UART, PDM for mono and stereo audio microphone
  • Clock sources
    • 32.768 kHz XTAL oscillator
    • Low frequency RC oscillator – 1.024 kHz
    • High frequency RC oscillator – 48 MHz
    • RTC based on Ambiq’s AM08X5/18X5 families
  • Wide operating range – 1.8-3.6 V, –40 to 85°C
  • Package –  2.5 x 2.5 mm 49-pin CSP with 34 GPIO; 4.5 x 4.5 mm 64-pin BGA with 50 GPIO

The MCU promises weeks, months, and years of battery life thanks to Ambiq Micro’s patented Subthreshold Power Optimized Technology (SPOT) Platform. Apollo 2 will be suitable for battery operated devices, or even batteryless devices leveraging energy harvesting such as wireless sensors, activity and fitness trackers, consumer medical devices, smart watches, and smart home/IoT devices.

Documentation and devkits are available but you’d need to contact the company to learn more. Ambiq Micro’s Apollo 2 is currently sampling to some partners, and will be sampling more broadly in the coming months. A few more details may be found on Ambiq Micro Apollo 2’s product page.