To o l Sti c k - F 9 1 2 D C TO O L S T I C K C 8 0 5 1 F 9 1 2 D A UG H T ER C A R D U S E R ’ S G UI DE 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, please take into consideration 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 5/14 Copyright © 2014 by Silicon Laboratories ToolStick-C8051F912DC ToolStick- F 912DC 2. Contents The C8051F912 ToolStick DC (TOOLSTICK912DC) kit contains the following items: ToolStick C8051F912 Daughter Card One extra A76 battery 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. 3. ToolStick Overview The purpose of the ToolStick is to provide a development and demonstration platform for Silicon Laboratories microcontrollers and to demonstrate the Silicon Laboratories software tools, including the Integrated Development Environment (IDE). 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 C8051F912 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 C8051F912 Daughter Card includes a pair of GPIO-controlled LEDs, a potentiometer, a switch connected to a GPIO, a capacitive touch sense switch, 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. The C8051F912 Daughter Card also includes an A76 1.5 V alkaline battery which can be used to power the board when not connected to the Toolstick Base Adapter. The C8051F912 will continue to operate from the single “button cell” battery until the supply voltage drops below 0.9 V. Figure 3 shows the ToolStick C8051F912 Daughter Card and identifies the various components. P1.6 P1.5 Red LED Yellow LED Full Pin Access ToolStick Power Available Red LED Power Source Indicator Yellow LED Power Source Selector Switch C8051F912 P0.3 Capacitive P0.2 Push Touch Sense Button Switch (S2) Switch P0.6 Potentiometer Figure 3. ToolStick C8051F912 Daughter Card 2 Rev. 0.2 ToolStick-F912DC 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 ToolStick- F 912DC The following Simplicity Studio components are required for the C8051F912 ToolStick Starter Kit: 8051 Products Part Support Developer Platform Download and install Simplicity Studio from 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 C8051F91x/90x family by checking the C8051F91x/90x 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 the Features Demo To create a project for the Features Demo example: 1. Click the Software Examples tile from the Simplicity Studio home screen. 2. In the Kit drop-down, select C8051F912 ToolStick Daughter Card, in the Part drop-down, select C8051F912, and in the SDK drop-down, select the desired SDK. Click Next. 3. Select Example and click Next. 4. Under C8051F912 ToolStick Daughter Card, select TS F91x-90x FeaturesDemo and click Finish. 5. Click on the project in the Project Explorer and click Build, the hammer icon in the top bar. Alternatively, go to ProjectBuild Project. 6. Click Debug to download the project to the hardware and start a debug session. 7. Follow the instructions at the top of the example file to run the demo. 8. Press the Resume button to start the code running. 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 ToolStick-F912DC 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. Configuration Wizard 2 The Configuration Wizard 2 is a code generation tool for all of the Silicon Laboratories devices. Code is generated through the use of dialog boxes for each of the device's peripherals. Figure 5. Configuration Wizard 2 Utility The Configuration Wizard 2 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 Laboratories MCU. The program is configurable to provide the output in C or assembly. Installing the Simplicity Studio software will automatically install Configuration Wizard 2 if it’s required for the selected devices. After selecting the desired device in the Product area, the Configuration Wizard 2 tile will appear in the Tools section. Rev. 0.2 5 ToolStick- F 912DC 5.4. 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 TS F91x-90x FeaturesDemo example 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 TS F91x-90x FeaturesDemo example, text printed from the device will appear in the Receive Data window. 6. Rotate the potentiometer on the board to change the blink rate or brightness of the LED. 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 desired state from the drop-down menu and click the Set Selected Pin States button. The firmware on the C8051F912 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 Rev. 0.2 ToolStick-F912DC 5.5. Data Logger Modes and Indicator LEDs The data logger has three modes of operation shown in Table 1: Table 1. Data Logger Modes Mode Power Source Reset Source Blinking Indicator LED(s) Logging Only Battery POR or other Yellow Only Logging + UART Battery /RST Pin Red Only ToolStick Base Adapter Don’t Care Red and Yellow Interactive The Logging Only mode is the lowest power mode and is the mode in which the data logger spends most of its operating life. The primary goal of this mode is to prolong battery life and keep the data log up to date. The system enters this mode when it is powered from the battery and the last reset was a power on reset or other reset not caused by the reset pin. In this mode, the Yellow LED will blink when the S2 switch is pressed to indicate that the system is in its lowest power mode. The Logging + UART mode is entered when powered from the battery and a pin reset occurs. A pin reset is generated on the C8051F912 Daughter Card when the ToolStick Terminal is connected. In this mode, the device prints a log summary to the screen and blinks the Red LED when the S2 switch is pressed. This mode preserves battery life, but it requires the MCU to stay in active mode while transmitting information over UART. When the power source is set to ToolStick Power, the data logger will enter Interactive Mode. Since the MCU is powered from the ToolStick Base Adapter, it runs at full speed without entering a low power mode. It constantly monitors the potentiometer ratio, the capacitive touch sense switch oscillation period, and the current temperature. Since the battery is disconnected when being powered from the ToolStick Base Adapter, the MCU cannot measure the battery voltage. When S2 is pressed, the system toggles between displaying a log summary and interactive content in addition to blinking both the Yellow and Red LEDs. Rev. 0.2 7 ToolStick- F 912DC 6. Using the C8051F912 Daughter Card as a Development Platform The prototyping area on the ToolStick C8051F912 Daughter Card makes it easy to interface to external hardware. All of the digital I/O pins are available so it possible to create a complete system. 6.1. C8051F912 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 C8051F912 that are connected to other components: P0.2—This pin is connected to the P0.2 switch. The switch and R10 can be safely removed from the daughter card if they are not needed. P0.3—This pin is connected to a capacitive touch sense switch. The 0 resistor R15 can be safely removed from the daughter card if the capacitive touch sense switch is not needed. P0.4, P0.5—These pins are connected directly to the ToolStick Base Adapter for UART communication. P0.6—This pin is connected to the output of the potentiometer. The 0 resistor R11 can be removed to disconnect the potentiometer from the pin. P1.0, P1.1—These pins are connected directly to the ToolStick Base Adapter’s GPIO pins. By default, these GPIO pins on the Base Adapter are high-impedance pins so they will not affect any signaling. Configuring these pins on the Base Adapter to output pin or handshaking pins could affect signaling. P1.3—This pin is connected to the power source detect signal. P1.4—This pin is connected to the potentiometer enable signal. This allows the potentiometer to be disabled by software when not in use. The 0 resistor R11 can be safely removed from the daughter card to disconnect the potentiometer enable from the pin. P1.5—This pin is connected to the cathode (-) of the red LED on the daughter card. The LED or R4 resistor can be removed to disconnect the LED from the pin. P1.6—This pin is connected to the cathode (-) of the yellow LED on the daughter card. The LED or R5 resistor can be removed to disconnect the LED from the pin. See the daughter card schematic in Section 7 for more information. 6.2. VREF Capacitor On the C8051F912 devices, if VREF is generated using the High-Speed Internal Reference, no output capacitor is required. If using the on-chip Precision Voltage Reference, it is highly recommended to place a capacitor on the VREF output pin. On the ToolStick C8051F912 Daughter Card, there are pads on the board (C5) to populate a 0603 surface mount capacitor. There are also pads on the board (R14) to facilitate shorting P0.1 to the ground plane for use as an analog ground reference (AGND). The firmware examples for the daughter card use the HighSpeed Internal Reference as VREF and the GND pin as a ground reference, so no external capacitor on P0.0 is necessary for proper operation. Also, P0.1 may be used for general purpose I/O. 6.3. C2 Pin Sharing On the C8051F912, the debug pins, C2CK, and C2D, are shared with the pins /RST and P2.7 respectively. The daughter card includes the resistors necessary to enable pin sharing which allow the /RST and P2.7 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 for more information regarding pin sharing. 8 Rev. 0.2 PWR R1 4k7 VBUS_OUT Rev. 0.2 TCK_C2D 6 TDO_C2CKPS 8 GND C2 X7R 1.0UF VDD NEG POS RF2 RUBBER FOOT 2 1 FI1 FIDUCIAL R2 0.0 I measure TP5 1K 680nH L1 P1.3 SUSPEND C3 X7R 4.7UF D2 1.8V YELLOW TP25 3 VBAT DCEN GND/DC- VDD/DC+ 2 GND 25 DAP 5 4 C4 X7R 1.0UF 1 DC+ P0.0/VREF 8 9 16 15 14 13 12 11 10 23 22 21 20 19 18 17 24 6 RST/C2CK 7 P2.7/C2D XTAL4 XTAL3 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P0.1/AGND P0.2/XTAL1 P0.3/XTAL2 P0.4/TX P0.5/RX P0.6/CNVSTR P0.7/IREF0 U1 C8051F912 C5 X7R C2CK C2D TP26 TP1 NO POP R14 Y1 32.768KHZ P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P0.4 P0.5 P0.6 P0.2 NO POP P0.1 P0.0 TP3 DC+ R13 NO POP NO POP C6 R12 NO POP DC+ Figure 6. C8051F912 Daughter Card Schematic TP4 R16 R3 1.2K DC+ VDD Power Source P0.4 P1.1 C2D DC+ FI2 FIDUCIAL DC+ 6 3 4 5 S1 2 1 VPPCTL(OUT) 14 TSTERMINAL_RX 10 GPIO1_CTS 12 BAT2 NEG_BATTERY_CONTACT GND RF1 RUBBER FOOT D1 1.8V RED 3 2 1 1.5V 11.6mm POS NEG POS Button Cell BAT1 13 SUSPEND(OUT) 9 TSTERMINAL_TX 11 GPIO0_RTS SUSPEND 5 TDI_C2CK 7 TDO_C2DPS P0.5 P1.0 2 4 TOP SIDE J1 EDGE-MEC1-108-02-F-D-EM2 1 GND VDD(3.3V) 3 VBUS(5V) VIO(IN) C2CK P2.7 GND VBUS_OUT CARD EDGE CONNECTOR BOTTOM SIDE NO POP C7 P1.5 P1.6 P0.3 TP13 TP12 TP11 TP10 TP9 TP8 TP7 TP6 P0.7 P0.3 P0.2 P1.4 P0.6 C2D C2CK DRAWN BY: PART NUMBER: TITLE: P0.7 (IREF0/GPIO) TP22 10K R8 D4 1.8V RED P2.7 (C2D/GPIO) P1.6 (Orange LED) P1.5 (Red LED) P1.4 (Potentiometer Bias) P1.3 (Power Source) P1.2 (GPIO) P1.1 (GPIO1_CTS/GPIO) P1.0 (GPIO0_RTS/GPIO) P1/P2 D3 R5 1.2K SILICON LABS TP21 TP20 TP19 TP18 TP17 TP16 TP15 TP14 GND C2CK C2D R4 1.2K DC+ 1.8V YELLOW DC+ TP24 TP23 ENGINEER: - SA-TS077PCB-000 TOOLSTICK F912 DC AnGa R P0.6 (CNVSTR/Potentiometer) P0.5 (RX) P0.4 (TX) P0.3 (XTAL2/TouchSense/GPIO) S3 S2 C2D P2.7 C2CK DEBUG CIRCUIT P0.2 (XTAL1/Switch/GPIO) P0.1 (AGND/GPIO) P0.0 (VREF/GPIO) P0 TOUCH SENSE SWITCH R15 0.0 R10 1K R11 0.0 R9 1K 1K R7 R6 1K DC+ ToolStick-F912DC 7. C8051F912 Daughter Card Schematic 9 ToolStick-F912DC DOCUMENT CHANGE LIST Revision 0.1 to Revision 0.2 Updated "4. Getting Started‚" on page 3 and "5. Software Overview‚" on page 3 with instructions for Simplicity Studio. Rev. 0.2 10 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