Simplifying Crossbar and Peripheral Pin-Out Configuration for 32-Bit ARM-Based Microcontrollers

Similar documents
Selecting the Right MCU Can Squeeze Nanoamps out of Your Next Internet of Things Application

USB Audio Simplified

Design Challenges for Adding Relative Humidity Sensors

Figure 1. 8-Bit USB Debug Adapter

Digital Isolator Evolution Drives Optocoupler Replacement

AN111: Using 8-Bit MCUs in 5 Volt Systems

UG103.8 APPLICATION DEVELOPMENT FUNDAMENTALS: TOOLS

UG103.8: Application Development Fundamentals: Tools

ZigBee Technology Overview

Overcoming Challenges of Connecting Intelligent Nodes to the Internet of Things

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick

UG103-13: Application Development Fundamentals: RAIL

AN962: Implementing Master-Slave Timing Redundancy in Wireless and Packet- Based Network Applications

AN862. OPTIMIZING Si534X JITTER PERFORMANCE IN NEXT GENERATION INTERNET INFRASTRUCTURE SYSTEMS. 1. Introduction

AN803. LOCK AND SETTLING TIME CONSIDERATIONS FOR Si5324/27/ 69/74 ANY-FREQUENCY JITTER ATTENUATING CLOCK ICS. 1. Introduction

Silabs Ember Development Tools

CP2110-EK CP2110 EVALUATION KIT USER S GUIDE. 1. Kit Contents. 2. Relevant Documentation. 3. Software Setup

PAC52XX Clock Control Firmware Design

AN580 INFRARED GESTURE SENSING. 1. Introduction. 2. Hardware Considerations

UG129: ZigBee USB Virtual Gateway Reference Design (RD ) User's Guide

AN486: High-Side Bootstrap Design Using ISODrivers in Power Delivery Systems

APPLICATION. si32library. Callback CMSIS HARDWARE. Figure 1. Firmware Layer Block Diagram

TS1005 Demo Board COMPONENT LIST. Ordering Information. SC70 Packaging Demo Board SOT23 Packaging Demo Board TS1005DB TS1005DB-SOT

AN655 R ANGE TEST APPLICATION FOR EZRADIO AND EZRADIOPRO. 1. Introduction. 2. Supported Radio Types

AN922: Using the Command Line Interface (CLI) for Frequency On-the-Fly with the Si5346/47

How To Develop A Toolstick

Which ARM Cortex Core Is Right for Your Application: A, R or M?

Design Considerations in Adding USB Communications to Embedded Applications

AN952: PCIe Jitter Estimation Using an Oscilloscope

Simplifying Humidity Measurement with Single-Chip Relative Humidity and Temperature Sensor ICs

The new 32-bit MSP432 MCU platform from Texas

SMARTCARD XPRO. Preface. SMART ARM-based Microcontrollers USER GUIDE

AN104 I NTEGRATING KEIL 8051 TOOLS INTO THE SILICON LABS IDE. 1. Introduction. 2. Key Points. 3. Create a Project in the Silicon Labs IDE

Wireless Microcontrollers for Environment Management, Asset Tracking and Consumer. October 2009

Using DAVE with MDK Version 5

The Heartbeat behind Portable Medical Devices: Ultra-Low-Power Mixed-Signal Microcontrollers

QSG105 GETTING STARTED WITH SILICON LABS WIRELESS NETWORKING SOFTWARE

Maximizing Range and Battery Life in Low-Cost Wireless Networks

ZigBee-2.4-DK 2.4 GHZ ZIGBEE DEVELOPMENT KIT USER S GUIDE. 1. Kit Contents. Figure GHz ZigBee Development Kit

Low-Voltage/Low-Power MCU Solutions from Silicon Labs

PC Base Adapter Daughter Card UART GPIO. Figure 1. ToolStick Development Platform Block Diagram

QT1 Xplained Pro. Preface. Atmel QTouch USER GUIDE

Network connectivity controllers

Am186ER/Am188ER AMD Continues 16-bit Innovation

STM32L. Ultra-low-power Cortex -M3 devices

Tutorial for MPLAB Starter Kit for PIC18F

Any-Rate Precision Clocks

DKWF121 WF121-A B/G/N MODULE EVALUATION BOARD

AN588 ENERGY HARVESTING REFERENCE DESIGN USER S GUIDE. 1. Kit Contents. 2. Introduction. Figure 1. Energy Harvesting Sensor Node

Developing Embedded Applications with ARM Cortex TM -M1 Processors in Actel IGLOO and Fusion FPGAs. White Paper

C8051F020 Utilization in an Embedded Digital Design Project Course. Daren R. Wilcox Southern Polytechnic State University Marietta, Georgia

Embedded Component Based Programming with DAVE 3

USER GUIDE EDBG. Description

Figure 1. STM32F429 Discovery board: STM32F429I-DISCO

AN LPC1700 timer triggered memory to GPIO data transfer. Document information. LPC1700, GPIO, DMA, Timer0, Sleep Mode

Production Flash Programming Best Practices for Kinetis K- and L-series MCUs

Making Prototyping Boards for the EFM32 kits

Software User Guide UG-461

ETRX3USB ETRX3USB-LRS ETRX3USB+8M ETRX3USB-LRS+8M PRODUCT MANUAL

How To Use A Watt Saver On A Microcontroller (Watt Saver) On A Cell Phone Or Mp3 Player

Complete Integrated Development Platform Copyright Atmel Corporation

Lecture N -1- PHYS Microcontrollers

Introduction to Silicon Labs. November 2015

DAC Digital To Analog Converter

Introducing a platform to facilitate reliable and highly productive embedded developments

STEPPER MOTOR SPEED AND POSITION CONTROL

Developing an Application on Core8051s IP-Based Embedded Processor System Using Firmware Catalog Drivers. User s Guide

AN4646 Application note

Lab 1 Course Guideline and Review

Java Embedded Applications

STM32 F-2 series High-performance Cortex-M3 MCUs

RC2200DK Demonstration Kit User Manual

Block 3 Size 0 KB 0 KB 16KB 32KB. Start Address N/A N/A F4000H F0000H. Start Address FA000H F8000H F8000H F8000H. Block 2 Size 8KB 16KB 16KB 16KB

Implementing a Digital Answering Machine with a High-Speed 8-Bit Microcontroller

7a. System-on-chip design and prototyping platforms

UPS PIco. to be used with. Raspberry Pi B+, A+, B, and A. HAT Compliant. Raspberry Pi is a trademark of the Raspberry Pi Foundation

PICNet 1. PICNet 1 PIC18 Network & SD/MMC Development Board. Features. Applications. Description

Glitch Free Frequency Shifting Simplifies Timing Design in Consumer Applications

TWR-KV31F120M Sample Code Guide for IAR Board configuration, software, and development tools Rev.0

RoHs compliant, Pb-free Industrial temperature range: 40 to +85 C Footprint-compatible with ICS , 2.5, or 3.3 V operation 16-TSSOP

Microtronics technologies Mobile:

Using Altera MAX Series as Microcontroller I/O Expanders

Selection Criteria for ZigBee Development Kits

QSG108: Blue Gecko Bluetooth Smart Software Quick-Start Guide

Figure 1 FPGA Growth and Usage Trends

AN0822: Simplicity Studio User's Guide

ES_LPC4357/53/37/33. Errata sheet LPC4357/53/37/33. Document information

VON BRAUN LABS. Issue #1 WE PROVIDE COMPLETE SOLUTIONS ULTRA LOW POWER STATE MACHINE SOLUTIONS VON BRAUN LABS. State Machine Technology

UG103.9 EMBER APPLICATION DEVELOPMENT FUNDAMENTALS: ZLL

Android Application Development and Bluetooth Technology

Application Note: AN00141 xcore-xa - Application Development

AVR127: Understanding ADC Parameters. Introduction. Features. Atmel 8-bit and 32-bit Microcontrollers APPLICATION NOTE

Open Architecture Design for GPS Applications Yves Théroux, BAE Systems Canada

Lab Experiment 1: The LPC 2148 Education Board

Changing the embedded development model with Microsoft.NET Micro Framework

Embedded Development Tools

BUILD VERSUS BUY. Understanding the Total Cost of Embedded Design.

The Energy Harvesting Tipping Point for Wireless Sensor Applications

Transcription:

Simplifying Crossbar and Peripheral Pin-Out Configuration for 32-Bit ARM-Based Microcontrollers The process of evaluating 32-bit microcontroller options for a new embedded design can be tedious and time-consuming. During the evaluation process, embedded developers often must learn how to configure and use each new MCU s general-purpose input/output (GPIO) pins and peripherals. As 32-bit MCUs become more complex, the degree of configurability for each GPIO pin and peripheral increases significantly. A highly configurable GPIO and peripheral set should give developers additional design flexibility instead of adding design hurdles. Having access to an easy-to-use configuration interface paired with software tools that graphically configure a device s pin-out and peripherals enables embedded developers to quickly determine an application s pin-out options and generate initialization code. Let s take a closer look at how a microcontroller configuration utility with an intelligent graphical user interface (GUI) can ease the application development process and ultimately accelerate time-to-market. Once an application s design specification is complete, the developer can assess potential MCUs to use in the design. Given that ARM has become a de facto standard for 32-bit MCUs, many new MCU options now incorporate ARM Cortex CPUs. Although an MCU may meet the developer s specifications in terms of code space, RAM, peripherals and analog functionality, the microcontroller must also be capable of physically pinning out all needed functions. If every peripheral or function was available on every port pin without any limitations, the developer would need to review only the specifications. In most cases, however, the MCU s peripherals are multiplexed on various port pins, and it is the developer s responsibility to determine if the microcontroller can be configured in a way that meets the design requirements. Ideally, developers will select a microcontroller with highly configurable port pins, enabling them to choose smaller, less expensive devices for their application needs. Additional configuration flexibility also makes it easy for developers to make last-minute changes to a design. One of the latest additions to the ARM Cortex-based MCU market the Precision32 MCU family from Silicon Laboratories offers an easy-to-configure dual-crossbar architecture that provides developers with this pin-out flexibility. The dual-crossbar architecture allows the developer to assign a mix of digital and analog functions to GPIO pins. As developers begin to evaluate potential 32-bit candidates for their embedded applications, they must learn how to configure and use various microcontroller products and associated tool chains. This is often a time-consuming task. Providing developers with an easy-to-use graphical configuration tool that allows them to determine a device s available pin-outs and quickly generate initialization code will significantly reduce the total development time. For example, to help embedded designers accelerate development with Precision32 MCUs, Silicon Labs offers a GUI-based AppBuilder software tool that enables developers to easily configure port pins and peripherals while providing a snapshot of where the pin functionality will appear on the MCU package and which peripherals are configured for use. The following figure shows a sample printout generated by the AppBuilder tool. Silicon Laboratories, Inc. Rev 1.0 1

Figure 1. Example of Peripheral Pin Outs with AppBuilder Tool Using the AppBuilder tool, developers can easily change pin configurations and immediately see how these changes affect other pin functions in real time. This GUI-based pin configuration capability is extremely helpful if the developer is starting a board design in parallel with code development. For example, the firmware developer can provide a printout of potential pin-out options to be evaluated by the hardware designer. In an effort to reduce overall system cost, the hardware designer then selects the pinout that results in the simplest printed circuit board (PCB) layout and the smallest number of board layers. In addition, the AppBuilder tool enables developers to easily see and assess the feasibility of last-minute pin out changes. Another significant advantage of using a graphical tool for pin configuration is that it eliminates the need for pin configuration code development and abstracts any complexity that may exist within pin configurations. As changes are made to the pin-out or pin configuration, the tool automatically generates the corresponding code. The following figure shows an example of the pin configuration code generated by AppBuilder software. In Figure 2, the pin configuration code uses functions defined in the Hardware Access Layer, which is part of the Precision32 Software Development Kit (SDK) and provides an access layer for device registers. Silicon Laboratories, Inc. Rev 1.0 2

Figure 2. Configuration Code Generated by the AppBuilder Tool In addition to generating code, a pin configuration tool should be intelligent enough to prompt the user for any errors or warnings detected. For example, if the user incorrectly configures a pin for digital mode when the pin is selected as an analog input to the analog-to-digital converter (ADC), the tool should prompt the user to fix the issue with an automatic notification that an analog pin is currently configured for digital mode. The AppBuilder tool, for example, provides an error list for any detected errors. Double-clicking on any error then takes the user to the configuration setting that is incorrect and highlights it in red. Once any detected conflicts are resolved, errors are automatically removed from the error list. This same feature is not limited to pin configuration but also exists for peripheral configuration. For example, if the developer configures the I2C0 module for use but forgets to enable the clock gate to the I2C0 module, AppBuilder will generate an error notification. Figure 3. Example of AppBuilder Error List If the user double-clicks the error, the tool automatically brings up the parameter that must be changed and highlights it in red. If the error, as shown in Figure 3, is double-clicked, the Clock Control Configuration window will open with the I2C0 clock enable selector highlighted in red. Checking the I2C0 box within the Clock Control Configuration window removes the error from the error list window. Figure 4. Clock Control Configuration with I2C Error Without access to a graphical tool for configuration, a developer may need to spend a significant amount of time debugging a configuration, especially if the error is a single-bit setting. By using a graphical Silicon Laboratories, Inc. Rev 1.0 3

configuration tool, errors are automatically highlighted, and the developer can spend his or her energy and time on further development instead of debugging. Configuring microcontroller peripherals poses another obstacle for developers. Without the assistance of a software configuration tool, this step is typically a tedious process. Developers need to read through lengthy data sheets and reference manuals to determine which bits within a peripheral must be configured to achieve the desired setting. This is a tedious process for developers, especially when simultaneously evaluating several MCUs from multiple vendors. However, with the help of a software tool, such as AppBuilder, developers can easily see all of the configurable parameters and change configurations as needed. The AppBuilder tool, for example, enables quick configuration through check boxes, drop-down fields and text-boxes. Figure 5. Example of Simplified Configuration with AppBuilder Tool As with the port configuration, any peripheral settings will automatically generate the corresponding configuration code, and the peripheral configuration errors are highlighted in the error list window. AppBuilder software also enables developers to graphically configure the advanced high-speed bus (AHB) and advanced peripheral bus (APB) clock sources. Figure 4 shows AppBuilder s Clock Control Configuration window. As a result, there is no need for any configuration code development. The developer can perform all of the initial startup configuration within the tool, which further reduces overall development time. At this point in the development process, the port pins, peripherals and clock sources are configured within the software tool, and the developer is now ready to move on to writing firmware to implement the application. At a bare minimum, a software configuration tool should output the generated files that can then be imported or added to an existing project. However, with the AppBuilder tool, the system configuration can be exported into a new project that can open automatically after exporting the source to a project. Once the new project is open within an integrated development environment (IDE), the developer can begin adding firmware and testing the applications. The AppBuilder tool allows developers to start from scratch and end with a new project with automatically generated code that configures the microcontroller for use opened in an IDE and ready for further development. Silicon Laboratories, Inc. Rev 1.0 4

Final Considerations When evaluating a microcontroller platform for a new embedded design, developers should select a solution that includes GUI-based software tools that streamline and automate the prototyping and configuration process. Next-generation GUI-based software tools, such as Silicon Labs AppBuilder, can help developers configure the port pins and peripherals of a 32-bit microcontroller quickly and easily, thereby speeding time-to-market. Once developers have identified potential MCUs that meet the specifications of their applications, they can use GUI-based tools to determine valid pin-out options. If the developer identifies more than one valid microcontroller option, candidate pin-outs can be provided to the hardware designer who can choose the pin-out that will result in the simplest PCB layout. To further eliminate design complexity, peripherals, clocks and port pins can all be configured using the graphical interface. Rapid prototyping utilities like Silicon Labs AppBuilder tool enable developers to quickly and graphically configure a 32-bit microcontroller, often without having to read data sheets or learn register settings. To further simplify the design process, the AppBuilder tool also generates source code and a project that the developer can use as a starting point for their firmware development. Ultimately, GUI-based software configuration tools like AppBuilder provide an excellent resource for developers who want to reduce their overall design cost and complexity and speed time-to-market. # # # Silicon Labs invests in research and development to help our customers differentiate in the market with innovative low-power, small size, analog-intensive, mixed-signal solutions. Silicon Labs' extensive patent portfolio is a testament to our unique approach and world-class engineering team. Patent: www.silabs.com/patent-notice 2012, Silicon Laboratories Inc. ClockBuilder, DSPLL, Ember, EZMac, EZRadio, EZRadioPRO, EZLink, ISOmodem, Precision32, ProSLIC, QuickSense, Silicon Laboratories and the Silicon Labs logo are trademarks or registered trademarks of Silicon Laboratories Inc. ARM and Cortex-M3 are trademarks or registered trademarks of ARM Holdings. ZigBee is a registered trademark of ZigBee Alliance, Inc. All other product or service names are the property of their respective owners. Silicon Laboratories, Inc. Rev 1.0 5