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 t he lik e is provided only for your convenience
and may be su perseded by upda t es . It is y our responsibility to
ensure that your application meets with your specifications.
MICROCHIP MAKES NO REPRESENTATIONS OR
WARRANTIES 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
devices in life supp ort and/or safety ap plications is entir ely at
the buyer’s risk, and the buyer agrees to defend, indemnify and
hold harmless M icrochip from any and all dama ges, claims,
suits, or expenses re sulting from such use. No licens es are
conveyed, implicitly or otherwise, under any Microchip
intellectual property rights.
Trademarks
The Microchip name and logo, the Microchip logo, dsPIC,
K
logo, rfPIC and UNI/O are registered trademarks of
Microchip Technology Incorporated in the U.S.A. and other
countries.
FilterLab, Hampshire, HI-TECH C, Linear Active Thermistor,
MXDEV, MXLAB, SEEVAL 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, chipKIT,
chipKIT logo, CodeGuard, dsPICDEM, dsPICDEM.net,
dsPICworks, dsSPEAK, ECAN, ECONOMONITOR,
FanSense, HI-TIDE, In-Circuit Serial Programming, ICSP,
Mindi, MiWi, MPASM, MPLAB Certified logo, MPLIB,
MPLINK, mTouch, Omniscient Code Generation, PICC,
PICC-18, PICDEM, PICDEM.net, PICkit, PICtail, REAL ICE,
rfLAB, Select Mode, Total Endurance, TSHARC,
UniWinDriver, WiperLock and ZENA 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.
Microchip received ISO/TS-16949:2009 certification for its worldwide
headquarters, design and wafer fabrication facilities in Chandler and
Tempe, Arizona; Gresham, Oregon and design centers in California
and India. The Company’s quality system processes and procedures
are for its PIC
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.
All documentation becomes dated, and this manual is no exception. Microchip tools and
documentation are constantly evolving to meet customer needs, so some actual dialogs
and/or tool descriptions may differ from those in this document. Please refer to our web site
(www.microchip.com) to obtain the latest documentation available.
Documents are identified with a “DS” number. This number is located on the bottom of each
page, in front of the p age number. The numbering convention for the DS number is
“DSXXXXXA”, where “XXXXX” is the document number and “A” is the revision level of the
document.
For the most up-to-date information on development tools, see the MPLAB
Select the Help menu, and then Topics to open a list of available online help files.
®
IDE online help.
INTRODUCTION
This chapter contains general information that will be useful to know before using the
MCP2210 Evaluation Kit. Items discussed in this chapter include:
• Document Layout
• Conventions Used in this Guide
• Recommended Reading
• The Microchip Web Site
• Customer Support
• Document Revision History
DOCUMENT LAYOUT
This document describes how to use the MCP2210 Evaluation Kit as a development
tool. The manual layout is as follows:
• Chapter 1. “Product Overview” – Important information about the MCP2210
Evaluation Kit
• Chapter 2. “Installation and Operation” – Covers the initial set-up of this board
and Graphical User Interface (GUI)
• Appendix A. “Schematic and Layouts” – Shows the schematic and board
layouts for the MCP2210 Evaluation Kit User’s Guide
• Appendix B. “Bill of Materials” – Lists the parts used to populate the MCP2210
Evaluation Kit
This user's guide describes how to use MCP2210 Evaluation Kit. Other useful
documents are listed below. The following Microchip documents are available and
recommended as supplemental r eference resources.
• MCP2210 Data Sheet - “USB-to-SPI Protocol Converter with GPIO (Master
Mode)” (DS22288)
THE MICROCHIP WEB SITE
Microchip provides online support via our web site at www.microchip.com. This web
site is used as a means to make files and information easily available to customers.
Accessible by using your favorite Internet browser, the web site contains the following
information:
• Product Support – Data sheets and errata, application notes and sample
programs, design resources, user’s guides and hardware support documents,
latest software releases and archived software
• General Technical Support – Frequently Asked Questions (FAQs), technical
support requests, online discussion groups, Microchip consultant program
member listing
• Business of Microchip – Product selector and ordering guides, latest Microchip
press releases, listing of seminars and events, listings of Microchip sales offices,
distributors and factory representatives
Preface
CUSTOMER SUPPORT
Users of Microchip products can receive assistance through several channels:
• Distributor or Representative
• Local Sales Office
• Field Application Engineer (FAE)
• Technical Support
Customers should contact their distributor, representative or field application engineer
(FAE) for support. Local sales offices are also available to help customers. A listing of
sales offices and locations is included in the back of this document.
T echnical support is available through the web site at: .http://www.microchip.com/support.
This chapter provides an overview of the MCP2210 Evaluation Kit and covers the
following topics:
• MCP2210 Evaluation Kit General Description
• What The MCP2210 Evaluation Kit Includes
1.2MCP2210 EVALUATION KIT GENERAL DESCRIPTION
The MCP2210 Evaluation Kit (ADM00421) is a development and evaluation platform
for the MCP2210 device. The kit is comprised of two connected boards:
• MCP2210 Breakout Board (ADM00419)
• MCP2210 SPI Slave Motherboard (ADM00420)
The MCP2210 SPI Slave Motherboard is designed to work together with the MCP2210
Breakout Board (ADM00419). The motherboard provides the test-points required for
measurements. It also contains the following SPI slave devices:
• MCP23S08 – 8-bit I/O expander
• MCP3204 – 4 channel, 12-bit ADC
• 25LC02 – 2 kbit EEPROM
• TC77 – Temperature sensor
All devices are SPI slaves, controlled by the MCP2210.
Windows®-based PC software is used to evaluate/demonstrate the MCP2210 as a
USB-to-SPI (Master) device. It allows I/O control and custom device configuration. The
software is downloadable from the board web page on www.microchip.com.
A DLL package is also available for development of custom PC applications using the
MCP2210. The DLL package is downloadable from the board’s web page.
The MCP2210 device is detected by a Windows®-based PC host as a Human Interface
Device (HID). The accompanying software can be used to exercise the Evaluation Kit’s
features. It also provides a reference point for users that want to create custom
applications based on the MCP2210.
2.3.1MCP2210 Breakout Board Operation
The MCP2210 Breakout Board can be used with either the provided motherboard, or
as a stand-alone USB-to-SPI (Master) bridge module. The breakout board provides all
the required signals in order to assist the user in building customized boards using the
MCP2210.
The breakout board has the following features:
• SPI bus signals (MOSI, MISO, SCK)
• 9 GP signals configurable for:
- GPIO functionality (digital input or output pins)
- Chip Select functionality (working with the SPI bus signals)
- Dedicated function pins
• Jumper selectable power supply: 3.3 or 5V (up to 500 mA). The board has a
default connection trace between V
mounting unnecessary when powering the board with 3.3V. For 5V operation, a
3-pin header must be mounted on the board.
• PICkit™ Serial Analyzer header using GP4 as the Chip Select signal
and 3.3V rail, making the voltage header
DD
Note:This function is available only on SPI operations, it does not work on I
UART signals.
• Dip form-factor (0.6 inches overall row spacing between pins)
By using the provided software and libraries, the user can create personalized PC
applications using the breakout board as a USB-to-SPI (Master) bridge adapter.
2
C or
2.3.2MCP2210 Breakout Board Operation
The MCP2210 Utility software was created for custom device setting requirements. A
few of the settings that this utility can alter include VID, PID, power requirements, and
string descriptors. A download link for this software can be found on the board web
page. For instructions on the use of this software, refer to the software’s supporting
documentation included with in the appl ic at ion install package.
2.3.3SPI Terminal Utility
The SPI Terminal Utility is a tool that allows low-level data exchange at the SPI bus
level. This application is useful for low-level communication and troubleshooting
between the MCP2210 and various SPI slave modules.
The utility window has different sections for GP designation, SPI transfer parameters
and user data area.
After the application is started, the state of the connection with the MCP2210 is shown
in the Status Messages bar (in the lower left corner of the screen).
The user can establish the GP configuration. The GPs can be used as chip select pins.
Each GP Active and Idle value can be established by selecting the appropriate checkboxes, or by directly supplying the correct value in the GP Direct Settings section. The
same behavior applies to the GP designation (the GP designation can be established
by clicking the appropriate radio-button, or by directly supplying the GP designation
value in the GP settings Direct Values section).
The SPI settings pertaining to the needed SPI transfer can be established in the SPI
Parameters section.
The data to be sent out is filled in the Tx Data field. To send the data to the SPI slave
device, press the SPI Transfer Da ta button on the lower right area of the screen. The
data received from the SPI slave device is displayed in the Rx Data field.
The user data can be supplied in either HEX or Decimal mode. This can be
accomplished by selecting the HEX mode checkbox. The data in the Tx and Rx Data
fields will be displayed in HEX or Decimal.
A simple test using the SPI Terminal utility shows how the MCP23S08 (an 8-bit I/O
expander) uses the GP4 pin of the MCP2210 device as a chip select line. This line
should be active low. The GP4 must be set as in the Figure 2-1, with the IDLE option
checked (IDLE value is logic ‘1’) and the ACTIVE option unchecked (ACTIVE value is
logic ‘0’).
The SPI parameters are set as follows:
• Bit rate - 500000 bps
• SPI Mode – 0
• Number of bytes to transfer – 3
• All the SPI related delays are set to 0
The TX Data should contain the following HEX values: 40, 00, 00. Click on the SPI Transfer Data button to complete the procedure and set the MCP23S08’s port as an
output.
After setting this port, a value can be sent out to the port to light the LEDs on the board.
To make this happen, insert the following three HEX values: 40, 0A, FF . By clicking the
SPI Transfer Data button again, the inserted values are sent out to the MCP23S08
device. This command will light all the LEDs on the board. If any other LED light pattern
is desired, the third value (FF) can be changed to any other 8-bit value.
To verify the value written to the MCP23S08’s port, another set of data must be written
into the TX Data area: 41, 0A and any other 8-bit value (a “Don’t care” value for the third
position is admissible, because the read value from the MCP23S08is received on the
third byte).
In the RX Data field, the third value should be the identical to the one sent out previously (in the given example, FF).
2.3.4MCP2210 Evaluation Kit demo application
The provided demo application is designed to work with the MCP2210 SPI Slave
Motherboard using the MCP2210 Breakout Board as a USB-to-SPI bridge.
The application’s source code is provided to facilitate the development of custom PC
applications using the MCP2210 and the accompanying DLL package. This application
was written in Visual Basic.
The PC GUI shows typical sections for each of the SPI slave devices present on the
MCP2210 SPI Slave Motherboard.
2.3.5MCP23S08 GPIO Expander controls
The GUI provides specific controls in order to assist the user in exploring the I/O
expander features. The control for this chip shows eight color-coded buttons, each
representing an I/O option.
FIGURE 2-3:MCP23S08 GPIO EXPANDER SECTION
I/O buttons
By double-clicking on any of the buttons, the assigned I/O pin will toggle from being a
digital input to digital output and back.
For the I/Os designated as digital inputs, any change on the pins will be shown on the
GUI in yellow (for a logic high value) or in blue (for a logic low value).
For the I/Os designated as digital outputs, a single click on any of the I/O circles will
toggle their output value from logic low (in red) to logic high (in green). When a digital
output is set to logic high, the corresponding LED will be lit.
Color coded
reference table
for I/O option
2.3.6EEPROM 25LC02 Controls
The EEPROM GUI section presents a data-grid control and three buttons (see
Figure 2-4). The data-grid is organized in eight columns and sixty-four rows. The
EEPROM addresses are read from left to right, top to bottom, starting at location 0 (in
the first line, first column on the left). When, a particular cell in the data grid control is
highlighted, the corresponding EEPROM address is displayed in the bottom left corner
of the application window.
FIGURE 2-4:EEPROM 25LC02 SECTION
Data-grid
controls
Control
buttons
The EEPROM section also shows three buttons :
• Read EEPROM – Press this button to read the entire EEPROM memory. The
content will show in the data-grid control.
• Write EEPROM – The user can modify the data and add other hex-represented
byte values in the cells. When all the modifications are done, press this button to
write the modified data-grid content on the EEPROM.
• Clear Mem – T o verify the EEPROM content, press this button. This action clears
only the data-grid control, not the EEPROM contents. Later, when the Read EEPROM button is pressed again, the actual EEPROM content will display in the
data-grid control.
2.3.7TC77 Temp Sensor Section
The temperature sensor displays the temperature of the sensor device present on the
motherboard in either Fahrenheit or Celsius scales.
The MCP3201 12-bit ADC section displays the board’s measured VDD voltage and a
voltage between 0 and V
motherboard potentiometer.
FIGURE 2-6:MCP3204 ADC VALUES DISPLAY
Motherboard
potentiometer
settings display
(between 0 and
and V
DD/2)
Custom voltage
value display
The remaining channels (channels 2 and 3) can also display custom user
measurements of voltages between 0V
DD/2, corresponding to the voltage value set by the
VDD voltage
value display
– 2.5V (maximum).
2.4MCP2210 TYPICAL USAGE SCENARIOS
The MCP2210 can be used in systems where an SPI bus is available. The MCP2210
device can be either the single master on the bus, or one of the masters sharing the
bus, if a proper master-access arbitration scheme is in place.
In cases where the MCP2210 is the only master on the SPI bus, a typical usage
scenario is shown in Figure 2-7. The SPI bus links the SPI slave chips to the system,
while a few GPs (configured for chip select function) can be used as chip select lines.
If SPI slave interrupt monitoring is required, the GP6 needs to be configured for its
dedicated function, in order to monitor the interrupts coming from the SPI slave chips.
The PC application will handle all the details necessary for data transfer between the
MCP2210 and the SPI slave devices.
When a system requires more than one SPI master sharing the same bus, an
arbitration scheme needs to be developed, to prevent multiple SPI masters trying to
access the bus at the same time. MCP2210 has support for such a mechanism, using
GP7 and GP8 (configured for dedicated pin functionality) for this purpose.
When GP8 is configured for its dedicated functionality, the pin can be used as a bus
release request for MCP2210 coming from another master. GP7 (configured for its dedicated functionality) is used as an SPI bus release acknowledge signal towards the
requesting master. When an external SPI master requests that the MCP2210 release
the bus, the MCP2210 completes the current SPI transfer (or it can be cancelled by the
PC application by sending the proper USB command). Then it releases the bus, and
signals this event on the acknowledge pin (GP7). The second master now has ownership of the bus and can keep it as long as the SPI bus request pin (GP8) is kept
asserted.
In conclusion, when the dedicated functionality of the GP7 and GP8 are used,
MCP2210 can be used in a multiple SPI master system.