AN956. Migrating Applications to USB from RS-232 UART with Minimal Impact on PC Software OVERVIEW INTRODUCTION. Microchip Technology Inc.
|
|
|
- Jade Sims
- 10 years ago
- Views:
Transcription
1 Migrating Applications to USB from RS-232 UART with Minimal Impact on PC Software Author: INTRODUCTION Rawin Rojvanit Microchip Technology Inc. The RS-232 serial interface is no longer a common port found on a personal computer (PC). This is a problem because many embedded applications use the RS-232 interface to communicate with external systems, such as PCs. A solution is to migrate the application to the Universal Serial Bus (USB) interface. There are many different ways to convert an RS-232 interface to USB, each requiring different levels of expertise. The simplest method is to emulate RS-232 over the USB bus. An advantage of this method is the PC application will see the USB connection as an RS-232 COM connection and thus, require no changes to the existing software. Another advantage is this method utilizes a Windows driver included with Microsoft Windows 98SE and later versions, making driver development unnecessary. The objectives of this application note are to explain some background materials required for a better understanding of the serial emulation over USB method and to describe how to migrate an existing application to USB. A device using the implementation discussed in this document shall be referred to as a USB RS-232 emulated device. The author assumes that the reader has some basic knowledge of the USB standard. All references to the USB specification in this document refer to USB specification revision 2.0. Features in version 1.0 of the RS-232 Emulation firmware: A relatively small code footprint of 3 Kbytes for the firmware library Data memory usage of approximately 50 bytes (excluding the data buffer) Maximum throughput speed of about 80 Kbytes Data flow control handled entirely by the USB protocol (RS-232 XON/XOFF and hardware flow control are omitted in this version) Does not require additional drivers; all necessary files, including the.inf files for Microsoft Windows XP and Windows 2000, are included OVERVIEW A Windows application sees a physical RS-232 connection as a COM port and communicates with the attached device using the CreateFile, ReadFile, and WriteFile functions. The UART module on the PICmicro device provides an embedded device with a hardware interface to this RS-232 connection. When switching to USB, the Windows application can see the USB connection as a virtual COM port via services provided by two Windows drivers, usbser.sys and ccport.sys. In-depth details regarding these Windows drivers are outside the scope of this document. A virtual COM port provides Windows applications with the same programming interface; therefore, modification to the existing application PC software is unnecessary. The areas that do require changes are the embedded hardware and firmware. For hardware, a microcontroller with an on-chip full speed USB peripheral is required to implement this solution. The PIC18F2455/2550/4455/4550 family of microcontrollers is used here as an example. References to the device data sheet in this document apply to the PIC18F2455/2550/4455/4550 Data Sheet (DS39632). Firmware modifications to the existing application code are minimal; only small changes are needed to call the new USB UART functions provided as part of the USB firmware framework written in C. Figure 1 shows an overview of the migration path. Migrating to USB using the RS-232 serial emulation method provides the following advantages: It has little or no impact on the PC software application It requires minimal changes to the existing application firmware It shortens the development cycle time It eliminates the need to support and maintain a Windows driver which is a very demanding task Finally, the method described here utilizes a clear migration path from many existing PICmicro devices to the PIC18F2455/2550/4455/4550 family of microcontrollers, making the upgrade to USB straightforward Since the USB protocol already handles the details of low-level communication, the concept of baud rate, parity bit and flow control for the RS-232 standard becomes abstract Microchip Technology Inc. DS00956B-page 1
2 FIGURE 1: FUNCTIONALLY EQUIVALENT SERIAL COMMUNICATIONS Before Migration: Embedded Application After Migration: Embedded Application COM# RS-232 PIC16 or PIC18 COM# USB PIC18F4550 Traditional Method of Communication using RS-232 Continue using COM by Emulating RS-232 over USB USB CDC Specification The Communication Device Class (CDC) specification defines many communication models, including serial emulation. All references to the CDC specification in this document refer to version 1.1. The Microsoft Windows driver, usbser.sys, conforms to this specification. Therefore, the embedded device must also be designed to conform with this specification in order to utilize this existing Windows driver. The CDC specification describes an abstract control model for serial emulation over USB in Section In summary, two USB interfaces are required. The first one is the Communication Class interface, using one IN interrupt endpoint. This interface is used for notifying the USB host of the current RS-232 connection status from the USB RS-232 emulated device. The second one is the Data Class interface, using one OUT bulk endpoint and one IN bulk endpoint. This interface is used for transferring raw data bytes that would normally be transferred over the real RS-232 interface. Designers do not have to worry about creating descriptors or writing function handlers for Class-Specific Requests. Descriptors for a USB RS-232 emulated device and all required handlers for Class-Specific Requests listed in Table 4 of the CDC specification are provided with the Microchip USB CDC firmware. A diagram of the descriptors structure for a USB RS-232 emulated device can be found in Appendix A: CDC Descriptor Schema for Serial Emulation. An example of the CDC descriptors can also be found in Section 5.3 of the CDC specification. Class-Specific Requests and Notifications Microchip USB firmware implements the following Class-Specific Request handlers as listed in Table 4 of the CDC specification: SEND_ENCAPSULATED_COMMAND GET_ENCAPSULATED_COMMAND SET_LINE_CODING GET_LINE_CODING SET_CONTROL_LINE_STATE More support will be provided in subsequent versions of the USB UART firmware. Currently, the firmware does not return any RESPONSE_AVAILABLE notification but it returns a NAK instead to tell the host that no response is available. Refer to Sections , 6.2 and 6.3 of the CDC specification for more details. MICROCHIP USB FIRMWARE: USB UART FUNCTIONS All references to the USB UART functions in this document refer to functions provided in version 1.0 of the CDC firmware driver. This driver is provided as part of the Microchip USB firmware framework. The functions provided in this library are very similar in functionality to ones provided in the MPLAB C18 USART library. The specific functions are listed in Table 1. The choice of selecting which function to use depends on several factors: Is the string of data null-terminated? Is the length of the data string known? Is the data source located in program memory or in RAM? DS00956B-page Microchip Technology Inc.
3 TABLE 1: putrsusbusart SUMMARY OF THE USB UART FUNCTIONS putrsusbusart writes a string of data to the USB including the null character. Use this version to transfer literal strings of data, or data located in program memory, to the host. Note: Syntax: The transfer mechanism for device-to-host (put) is more flexible than host-to-device (get). It can handle a string of data larger than the maximum size of the bulk IN endpoint. A state machine is used to transfer a long string of data over multiple USB transactions. This background service is carried out by CDCTxService(). void putrsusbusart(const rom char *data) Precondition: musbusartistxtrfready() must return 1 before this function can be called. The string of characters pointed to by data must be equal to or smaller than 255 bytes, including the null-terminated character. Input: data Pointer to a null-terminated string of data. If a null character is not found, only the first 255 bytes of data will be transferred to the host. Output: Side Effects: Function putrsusbusart putsusbusart musbusarttxrom musbusarttxram musbusartistxtrfready getsusbusart mcdcgetrxlength Example: void example_1(void) putrsusbusart( Hello World. ); }//end example_1 rom char example_string[] = Microchip }; void example_2(void) putrsusbusart(example_string); }//end example_2 Description Write a null-terminated string from program memory to the USB. Write a null-terminated string from data memory to the USB. Write a string of known length from program memory to the USB. Write a string of known length from data memory to the USB. Is the driver ready to accept a new string to write to the USB? Read a string from the USB. Read the length of the last string read from the USB Microchip Technology Inc. DS00956B-page 3
4 putsusbusart putsusbusart writes a string of data to the USB including the null character. Use this version to transfer data located in data memory to the host. Note: Syntax: The transfer mechanism for device-to-host (put) is more flexible than host-to-device (get). It can handle a string of data larger than the maximum size of the bulk IN endpoint. A state machine is used to transfer a long string of data over multiple USB transactions. This background service is carried out by CDCTxService(). void putsusbusart(char *data) Precondition: musbusartistxtrfready() must return 1 before this function can be called. The string of characters pointed to by data must be equal to or smaller than 255 bytes, including the null-terminated character. Input: data Pointer to a null-terminated string of data. If a null character is not found, only the first 255 bytes of data will be transferred to the host. Output: Side Effects: Example: char example_string[4]; void example_1(void) example_string[0]= U ; example_string[1]= S ; example_string[2]= B ; example_string[3]=0x00; putsusbusart(example_string); }//end example_1 DS00956B-page Microchip Technology Inc.
5 musbusarttxrom Use this macro to transfer data located in program memory. The length of data to be transferred must be known and passed in as a parameter. The response of this function is undefined if it is called when musbusartistxtrfready() returns 0. Note: This macro only handles the setup of the transfer. The actual transfer is handled by CDCTxService(). Syntax: void musbusarttxrom(rom byte *pdata, byte len) Precondition: musbusartistxtrfready() must return 1 before this function can be called. Value of len must be equal to or smaller than 255 bytes. Input: pddata Pointer to the starting location of data bytes. len Number of bytes to be transferred. Output: Side Effects: Example: rom char example_string[] = 0x31,0x32,0x33}; void example_1(void) musbusarttxrom((rom byte*)example_string,3); }//end example_ Microchip Technology Inc. DS00956B-page 5
6 musbusarttxram Use this macro to transfer data located in data memory. The length of data to be transferred must be known and passed in as a parameter. The response of this function is undefined if it is called when musbusartistxtrfready() returns 0. Note: This macro only handles the setup of the transfer. The actual transfer is handled by CDCTxService(). Syntax: void musbusarttxram(byte *pdata, byte len) Precondition: musbusartistxtrfready() must return 1 before this function can be called. Value of len must be equal to or smaller than 255 bytes. Input: pddata Pointer to the starting location of data bytes. len Number of bytes to be transferred. Output: Side Effects: Example: char example_string[3]; void example_1(void) example_string[0] = U ; example_string[1] = S ; example_string[2] = B ; musbusarttxram((byte*)example_string,3); }//end example_1 DS00956B-page Microchip Technology Inc.
7 musbusartistxtrfready This macro is used to check if the CDC class is ready to send more data. Typical Usage: Note: Do not call this macro as a blocking function (i.e., while(!musbusartistxtrfready());). Syntax: BOOL musbusartistxtrfready(void) Precondition: Input: Output: BOOL If the firmware driver is ready to receive a new string of data to write to USB, it will return 1, else it will return 0. Side Effects: Example: void example_1(void) putrsusbusart( Microchip ); }//end example_ Microchip Technology Inc. DS00956B-page 7
8 getsusbusart getsusbusart copies a string of bytes received through USB CDC bulk OUT endpoint to a user s specified location. It is a non-blocking function. It does not wait for data if there is no data available. Instead, it returns 0 to notify the caller that there is no data available. Note: If the actual number of bytes received is larger than the number of bytes expected (len), only the expected number of bytes specified will be copied to buffer. If the actual number of bytes received is smaller than the number of bytes expected (len), only the actual number of bytes received will be copied to the buffer. Syntax: byte getsusbusart(char *buffer, byte len) Precondition: Value of input argument, len, should be equal to or smaller than the maximum endpoint size responsible for receiving bulk data from USB host for CDC class. This maximum endpoint size value is defined as CDC_BULK_OUT_EP_SIZE and is found in the file usbcfg.h. CDC_BULK_OUT_EP_SIZE could be equal to 8, 16, 32 or 64 bytes. Input argument buffer should point to a buffer area that is bigger or equal to the size specified by len. Input: buffer Pointer to where received bytes are to be stored. len The number of bytes expected. Output: byte The number of bytes copied to the buffer. Side Effects: Publicly accessible variable cdc_rx_len is updated with the number of bytes copied to buffer. Once getsusbusart is called, subsequent retrieval of cdc_rx_len can be done by calling macro mcdcgetrxlength(). Example: char input_buffer[64]; void example_1(void) byte index, count, total_sum; if(getsusbusart(input_buffer, 8) count = mcdcgetrxlength(); total_sum = 0; for(index = 0; index < count; index++) total_sum += input_buffer[index]; }//end if }//end example_1 void example_2(void) if(getsusbusart(input_buffer, CDC_BULK_OUT_EP_SIZE) // Do something }//end if }//end example_2 DS00956B-page Microchip Technology Inc.
9 mcdcgetrxlength mcdcgetrxlength is used to retrieve the number of bytes copied to user s buffer by the most recent call to getsusbusart function. Macro: byte mcdcgetrxlength(void) Precondition: Input: Output: byte mcdcgetrxlength returns the number of bytes copied to user s buffer from the last call to getsusbusart. Side Effects: Example: char input_buffer[64]; void example_1(void) if(getsusbusart(input_buffer, 2) // Do something with input_buffer[0] if(mcdcgetrxlength() == 2) // Do something with input_buffer[1] }//end if }//end example_ Microchip Technology Inc. DS00956B-page 9
10 Important Things to Know When Using the USB UART Functions While the provided USB UART functions greatly simplify the integration of USB into an application, there are still some considerations to keep in mind when developing or modifying application code. CODE DESIGN 1. The Microchip USB firmware is a cooperative multitasking environment. There should not be any blocking functions in the user code. As USB tasks are polled and serviced in the main program loop, any blocking functions that are dependent on the state of the USB may cause a deadlock. Use a state machine in place of a blocking function. 2. musbusarttxrom and musbusarttxram expect a data pointer of type rom byte* and byte*, respectively. Type casting may be necessary. 3. while(!musbusartistxtrfready()); is a blocking function. Do not use it. 4. putrsusbusart, putsusbusart, musbusarttxrom and musbusarttxram are not blocking functions. They do not send out data to the USB host immediately, nor wait for the transmission to complete. All they do is set up the necessary Special Function Registers and state machine for the transfer operation. The routine that actually services the transfer of data to the host is CDCTxService(). It keeps track of the state machine and breaks up long strings of data into multiple USB data packets. It is called once per main program loop in the USBTasks() service routine. (The state machine for CDCTxService() is shown in Appendix B: CDC State Machine.) Because of this, back-to back function calls will not work; each new call will override the pending transaction. The correct way of sending consecutive strings is to use a state machine, as shown in Example 1. An alternative to using a state machine is to use a global intermediate buffer, as shown in Example A correct set of descriptors for the CDC class must be used. Refer to the reference design project for an example. 6. The endpoint size for the data pipes are defined by CDC_BULK_OUT_EP_SIZE and CDC_BULK_IN_EP_SIZE, located in the header file usbcfg.h. Since these endpoints are of type bulk, the maximum endpoint size described must either be 8, 16, 32 or 64 bytes. 7. The type byte is defined as an unsigned char in the header file typedefs.h. 8. Always check whether the firmware driver is ready to send more data out to the USB host by calling musbusartistxtrfready(). EXAMPLE 1: CORRECT USE OF USB UART FUNCTION CALLS Incorrect Method (back-to-back calls): putrsusbusart( Hello World ); putrsusbusart( Hello Again ); }//end if Correct Method (state machine): byte state = 0; if(state == 0) putrsusbusart( Hello World ); state++; }//end if } else if(state == 1) putrsusbusart( Hello Again ); state++; }//end if }//end if EXAMPLE 2: ALTERNATIVE GLOBAL BUFFER METHOD char io_buffer[64];... // Main Program Loop while(1) USBTasks(); if (musbusartistxtrfready()) putsusbusart(io_buffer); // SendToBuffer attachs multiple // strings together // (The user will need to provide // their own SendToBuffer function) SendToBuffer( Hello World ); SendToBuffer( Hello Again ); }// end while SETTING UP THE CODE PROJECT 1. Insert #include "system\usb\usb.h" in each file that uses the CDC functions. 2. USB_USE_CDC should be defined in the file usbcfg.h when using the CDC functions. 3. The source and header files, cdc.c and cdc.h, should be added to the project source files. They can be found in the directory system\usb\class\cdc\. DS00956B-page Microchip Technology Inc.
11 USB Vendor ID (VID) and Product ID (PID) The VID and PID are important because they are used by the Windows operating system to differentiate USB devices and to determine which device driver is to be used. The VID is a 16-bit number assigned by the USB Implementers Forum (USB-IF). It must be obtained by each manufacturer that wants to market and sell USB products. The VID can be purchased directly from USB-IF. More detailed information can be found at: Each VID comes with 65,536 different PIDs which is also a 16-bit number. In the Microchip USB firmware framework, the VID and PID are located in the file usbdsc.c. Both values can be modified to match different product VID and PID numbers. Drivers for Microsoft Windows 2000 and Windows XP Microsoft Windows does not have a standard.inf file for the CDC driver. The drivers are, however, part of the Windows installation. The only thing necessary to do is to provide an.inf file when a CDC device is first connected to a Windows system. Example.inf files are provided with the CDC RS-232 Emulation Reference Project and are located in the source code directory <Install>\fw\CDC\inf. Before using them, they must be modified to reflect the application s specific VID and PID. This is in addition to any changes to usbdsc.c that have already been made and must match those values. The VID and PID are located in the string USB\VID_xxxx&PIDyyyy, where xxxx is the hexadecimal VID and yyyy is the hexadecimal PID. The string is generally part of one of the lines under the heading [DeviceList]. If desired, users may also modify the variable definitions under the heading [Strings]. This changes the device identification text seen by the user in the device manager. SUMMARY The RS-232 serial emulation provides an easy migration path for applications moving from UART to USB. On the PC side, it requires minimal software modification. On the embedded device side, the PIC18F2455/2550/4455/4550 family of microcontrollers provides a simple hardware upgrade path from the PIC16C745/765 and PIC18FXX2 families of devices. Library firmware with user-friendly APIs are also included for convenience. Tutorial exercises are available as part of the CDC RS-232 Emulation Reference Project. REFERENCES PIC18F2455/2550/4455/4550 Data Sheet (DS39632), Microchip Technology Inc., USB Specification Revision 2.0, USB Implementers Forum Inc., USB Class Definitions for Communication Devices Version 1.1, USB Implementers Forum Inc., Microchip Technology Inc. DS00956B-page 11
12 APPENDIX A: CDC DESCRIPTOR SCHEMA FOR SERIAL EMULATION FIGURE A-1: EXAMPLE OF A DESCRIPTOR SET FOR SERIAL EMULATION Device bdeviceclass = 0x02 Configuration 1 Interface 0 binterfaceclass = 0x02 binterfacesubclass = 0x02 binterfaceprotocol = 0x01 Interface 1 binterfaceclass = 0x0A binterfacesubclass = 0x00 binterfaceprotocol = 0x00 Header Functional bdescriptortype = 0x24 bdescriptorsubtype = 0x00 bcdcdc = 0x0110 Endpoint 3 IN Bulk 8, 16, 32, 64-byte Endpoint 3 OUT Bulk 8, 16, 32, 64-byte Call Management Functional bdescriptortype = 0x24 bdescriptorsubtype = 0x01 bmcapabilities = 0x00 bdatainterface = 0x01 Abstract Control Management Functional bdescriptortype = 0x24 bdescriptorsubtype = 0x02 bmcapabilities = 0x02 Union Functional bdescriptortype = 0x24 bdescriptorsubtype = 0x06 bmasterinterface = 0x00 bslaveinterace0 = 0x01 Endpoint 2 IN Interrupt 8-byte DS00956B-page Microchip Technology Inc.
13 APPENDIX B: CDC STATE MACHINE FIGURE B-1: DIAGRAM OF THE CDCTxService() STATE MACHINE CDC_TX_READY CDC_TX_BUSY cdc_tx_len! = 0 mcdcusarttxisbusy() == 0 cdc_tx_len == 0 CDC_BULK_BD_IN.Cnt == Max EP Size cdc_tx_len == 0 CDC_BULK_BD_IN.Cnt < Max EP Size CDC_TX_COMPLETING CDC_TX_BUSY_ZLP CDC_BULK_BD_IN.Cnt == 0 APPENDIX C: SOURCE CODE Because of its size, the complete source code for this application note is not included in this text. You may download the complete source code, including all necessary files and the Microsoft Windows.inf file, from the Microchip web site at the internet address: APPENDIX D: NOTE ON THE CDC RS-232 EMULATION TUTORIAL The CDC RS-232 Emulation Reference Project provides a complete demonstration of the application discussed in this document, as well as a tutorial for developing applications. The tutorial exercises are written specially for the PICDEM FS USB Demo Board. Modifications can be made to run the source project on a different platform. The tutorial is included as part of the source code project. Refer to the user.c file in the project for more information. When using the HyperTerminal program in Microsoft Windows, physically or electrically reconnecting the USB device causes the Windows operating system to assign a new driver handler for that particular device, thus causing any applications that have the path to the old handle to stop communicating. In HyperTerminal, hanging up the connection before disconnecting the device allows the program to re-enumerate the device COM port and therefore, reference the correct driver handler Microchip Technology Inc. DS00956B-page 13
14 NOTES: DS00956B-page Microchip Technology Inc.
15 Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained in their particular Microchip Data Sheet. Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the intended manner and under normal conditions. There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip s Data Sheets. Most likely, the person doing so is engaged in theft of intellectual property. Microchip is willing to work with the customer who is concerned about the integrity of their code. Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not mean that we are guaranteeing the product as unbreakable. Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our products. Attempts to break Microchip s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act. Information contained in this publication regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WAR- RANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip s products as critical components in life support systems is not authorized except with express written approval by Microchip. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights. Trademarks The Microchip name and logo, the Microchip logo, Accuron, dspic, KEELOQ, microid, MPLAB, PIC, PICmicro, PICSTART, PRO MATE, PowerSmart, rfpic, and SmartShunt are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. AmpLab, FilterLab, Migratable Memory, MXDEV, MXLAB, PICMASTER, SEEVAL, SmartSensor and The Embedded Control Solutions Company are registered trademarks of Microchip Technology Incorporated in the U.S.A. Analog-for-the-Digital Age, Application Maestro, dspicdem, dspicdem.net, dspicworks, ECAN, ECONOMONITOR, FanSense, FlexROM, fuzzylab, In-Circuit Serial Programming, ICSP, ICEPIC, MPASM, MPLIB, MPLINK, MPSIM, PICkit, PICDEM, PICDEM.net, PICLAB, PICtail, PowerCal, PowerInfo, PowerMate, PowerTool, rflab, rfpicdem, Select Mode, Smart Serial, SmartTel and Total Endurance are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. SQTP is a service mark of Microchip Technology Incorporated in the U.S.A. All other trademarks mentioned herein are property of their respective companies. 2004, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. Printed on recycled paper. Microchip received ISO/TS-16949:2002 quality system certification for its worldwide headquarters, design and wafer fabrication facilities in Chandler and Tempe, Arizona and Mountain View, California in October The Company s quality system processes and procedures are for its PICmicro 8-bit MCUs, KEELOQ code hopping devices, Serial EEPROMs, microperipherals, nonvolatile memory and analog products. In addition, Microchip s quality system for the design and manufacture of development systems is ISO 9001:2000 certified Microchip Technology Inc. DS00956B-page 15
16 WORLDWIDE SALES AND SERVICE AMERICAS Corporate Office 2355 West Chandler Blvd. Chandler, AZ Tel: Fax: Technical Support: Web Address: Atlanta Alpharetta, GA Tel: Fax: Boston Westford, MA Tel: Fax: Chicago Itasca, IL Tel: Fax: Dallas Addison, TX Tel: Fax: Detroit Farmington Hills, MI Tel: Fax: Kokomo Kokomo, IN Tel: Fax: Los Angeles Mission Viejo, CA Tel: Fax: San Jose Mountain View, CA Tel: Fax: Toronto Mississauga, Ontario, Canada Tel: Fax: ASIA/PACIFIC Australia - Sydney Tel: Fax: China - Beijing Tel: Fax: China - Chengdu Tel: Fax: China - Fuzhou Tel: Fax: China - Hong Kong SAR Tel: Fax: China - Shanghai Tel: Fax: China - Shenyang Tel: Fax: China - Shenzhen Tel: Fax: China - Shunde Tel: Fax: China - Qingdao Tel: Fax: ASIA/PACIFIC India - Bangalore Tel: Fax: India - New Delhi Tel: Fax: Japan - Kanagawa Tel: Fax: Korea - Seoul Tel: Fax: or Singapore Tel: Fax: Taiwan - Kaohsiung Tel: Fax: Taiwan - Taipei Tel: Fax: Taiwan - Hsinchu Tel: Fax: EUROPE Austria - Weis Tel: Fax: Denmark - Ballerup Tel: Fax: France - Massy Tel: Fax: Germany - Ismaning Tel: Fax: Italy - Milan Tel: Fax: Netherlands - Drunen Tel: Fax: England - Berkshire Tel: Fax: /20/04 DS00956B-page Microchip Technology Inc.
AN1142. USB Mass Storage Class on an Embedded Host INTRODUCTION. USB Mass Storage Class. Overview
USB Mass Storage Class on an Embedded Host Author: INTRODUCTION With the introduction of Microchip's microcontrollers with the USB OTG peripheral, microcontroller applications can easily support USB Embedded
TB3016. Using the PIC MCU CTMU for Temperature Measurement IMPLEMENTATION BASIC PRINCIPLE MEASUREMENT CIRCUIT
Using the PIC MCU CTMU for Temperature Measurement Author: Padmaraja Yedamale Microchip Technology Inc. The Charge Time Measurement Unit (CTMU), introduced on the latest generation of PIC24F and PIC18F
WORKSHOP-IN-A-BOX 2: LOW POWER SOLUTIONS DEMONSTRATION BOARD
WORKSHOP-IN-A-BOX 2: LOW POWER SOLUTIONS DEMONSTRATION BOARD 2004 Microchip Technology Inc. DS51512A Note the following details of the code protection feature on Microchip devices: Microchip products meet
dspic30f3012/3013 dspic30f3012/3013 Rev. B0 Silicon Errata dspic30f3012/3013 (Rev. B0) Silicon Errata Silicon Errata Summary
dspic30f3012/3013 Rev. B0 Silicon Errata dspic30f3012/3013 (Rev. B0) Silicon Errata The dspic30f3012/3013 (Rev. B0) samples you have received were found to conform to the specifications and functionality
AN1303. Software Real-Time Clock and Calendar Using PIC16F1827 DATA INTERFACE INTRODUCTION IMPLEMENTATION INTERNAL REGISTER MAP
Software Real-Time Clock and Calendar Using PIC16F1827 Author: INTRODUCTION Cristian Toma Microchip Technology Inc. This application note describes the implementation of software Real-Time Clock and Calendar
AN1199. 1-Wire Communication with PIC Microcontroller INTRODUCTION. OVERVIEW OF THE 1-Wire BUS. 1-Wire Protocol. Prerequisites
1-Wire Communication with PIC Microcontroller Author: INTRODUCTION This application note introduces the user to the 1-Wire communication protocol and describes how a 1-Wire device can be interfaced to
TCP/IP Networking: Web-Based Status Monitoring
TCP/IP Networking: Web-Based Status Monitoring Microchip TCP/IP Stack HTTP2 Module 2007 Microchip Technology Incorporated. All Rights Reserved. Web-Based Status Monitoring Slide 1 Welcome to the first
PIC10F200/202/204/206
Memory Programming Specification This document includes the programming specifications for the following devices: PIC10F200 PIC10F202 PIC10F204 PIC10F206 1.0 PROGRAMMING THE PIC10F200/202/204/206 The PIC10F200/202/204/206
AN1286. Water-Resistant Capacitive Sensing INTRODUCTION THEORY OF OPERATION. Sensing Steps. Sensing Steps Description DESIGN
Water-Resistant Capacitive Sensing AN1286 Author: INTRODUCTION Thomas Perme Steven Lin Microchip Technology Inc. This application note describes a new hardware sensing method which is resilient to water
Installing and Licensing MPLAB XC C Compilers
Installing and Licensing MPLAB XC C Compilers DS50002059G Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained in their particular
Uninstalling Incorrect USB Device Drivers
DEVELOPMENT SYSTEMS Uninstalling Incorrect USB Device Drivers RECOMMENDED UNINSTALL METHODS When using the Microchip development tools listed below, trouble may be experienced as a result of incorrect
AN687. Precision Temperature-Sensing With RTD Circuits RTD OVERVIEW INTRODUCTION EQUATION 1:
Precision Temperature-Sensing With RTD Circuits Author: INTRODUCTION Bonnie C. Baker Microchip Technology Inc. The most widely measured phenomena in the process control environment is temperature. Common
AN709. System Level Design Considerations When Using I 2 C TM Serial EEPROM Devices INTRODUCTION INSURING BUS-FREE DURING POWER-UP
M AN709 System Level Design Considerations When Using I 2 C TM Serial EEPROM Devices Author: INTRODUCTION Rick Stoneking Developing systems that implement the I 2 C protocol for communicating with serial
Timers: Timer0 Tutorial (Part 1)
Timers: Timer0 Tutorial (Part 1) 2007 Microchip Technology Inc. DS51682A Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained
TB055. PS/2 to USB Mouse Translator IMPLEMENTATION OVERVIEW. Hardware FIGURE 1: PS/2 TO USB MOUSE TRANSLATOR HARDWARE DIAGRAM (1)
PS/2 to USB Mouse Translator TB55 Author: OVERVIEW Reston Condit Microchip Technology Inc. This Technical Brief details the translation of a PS/2 mouse to a USB mouse using the PIC16C745/765. The PIC16C745/765
Recommended Usage of Microchip 23X256/23X640 SPI Serial SRAM Devices RECOMMENDED CONNECTIONS FOR 23X256,23X640 SERIES DEVICES VCC 23X256/ HOLD.
Recommended Usage of Microchip 23X256/23X640 SPI Serial SRAM Devices Author: INTRODUCTION Martin Bowman Microchip Technology Inc. This document details recommended usage of the Microchip 23X256 and 23X640
TC4421/TC4422. Functional Block Diagram. TC4421 Inverting. TC4422 Non-Inverting V DD. 300 mv Output. Input 4.7V. GND Effective. Input.
9A High-Speed MOSFET Drivers Features High Peak Output Current: 9A Wide Input Supply Voltage Operating Range: - 4.5V to 18V High Continuous Output Current: 2A Max Fast Rise and Fall Times: - 3 ns with
AN1265. KEELOQ with AES Microcontroller-Based Code Hopping Encoder INTRODUCTION DUAL ENCODER OPERATION BACKGROUND FUNCTIONAL INPUTS AND
KEELOQ with AES Microcontroller-Based Code Hopping Encoder Authors: INTRODUCTION This application note describes the design of a microcontroller-based KEELOQ Hopping Encoder using the AES encryption algorithm.
TB056. Demonstrating the Set_Report Request With a PS/2 to USB Keyboard Translator Example INTRODUCTION. The Set_Report Request.
Demonstrating the Set_Report Request With a PS/2 to USB Keyboard Translator Example Author: INTRODUCTION This Technical Brief details the translation of a PS/2 keyboard to a USB keyboard using the PIC16C745/
AN1325. mtouch Metal Over Cap Technology THEORY OF OPERATION INTRODUCTION CROSS SECTION OF METAL OVER CAPACITIVE (UNPRESSED)
mtouch Metal Over Cap Technology AN1325 Authors: INTRODUCTION Keith Curtis Dieter Peter Microchip Technology Inc. As a user interface, capacitive touch has several advantages: it is low power, low cost,
AN1275. KEELOQ with Advanced Encryption Standard (AES) Receiver/Decoder KEY FEATURES OVERVIEW. Microchip Technology Inc.
KEELOQ with Advanced Encryption Standard (AES) Receiver/Decoder Author: OVERVIEW Enrique Aleman Microchip Technology Inc. This application note describes a KEELOQ with AES code hopping decoder implemented
LIN Serial Analyzer User s Guide Rev2.0
LIN Serial Analyzer User s Guide Rev2.0 2008 Microchip Technology Inc. DS51675B Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification
AN990. Analog Sensor Conditioning Circuits An Overview INTRODUCTION SENSOR APPLICATIONS. Target Audience. Goals. Description.
Analog Conditioning Circuits An Overview Author: INTRODUCTION Target Audience This application note is intended for hardware design engineers that need to condition the output of common analog sensors.
AN1156. Battery Fuel Measurement Using Delta-Sigma ADC Devices INTRODUCTION REVIEW OF BATTERY CHARGING AND DISCHARGING CHARACTERISTICS
Battery Fuel Measurement Using Delta-Sigma ADC Devices Author: INTRODUCTION Youbok Lee, Ph.D. Microchip Technology Inc. The battery fuel status indicator is a common feature of the battery-supported handheld
How To Improve Electromagnetic Compatibility
Introducing the EMC Newsletter What is EMC? Issue 1, November 2004 NOVEMBER 2004 Rodger Richey Senior Applications Manager Welcome to the first issue of the EMC Newsletter created by the Application Engineers
ZENA Wireless Network Analyzer User s Guide
ZENA Wireless Network Analyzer User s Guide 2007 Microchip Technology Inc. DS51606B Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification
AN1470. Manchester Decoder Using the CLC and NCO ABSTRACT INTRODUCTION MANCHESTER ENCODED DATA (AS PER G.E. THOMAS)
Manchester Decoder Using the CLC and NCO Authors: ABSTRACT A Manchester decoder can be built using Microchip s award winning CLC (Configurable Logic Cell) blocks and NCO (Numerically Controlled Oscillator)
Universal Programming Module 2
Universal Programming Module OVERVIEW The Universal Programming Module (UPM) is a handy, low-cost board that supports the programming of Microchip devices using MPLAB in-circuit emulators and debuggers.
AN1212. Using USB Keyboard with an Embedded Host INTRODUCTION. USB Keyboard Overview. USB Keyboard with an Embedded Host USB KEYBOARD OUTPUT REPORT
Using USB Keyboard with an Embedded Host Author: INTRODUCTION Amardeep Gupta Microchip Technology Inc. Microcontroller applications can easily support USB embedded host functionality with the introduction
Integrated Development Environment
Development Tools Integrated Development Environment Transforming Ideas Into Realities The typical product development life cycle is comprised of smaller cycles each representing an iterative process toward
MCP1701A. 2 µa Low-Dropout Positive Voltage Regulator. Features. General Description. Applications. Package Types
2 µa Low-Dropout Positive Voltage Regulator Features 2.0 µa Typical Quiescent Current Input Operating Voltage Range up to 10.0V Low-Dropout Voltage (LDO): - 120 mv (typical) @ 100 ma - 380 mv (typical)
PIC32 Microcontroller Families
32-bit Microcontrollers Winter 2009 PIC32 Microcontroller Families With USB, CAN and Ethernet www.microchip.com/pic32 Building on the heritage of Microchip Technology s world-leading 8- and 16-bit PIC
TC1047/TC1047A. Precision Temperature-to-Voltage Converter. General Description. Applications. Block Diagram. Features.
Precision Temperature-to-Voltage Converter Features Supply Voltage Range: - TC147: 2.7V to 4.4V - TC147A: 2.V to.v Wide Temperature Measurement Range: - -4 o C to +12 o C High Temperature Converter Accuracy:
M Floating Point to ASCII Conversion
M Floating Point to ASCII Conversion AN670 Authors: INTRODUCTION It is often necessary to output a floating point number to a display. For example, to check calculations, one might want to output floating
AN688. Layout Tips for 12-Bit A/D Converter Application GETTING A GOOD START INTRODUCTION. Microchip Technology Inc. / 2 MCP602
Layout Tips for 12-Bit A/D Converter Application Author: INTRODUCTION Bonnie C. Baker Microchip Technology Inc. This Application Note originally started as a cook book for a true 12-bit layout. The assumption
AN1164. USB CDC Class on an Embedded Device INTRODUCTION ASSUMPTIONS FEATURES LIMITATIONS
USB CDC Class on an Embedded Device AN1164 Author: Bud Caldwell Microchip Technology Inc. INTRODUCTION The Universal Serial Bus (USB) has made it very simple for end users to attach peripheral devices
PICmicro DC Motor Control Tips n Tricks
PICmicro DC Motor Control Tips n Tricks M Table of Contents Tips n Tricks Tips N Tricks Introduction TIP #1: Brushed DC Motor Drive Circuits...2 TIP #2: Brushless DC Motor Drive Circuits...5 TIP #3: Stepper
How To Use Microchip.Com
PICkit 2 Programmer/Debugger User s Guide 2008 Microchip Technology Inc. DS51553E Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification
Designing A Li-Ion Battery Charger and Load Sharing System With Microchip s Stand-Alone Li-Ion Battery Charge Management Controller
Designing A Li-Ion Battery Charger and Load Sharing System With Microchip s Stand-Alone Li-Ion Battery Charge Management Controller Author: INTRODUCTION Brian Chu Microchip Technology Inc. Batteries often
Features, Value and Benefits of Digital Control for Power Supplies
Author: INTRODUCTION Sagar Khare Microchip Technology Inc. Control of Switch Mode Power Supplies (SMPSs) has traditionally been a purely analog domain. The advent of low-cost, high-performance Digital
AN1066. Microchip MiWi Wireless Networking Protocol Stack INTRODUCTION CONSIDERATIONS TERMINOLOGY FEATURES
Microchip MiWi Wireless Networking Protocol Stack Author: INTRODUCTION Implementing applications with wireless networking is now common. From consumer devices to industrial applications, there is a growing
AN1332. Current Sensing Circuit Concepts and Fundamentals CURRENT SENSING RESISTOR INTRODUCTION. Description. Microchip Technology Inc.
Current Sensing Circuit Concepts and Fundamentals Author: INTRODUCTION Yang Zhen Microchip Technology Inc. Current sensing is a fundamental requirement in a wide range of electronic applications. Typical
AN1095. Emulating Data EEPROM for PIC18 and PIC24 Microcontrollers and dspic Digital Signal Controllers INTRODUCTION THEORY OF OPERATION
A1095 Emulating Data EEPROM for PIC18 and PIC24 Microcontrollers and dspic Digital Signal Controllers Author: ITRODUCTIO Microchip Technology has expanded its product portfolio to include a wide variety
AN1140. USB Embedded Host Stack INTRODUCTION USB OVERVIEW. Host vs. Embedded Host. USB Hosts and Peripheral Devices
USB Embedded Host Stack AN1140 Author: INTRODUCTION USB has become the standard method for devices to communicate with a PC. From general purpose devices, such as Flash drives and mice, to special purpose
AVR287: USB Host HID and Mass Storage Demonstration. 8-bit Microcontrollers. Application Note. Features. 1 Introduction
AVR287: USB Host HID and Mass Storage Demonstration Features Based on AVR USB OTG Reduced Host Runs on AT90USB647/1287 Support bootable/non-bootable standard USB mouse Support USB Hub feature (Mass Storage
Analog-to-Digital Converters
Analog-to-Digital Converters In this presentation we will look at the Analog-to-Digital Converter Peripherals with Microchip s midrange PICmicro Microcontrollers series. 1 Analog-to-Digital Converters
PICkit 2 Microcontroller Programmer USER S GUIDE
PICkit 2 Microcontroller Programmer USER S GUIDE 2007 Microchip Technology Inc. DS51553D Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification
MPLAB IDE USER S GUIDE
MPLAB IDE USER S GUIDE 2005 Microchip Technology Inc. DS51519A Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained in their
AN1857. RGBW Color Mixing DALI Control Gear. COLOR MIXING USING RED, GREEN, BLUE AND WHITE LEDs INTRODUCTION HARDWARE
RGBW Color Mixing DALI Control Gear AN1857 Author: INTRODUCTION Mihai Cuciuc Microchip Technology Inc. This application note provides an example of obtaining custom colors by combining the spectra of the
MCRF202. 125 khz Passive RFID Device with Sensor Input. Not recommended for new designs. Package Type. Features. Description. Applications PDIP/SOIC
Not recommended for new designs. MCRF202 125 khz Passive RFID Device with Sensor Input Features External Sensor input Data polarity changes with Sensor input condition Read-only data transmission 96 or
ZENA Wireless Network Analyzer User s Guide
ZENA Wireless Network Analyzer User s Guide 2008 Microchip Technology Inc. DS51606C Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification
MCP73811/2. Simple, Miniature Single-Cell, Fully Integrated Li-Ion / Li-Polymer Charge Management Controllers. Description. Features.
Simple, Miniature Single-Cell, Fully Integrated Li-Ion / Li-Polymer Charge Management Controllers Features Complete Linear Charge Management Controller - Integrated Pass Transistor - Integrated Current
Real-Time Data Monitor User s Guide
Real-Time Data Monitor User s Guide 2008 Microchip Technology Inc. DS70567A Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained
TC4420/TC4429. 6A High-Speed MOSFET Drivers. General Description. Features. Applications. Package Types (1)
6A High-Speed MOSFET Drivers Features atch-up Protected: Will Withstand >1.5A Reverse Output Current ogic Input Will Withstand Negative Swing Up To 5V ESD Protected: 4 kv Matched Rise and Fall Times: -
Section 15. Input Capture
Section 15. Input Capture HIGHLIGHTS This section of the manual contains the following topics: 15.1 Introduction...15-2 15.2 Input Capture Registers...15-4 15.3 Timer Selection...15-8 15.4 Input Capture
AN905. Brushed DC Motor Fundamentals INTRODUCTION PRINCIPLES OF OPERATION. Stator. Rotor SIMPLE TWO-POLE BRUSHED DC MOTOR. Microchip Technology Inc.
Brushed DC Motor Fundamentals AN905 Author: Reston Condit Microchip Technology Inc. INTRODUCTION Brushed DC motors are widely used in applications ranging from toys to push-button adjustable car seats.
PICkit TM 2 Microcontroller Programmer USER S GUIDE
PICkit TM 2 Microcontroller Programmer USER S GUIDE 2006 Microchip Technology Inc. DS51553B Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification
Bootloader for dspic30f/33f and PIC24F/24H Devices
Bootloader for dspic30f/33f and PIC24F/24H Devices Author: Leonard Elevich and Veena Kudva Microchip Technology, Inc INTRODUCTION The bootloader for dspic30f/33f and PIC24H/24F devices is used to load
dspic Language Tools Libraries
dspic Language Tools Libraries 2004 Microchip Technology Inc. DS51456B Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained
MPLAB IDE QUICK START GUIDE
MPLAB IDE QUICK START GUIDE 2004 Microchip Technology Inc. DS51281D Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained in
AN1256. Microchip s Power MOSFET Driver Simulation Models INTRODUCTION MODEL DESCRIPTION. Using The Power MOSFET Simulation Models
Microchip s Power MOSFET Driver Simulation Models Author: INTRODUCTION Cliff Ellison (Microchip Technology Inc.) Ron Wunderlich (Innovative Ideas and Design) The simulation models for Microchip s power
AN964. Software PID Control of an Inverted Pendulum Using the PIC16F684 INTRODUCTION. Ruan Lourens Microchip Technology Inc.
Software PID Control of an Inverted Pendulum Using the PIC6F68 Author: John Charais Ruan Lourens Microchip Technology Inc. INTRODUCTION The purpose of this application note is to describe how a PIC6F68
MCP2515 CAN Bus Monitor Demo Board User s Guide
MCP2515 CAN Bus Monitor Demo Board User s Guide 2008 Microchip Technology Inc. DS51757A Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification
PICkit 3 Programmer/Debugger User s Guide
PICkit 3 Programmer/Debugger User s Guide 2009 Microchip Technology Inc. DS51795A Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification
TC4423A/TC4424A/TC4425A
3A Dual High-Speed Power MOSFET Drivers Features High Peak Output Current: 4.5A (typical) Wide Input Supply Voltage Operating Range: - 4.5V to 18V High Capacitive Load Drive Capability: - 18 pf in 12 ns
TABLE 1: BUCK REGULATOR
A Digital Constant Current Power LED Driver Author: INTRODUCTION Stephen Bowling Microchip Technology Inc. This document describes a power LED driver solution using the PIC12HV615 microcontroller (MCU).
MCP2200 USB to RS-232 Demo Board User s Guide
MCP2200 USB to RS-232 Demo Board User s Guide DS51901A Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained in their particular
AN680. Passive RFID Basics INTRODUCTION DEFINITIONS. Modulation. Reader. Tag. Carrier. Microchip Technology Inc.
Passive RFID Basics Author: INTRODUCTION Radio Frequency Identification (RFID) systems use radio frequency to identify, locate and track people, assets, and animals. Passive RFID systems are composed of
AN1543. Using MRF24W with PIC32 Internal Program Flash Memory For EZ_CONFIG_STORE ALTERNATIVE LOW-COST SOLUTIONS OVERVIEW SCOPE
Using MRF24W with PIC32 Internal Program Flash Memory For EZ_CONFIG_STORE Author: OVERVIEW This application note describes the EZ_CONFIG_STORE feature used in the Wi-Fi G Demo Board and TCPIP-WiFi EZConfig
Integrated Development Environment
Development Tools Integrated Development Environment Transforming Ideas Into Realities The typical product development life cycle is comprised of smaller cycles each representing an iterative process toward
AN905. Brushed DC Motor Fundamentals INTRODUCTION PRINCIPLES OF OPERATION. Stator. Rotor SIMPLE TWO-POLE BRUSHED DC MOTOR. Microchip Technology Inc.
Brushed DC Motor Fundamentals AN905 Author: Reston Condit Microchip Technology Inc. INTRODUCTION Brushed DC motors are widely used in applications ranging from toys to push-button adjustable car seats.
Tutorial for MPLAB Starter Kit for PIC18F
Tutorial for MPLAB Starter Kit for PIC18F 2006 Microchip Technology Incorporated. All Rights Reserved. WebSeminar Title Slide 1 Welcome to the tutorial for the MPLAB Starter Kit for PIC18F. My name is
AN249 HUMAN INTERFACE DEVICE TUTORIAL. Relevant Devices This application note applies to all Silicon Labs USB MCUs. 1.
HUMAN INTERFACE DEVICE TUTORIAL Relevant Devices This application note applies to all Silicon Labs USB MCUs. 1. Introduction The Human Interface Device (HID) class specification allows designers to create
Touch Through Metal. mtouch Metal Over Capacitive Technology Part 1
Touch Through Metal mtouch Metal Over Capacitive Technology Part 1 2010 Microchip Technology Incorporated. All Rights Reserved. Touch Through Metal Slide 1 Hello and welcome to Microchip s Touch Through
AN1492. Microchip Capacitive Proximity Design Guide INTRODUCTION CAPACITIVE SENSING BASICS SENSING
Microchip Capacitive Proximity Design Guide Author: INTRODUCTION Xiang Gao Microchip Technology Inc. Proximity detection provides a new way for users to interact with electronic devices without having
AN562. Using Endurance Predictive Software. Using the Microchip Endurance Predictive Software INTRODUCTION TOTAL ENDURANCE PREDICTIVE SOFTWARE
AN562 Using the Microchip Endurance Predictive Software INTRODUCTION Endurance, as it applies to non-volatile memory, refers to the number of times an individual memory cell can be erased and/or written
In-Circuit Serial Programming (ICSP ) Guide
In-Circuit Serial Programming (ICSP ) Guide 2003 Microchip Technology Inc. May 2003 DS30277D te the following details of the code protection feature on Microchip devices: Microchip products meet the specification
Getting Started with dspic30f Digital Signal Controllers User s Guide
Getting Started with dspic30f Digital Signal Controllers User s Guide 2005 Microchip Technology Inc. DS70151A Note the following details of the code protection feature on Microchip devices: Microchip products
Application Note. 8-bit Microcontrollers. AVR270: USB Mouse Demonstration
AVR270: USB Mouse Demonstration Features Runs with AT90USB Microcontrollers at 8MHz USB Low Power Bus Powered Device (less then 100mA) Supported by any PC running Windows (98SE or later), Linux or Mac
MCP73X23 Lithium Iron Phosphate (LiFePO 4 ) Battery Charger Evaluation Board User s Guide
MCP73X23 Lithium Iron Phosphate (LiFePO 4 ) Battery Charger Evaluation Board User s Guide 2009 Microchip Technology Inc. DS51850A Note the following details of the code protection feature on Microchip
Develop a Dallas 1-Wire Master Using the Z8F1680 Series of MCUs
Develop a Dallas 1-Wire Master Using the Z8F1680 Series of MCUs AN033101-0412 Abstract This describes how to interface the Dallas 1-Wire bus with Zilog s Z8F1680 Series of MCUs as master devices. The Z8F0880,
How To Develop A Microchip Device With Dspic Language Tools
dspic LANGUAGE TOOLS GETTING STARTED 2004 Microchip Technology Inc. DS70094C Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained
M Floating Point to ASCII Conversion
M Floating Point to ASCII Conversion AN670 Authors: INTRODUCTION It is often necessary to output a floating point number to a display. For example, to check calculations, one might want to output floating
Atmel AVR4921: ASF - USB Device Stack Differences between ASF V1 and V2. 8-bit Atmel Microcontrollers. Application Note. Features.
Atmel AVR4921: ASF - USB Device Stack Differences between ASF V1 and V2 Features Advantages Implementation differences Integration Migration from stack V1 to stack V2 8-bit Atmel Microcontrollers Application
AN3354 Application note
Application note STM32F105/107 in-application programming using a USB host 1 Introduction An important requirement for most Flash-memory-based systems is the ability to update firmware installed in the
Microchip Development Systems Ordering Guide
Microchip Development Systems Ordering Guide June 2005 2005 Microchip Technology Inc. DS30177T Note the following details of the code protection feature on Microchip devices: Microchip products meet the
TCM809/TCM810. 3-Pin Microcontroller Reset Monitors. General Description. Features. Applications. Pin Configurations. Typical Application Circuit
M TCM809/TCM810 3-Pin Microcontroller Reset Monitors Features Precision Monitor for 2.5V, 3.0V, 3.3V, 5.0V Nominal System Voltage Supplies 140 msec Minimum RESET Timeout Period RESET Output to = 1.0V (TCM809)
MPLAB XC8 GETTING STARTED GUIDE. MPLAB XC8 Getting Started Guide
MPLAB XC8 GETTING STARTED GUIDE MPLAB XC8 Getting Started Guide This document provides a starting point for programmers who are just starting out with the MPLAB XC8 C Compiler, particularly those who are
AN3998 Application note
Application note PDM audio software decoding on STM32 microcontrollers 1 Introduction This application note presents the algorithms and architecture of an optimized software implementation for PDM signal
AN831. Matching Small Loop Antennas to rfpic Devices INTRODUCTION CALCULATING THE LOOP RADIATION RESISTANCE AND LOSS RESISTANCE EQUATION 2:
Matching Small Loop Antennas to rfpic Devices Author: Jan van Niekerk Microchip Technology Inc. EQUATION 2: Ploss I 2 Rloss INTRODUCTION In close proximity to the human body, small loop antennas outperform
AN295 USB AUDIO CLASS TUTORIAL. 1. Introduction. 2. USB, Isochronous Transfers, and the Audio Class. 1.1. Overview. 2.1. USB Operational Overview
USB AUDIO CLASS TUTORIAL 1. Introduction Isochronous data transfers can be used by universal serial bus (USB) devices designed to transfer data to or from a host at a constant rate. Systems streaming audio
AN873. Using the MCP2515 CAN Developer s Kit INTRODUCTION. PC Node. PICmicro Node BLOCK DIAGRAM OF MCP2515 DEVELOPMENT BOARD
M Using the MCP2515 CAN Developer s Kit AN873 Author: INTRODUCTION The MCP2515 eases software development and shortens the learning curve for the MCP2515 by providing three PC software templates with different
PC Base Adapter Daughter Card UART GPIO. Figure 1. ToolStick Development Platform Block Diagram
TOOLSTICK VIRTUAL TOOLS USER S GUIDE RELEVANT DEVICES 1. Introduction The ToolStick development platform consists of a ToolStick Base Adapter and a ToolStick Daughter card. The ToolStick Virtual Tools
RN-131-PICTAIL & RN-171-PICTAIL Evaluation Boards
RN-131-PICTAIL & RN-171-PICTAIL Evaluation Boards 2012 Roving Networks. All rights reserved. Version 1.0 9/7/2012 USER MANUAL OVERVIEW The RN-131 and RN-171 WiFly radio modules are complete, standalone
Implementing SPI Master and Slave Functionality Using the Z8 Encore! F083A
Application Note Implementing SPI Master and Slave Functionality Using the Z8 Encore! F083A AN026701-0308 Abstract This application note demonstrates a method of implementing the Serial Peripheral Interface
TC7660. Charge Pump DC-to-DC Voltage Converter. Package Types. Features. General Description. Applications. Functional Block Diagram TC7660
Charge Pump DC-to-DC Voltage Converter Features Wide Input Voltage Range:.V to V Efficient Voltage Conversion (99.9%, typ) Excellent Power Efficiency (9%, typ) Low Power Consumption: µa (typ) @ V IN =
Atmel AVR4903: ASF - USB Device HID Mouse Application. Atmel Microcontrollers. Application Note. Features. 1 Introduction
Atmel AVR4903: ASF - USB Device HID Mouse Application Features USB 2.0 compliance - Chapter 9 compliance - HID compliance - Low-speed (1.5Mb/s) and full-speed (12Mb/s) data rates Standard USB HID mouse
