Tag Archives: ARM

The Atmel-ARM connection

Atmel currently offers the broadest portfolio of MCUs (microcontroller units) based on the two most popular 8- and 32-bit architectures – AVR and ARM. 

“Flexible, highly integrated Atmel ARM-based MCUs are designed to optimize system control, user interface (UI) management and ease of use,” Atmel Digital Marketing Manager Tom Vu told Bits & Pieces.

atmelarm1

“Indeed, the ARM Cortex-M3 and M4 based architectures share a single integrated development platform (IDP)—Atmel Studio 6. This platform provides time-saving source code with more than 2,000 example projects, access to debuggers/simulators, integration with Atmel QTouch tools for capacitive touch applications and access to the Atmel Gallery online apps store for embedded software or extensions.”

Vu also noted that Atmel’s ARM-based MPUs range from entry-level devices to advanced integrated devices with extensive connectivity, refined interfaces and a plethora of security options.

“Whether you are working on new, existing or legacy designs, a wide range of Atmel ARM-based devices provides the latest features and functionality. These devices also feature the lowest power consumption, a comprehensive set of integrated peripherals and high-speed connectivity,” he added.

As previously discussed on Bits & Pieces, Atmel’s SAM4 and SAMA5D3 ARM-based MCUs are used to power a number of industrial and consumer devices including thermostats, remote process control nodes, smart glucose meters, gateway concentrators, bar-code scanners and portable outdoor equipment.

atmel1

Earlier this week, Atmel rolled out its SAM D20 MCU, a comprehensive product lineup based on ARM’s Cortex -M0+. Essentially, the new microcontroller series combines the performance and energy efficiency of an ARM Cortex-M0+ based MCU with an optimized architecture and peripheral set and 8-bit AVR for ease of use – enabling Atmel to reach new markets.

According to Atmel engineering manager Bob Martin, the SAM D20 offers a “truly differentiated” general-purpose lineup that is ideal for a wide range of low-power, cost-sensitive devices, including GPS trackers, appliance controllers, intelligent remotes and optical transceivers.

atmel4

“The SAM D20’s power-saving techniques include an event system that allows peripherals to communicate directly with each other without involving the CPU, while SleepWalking peripherals wake up the CPU only upon a pre-qualified event, reducing overall power consumption,” Martin told Bits & Pieces.

“In terms of peripheral flexibility, a serial communication module (SERCOM) is fully software configurable to handle I2C, USART/UART and SPI communications. Meaning, with multiple SERCOM modules on a device, designers can precisely tailor the peripheral mix to their applications.”

Bits & Pieces also asked Andreas Eieland, Atmel Sr. Product Marketing Manager, to describe his favorite SAM D20 features.

“Personally, I like the Peripheral Touch Controller and SERCOM. The PTC is by far the easiest way to add capacitive buttons, sliders wheels and proximity to an application. Plus, there is no need for external components and very little SW overhead, as the module is self calibrating – supporting up to 256 channels,” said Eieland.

“Previously, if you wanted 4 UARTs you had to buy a device equipped with 4SPIs and 4 I2Cs. However, the SAM D20’s SERCOM module allows users to configure the SERCOMs to what they need, meaning devs no longer have to pay for serial interfaces they do not use. Lastly, the SERCOM module is fitted with a multiplexer, offering flexibility in regards to what pin different signals are outputted on, thereby simplifying board layout and reducing board area.”

Meanwhile, Brian Hammill, Atmel Sr. Staff Field Applications Engineer, said he most appreciates the SAM D20’s high end analog to digital converter feature.

“The hardware averaging feature facilitates oversampling, making high resolution at sample rates that apply to many real-world sensor requirements reality without extra software overhead,” he explained,

atmel3

“Sensor nodes in the Internet of Things (IoT) collectively generate a tremendous amount of data. When you’ve got that much data, it had better be good. And reducing the CPU cycles cuts energy use, especially important in applications that use energy harvesting or are battery powered.”

Bump up your Atmel Studio

Written by Johannes Bauer, ARM

With Atmel Studio, Atmel has one of the best free development tools for ARM-based microcontrollers on the market.

Its slick IDE and the smooth integration of the Atmel Software Framework (ASF) makes it a good choice for users of the SAM3, SAM4, and the brand-new SAM D20 devices. One thing some might be missing, though, is a top-notch compiler.

Thankfully, there is a solution in the Atmel Gallery – the Keil MDK-ARM Toolchain extension. It allows Atmel Studio to use the highly optimizing ARM Compiler with its best-in-class code density and high performance for a wide range of applications. The extension requires an installation of Keil MDK-ARM, but makes the integrated compiler available transparently in Atmel Studio.

The ARM Compiler provides two run-time C/C++ library variants: a full ANSI compliant library and a Microlib for utmost code density on small microcontrollers like the Cortex-M0+ based SAM D20. You can give it a spin and see how your code size improves.

As a perfect match for the extension, ARM has recently introduced the MDK-ARM Atmel Edition, or MDK-Atmel for short. This special edition of the industry-standard Keil MDK supports compiling and debugging for ARM-based Atmel MCUs and is available at a reduced price compared to the full version of MDK. Of course you can also use MDK-Atmel stand-alone without Atmel Studio if you prefer that.

Together, the ARM development tools and Atmel software and hardware make a good combination for developers, no matter which environment they work in.

Atmel’s SAM D20 can power this next-gen appliance UI control unit

An appliance user interface (UI) enables easy control of items such as washing machines and dishwashers, while providing visual and audio feedback in real-time. The UI accomplishes this by communicating with various subsystems, including motor controllers and wireless modules.

samd20appliancecontroller

Key design considerations of a next-gen UI include capacitive touch, as well as full compliance with safety and energy standards such as EMC, IEC 60730 Class B, FMEA and EnergyStar.

As noted above, the UI is in constant communication with multiple subsystems such as dedicated modules that control motor tasks like drum rotation and compressor drives – or modules that offer wireless capabilities for linking home automation, remote control units and diagnostic tools.

A number of Atmel components can be used as a platform to help power a next-gen appliance UI control unit – supporting all of the above-mentioned features. These include the SAM D20 ARM Cortex-M0+based MCU, 86RF233 or AT86RF212 IEEE802.15.4 ZigBee radios, various MCUs for motor control, SHA204 Authentication IC for security, 30TS temperature sensor and AT24/AT25 Serial EEPROM.

“The SAM D20 offers an integrated UI, eases standards compliance and supports multiple communications interfaces, which reduces BOM cost and board space, increasing system reliability,” Atmel engineering rep Bob Martin told Bits & Pieces.

“In addition, there is hardware support for self and mutual-capacitive touch interfaces with up to 16×16 channels requiring virtually no external components. All of this enables quick response to touches in all power modes with high button count panels.”

Martin also noted that hardware-based 32-bit Cyclic Redundancy Check (CRC) and Memory BIST help customers achieve IEC 60730 Class B compliance, with EMC compliance eased by flexible PCB routing from SERCOM modules and integrated touch control. Plus, each of the 6 SERCOM interfaces can be configured as a USART, I2C or SPI to more efficiently communicate with multiple subsystems.

On the software side, the SAM D20 boasts an extensive development ecosystem, including Atmel Studio 6 (free IDE with compiler), free SW libraries of production-ready source code, a gallery open to extensions via Atmel’s app store and the SAM D20 Xplained Pro Kit – which offers an integrated programmer and debugger with connectors for expansion wings.

Additional information about the SAMD20 can be found here.

Atmel’s SAM D20 MCU goes live

Atmel has introduced the SAM D20, a comprehensive product lineup based on ARM’s Cortex -M0+. Essentially, the new microcontroller series combines the performance and energy efficiency of an ARM Cortex-M0+ based MCU with an optimized architecture and peripheral set.

samd20

According to Atmel engineering manager Bob Martin, the SAM D20 offers a “truly differentiated” general-purpose lineup that is ideal for a wide range of low-power, cost-sensitive devices, including GPS trackers, appliance controllers, intelligent remotes and optical transceivers.

“The SAM D20’s power-saving techniques include an event system that allows peripherals to communicate directly with each other without involving the CPU, while SleepWalking peripherals wake up the CPU only upon a pre-qualified event, reducing overall power consumption,” Martin told Bits & Pieces.

“In terms of peripheral flexibility, a serial communication module (SERCOM) is fully software configurable to handle I2C, USART/UART and SPI communications. Meaning, with multiple SERCOM modules on a device, designers can precisely tailor the peripheral mix to their applications.”

Meanwhile, the SAM D20’s QTouch Peripheral Touch Controller offers integrated hardware support for buttons, sliders, wheels and proximity – as well as supporting both mutual and self-capacitive touch (without the need for external components), along with noise tolerance and self-calibration.

Additional key hardware specs include high-precision, 12-bit analog and internal oscillators; 8 16-bit timer/counters; 32-bit real time clock and calendar; real-time performance; peripheral event system, as well as flexible clocking options and sleep modes.

As noted above, the SAM D20 lineup boasts 6 serial communication modules (SERCOM) that can be configured to act as an USART, UART, SPI or I2C. On the scalability side, Flash memory densities range from 16KB to 256KB, with devices available in 32-, 48- and 64-pin QFP and QFN package options. BGA and WLCSP options will be offered at a later date.

“In a nutshell, the SAM D20 family extends the lower end Atmel Cortex portfolio, closing the gap between the AVR XMEGA and the Cortex-M3 and Cortex-M4 products,” Martin explained.

“The SAM D20 – the first series in this new family – offers 48MHz operation (1.77 CoreMark/MHz), single-cycle IO access and supports a pin-toggling frequency up to 24MHz along with an 8-channel event system. In terms of low-power sipping, we’re looking at <150µA/MHz, ~2µA RAM retention and RTC as well as options between internal and external oscillators and on-the-fly clock switching.”

Additional information about Atmels’ s SAMD20 MCU series can be found here.

Designing a multi-purpose thermal label printer with Atmel’s SAMA5D3 eMPU

A thermal label printer produces fixed size labels (barcodes) for product identification and asset tracking. These printers are specifically designed for markets such as logistics, gaming, vehicle rental, pharmaceuticals and retail.

Primary design considerations of such a device include fast start-up printing, high resolution output and optimized printing speeds. A thermal label printer is also likely to feature Wi-Fi, Bluetooth and Ethernet, as well as a Flash disk, SDCard, RFID and various ports.

atmelthermallabelprinter

Atmel’s SAMA5D3 (ARM) Cortex-A5 based eMPU, along with the AT30TSE Serial EEPROM (+temp sensor) and ATtiny/AT42QT Touch ICs, can be used to build a multi-purpose thermal label printer that fulfills the above-mentioned design requirements.

“Atmel’s ATSAMA5D3 eMPU offers powerful CPU operating performance and a high level of integration to address the needs of high-end thermal label printers,” an Atmel engineering rep told Bits & Pieces.

“First off, the Cortex-A5 can be clocked up to 536MHz (850DMIPS). There is also 32KBytes D-Cache, 32KBytes I-Cache, 32-bit DDR2/LPDDR2, as well as a NAND Flash memory interface that facilitates fast boot times and high speed data storage. Meanwhile, an (additional) external 16-bit interface is available for external FPGA-based print engines, along with a high-speed SPI/UART/I2C to support high-speed thermal printer heads.”

The engineering rep noted that Atmel’s SAMA5D3-based platform boasts three fully independent HS USB Host/Device with on chip transceivers, along with three independent SDIO controllers supporting Wi-Fi, Bluetooth and SDCard/Flash disk storage. There is also an embedded Ethernet MAC 10/100 and Gigabit Ethernet MAC 10/100/1000.

“In terms of integration capabilities, we offer integrated SPI, TWI, USART, SSC, 10-bit ADC, SDIO and EBI – all of which facilitate connections to a number of components including a thermal printer head, RFID module, RS232, LCD module, multiple external Micro SD cards, external SDIO wireless modules, serial flash and temperature sensor,” the engineering rep added.

“Lastly, a 160 programmable I/O line supports multiple system peripherals and tasks, such as motors, ribbon, cutter, rewind, backlight, buzzer and sensors.”

On the software side of things, Atmel’s SAMA5D3 supports an extensive development ecosystem and offers Linux 3.6.6 OS support including sources, pre-built demos with installation scripts, build instructions, as well as a plethora of tips and tricks. Plus, the ATSAMA5D3x-EK offers free packages to enable rapid evaluation and coding.

Additional information about Atmel’s ATSAMA5D3 Cortex-A5 based eMPU can be found here.

Building a DIY open source PLC with Atmel’s SAM7S MCU

A Programmable Logic Controller (PLC) can best be described as a specially designed computer used to automate electromechanical processes, including control of machinery on factory assembly lines, amusement rides or light fixtures.

Unlike a typical, general-purpose computer, the PLC is designed for multiple inputs and output scenarios, varying temperature ranges, immunity to electrical noise, as well as resistance to vibration and impact.

It probably goes without saying that most industrial-ready PLCs aren’t exactly cheap for the masses – but what if someone wanted to make a DIY version for their own amusement or to automate basic tasks? Well, that is exactly Warwick did, building a pair of PLCs powered by Atmel’s SAM7S ARM chip (running at a cool 48 MHz).

As the Hack A Day crew notes, the smaller device boasts 10 digital inputs, 4 analog inputs, and 8 digital outputs, while the larger PLC is equipped with 22 digital ins, 6 analog ins and 16 digital outputs. In addition, the two DIY PLCs offer users a number of connectivity options, with USB, RS-232 and RS-485 ports.

In the videos above and below, you can see the large PLC tasked with operating as a bardcode scanner and as a device to continuously levitate a ping-pong ball. Meanwhile, the smaller PLC is used to light up LEDs.

Additional information about the DIY PLC hack can be found here with more data on Atmel’s SAM7S available here.

Smart urban aquaponics in West Oakland

We recently took a close look at how an organic aquaponic farmer living in South Carolina uses custom-built sensors based on Arduino boards to monitor the delicate balance between water and soil.

Living in West Oakland, Eric Maundu may be quite a distance from the Carolinas, but he is also a farmer, albeit in a landscape covered with freeways, roads, light rail and parking lots. There isn’t much arable land in West Oakland and empty lots are often filled with contaminated soil. So Maundu, who is also trained in industrial robotics, has turned to smart aquaponics.

Specifically, Maundu employs Arduino-based sensors to monitor water levels, pH and temperature, along with social media networks like Twitter and Facebook to provide alerts and updates in real time.

“I feel knowledge of electronics and software programming makes me a better farmer than just having a hoe. Gardens that can communicate for themselves using the Internet can lead to exchanging of ideas in ways that were not possible before,” Maundu told FairCompanies.

“I can test, for instance, whether the same tomato grows better in Oakland or the Sahara Desert given the same conditions. Then I can share the same information with farmers in Iceland and China.”

Maundu also runs Kijani Grows (“Kijani” is Swahili for green), a small startup that designs and sells custom smart aquaponics systems for growing food. According to Maundu, putting gardens online in cities is the only way to ensure farming remains viable to future generations of urban youth.

“The next generation; honestly I don’t see them having access to traditional farms so we have to start arming them with technologies where they can go colonize places like in West Oakland that no one uses, rooftops,” he explained.

“We [also] want them to start thinking about them from when they’re kids so as they use their computers, as they use their phones as they write those little ‘Hello [World!]’ programs to know that I can write ‘Hello Garden’ programs, to know that hey, I’m using my device to create food for me.”

As previously discussed on Bits and Pieces, Atmel microcontrollers are the silicon of choice for the Arduino platform, both in their AVR flavor and ARM varieties. Clearly, Arduino is continuing to democratize hardware in a way that allows anyone – young or old, engineer or not, rich or poor – to design anything they can imagine.

Designing a gateway with Atmel’s SAMA5D35 eMPU

A gateway can best be described as a device that enables communication between various classes of networks using multiple communication protocols and technologies. A concentrator performs an identical function as a gateway, although it is also capable of acting as an aggregation point for data in smart energy networks.

Key design considerations when building a gateway or concentrator include connectivity (both wired and wireless) to communicate between the different protocols and networks concurrently, as well as integration, high performance and security.

atmelgatewayconcentrator

Both concentrator and gateway can be designed using a number of Atmel components, including the SAMA5D35 Cortex-A5 (ARM) eMPU, AT86RF212 900MHz RF transceiver, AT86RF231/233 2.4GHz RF transceivers, ATPL220A Prime PLC controller, ATPL100A FSK PLC controller, ATSHA204 authentication IC and AT30TS temperature sensor.

“Atmel’s SAMA5D35-powered platform offers a highly integrated device with optimized performance and extensive connectivity peripherals to simplify product design and BOM. Connectivity is ensured via a number of integrated comm peripherals including SDIO, CAN, 10/100 Ethernet MAC Controller and a 10/100/1000 Gigabyte Ethernet MAC Controller with IEEE1588 support,” an Atmel engineer told Bits and Pieces.

“There is also an integrated External Bus Interface (EBI) for DDR2 support, a MLC/SLC NAND Controller (including ECC) for NAND Flash, a low-power Real Time Clock (RTC) that can be battery operated during outages and a Floating Point Unit (FPU) for energy calculations and data statistics. Last, but certainly not least, the above-mentioned Atmel platform – which is equipped with 160-Bits of OTP Fuses for secret storage and secure boot – supports a number hardware security functions, including TRNG, AES-256, TDES and SHA256.”

As expected, Atmel also provides Linux support for the ATSAMA5D35 eMPU, along with a full range of development tools, such as RTOS, middleware and support services, as well as free software packages like TCP/IP stacks and Wi-Fi drivers. Meanwhile, an Evaluation Kit facilitates code development of applications running on a ATSAMA5D35-based device.

Additional information about Atmel’s ATSAMA5D35 Cortex-A5 eMPU can be found here.

Maintaining a stable process control with Atmel’s SAMA5D3 eMPU

The concept of process control is typically associated with industry, as it enables mass production and regulation of multiple activities and facilities including oil refining, paper manufacturing, chemicals and power plants. Specifically, process control facilitates automation, allowing a relatively small staff of personnel to operate a complex process from a central control room.

The controller itself is tasked with ensuring predictable operation of functions such as logic, sequencing, timing, counting and algorithms. As such, design considerations must take a number of critical variables into account, including secure and reliable communication to ensure data integrity and encryption. In terms of connectivity, a broad range of interfaces are required to communicate with end nodes, a user interface (UI) and other control blocks.

atmelprocesscontrollersam

Atmel’s SAMA5D3 (ARM) Cortex-A5 based eMPU can be used to power such a controller along with additional Atmel components including the AT86RF231/232/233 RF Transceiver, ATZigBit RF Module and ATPL100A FSK PLC Controller.

“SAMA5D3 eMPUs boast high-bandwidth, hardware security and rich connectivity to address key design considerations for a process controller. First off, it offers high-bandwidth architecture for real-time and reliable operation, along with a fully integrated MMU and Floating Point Unit (VFP) for accelerated graphics processing,” an Atmel engineer told Bits & Pieces.

“The SAMA5D3 also features 64-bit internal bus architecture, 32-bit external bus interface (EBI) and supports up to 39 DMA channels to enhance real-time performance. Meanwhile, Secure Boot supports encrypted code storage – allowing authenticated start-up and secure field upgrades. Additional security features include Integrated Hardware Secure Hash Algorithm (SHA), True Random Number Generator (TRNG) and AES/DES Encryption Engines.”

On the connectivity side, Atmel’s SAMA5D3 (ARM) Cortex-A5 based eMPU lineup supports Fieldbus to End Nodes, Ethernet to Smaller PLC or I/O Devices, or Ethernet to HMI or Higher-Level Control. Additional key hardware specs include Gigabit EMAC with real-time stamping (IEEE 1588), 10/100 EMAC, three HS USB Ports, Dual CAN, three SDIO/SD/MMC, 7 UARTs and 6 SPIs.

In terms of software, Atmel’s SAMA5D3 offers an extensive development ecosystem with Linux 3.6.6 OS support, including sources, pre-built demos with installation scripts, build
instructions, as well as tips & tricks.

There are also in-house and third-party suppliers of modules, kits, UI solutions and OS/RTOS/Middleware, along with an ATSAMA5D3-EK Evaluation Kit that facilitates rapid evaluation and code development.

Additional information about Atmel’s SAMA5D3 eMPUs can be found here.

Building a high-end barcode scanner with Atmel’s SAMA5D31

High-end barcode scanners are typically designed to read 1-D, 2-D, matrix or QR barcodes. Such devices must be capable of achieving high performance with low power sipping – as well as rapidly processing and decoding large amounts of data.

Similarly, a high-end barcode scanner must ensure low latency and boast high-throughput architecture to minimize image capture time – all with a large buffer memory tasked with storing multiple images at the highest frame rate.

Atmel offers a number of versatile components that can be used as a platform for building a reliable high-end barcode scanner, including the SAMA5D31 Cortex-A5 based eMPU.

atmelbarcodescanner

“The SAMA5D31 brings high processing power, data throughput, and integration to address current barcode scanner design trends. This includes high performance with low power, less than 200mW at 536MHz operation, less than 0.5mW in low-power operating modes, and less than 2uA in backup mode for extended battery life,” an Atmel engineer told Bits & Pieces.

“There is also a Floating Point Unit (FPU) for accelerated image processing, integrated External Bus Interface (EBI) for DDR2/LPDDR2, along with support for up to 39 DMA channels (double buffering) to minimize CPU load and reduce real-time constraints. In addition, the SAMA5D31 boasts integrated serial peripherals – SPI, SDIO, I2C, USB and USARTS – for interfacing to communications modules, as well as an Image Sensor Interface (ISI) for direct connection to CCD modules.”

In terms of software, Atmel’s SAMA5D3 lineup supports a rather expansive development ecosystem, such as Linux 3.6.6, Windows and Android 4.0. Support for the above-mentioned operating systems include sources, pre-built demos with installation scripts, build instructions, as well as various tips and tricks.

Additional support includes third-party suppliers for module kits, OS/RTOS/Middleware and UIs. And last, but certainly not least, the SAMA5D31-EK offers free S/W packages to facilitate rapid evaluation and code development.

More key data related to Atmel’s SAMA5D3 can be found here