3M Touch Screen Controller SC500 Reference Guide

SC500 USB Resistive Controller Reference Guide
3M Touch Systems
Read and understand all safety information
contained in this document before using this product.
The information provided in this document is intended only as a guide. For the latest detailed engineering specifications, please contact your 3M Touch Systems Application Engineer. 3M Touch Systems is committed to continually improving product designs, as a result, product specifications may be subject to change without notification.
NOTICE: Given the variety of factors that can affect the use and performance of a 3M Touch Systems Product (the “Product”), including that solid state equipment has operation characteristics different from electromechanical equipment, some of which factors are uniquely within User’s knowledge and control, it is essential that User evaluate the 3M Touch Systems Product and software to determine whether it is suitable for User’s particular purpose and suitable for User’s method of application. 3M Touch Systems’ statements, engineering/technical information, and recommendations are provided for User’s convenience, but their accuracy or completeness is not warranted. 3M Touch Systems products and software are not specifically designed for use in medical devices as defined by United States federal law. 3M Touch Systems products and software should not be used in such applications without 3M Touch Systems’ express written consent. User should contact its sales representative if User’s opportunity involves a medical device application.
IMPORTANT NOTICE TO PURCHASER: Specifications are subject to change without notice. These 3M Touch Systems’ Products and software are warranted to meet their published specifications from the date of shipment and for the period stated in the specification. 3M Touch Systems makes no additional warranties, express or implied, inc l uding but not limited to any implied warranties of merchantability or fitness for a particular purpose. User is responsible for determining whether the 3M Touch Systems Products and software are fit for User’s particular purpose and suitable for its method of production, including intellectual property liability for User's application. If the Product, software or software media is proven not to have met 3M Touch Systems’ warranty, then 3M Touch Systems’ sole obligation and User’s and Purchaser’s exclusive remedy, will be, at 3M Touch Systems’ option, to repair or replace that Product quantity or software media or to refund its purchase price. 3M Touch Systems has no obligation under 3M Touch Systems’ warranty for any Product, software or software media that has been modified or damaged through misuse, accident, neglect, or subsequent manufacturing operations or assemblies by anyone other than 3M Touch Systems. 3M Touch Systems shall not be liable in
any action against it in any way related to the Products or software for any loss or damages, whether non-specified direct, indirect, special, incidental or consequential (including downtime, loss of profits or goodwill) regardless of the legal theory asserted.
© 2004 3M All rights reserved. Printed in the United States
Document Title: SC500 USB Resistive Controller Reference Guide Document Number: 19-275, Version 1.0
MicroTouch, the MicroTouch logo, and ClearTek are either registered trademarks or trademarks of 3M in the United States and/or other countries.
IBM is a registered trademark of International Business Machines Incorporated. Microsoft, Windows, and Windows NT are registered trademarks or trademarks of Microsoft Corporation. All other trademarks are the property of their respective owners.
3M Touch Systems Proprietary Information
Contents
Overview
What You Need to Know......................................................................................5
Important Safety Information................................................................................ 5
3M Touch Systems Support Services ...................................................................6
3M Touch Systems Worldwide Offices................................................................ 7
Chapter 1 Integrating the SC500 USB Controller
Overview of the SC500 Touch Screen Controller ................................................ 9
Handling and ESD Protection............................................................................. 10
Establishing the Data Connection.......................................................................10
Mounting the Controller...................................................................................... 11
Supplying Power to the Controller...................................................................... 11
Mounting the Touch Screen................................................................................ 12
Touch Screen Cable Connector........................................................................... 12
Turning On Your System.................................................................................... 12
Status Light (LED) Diagnostics.......................................................................... 12
What's Next?.......................................................................................................13
Chapter 2 SC500 USB Controller Communications
Overview of USB Firmware Communications...................................................15
Communication Basics........................................................................................16
Receiving Reports from the Controller............................................................... 16
HID and Packed Touch Reports.......................................................................... 16
USB Command Set.............................................................................................18
Set Feature – Set Asynchronous Report.............................................................. 20
Set Feature – Calibration..................................................................................... 21
Get Feature – Get Status .....................................................................................23
Set Feature - Reset .............................................................................................. 25
Set Feature - Restore Defaults............................................................................. 25
Set Feature - Set Controller Number................................................................... 26
Get Feature – Get Controller Number................................................................. 27
Appendix A SC500 USB Controller Specifications
Technical Specifications ..................................................................................... 30
3M Touch Systems Proprietary Information
Overview
3M Touch Systems offers several advanced controllers designed for reliability and easy installation. Each controller provides superior performance and delivers excellent stability, sensitivity, accuracy, and fast response.
This reference manual, directed to developers of touch screen systems, provides installation and configuration information for the small outline 3M Touch Systems SC500 USB touch screen controller. This document includes information on integrating the SC500 USB controller into your design, communicating with the controller and troubleshooting setup problems. It also includes a complete description of the firmware commands, a guide to interpreting status LED conditions, and controller specifications.
What You Need to Know
This document assumes you are familiar with USB commands and how to use them. Executing some commands may alter the performance of your touch product. You should be aware of the results of using these commands before executing them.
Important Safety Information
Read and understand all safety information before using this product. Follow all instructions marked on the product and described in this document. Pay close attention to the following installation warnings and safety precautions.
Intended Use
The SC500 USB controller was designed to enable touch in conjunction with other 3M Touch Systems products. This controller is not designed for use in hazardous locations.
WARNING
To avoid the risk of fire and/or explosion which could result in serious injury or property damage:
Do not install or use this product in a hazardous location. Do not use this product in any outdoor environment unless NEMA standards are
followed.
3M Touch Systems Proprietary Information
6 SC500 USB Controller Reference Guide
CAUTION
To reduce the risks associated with the improper disposal of the controller board, which if not avoided may result in minor or moderate injury from ground water contamination:
Dispose of the controller board in accordance with local, state and federal regulations.
Explanation of Symbols
Attention: Read accompanying documentation
3M Touch Systems Support Services
3M Touch Systems provides extensive support services through our website and technical support organization. Visit the 3M Touch Systems website at
http://www.3mtouch.com/
drivers, obtain regularly updated technical documentation on 3M Touch Systems products, and learn more about our company.
Note that if you purchased this product from another company, contact them before contacting 3M Touch Systems.
, where you can download touch screen software and
Whenever you contact Technical Support, please provide the following information (if applicable):
Part number and serial number from your touch system
Current driver version
Operating system used
Information on additional peripherals
Technical Support is available Monday through Friday 8 a.m. to 8 p.m. US Eastern Standard Time – 9 a.m. to 5 p.m. throughout Europe. Limited call back service Saturdays and Sundays.
You can contact 3M Touch Systems Technical Support (US only -- Eastern Standard Time) by calling the hot line, sending email or sending a fax.
Technical Support Hot Line: 978-659-9200
Technical Support Fax: 978-659-9400
Toll Free: 1-866-407-6666
Email: US-TS-techsupport@mmm.com
3M Touch Systems Proprietary Information
Overview 7
3M Touch Systems Worldwide Offices
All offices can be reached through the website: http://www.3Mtouch.com/.
United States 978-659-9000
United Kingdom +44 (0) 1235-444400
Australia +61 3 9582 4799
Canada 604-521-3962
France +33 (1) 30 31 68 32
Germany +49 (0) 2131 14-4003
Hong Kong/China (852) 2333-6138
Italy +39 0 39-230 2230
Japan +81 (44) 811-1133
Korea +822 552 3198
Singapore +65-6450 8851
Spain +34 934 15 6285
Taiwan +886-2-2704 9011
3M Touch Systems Proprietary Information
CHAPTER 1
Integrating the SC500 USB Controller
The MicroTouch™ SC500 Universal Serial Bus (USB) controller is an accurate, small outline, low cost, temperature stable controller capable of supporting a wide range of 3M Touch Systems resistive touch screens. It is designed to work with Microsoft® Windows® XP, 2000, 98SE and Windows Me for internal mounting in OEM applications.
This chapter covers the following SC500 USB controller specifications:
Cable connections
Mounting requirements
Power requirements and options
Status LED codes
Overview of the SC500 Touch Screen Controller
The SC500 controller is an uncased device using a USB interface. To integrate and test the SC500 USB controller, you need the following items:
A 3M Touch Systems 5-wire resistive touch screen. The touch screens are available in a variety of sizes.
A method of establishing the USB communication between the controller and your system. The standard 3M Touch Systems USB communications cable (P/N7319420) is recommended. This cable is PC99 compliant.
A touch screen utility or driver with a calibration routine. Note: You can use MicroTouch™ Software, which includes the touch screen device
driver and utilities software.
The controller measures 1.3 x 2.4 inches, or 1.3 x 2.7 inches total profile over the connectors. Allow additional clearance for the mating connectors. The total height profile is 0.40 inches from the thru hole pins on the trace side of the board to the top of the highest component on the opposite side. The SC500 has a 5-pin touch screen connector (JP5), and a 5-pin USB cable connector (JP7).
3M Touch Systems Proprietary Information
10 SC500 USB Controller Reference Guide
Figure 1. SC500 USB Controller Overall Dimensions
Handling and ESD Protection
When mounting the sensor and controller, use normal precautions for handling electrostatic sensitive devices. The SC500 has internal protection to ±20 kV for ESD air discharges to the touch screen (not to the controller directly) that may occur during normal operation of the touch screen. Refer to Appendix A for further specifications.
Establishing the Data Connection
The SC500 USB Resistive Controller requires a 3M Touch Systems USB communication cable (P/N 7319420) PC 99 compatible or an equivalent interconnect. One end of this cable plugs into the USB connector (JP7) on the SC500 USB Resistive Controller. The other end, which has a Type-A connector, plugs into a USB port on your PC.
When creating a custom cable, use the Molex 51004-0500 mating connector. Table 1 describes the interconnections of the 3M Touch Systems USB cable.
Table 1. USB Cable for SC500 USB Resistive Controllers
PC Side (USB Type A) Wire Controller Side (5-Pin Molex) Pin USB Assigned Color Pin Description
1 +5Vdc Red 1 +5Vdc Input Power 2 Data (DN) Gray 2 Data (DN) Differential Pair 3 Data (DP) Green 3 Data (DP) Differential Pair 4 0V Black 4 Power Return 5 Cable Shield Shell Charcoal
Gray
5 Outer Cable Shield around signal and
power lines. Chassis (earth) ground
3M Touch Systems Proprietary Information
Integrating the SC500 USB Controller 11
Mounting the Controller
The controller is designed for internal mounting only. Choose a convenient spot away from high-voltage, high power cables and electronics. Use 4-40 metal screws to mount the controller using the two diagonal mounting holes in the board. The controller should be mounted in line with the touch screen cable exit point to minimize cable flexing. The controller should be mounted internally behind or on the side of the display on stand offs to allow room for the touch screen cable connector.
Ensure that the tail and controller are aligned such that the tail remains straight (90°), not pulled or twisted in an odd angle from the touch screen. Good engineering design avoids awkward electrical connections.
Recommended: Wrap tail smoothly
Not recommended: Do not twist the tail
Supplying Power to the Controller
The SC500 USB controller is powered by the USB 5-volt bus power. The typical current is 15 mA typical, 28 mA touching; ± 5% regulation, with a maximum ripple and noise of 50mV peak-to-peak.
CAUTION
To avoid possible damage to the controller, you must provide a path for electrostatic discharge (ESD). The controller mounting hole near the sensor connector should be used to connect to chassis safety ground and must be attached by the shortest possible route to a good earth return (chassis) in all applications.
3M Touch Systems Proprietary Information
12 SC500 USB Controller Reference Guide
Mounting the Touch Screen
There are several methods for mounting the touch screen depending on your application (Flat CRT displays or flat panel displays, each in a variety of sizes). If you need instructions or recommendations from 3M Touch Systems on how to incorporate a touch screen into your design, refer to the MicroTouch Resistive Integration Guide (P/N 19-441). All 3M Touch Systems documentation is available from the corporate website at www.3Mtouch.com
or from the Touch Solutions CD (P/N 19-640).
It is critical for you to understand the tail orientation of your touch screen prior to connecting the controller. This will affect how the controller interprets your touch on the screen. Refer to Controller Communications section for additional information.
Touch Screen Cable Connector
The touch screen cable has a 5-pin single row locking female connector that plugs into the controller. The standard cable pinout is designed for right (3 o’clock) tail exit on the sensor when viewed from the front.
1. Upper Right
2. Upper Left
3. Top Sheet
4. Lower Left
5. Lower Right
Turning On Your System
Before you turn on your custom system, ensure that all cables are connected properly and that the controller is properly mounted. Be sure to tighten all cable connector screws.
To start up your system
1. Turn on your monitor and computer.
2. Adjust the contrast and brightness to suit your personal preference and working environment.
3. Adjust the horizontal and vertical position controls on the monitor to center the image on the screen.
Status Light (LED) Diagnostics
3M Touch Systems controllers are highly reliable units; however, there may be occasions when the controller does not perform exactly as you expected. The SC500 controller provides diagnostic feedback with a light emitting diode (LED) on the component side of the board that indicates the status of the touch screen unit. During normal operation, when you touch the sensor the LED becomes bright as long as the controller detects a touch.
A flashing (or blinking) LED during power-up indicates the controller’s power-on self-test failed. Refer to Table 2 for a description of each error code.
3M Touch Systems Proprietary Information
Integrating the SC500 USB Controller 13
Table 2. LED Diagnostic Codes for SC500 Controllers
Flashes Self Test
Condition
1 Reserved. 0 Reserved 2 ROM Error 1 Firmware EPROM checksum
3 Reserved. 2 Reserved 4 Block 1
checksum Error
5 Hardware error 4 Power-up touch screen
6 Reserved. 5 Reserved 7 Reserved. 6 Reserved
Self Test Bit
3 Operating parameters invalid
Description What to do…
verification error
(using defaults).
connector voltages that are out of range.
No recovery. Replace the controller.
Cycle power off and on. If problem persists, recalibrate Check connection to the touch screen
What's Next?
Since this is a HID (human interface device) compatible controller, the controller will operate independent of a 3M Touch Systems driver. You must obtain a HID calibration utility from the 3M Touch Systems website for initial calibration.
Additional 3M Touch Systems documentation is available from the corporate website at www.3Mtouch.com
or from the Touch Solutions CD (P/N 19-640).
3M Touch Systems Proprietary Information
CHAPTER 2
SC500 USB Controller Communications
This chapter discusses the fundamentals of communicating with the SC500 USB controller. The firmware commands, which are usually issued by a driver or utility program on the host system, control the operation of the touch screen controller. This chapter lists the recommended firmware commands and describes how to use each of these commands.
Overview of USB Firmware Communications
Developers may use this information when writing touch applications, developing custom drivers or touch configurations, or testing their touch systems. Developers can issue commands to initialize the controller, select operating modes, and execute diagnostic functions.
Most touch screen users do not have to use firmware commands to use their touch systems. For example, users can use MicroTouch™ software or equivalent software to calibrate the touch screen or to determine the controller type and firmware version.
Note: This document assumes you are familiar with USB standards and modes of communication with USB devices, as well as firmware commands and how to use them. Executing some commands may alter the performance of your touch screen and render it inoperable. You should be aware of the results before executing any firmware commands.
To optimize the performance of the SC500 USB touch screen controller and simplify the development of custom drivers, 3M Touch Systems recommends you use the commands listed in this chapter for current development.
3M Touch Systems Proprietary Information
16 SC500 USB Controller Reference Guide
Communication Basics
This section provides information on sending firmware commands to the controller and interpreting the responses that the controller returns. The default operation of the SC500 USB controller is USB Rev 1.1.
The USB command set is implemented by using vendor requests and vendor reports, i.e., vendor specific transactions. The controller issues some reports without prompting the computer. The computer can also send requests to the controller to change how it operates or receives information about the controller. The controller issues a synchronous report in response to some of these requests.
You need to know product ID (0102H) and the vendor ID (0596H) to write your own driver. These values are required for identifying the controller.
The SC500 USB command set utilizes the HID protocol. The HID protocol allows the controller to be used on most computers with operating systems that supports HID. The only required software is a calibration tool used for aligning the touch screen to the display. This calibration tool is available from 3M Touch Systems.
Receiving Reports from the Controller
The controller sends a variety of reports to the computer. The first byte of each report is the Report ID that defines the structure and content of the report. The controller sends some reports as a direct response to a computer request (synchronous). The controller will also send some reports as the result of an external event, such as a touch (asynchronous).
HID and Packed Touch Reports
The controller sends to the computer reports in response to touches on the touch screen. The controller normally uses the HID-compatible report. In addition to the HID-compatible report, there are two versions of packed report available. These versions return up to two points of data per touch, as opposed to the one touch point in the HID-compatible report.
The first byte of each report contains the Report ID as shown in Table 3. You can use the Set Asynchronous Report request to toggle between report types.
Table 3. Asynchronous Reports
Name Report ID Description
REPORT_ID_HID 1 HID-compatible coordinate data REPORT_ID_PACKED 2 Packed coordinate data for custom
REPORT_ID_UTILITY 7 Packed coordinate data for utilities
Only custom drivers and software can make use of the packed coordinate format. Refer to the Set Asychronous Report section for details on using packed coordinate data.
driver
3M Touch Systems Proprietary Information
SC500 USB Controller Communications 17
HID-Compatible Coordinate Data – Report 1
This is used to transfer the 10-bit coordinate data to the host. This report, when activated, is sent to the host whenever new data is available/scheduled for transmission. It is an asynchronous report that is activated by default at power up.
For HID class driver compatibility
Throughput is limited to 125 points/sec.
The coordinate system is upper-left origin, rather than the MicroTouch™ standard lower-
left origin.
Table 4. Coordinate Data Report
Offset Field Size Value Description
0 bReport ID 1 0x01 REPORT_ID_HID 1 bmStatus 1 B7, B6 B5, B
2 bXLsb 1 X7, X6 X5, X 3 bXMsb 1 XfXeXdX
4 B3, B2 B1, B0
4 X3, X2 X1, X0
c XbXaX9X8
4 bYLsb 1 Y7Y6Y5Y4 Y3Y2Y1Y0 Y (0-3FF) 5 bYMsb 1 YfYeYdY
c YbYaY9Y8
6 Not used 2 0 Not used
0x01 if touching, 0x00 if
not
X (0-3FF)
Packed Coordinate Data - Report 2 and Report 7
These are used to transfer the packed coordinate data to a custom driver or utility. These reports, when activated, are sent to the host whenever new data is available for transmission. The packed format contains two coordinate reports each with its own status and Y and Y coordinate data. Because it is packed, the software must rearrange bits to obtain the individual field values. The status contains a bit indicating if the subreport is valid. The second subreport only may be invalid.
Table 5. Coordinate Data Report
Offset Field Size Value Description
0 bReport ID 1 0x02 or 0x07
1 bmPackData1 1 X3X2X1X0 B3B2B1B0 X1 bits 3210 and status1 bits
2 bmPackData2 1 XbXaX9X8 X7X6X5X4 X1 bits BA987654 3 bmPackData3 1 Y7Y6Y5Y4 Y3Y2Y1Y0 Y1 bits 76543210 4 bmPackData4 1 B3B2B1B0 YbYaY9Y8 Status2 bits BBBB and Y1 bits
5 bmPackData5 1 X7X6X5X4 X3X2X1X0 X2 bits 76543210 6 bmPackData6 1 Y3Y2Y1Y
0 XbXaX9X8
7 bmPackData7 1 YbYaY9Y8 Y7Y6Y5Y4 Y2 bits BA987654
REPORT_ID_PACKED REPORT_ID_UTILITY
BBBB
BA98
Y2 bits 3210 and X2 bits BA98
3M Touch Systems Proprietary Information
18 SC500 USB Controller Reference Guide
Table 6. Coordinate Data Report Touch Status Byte
Bit Status
0 0 = not touching, 1 = touching 1 0 = data invalid, 1 = data valid 2 Not used 3 Not used
USB Command Set
The USB command set is implemented by using HID Get Feature and Set Feature commands. The various requests and reports are grouped together by report size under a common feature ID.
The commands listed below are those that 3M Touch Systems currently use for communications. 3M Touch Systems recommends that you use only these commands for SC500 USB controller communications.
Sending Commands to the Controller
To send a command, the computer must construct a USB packet for sending to the controller. The general packet format is described in Table 7. Any data appended immediately after this data is referred to as the data stage of request.
If using the Windows you may want to use the Set and Get Feature functions. The buffers are the same except the first two fields. The bmRequest Type and bRequest fields are omitted, thus making wValue the first field. For your convenience, each command is labeled as either a “Set Feature” or “Get Feature” command.
3M Touch Systems Proprietary Information
SC500 USB Controller Communications 19
Table 7. General Request Format
Offset Field Size Value Description
0 bmRequestType 1 d0100001 Characteristics of request (dir,type,receipt)
D7: Data transfer direction 0 = Host to device 1 = Device to host D6…5 Type 0 = Standard 1 = Class (all commands are standard) 2 = Vendor 3 = Reserved D4…0 Recipient 0 = Device 1 = Interface (all commands are interface) 2 = Endpoint 3 = Other
4….31 = Reserved 1 bRequest 1 0xXX Specific request (our command number) 2 wValue 2 0x03XX Used to specify command parameters.
03 = Feature
XX = Feature Report ID 4 wIndex 2 0 Must be 0 (zero) 6 wLength 2 0xXXXX Number of bytes to transfer, multiple of 8. Same
as Data Stage Bytes in Table 8.
HID Class Requests
The following table summarizes the available HID class requests.
Table 8. Hid Class Requests Summary
HID Report Command Name bmRequest
Type
Set Feature SetAsyncReport 0x21 0x09 0x03 0x05 8 Set Feature Calibrate 0x21 0x09 0x03 0x04 8 Get Feature GetStatus 0xA1 0x01 0x06 --- 8 Set Feature Reset 0x21 0x09 0x03 0x07 8 Set Feature Restore Defaults 0x21 0x09 0x03 0x08 8 Set Feature Set Controller Number 0x21 0x09 0x05 0x01 8 Get Feature Get Controller Number 0x21 0x09 0x03 0x02 8
Some possible reasons for a command failure include:
The command was not formatted correctly.
The system parameters were not set up to allow command execution.
The controller does not support the command.
bRequest Feature
Report ID
Report Subtype
Data Stage Bytes
3M Touch Systems Proprietary Information
20 SC500 USB Controller Reference Guide
Controller Initialization
To initialize the SC500 USB controller, 3M Touch Systems recommends that the host system issue a Reset command whenever the host system is powered on and is attempting to establish communication with the controller.
Set Feature – Set Asynchronous Report
This starts or stops the sending of various asynchronous reports via the interrupt pipe. Once a report is turned on, that report is sent whenever data is available. The firmware defaults to the HID-compatible report after power-up or reset. Only one report may be activated at a time.
Note: The TOUCH_REPORTS_UTILITY command causes the controller to send Report 7 from the endpoint 0 exclusively. This action is essential in getting a calibration utility to function. The endpoint 1 does not send any reports at this time. The TOUCH_REPORTS_RESTORE command causes the controller to send the previously active asynchronous report (REPORT_ID_HID or REPORT_ID_PACKED) from endpoint 1.
Table 9. Set Asynchronous Report
Offset Field Size Value Description
0 bmRequestType 1 0x21 Host to device 1 bRequest 1 0x09 Set Report 2 wValue 2 0x0303 03 = Feature
03 = Feature Report ID 4 wIndex 2 0 Always 0 6 wLength 2 8 Always 8
Table 10. Data Stage
Offset Field Size Value Description
0 bReport ID 1 0x03 Feature Report ID 1 bmReport Subtype 1 0x05 Indicates a SetAsynchReport 2 Not used 2 0 Not used 4 bReport 0x00 0 TOUCH_REPORTS_OFF
1 TOUCH_REPORTS_ON
2 TOUCH_REPORTS_HID
3 TOUCH REPORTS_PACKED
6
TOUCH_REPORTS_UTILITY
7
TOUCH_REPORTS_RESTORE 5 Not used 3 Not used
Response
The device stalls endpoint 0 if it cannot process this request.
3M Touch Systems Proprietary Information
SC500 USB Controller Communications 21
Set Feature – Calibration
This is a request to perform a 2-point calibration. The calibration can be performed at points inset from the lower left, upper left and upper right corners. The 2-point calibration defines the active area of the touch screen by mapping two targets displayed on the video image to absolute X and Y coordinates on the touch screen.
Table 11. Set Feature- Calibration
Offset Field Size Value Description
0 bmRequestType 1 0x21 Host to device 1 bRequest 1 0x09 Set Report 2 wValue 2 0x0303 03=Feature
03=Feature ID 4 wIndex 2 0 Always 0 6 wLength 2 8 Always 8
Table 12. Data Stage
Offset Field Size Value Description
0 Report ID 1 0x21 Host to device 1 Report subtype 1 0x04 Set Report 2 bCalType 1 0xXX 0x01 = Extended Calibration (CX)
0x02 = Corner Calibration (CN) 3 Not used 5 0 Not used
Response
The device stalls endpoint 0 if the command cannot be processed successfully. The request cannot be processed if an invalid calibration type is given in the wValue field.
During the calibration process, the calibration software polls the Get Status command to monitor the progress of the calibration.
The calibration will fail if the two calibration points do not fall within certain bounds established by the firmware. These bounds require that the two calibration points be in correct quadrants of the sensor.
Calibration software can abort the calibration process with a Reset Request. During the calibration process, the controller automatically determines screen/display
orientation and touch screen connector pinouts. This information is saved in the controller non-volatile memory.
3M Touch Systems Proprietary Information
22 SC500 USB Controller Reference Guide
Table 13. Calibration Response
Command Status Byte
0 Calibration Failed 1 Controller is waiting for a touch in the lower left corner 2 Controller is waiting for a touch in the upper right corner 3 Calibration completed successfully
Description
This command corrects for touch screen display orientation and touch screen pinout variations. This information will be maintained by the controller. The Calibrate 2 Point command initiates an interactive calibration procedure which defines the active area of the touch screen by mapping locations to an absolute X,Y coordinate system. Touch points generated subsequent to a successful calibration operation are calculated based upon these calibration points. Calibrate 2-point utilizes inset calibration points located 12½ percent inboard from the screen corners (at touch X,Y locations 128,128, 895,895 and 128,895) for accuracy and ease of operation.
Determining Target Areas
The default calibration targets (points) are located 12.5% (1/8) inward from the corners of the video image. For example, suppose the display resolution of your Windows-based monitor is 1024 x 768. The Calibration command calculates the amount to move inward as follows:
Amount to move inward in the X direction: 1024 x 1/8 = 128
Amount to move inward in the Y direction: 768 x 1/8 = 96
The Calibration command then positions the first calibration target inward from the lower left corner (0,767) and the second calibration target inward from the upper right corner (1023,0). The following illustration shows how the calibration targets are calculated for a Windows-based system. Your operating system may be different.
3M Touch Systems Proprietary Information
SC500 USB Controller Communications 23
(
Figure 2. Calibration Target Locations
(1023, 0) [64K, 64k]*
0,0
Upper Right Calibration Target
X = 1023 – (1024 x 1/8) = 1023 – 128 = 895 Y = 0 +
768 x 1/8) = 0 + 96 = 96
Lower Left Calibration Target
X = 0 + (1024 x 1/8) = 0 + 128 = 128
Y = 767 - (768 x 1/8) = 767 - 96 = 671
(0, 767) [0, 0]* [64k,0]*
*The coordinates are in video terms, with the origin (0, 0) in the upper left corner of the screen. Examples from the controller’s perspective, however, place the origin at the lower left corner of the screen (numbers in brackets). The
controller outputs 0 to 64K on both axes independent of display screen resolution.
(895, 96)
(128, 671)
Get Feature – Get Status
This is a request to send information that indicates the status of the controller. Among the uses for this request are determining whether there were any power on check errors determining whether the last request was completed successfully.
The response to the reset request is sent before the request completes. Polling (via the status request) is then used to check the completion of those requests.
Table 14. Controller Status
Offset Field Size Value Description
0 bmRequestType 1 0xA1 Host to device 1 bRequest 1 0x01 Get Report 2 wValue 2 0x0306 03 = Feature
06 = Feature Report ID 4 wIndex 2 0 Always 0 6 wLength 2 8 Always 8
Table 15. Data Stage (controller response)
Offset Field Size Value Description
0 bReport ID 1 0x06 Feature Report ID 1 bPOCStatus 1 0xXX Power On Check Status 2 bCmdStatus 1 0xXX Status of last command 3 bTouchStatus 1 0xXX Finger Up/Down 4 bAsynchReports 1 0xXX 0x00 = asynchronous output off
0x01 = normal output
5 Not used 3 0 Not used
3M Touch Systems Proprietary Information
24 SC500 USB Controller Reference Guide
POC Status – The status of the Power-on Checks. Various controller systems are checked at power-up. If any failures in these systems are detected, a POC flag is set. The POC status field reports the state of these flags. The POC status information is also flashed on the controller’s LED.
Table 16. Power On Status
Bit Number LED Flashes Description
0 1 Not used 1 2 Program code checksum error 2 3 Not used 3 4 Block 1 parameters invalid (using defaults) 4 5 Power-up touch screen connector voltages are out of range 5 6 Not used 6 7 Not used 7 8 Controller linearization data invalid
Cmd Status – The status for the last command request. This field is used to determine whether the last request was processed successfully. It is also used to track the progress of a multi-stage request, such as calibration. The Status Request does not affect the contents of this field, i.e., successful/unsuccessful processing of a previous status request does not cause the command status field to be updated.
Table 17. Command Status Field Entries
Response Description
0 Failure in command processing 1 Command being processed 2 Stage 1 processing complete (for multi-stage commands). 3 Command complete 4 Soft reset occurred 5 Hard reset occurred 6 Stage 2 processing complete (for multi-stage commands) 7 Not used
Touch Status – Status information for the most recent coordinate. Information includes whether the sensor is currently being touched.
Table 18. Power On Check Bit Fields
Bit Number Description
0 1 if the sensor is being touched 1 Always 0
3M Touch Systems Proprietary Information
SC500 USB Controller Communications 25
Set Feature - Reset
This is a request to perform a controller reset.
Table 19. Reset Request
Offset Field Size Value Description
0 bmRequestType 1 0x21 Host to device 1 bRequest 1 0x09 Set Report 2 wValue 2 0x0303 03 = Feature
03 = Feature Report ID 4 wIndex 2 0 Always 0 6 wLength 2 8 Always 8
Table 20. Data Stage
Offset Field Size Value Description
0 bReport ID 1 0x03 Host to device 1 bmReport
Subtype 2 bResetType 1 0xXX 0x01=Soft reset 3 Not used 5 0 Not used
1 0x07 Indicates a reset request
Response
The device stalls endpoint 0 if the request cannot be processed successfully. The request cannot be processed if the reset type specified by the bResetType field is not valid.
Set Feature - Restore Defaults
This is a request to restore the default values in the controller to the factory presets. You must recalibrate after this command since this request will also default the calibration and screen/display orientation.
Table 21. Restore Defaults Request
Offset Field Size Value Description
0 bmRequestType 1 0x21 Host to device 1 bRequest 1 0x09 Set Report 2 wValue 2 0x0303 03 = Feature
4 wIndex 2 0 Always 0 6 wLength 2 8 Always 8
03 = Feature Report ID
3M Touch Systems Proprietary Information
26 SC500 USB Controller Reference Guide
Table 22. Data Stage
Offset Field Size Value Description
0 bReport ID 1 0x03 Feature Report ID 1 bmReportSubtype 1 0x08 Indicates a restore defaults request 2 Not used 6 0 Not used
Response
The device stalls endpoint 0 if it cannot process this request.
Set Feature - Set Controller Number
This command is used to get a controller number for application use. The controller does not use this value. This process is useful for identifying individual controllers in a multiple controller system.
Table 23. Set Controller Number Request
Offset Field Size Value Description
0 bmRequestType 1 0x21 Characteristics 1 bRequest 1 0x09 Command number 2 wValue 2 0x0305 Parameter number 4 wIndex 2 0x00 Not used 6 wLength 2 0x48 Length of Parameter Data report
Table 24. Data Stage 1 (header data)
Offset Field Size Value Description
0 bReportID 1 0x05 Feature Report ID 1 bReport Subtype 1 0x01 Indicates a set param report 2 bArea 1 0 Memory Area (always 0=Ctrl EEPROM) 3 Not used 1 0 Not used 4 bSubArea 1 0x05 Block number 5 bIndex 1 0x00 Index into block 6 bDataLength 1 0x04 Number of valid data bytes for this xfer
(always padded to 64)
7 Not used 1 0x00 Not used
Table 25. Data Stage 2 through 9 (8 * 8 data bytes)
Offset Field Size Value Description
0-7 wData 1 0xXX 4 bytes of data (trailing pad bytes are ignored )
Data Stage
The controller ID is in the first 4 bytes of data stage, the remaining bytes are padding.
3M Touch Systems Proprietary Information
SC500 USB Controller Communications 27
Response
If the command cannot be processed, the device stalls endpoint 0. The command cannot be processed if the memory area is not valid. It cannot be processed if the request is attempting to access data that is outside the specified memory area. This may happen if the index is too large or too much data has been requested.
The host can send a status request, as long as the endpoint is not stalled, to determine if this request was executed properly.
Get Feature – Get Controller Number
This command is used to get a controller number for application use. The controller does not use this value. This process is useful for identifying individual controllers in a multiple controller system.
Due to HID functionality, retrieving data from the controller involves two steps.
1. Requesting the controller number parameter
2. Retrieving the controller number value
Table 26. Get Controller Number Parameter Request
Offset Field Size Value Description
0 bmRequestType 1 0x21 Device to host 1 bRequest 1 0x09 Set Report 2 wValue 2 0x0303 03 = Feature
03 = Feature Report ID 4 wIndex 2 0 Always 0 6 wLength 2 0 Always 8
Table 27. Data Stage
Offset Field Size Value Description
0 bReport ID 1 0x03 Feature Report ID 1 bmReport Subtype 1 0x02 Indicates a set param index 2 bArea 1 0 Memory Area (always 0=Ctrl EEPROM ) 3 Not used 1 0 Not used 4 bSubArea 1 0x05 Block number 5 bIndex 1 0x00 Index into block. 6 bDataLength 1 0x04 Number of valid data bytes for xfer (always padded to
64)
7 Not used 1 0 Not used
Table 28. Get Controller Number Request
Offset Field Size Value Description
0 bmRequestType 1 0xA1 Device to host 1 bRequest 1 0x01 Set Report 2 wValue 2 0x0305 03 = Feature
05 = Feature Report ID 4 wIndex 2 0 Always 0 6 wLength 2 0x48 Always 72 (allows for 64 data bytes + 8 byte header)
3M Touch Systems Proprietary Information
28 SC500 USB Controller Reference Guide
Table 29. Data Stage 1 (controller response header)
Offset Field Size Value Description
0 Report ID 1 0x05 Feature Report ID 1 Not used 1 0 Not used 2 bArea 1 0 Memory Area (always 0=Ctrl EEPROM ) 3 Not used 1 0 Not used 4 bSubArea 1 0x05 Block number (0x01,0x02, 0x05, or 0x65 for Copyright
string ) 5 bIndex 1 0x00 Index into block. Use 0 for controller number 6 bDataLength 1 0x04 Number of valid data bytes for xfer (always padded to 64) 7 Not used 1 0 Not used
Table 30. Data Stage 2 through 9 (controller response data 8 * 8 data bytes)
Offset Field Size Value Description
0-7 wData 1 0xXX 4 bytes of data (trailing pad bytes are ignored )
Data Stage
The controller ID is in the first 4 bytes of data stage, the remaining bytes are padding.
Response
If the command cannot be processed, the device stalls endpoint 0. The command cannot be processed if the memory area is not valid. It cannot be processed if the request is attempting to access data that is outside the specified memory area. This may happen if the index is too large or too much data has been requested.
The host can send a status request, as long as the endpoint is not stalled, to determine if this request was executed properly.
3M Touch Systems Proprietary Information
APPENDIX A
SC500 USB Controller Specifications
This section provides controller specifications such as power and environmental requirements. The SC500 controller is a compact, small outline USB controller. This controller should be internally mounted in your monitor.
The following figure shows the overall dimensions of the SC500 USB controller and the locations of the mounting holes and connectors.
Figure 3. SC500 USB Touch Screen Controller Dimensions
30 SC500 USB Controller Reference Guide
Technical Specifications
Physical Dimensions
Uncased 2.85 in. x 1.3 in. x 0.45 in. (72.4 mm x 33.0 mm x 11.4 mm)
Board Level Functions
Power 5 VDC (15 mA typical, 28 mA touching); ± 5% regulation
50 mV maximum ripple and noise
Regulatory Requirements
CE Compliance Compliant EMC Emissions – EN 55022:1998 Compliant EMC Immunity – EN 55024:1998 Compliant ESD Susceptibility – IEC 61000-4-2 Compliant EMI Immunity – IEC 61000-4-3 Compliant Burst Immunity – IEC 1000-4-4 Compliant FCC Class B / CISPR22 Class B Compliant VCCI Class B ITE Emissions (Japan) Compliant AS/NZS 3548:1995/CISPR 22 Class B ITE Emissions (Aus.) Compliant UL/cUL Compliant
Ambient Operating and Storage Environmental Conditions
Note: All humidity is non-condensing
Operating Temperature Range 0°C to +65°C Operating Humidity Range (0 to 95% RH up to +36°C; above 36°C refer to Figure 4 below) Storage Temperature Range -20°C to +75°C Storage Humidity Range (0 to 80% RH up to +36°C; above 36°C refer to Figure 4 below)
Performance and Reliability
Minimum Touch Duration 14 ±1 ms Touch Resolution 1024 x 1024 (Maximum number of addressable coordinates generated by the controller) ESD Susceptibility
1
±8KV Contact Discharge– Class 2 per section 9 of IEC 61000-4-2 Compliant 1 false touch allowed ±20KV Air Discharge – Class 1 per section 9 of IEC 61000-4-2 Compliant Normal Operation – No false touches MTBF (by MIL Std. 217F Calculation) >400,000 Hours
1
ESD discharges to a 3M Touch Systems touch screen connected to the controller
3M Touch Systems Proprietary Information
SC500 USB Controller Specifications 31
3M Touch Systems Parameters
Accuracy vs. Dynamic Temperature Change Maintains 1% Accuracy (tested at 0° C to 65° C with a 0.5° C/minute temperature ramp) Touch Screen Compatibility 3M Touch Systems Resistive Touch Screens Communications Protocol USB Rev 1.1
Figure 4. Storage and Operating Temperature and Humidity Conditions
3M Touch Systems Proprietary Information
Loading...