TOO L S T I C K 8 5 0 D C - U G TOOL S TICK C8051F850 D AUGHTER C ARD U SER ’ S G U ID E 1. Handling Recommendations To enable development, the ToolStick Base Adapter and daughter cards are distributed without any protective plastics. To prevent damage to the devices and/or the host PC, consider the following recommendations when using the ToolStick: Never connect or disconnect a daughter card to or from the ToolStick Base Adapter while the Base Adapter is connected to a PC. Always connect and disconnect the ToolStick Base Adapter from the PC by holding the edges of the boards. Figure 1. Proper Method of Holding the ToolStick Avoid directly touching any of the other components. Figure 2. Improper Method of Holding the ToolStick Manipulate mechanical devices on the daughter cards, such as potentiometers, with care to prevent the Base Adapter or daughter card from accidentally dislodging from their sockets. Rev. 0.2 2/14 Copyright © 2014 by Silicon Laboratories ToolStick-F850DC TOOLSTICK850DC-UG 2. Contents The C8051F850 ToolStick Daughter Card kit (TOOLSTICK850-B-DC) contains the following items: ToolStick C8051F850 Daughter Card (TOOLSTICK850DC) A ToolStick daughter card requires a ToolStick Base Adapter to communicate with the PC. ToolStick Base Adapters can be purchased at www.silabs.com/toolstick. The C8051F850 ToolStick Starter Kit (TOOLSTICK850-B-SK) contains the following items: ToolStick C8051F850 Daughter Card (TOOLSTICK850DC) Base Adapter (TOOLSTICKBA) USB extension cable ToolStick 3. ToolStick Overview The purpose of the ToolStick is to provide a development and demonstration platform for Silicon Labs microcontrollers and to demonstrate the Silicon Labs Simplicity Studio software tools. The ToolStick development platform consists of two components: the ToolStick Base Adapter and a daughter card. The ToolStick Base Adapter provides a USB debug interface and data communications path between a Windows PC and a target microcontroller. The target microcontroller and application circuitry are located on the daughter card. Some daughter cards, such as the C8051F850 Daughter Card, are used as general-purpose development platforms for the target microcontrollers and some are used to demonstrate a specific feature or application. The C8051F850 Daughter Card includes a pair of GPIO-controlled LEDs, a potentiometer, two switches connected to GPIO, and a small prototyping area which provides access to all of the pins of the device. This prototyping area can be used to connect additional hardware to the microcontroller and use the daughter card as a development platform. Figure 3 shows the ToolStick C8051F850 Daughter Card and identifies the various components. Push-Button Switches C8051F850 and Port Access Current Measure Jumper Power LED LEDs Potentiometer Figure 3. ToolStick C8051F850 Daughter Card 2 Rev. 0.2 TOOLSTICK850DC-UG 4. Getting Started The necessary software to download, debug, and communicate with the target microcontroller must be downloaded from www.silabs.com/toolstick. The following software is necessary to build a project, download code to, and communicate with the target microcontroller: Simplicity Studio C51 Tools ToolStick Development Tools Keil The software described above is provided in the Simplicity Studio and 8-bit microcontroller studio download packages. The ToolStick Development Tools selection includes example code specifically for the ToolStick daughter card, documentation including user’s guides and data sheets, and the ToolStick Terminal application. After downloading and installing these packages, see the following sections for information regarding the software and running one of the demo applications. 5. Software Overview Simplicity Studio greatly reduces development time and complexity with Silicon Labs EFM32 and 8051 MCU products by providing a high-powered IDE, tools for hardware configuration, and links to helpful resources, all in one place. Once Simplicity Studio is installed, the application itself can be used to install additional software and documentation components to aid in the development and evaluation process. Figure 4. Simplicity Studio Rev. 0.2 3 TOOLSTICK850DC-UG The following Simplicity Studio components are required for the C8051F850 ToolStick Starter Kit: 8051 Products Part Support Developer Platform Download and install Simplicity Studio from www.silabs.com/8bit-software or www.silabs.com/simplicity-studio. Once installed, run Simplicity Studio by selecting StartSilicon LabsSimplicity StudioSimplicity Studio from the start menu or clicking the Simplicity Studio shortcut on the desktop. Follow the instructions to install the software and click Simplicity IDE to launch the IDE. Simplicity The first time the project creation wizard runs, the Setup Environment wizard will guide the user through the process of configuring the build tools and SDK selection. In the Part Selection step of the wizard, select from the list of installed parts only the parts to use during development. Choosing parts and families in this step affects the displayed or filtered parts in the later device selection menus. Choose the C8051F85x family by checking the C8051F85x/86x check box. Modify the part selection at any time by accessing the Part Management dialog from the WindowPreferencesSimplicity StudioPart Management menu item. Simplicity Studio can detect if certain toolchains are not activated. If the Licensing Helper is displayed after completing the Setup Environment wizard, follow the instructions to activate the toolchain. 5.1. Running Blinky Each project has its own source files, target configuration, SDK configuration, and build configurations such as the Debug and Release build configurations. The IDE can be used to manage multiple projects in a collection called a workspace. Workspace settings are applied globally to all projects within the workspace, and can include settings such as key bindings, window preferences, and code style and formatting options. Project actions such as build and debug are context sensitive. For example, the user must select a project in the Project Explorer view in order to build that project. To create a project based on the Blinky example: 1. Click the Simplicity IDE tile from the Simplicity Studio home screen. 2. Click the Create new project link from the welcome screen or go to FileNewSilicon Labs MCU Project. 3. In the Kit drop-down, select C8051F850 ToolStick Starter Kit, in the Part drop-down, select C8051F850, and in the SDK drop-down, select the desired SDK. Click Next. 4. Select Example and click Next. 5. Under C8051F850 ToolStick Starter Kit in the Blinky folder, select F85x-86x Blinky and click Finish. 6. Click on the project in the Project Explorer and click Build, the hammer icon in the top bar. Alternatively, go to ProjectBuild Project. 7. Click Debug to download the project to the hardware and start a debug session. 8. Press the Resume button to start the code running. The LED should blink. 9. Press the Suspend button to stop the code. 10. Press the Reset the device button to reset the target MCU. 11. Press the Disconnect button to return to the development perspective. 4 Rev. 0.2 TOOLSTICK850DC-UG 5.2. Simplicity Studio Help Simplicity Studio includes detailed help information and device documentation within the tool. The help contains descriptions for each dialog window. To view the documentation for a dialog, click the question mark icon in the window: This will open a pane specific to the dialog with additional details. The documentation within the tool can also be viewed by going to HelpHelp Contents or HelpSearch. 5.3. Simplicity Configurator The Simplicity Configurator is a configuration and code generation tool. This utility helps accelerate development by automatically generating initialization source code to configure and enable the on-chip resources needed by most design projects. In just a few steps, the wizard creates complete startup code for a specific Silicon Labs MCU. To create a new Simplicity Configurator project: 1. Click the Create new project link from the welcome screen or go to FileNewSilicon Labs MCU Project. 2. In the Kit drop-down, select C8051F850 ToolStick Starter Kit or None, in the Part drop-down, select C8051F850, and in the SDK drop-down, select the desired SDK. Click Next. 3. Select Simplicity Configurator Program and click Next. 4. Fill in the Project name and select the desired device. The C8051F850-C-GU-QSOP device is on the C8051F850 ToolStick. Click Finish. The Simplicity Configurator project displays properties for each peripheral. To configure a peripheral, click on the DefaultMode Peripherals tab at the bottom and click on a peripheral. Checking the box for a peripheral will add it to code generation. Once a peripheral is selected, configure the registers using the Properties view. Select a new value for a property with either an input box or a drop-down menu and press Enter to set it. Figure 5. Simplicity Configurator – Configuring Peripheral Properties Rev. 0.2 5 TOOLSTICK850DC-UG To configure pins, click on the DefaultMode Port I/O tab at the bottom of main window. Clicking on a pin brings up a property window for the pin. Clicking anywhere else in the main window opens a property window for the crossbar. Select multiple pins with Ctrl + left click or mouse dragging over the desired set of pins. The package diagram displays the configured peripherals on the pins, including non-crossbar signals (i.e., ADC inputs). Code generation updates every time the configuration project saves. After configuring the device, add any noninitialization code, build, and debug the same as with any other project. More information on Simplicity Configurator can be found in AN0823: Simplicity Configurator User’s Guide and AN0821: Simplicity Studio C8051F85x Walkthrough. Application notes can be found on www.silabs.com/8bitappnotes. Figure 6. Simplicity Configurator – Configuring Port I/O 6 Rev. 0.2 TOOLSTICK850DC-UG 5.4. Legacy 8-bit IDE Note: Using the Simplicity Studio tools with the C8051F850 ToolStick is recommended. See "5. Software Overview‚" on page 3 for more information. Download the 8-bit software from the website (www.silabs.com/8bit-software) to install the software tools for the ToolStick-F850DC devices. After installation, examples can be found in ...\Examples\C8051F85x_86x in the installation directory. At a minimum, the C8051F850 ToolStick requires: Silicon Labs IDE—Software enabling initial evaluation, development, and debugging. C51 Tools—Keil 8051 Compiler/Assembler/Linker toolchain. ToolStick Development Tools—Software and examples for the ToolStick development platform. More information on this platform can be found at www.silabs.com/toolstick. Other software available includes: Keil Keil µVision Driver—Driver for the Keil µVision IDE that enables development and debugging on C8051Fxxx MCUs. Flash Programming Utilities and MCU Production Programmer—Programming utilities for the production line. More information on the available programming options can be found on the website: www.silabs.com/products/mcu/Pages/ProgrammingOptions.aspx. The development kit includes the latest version of the C51 Keil 8051 toolset. This toolset is initially limited to a code size of 2 kB and programs start at code address 0x0800. After registration, the code size limit is removed entirely and programs will start at code address 0x0000. To register the Keil toolset: 1. Register on the Silicon Labs website (www.silabs.com/8bit-software) to obtain the serial number. 2. Open the Keil µVision4 IDE from the installation directory with administrative privileges. 3. Select FileLicense Management to open the License Management window. Figure 7. Keil µVision4 IDE License Management Window 4. Click on the Get LIC via Internet... button to open the Obtaining a License IDE Code (LIC) window. 5. Press OK to open a browser window to the Keil website. If the window doesn’t open, navigate to www.keil.com/license/install.htm. 6. Enter the Silicon Labs Product Serial Number, along with any additional required information. 7. Once the form is complete, click the Submit button. An email will be sent to the provided email address with the license activation code. Rev. 0.2 7 TOOLSTICK850DC-UG 8. Copy the License ID Code (LIC) from the email. 9. Paste the LIC into the New License ID Code (LIC) text box at the bottom of the License Management window in µVision4. 10. Press the Add LIC button. The window should now list the PK51 Prof. Developers Kit for Silabs as a licensed product. 11. Click the Close button. 5.5. ToolStick Terminal The ToolStick Terminal program provides the standard terminal interface to the target microcontroller's UART. However, instead of requiring the usual RS-232 and COM port connection, ToolStick Terminal uses the USB interface of the ToolStick Base Adapter to provide the same functionality. The software is available on the ToolStick webpage (www.silabs.com/toolstick). In addition to the standard terminal functions (send file, receive file, change baud rate), two GPIO pins on the target microcontroller can be controlled using the Terminal for either RTS/CTS handshaking or software-configurable purposes. To use the ToolStick Terminal program: 1. Download an example to the ToolStick device that uses UART communication. One example of this type is the F85x-86x STDIO example in the UART folder from the Simplicity Studio example project creation wizard. 2. Disconnect from the device in the Simplicity IDE. The IDE and the ToolStick Terminal cannot communicate with the daughter card simultaneously. 3. Open ToolStick Terminal from the Start Programs Silicon Labs menu. 4. In the top, left-hand corner of the Terminal application, available devices are shown in the drop-down Connection menu. Click Connect to connect to the device. 5. If using the F85x-86x STDIO example, text printed from the device will appear in the Receive Data window. 6. Type in a value in the Transfer Data window and press the Send Data button. The firmware will echo the value entered, print the value in hexidecimal, and prompt for a new value. In addition to the standard two UART pins (TX and RX), there are two GPIO/UART handshaking pins on the ToolStick Base Adapter that are connected to two port pins on the target microcontroller. ToolStick Terminal is used to configure and read/write these pins. Under Pin State Configuration area in ToolStick Terminal, select the 8 Rev. 0.2 TOOLSTICK850DC-UG desired state from the drop-down menu and click the Set Selected Pin States button. The firmware on the C8051F850 target microcontroller does not need to be customized to use the UART and communicate with ToolStick Terminal. The firmware on the microcontroller should write to the UART as it would in any standard application, and all of the translation is handled by the ToolStick Base Adapter. 6. Using the C8051F850 Daughter Card as a Development Platform The prototyping area on the ToolStick C8051F850 Daughter Card makes it easy to interface to external hardware. All of the digital I/O pins are available, so it is possible to create a complete system. 6.1. C8051F850 Pin Connections It is important to note that if external hardware is being added, some of the existing components on the board can interfere with the signaling. The following is a list of port pins on the C8051F850 that are connected to other components: Table 1. ToolStick Daughter Card Pin Functions MCU Pin ToolStick Daughter Card Function P0.0 P0.1 P0.2 P0.3 P0.4 UART TX P0.5 UART RX P0.6 P0.7 P1.0 red LED DS1 P1.1 red LED DS2 P1.2 potentiometer R10 P1.3 P1.4 P1.5 GPIO0/RTS P1.6 GPIO1/CTS P1.7 Switch S1 P2.0 C2D Pin Sharing P2.1 Switch S2 See the daughter card schematic in Section 7 for more information. 6.2. C2 Pin Sharing On the C8051F850, the C2CK and C2D debug pins are shared with the /RST and P2.0 pins respectively. The daughter card includes the resistors necessary to enable pin sharing, which allows the /RST and P2.0 pins to be used normally while simultaneously debugging the device. See Application Note “AN124: Pin Sharing Techniques for the C2 Interface” at www.silabs.com/products/mcu/Pages/ApplicationNotes.aspx for more information regarding pin sharing. Rev. 0.2 9 VDD C1 1uF 5 C2 0.1uF VBUS Rev. 0.2 R13 750 DS3 GREEN C2CK C2D P1.7 P1.6 P1.5 P2.1 P0.2 P0.1 P0.0 1 2 3 4 5 6 7 8 9 10 11 12 NC P0.2 P0.1 / AGND P0.0 / VREF GND VDD /RST / C2CK C2D / P2.0 P1.7 P1.6 P1.5 P2.1 NC P0.3 P0.4 P0.5 P0.6 P0.7 P1.0 P1.1 P1.2 P1.3 P1.4 NC 4 P2.0 /RST R12 1K P0.3 P0.4 P0.5 P0.6 P0.7 P1.0 P1.1 P1.2 P1.3 P1.4 VDD TP25 GND 1K R15 1K R14 24 23 22 21 20 19 18 17 16 15 14 13 S2 P2.1 P1.7 R4 1K S1 R3 1K VDD_PM 2 3 R10 10K 1K C2CK P2.0 P0.5 P1.5 VBUS R11 RED DS2 P1.1 RED DS1 P1.0 VDD_PM R2 750 R1 750 VDD_PM 3 0 0 0 0 0 P1.2 P2.1 P1.7 P1.1 P1.0 C2D P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 TP4 C2D 1 3 5 7 9 11 13 GND VBUS(5V) TDI_C2CK TDO_C2DPS TSTERMINAL_TX GPIO0_RTS SUSPEND(OUT) GPIO1_CTS VPPCTRL(OUT) 2 VDD(3.3V) VIO(IN) TCK_C2D TDO_C2CKPS TSTERMINAL_RX J1 14 2 4 6 8 10 12 JP1 JS1 VDD Date: Size B Title P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 TP7 P1.0 TP10 P1.1 TP13 P1.2 TP15 P1.3 TP17 P1.4 TP19 P1.5 TP21 P1.6 TP23 P1.7 TP3 /RST Tuesday, April 30, 2013 Document Number ToolStick-F85x-DC ToolStick 'F85x/86x DC 400 W Cesar Chavez Austin, TX 78701 /RST Port Access Jumper Shunt VDD_PM C2D /RST P0.4 P1.6 TP6 P0.0 TP9 P0.1 TP12 P0.2 TP14 P0.3 TP16 P0.4 TP18 P0.5 TP20 P0.6 TP22 P0.7 TP5 GND TP2 C2CK TP1 VDD C2CK VDD ToolStick Card Edge Connector R9 R8 R7 R6 R5 2 Figure 8. C8051F850 ToolStick Daughter Card Schematic Rev 1.0 (1 of 1) TP24 GND C2D C2CK U1 C8051F850 4 1 10 3 5 P2.1 P2.0 1 Sheet 1 1 TP8 P2.0 TP11 P2.1 of TOOLSTICK850DC-UG 7. Schematic TOOLSTICK850DC-UG 8. Bill of Materials Table 2. C8051F850 ToolStick Daughter Card Bill of Materials (Rev 1.0) Reference Part Number Source Description C1 C0603X7R100-105K Venkel 1 uF 10 V ±10% X7R 0603 C2 C0603X7R100-104K Venkel 0.1 uF 10 V ±10% X7R 0603 DS1 DS2 SML-LX0603IW Lumex Inc RED 30mA LED 0603 DS3 SML-LX0603SUGW Lumex Inc GREEN 25mA LED 0603 JP1 TSW-102-07-T-S Samtec 0.1 in. 1x2 Header JS1 SNT-100-BK-T Samtec Jumper Shunt R1 R2 R13 CR0603-16W-7500F Venkel 750 1/10W ±1% ThickFilm 0603 R10 RV100F-30-4K1B-B10KB301 Alpha (Taiwan) 10 k 0.03 W 30% Thumbwheel Potentiometer R3 R4 R11 R12 R14 R15 CR0603-10W-1001F Venkel 1 k 1/10W ±1% ThickFilm 0603 R5 R6 R7 R8 R9 CR0603-16W-000 Venkel 0 1A ThickFilm 0603 S1 S2 EVQ-PAD04M Panasonic Corp Momentary Tactile Switch U1 C8051F850-A-GU Silicon Labs C8051F850 MCU QSOP-24 Rev. 0.2 11 Simplicity Studio One-click access to MCU and wireless tools, documentation, software, source code libraries & more. Available for Windows, Mac and Linux! IoT Portfolio www.silabs.com/IoT SW/HW Quality Support and Community www.silabs.com/simplicity www.silabs.com/quality community.silabs.com Disclaimer Silicon Laboratories intends to provide customers with the latest, accurate, and in-depth documentation of all peripherals and modules available for system and software implementers using or intending to use the Silicon Laboratories products. Characterization data, available modules and peripherals, memory sizes and memory addresses refer to each specific device, and "Typical" parameters provided can and do vary in different applications. Application examples described herein are for illustrative purposes only. Silicon Laboratories reserves the right to make changes without further notice and limitation to product information, specifications, and descriptions herein, and does not give warranties as to the accuracy or completeness of the included information. Silicon Laboratories shall have no liability for the consequences of use of the information supplied herein. This document does not imply or express copyright licenses granted hereunder to design or fabricate any integrated circuits. The products must not be used within any Life Support System without the specific written consent of Silicon Laboratories. A "Life Support System" is any product or system intended to support or sustain life and/or health, which, if it fails, can be reasonably expected to result in significant personal injury or death. Silicon Laboratories products are generally not intended for military applications. Silicon Laboratories products shall under no circumstances be used in weapons of mass destruction including (but not limited to) nuclear, biological or chemical weapons, or missiles capable of delivering such weapons. Trademark Information Silicon Laboratories Inc., Silicon Laboratories, Silicon Labs, SiLabs and the Silicon Labs logo, CMEMS®, EFM, EFM32, EFR, Energy Micro, Energy Micro logo and combinations thereof, "the world’s most energy friendly microcontrollers", Ember®, EZLink®, EZMac®, EZRadio®, EZRadioPRO®, DSPLL®, ISOmodem ®, Precision32®, ProSLIC®, SiPHY®, USBXpress® and others are trademarks or registered trademarks of Silicon Laboratories Inc. ARM, CORTEX, Cortex-M3 and THUMB are trademarks or registered trademarks of ARM Holdings. Keil is a registered trademark of ARM Limited. All other products or brand names mentioned herein are trademarks of their respective holders. Silicon Laboratories Inc. 400 West Cesar Chavez Austin, TX 78701 USA http://www.silabs.com