IntroductionThe Case for an I/O ProcessorI/O System OptionsHost CPU InterfacesThe Stellaris AdvantageDevelopment and DebuggingArchitectureI/O Processor DesignFunctional DescriptionI/O Processor Example Source CodeConclusionReferencesCompany InformationSupport InformationAN01241-02 Copyright © 2006-2008 Luminary Micro, Inc.Using a Stellaris® Microcontrolleras an I/O ProcessorAPPLICATION NOTEApplication Note Using a Stellaris® Microcontroller as an I/O ProcessorOctober 28, 2008 2Legal Disclaimers and Trademark InformationINFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH LUMINARY MICRO PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN LUMINARY MICRO’S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, LUMINARY MICRO ASSUMES NO LIABILITY WHATSOEVER, AND LUMINARY MICRO DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF LUMINARY MICRO’S PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. LUMINARY MICRO’S PRODUCTS ARE NOT INTENDED FOR USE IN MEDICAL, LIFE SAVING, OR LIFE-SUSTAINING APPLICATIONS.Luminary Micro may make changes to specifications and product descriptions at any time, without notice. Contact your local Luminary Micro sales office or your distributor to obtain the latest specifications before placing your product order.Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Luminary Micro reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them.Copyright © 2006–2008 Luminary Micro, Inc. All rights reserved. Stellaris, Luminary Micro, and the Luminary Micro logo are registered trademarks of Luminary Micro, Inc. or its subsidiaries in the United States and other countries. ARM and Thumb are registered trademarks, and Cortex is a trademark of ARM Limited. Other names and brands may be claimed as the property of others. Luminary Micro, Inc.108 Wild Basin, Suite 350Austin, TX 78746Main: +1-512-279-8800Fax: +1-512-279-8879http://www.luminarymicro.comApplication Note Using a Stellaris® Microcontroller as an I/O ProcessorOctober 28, 2008 3Table of ContentsIntroduction......................................................................................................................................................... 4The Case for an I/O Processor........................................................................................................................... 4I/O System Options......................................................................................................................................... 5Host CPU Interfaces ....................................................................................................................................... 5The Stellaris Advantage...................................................................................................................................... 5Development and Debugging ......................................................................................................................... 5Architecture..................................................................................................................................................... 6I/O Processor Design...................................................................................................................................... 6Functional Description .................................................................................................................................... 7I/O Processor Example Source Code................................................................................................................. 8Conclusion........................................................................................................................................................ 13References ....................................................................................................................................................... 14Application Note Using a Stellaris® Microcontroller as an I/O ProcessorOctober 28, 2008 4IntroductionDespite best efforts to bring all I/O functions on-chip, high-end embedded microprocessors often need help when interfacing to peripheral circuits. These additional interface circuits have required programmable logic devices (PLDs), discrete logic, dedicated function integrated circuits (ICs), and 8-bit microcontrollers. Stellaris® microcontrollers offer several significant advantages over these I/O solutions.This application note covers background information on I/O processors, architectural considerations, and a practical implementation example. The design example uses a UART interface to add a PS/2 keyboard interface, I/O lines, and an audio beeper.The Case for an I/O ProcessorIn an ideal world, the high-end microprocessor used in a design would have the perfect mix of on-chip peripherals. The peripherals would be available at the desired pins and there would be no system latency issues. In reality, there are many factors to complicate I/O implementation. Table 1 lists the most common reasons to consider adding an I/O processor to a system.Using a Stellaris microcontroller as an I/O processor can address all common I/O system problems.Table 1. I/O Processor ConsiderationsI/O Interfacing Problem DescriptionSolved by I/O Processor?Pin-multiplexing conflict Two conflicting functions are needed from a single physical pin. YesLow-power considerations System has peripheral functions that must remain active while the microprocessor is in power-saving sleep mode.YesPin-count constraints Even with high pin-count BGA packaging, I/O pins may be in short supply.YesOperating-system latency Either operating-system latency exceeds the real-time requirements of the peripheral, or responding to thousands of real-time interrupts each second places an unacceptable load on performance.YesElectrical isolation It is often impractical to individually isolate each I/O channel, especially where analog signals are involved.YesWiring constraints I/O processors can significantly reduce inter-PCB wiring complexity. YesLogic levels Most microprocessors in this
View Full Document