SILICON LABS Si1140-DK Optical Sensor Development Kit User Guide

June 3, 2024
SILICON LABS

logo

SILICON LABS Si1140-DK Optical Sensor Development Kit

Introduction

The Si1140DK is intended as an evaluation and development platform for the Si1143 infrared proximity and ambient light sensor. As shown in Figure 1, the main components of the Si1143 Evaluation Board (Si1143_EB) are the Si1143 sensor (U2), the C8051F800 microcontroller (U1), and the infrared emitters (DS1 through DS9). On this PCB, the infrared emitters used are OSRAM part number SFH 4056. These emitters have a power rating of 40 mW and a half-angle of 22 degrees. Other emitters with different characteristics may also be used, depending on the specific application requirements. The example firmware for the kit measures the infrared light energy detected by the Si1143 while each of three infrared emitters are independently activated. The infrared light from these emitters will be reflected back to the Si1143 by any object that is placed in proximity to the sensor. X, Y, and Z positions can be calculated from these measurements. If no object is close enough to the board, the measured signal levels will fall below predetermined thresholds, and the position calculations will not update. The Si1143’s ambient light sensor (ALS) is also monitored by the firmware. The example firmware is intended to be used in conjunction with the Si114x Performance Analysis Tool to provide user feedback. In addition to calculating the current position, the firmware is able to detect different gestures from the infrared sensor, as described in Table 2 on page 6.SILICON-LABS-Si1140-DK-Optical-Sensor-Development-Kit-
fig-1

Figure 1. Si1143 Evaluation Board

Software Overview

There are several optional software packages available to support the Si1143 Evaluation Board. The Si114x Performance Analysis Tool can be used for initial evaluation to collect data from the board over the USB interface and display it graphically. For users ready to develop their own software, the Si114x Programmer’s Toolkit API enables rapid development of Si114x software in a PC environment using the Si1143 Evaluation Board. The Si114x Programmer’s Toolkit contains example source code that allows developers to get started quickly and then tailor the code to their needs. In addition, the Silicon Labs Integrated Development Environment (IDE) provides a means of developing code for the C8051F800 and uses the USB connection on the board to program the MCU and perform in-system debugging. All of the supporting software can be downloaded from the web at the URL http://www.silabs.com/products/sensors/pages/optical- sensor-software.aspx.

Using the Si1143 Evaluation Board with the Performance Analysis Tool

The Si1143 Evaluation Board is supported by the Si114x Performance Analysis Tool. The Performance Analysis Tool allows users to see real-time infrared proximity and ambient light measurements from the Si1143 in a graphical form. The communications interface to the Si1143 Evaluation Board is provided over the USB connection.

To use the Performance Analysis Tool with the Si1143 Evaluation Board:

  1. Connect the Si1143 Evaluation Board to the PC using a USB cable.
  2. Launch the Performance Analysis Tool from the Start menu.
  3. Select the board from the “Devices” menu (it should show up as “TS” followed by a serial number).
  4. Select the channels you wish to display on the picture of the slider board that appears. The individual channels available are described in “3.1.1. Channel Selection” .
  5. Click the green “Acquisition” arrow to begin collecting data.

Note: The Performance Analysis Tool, Si114x Programmer’s Toolkit, and the IDE cannot connect to the Si1143 Evaluation Board at the same time. Be certain to disconnect from the board in one software package before trying to connect in the other

Figure 2 shows an example of the Performance Analysis Tool output when connected to the Si1143 Evaluation Board. To generate the graph, a hand was moved above the slider board. The selected traces shown are the raw data measurements for the amount of Infrared light being reflected onto the part. The pink trace represents the distance from infrared emitter DS1; the green trace represents the distance from infrared emitter DS9, and the yellow trace represents the distance from infrared emitter DS5.SILICON-LABS-Si1140-DK-
Optical-Sensor-Development-Kit-fig-2

Channel Selection
Selecting which channels to display is done by checking the appropriate boxes on the Board Representation window, shown in Figure 3, and the Generic Data window, shown in Figure 4. There are two different groups of measurements available from the example firmware: raw data channels and generic data channels

Raw Data Channels
The raw data measurements can be seen by selecting the channels from the Board Representation window, shown in Figure 3. The two types of raw data measurements are ambient light and infrared proximity

  1. Raw ambient light measurements. The ambient light channels are Channel 0 (red) and Channel 1(blue). Channel 0 displays measurements of the ambient visible light while Channel 1 displays measurements of the ambient infrared light.
  2. Raw infrared proximity measurements. The infrared proximity channels are Channel 2 (pink) readings using DS1, Channel 3 (green) readings using DS9, and Channel 4 (yellow) readings using DS5. The output is proportional to the amount of infrared light being reflected onto the part by an object above the board. These outputs are 16-bit unsigned values.

SILICON-LABS-Si1140-DK-Optical-Sensor-Development-Kit-
fig-3

Generic Data Channels
The generic data channels contain any data generated by the host MCU. These 16-bit channels can be anything from simple debug channels to calculated position values. See Table 1 for an explanation of all the channels shown in Figure 4.SILICON-LABS-Si1140-DK-Optical-Sensor-Development-Kit-
fig-4

Table 1. Generic Data Channels

Name Label Type Description
G0 Rad1 ****

Linearized Distance Measurements

| Using characterization of the PS measurements with objects at certain distances, it is possible to estimate the distance of an object based on the PS measurement value. These three channels represent the distance esti- mations for each LED’s measurement.
G1| Rad2
G2| Rad3
G3| X(mm)| ****


Estimated Location Coordinates

| ****

With the approximate distance measurements above, an X, Y, and Z estimation can be made. These estimations are given in units of mm.

G4| Y(mm)
G5| Z(mm)
G6| iLED1| ****


LED Drive Current Levels

| ****

Each LED driver has a specific LED drive current setting for it. These values are given in units of mA.

G7| iLED2
G8| iLED3


G9

| ****

VIS

| ****



AutoRanging Ambient Outputs

| AutoRanging will automatically change the modes of the photodiodes to avoid saturation. When changing modes, the raw data output changes levels, but AutoRanging will scale the raw data so that all measurements are on the same scale. The output from this channel is the pro- cessed value which can be used without knowledge of the photodiode modes.


G10

| ****

IR


G11

| ****

PS1

| ****




AutoRanging PS Outputs

| These channels are the AutoRanging PS output from the device. Raw data measurements are processed by the AutoRanging firmware to make all the readings across different modes have the same magnitude. Since the device switches modes to compensate for ambient light, the raw data will show jumps when changing modes. These outputs will not display the jumps because the firmware is stitching the raw outputs together.


G12

| ****

PS2


G13

| ****

PS3

G14| VIS s| State of Ambient Visible System| These channels help indicate what mode the sensor is in during each of their respective measurements. The four possible modes are as follows: Low Light, High Sensitiv- ity, High Signal, and Sunlight. These modes are num- bered from zero to three. For more information about each mode, please consult the data sheet.
G15| IR st| State of Ambient IR System
G16| PS st| State of PS System
G17| PS1bl| ****


PS Baseline Levels

| AutoRanging uses baselining to determine the no-detect threshold for readings. Any readings below the values shown on these channels will be considered no-detect readings. Any values higher than this baseline will be shown in the AutoRanging PS Outputs above.
G18| PS2bl
G19| PS3bl
G20| N/A| ****

Unused

| The unused channels are not in use by software, but they are available in firmware to use as needed.
G21| N/A

Gesture Sensing
In addition to infrared and ambient light measurements and distance calculations, the example firmware contains algorithms for gesture recognition. When connected to the board with the Performance Analysis Tool, a group window will appear, as shown in Figure 5. When a gesture is recognized by firmware, the gesture name and parameter information will be added to the top of the 3D Gesture group. Four gestures are supported by the    example code. The parameters for each gesture are listed in Table

SILICON-LABS-Si1140-DK-Optical-Sensor-Development-Kit-
fig-5

Table 2. Recognized Gestures

Gesture Name| Parameter| Parameter Range| Description of Action
---|---|---|---
Swipe Left| Speed| 1 18 (Slow to Fast)| Move hand rapidly from the right side to the left side of the board.
Swipe Right| Speed| 1 18 (Slow to Fast)| Move hand rapidly from the left side to the right side of the board.
Swipe Up| Speed| 1 18 (Slow to Fast)| Move hand rapidly from the bottom to the top of the board.
Swipe Down| Speed| 1 18 (Slow to Fast)| Move hand rapidly from the top to the bottom of the board.

Programmer’s Toolkit

Software API
The Si114x Programmer’s Toolkit API enables rapid development of Si114x software in a PC environment using the Si1140DK. By emulating an I2C interface over USB, the Si114x Programmer’s Toolkit API allows source code to be developed on a PC and then migrated quickly and easily to an MCU environment once target hardware is available. Either commercially-available or free PC- based C compilers can be used for software development with the Si114x Programmer’s Toolkit API. The Si114x Programmer’s Toolkit API also includes the Si114x Waveform Viewer Application. This tool runs in conjunction with user applications to display and debug the measurements taken from the Si1140DK

Note: The Performance Analysis Tool, Si114x Programmer’s Toolkit and IDE cannot connect to the Si1143 Evaluation Board at the same time. Be certain to disconnect from the board in one software package before trying to connect in the other

Command Line Utilities
For evaluation of the Si1140DK without the need to develop and compile source code, a flexible set of command line utilities is also provided with the Si114x Programmer’s Toolkit. These utilities can be used to configure and read samples from the Si1140DK. For automated configuration and scripting, the command line utilities can be embedded into .bat files.

Sample Source Code
For faster application development, the Si114x Programmer’s Toolkit contains example source code for the Si1140DK and for each of the command line utilities. Developers can get started quickly by using the Si114x example source code and then tailoring it to their needs.

Downloading the Si114x Programmer’s Toolkit
The Si114x Programmer’s Toolkit and associated documentation is available from the web at the URL http://www.silabs.com/products/sensors/pages/optical- sensor-software.aspx.

Silicon Laboratories IDE

The Silicon Laboratories IDE integrates a source-code editor, a source-level debugger, and an in-system Flash programmer. This tool can be used to develop and debug code for the C8051F800 MCU which is included on the Si1143 Evaluation Board. The use of several third-party compilers and assemblers is supported by the IDE.

IDE System Requirements

The Silicon Laboratories IDE requirements

  • Pentium-class host PC running Microsoft Windows 2000 or newer.
  • One available USB port

Third Party Toolsets

The Silicon Laboratories IDE has native support for many 8051 compilers. The full list of natively supported tools is as follows

  • Keil
  • IAR
  • Raisonance
  • Tasking
  • SDCC

Downloading the Example Firmware Image

Source code that has been developed and compiled for the C8051F800 MCU on the Si1143 Evaluation Board may be downloaded to the board using the Silicon Laboratories IDE. Follow the instructions below to update or refresh the .HEX image in the Si1143 Evaluation Board

  1. Connect the Si1143 Evaluation Board to the PC using a USB cable.
  2. Launch the Silicon Labs IDE, and click on Options->Connection Options.
  3. Select “USB Debug Adapter”, and then select the board from the list (it should show up as “TS” followed by a serial number).
  4. Select “C2” as the debug interface, and press “OK”.
  5. Connect to the board by pressing the “Connect” icon or by using the keyboard shortcut, Alt+C.
  6. Click on the “Download” icon, or use the keyboard shortcut Alt+D.
  7. In the download dialog window, click “Browse”.
  8. Change to Files of Type “Intel Hex (*.hex)” and then browse to select the file.
  9. Click “Open” then “Download”.
  10. To run the new image, either press “Run” or “Disconnect” in the IDE.

Note: The Performance Analysis Tool, Si114x Programmer’s Toolkit and IDE cannot connect to the Si1143 Evaluation Board at the same time. Be certain to disconnect from the board in one software package before trying to connect in the other

Schematic

SILICON-LABS-Si1140-DK-Optical-Sensor-Development-Kit-
fig-6

DOCUMENT CHANGE LIST

Revision 0.2 to Revision 0.3

  • Replaced QuickSense Studio references and instructions with Si114x Programmer’s Toolkit.SILICON-LABS-Si1140-DK-Optical-Sensor-Development-Kit-fig-7

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 are not designed or authorized to 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 not designed or authorized 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®, Bluegiga®, Bluegiga Logo®, Clockbuilder®, CMEMS®, DSPLL®, EFM®, EFM32®, EFR, Ember®, Energy Micro, Energy Micro logo and combinations thereof, “the world’s most energy friendly microcontrollers”, Ember®, EZLink®, EZRadio®, EZRadioPRO®, Gecko®, ISOmodem®, Precision32®, ProSLIC®, Simplicity Studio®, SiPHY®, Telegesis, the Telegesis Logo®, 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

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

SILICON LABS User Manuals

Related Manuals