P le d ab el m e Fi m ar a w gr rd ro Ha State-of-the-art Device Programmer USER GUIDE (Revision 1.04) Micro-Pro User Guide V1.04 Copyright Information Information in this document is subject to change without notice and does not represent a commitment on the part of the manufacturer. The software described in this document is furnished under license agreement or nondisclosure agreement and may be used or copied only in accordance with the terms of the agreement. The purchaser may make one copy of the software for backup purposes. No part of this manual may be reproduced or transmitted in any form or by any means, electronic, mechanical, including photocopying, recording, or information retrieval systems, for any purpose other than for the purchaser’s personal use, without written permission. It is against the law to copy the software on any medium except as specifically allowed in the license or nondisclosure agreement. (C) 1994-1997 Copyright Equinox Technologies. All rights reserved. AtmelTM and AVRTM are trademarks of the Atmel Corporation Keil C51TM and dScopeTM are trademarks of Keil Elektronik GmbH Microsoft, MS-DOS, WindowsTM and Windows 95TM are registered trademarks of the Microsoft Corporation IBM, PC and PS/2 are registered trademarks of International Business Machines Corporation Intel, MCS 51, ASM-51 and PL/M-51 are registered trademarks of the Intel Corporation Every effort was made to ensure accuracy in this manual and to give appropriate credit to persons, companies and trademarks referenced herein. i Micro-Pro User Guide V1.04 Contacts Equinox Technologies UK Limited 3 Atlas House, St Georges Square, Bolton, England BL1 2HB Telephone Sales ....................... : +44 (0) 1204 529000 Fax .............................................. : +44 (0) 1204 535555 E-mail ......................................... : firstname.lastname@example.org Web site .................................... : www.equinox-tech.com For technical support on this product please e-mail us at: email@example.com Software Updates In line with our policy of continuous improvement, the ‘Meridian for Windows™’ software is updated on a regular basis. If you would like to receive an automatic e-mail every time a new version is released, please make sure you have registered your system with Equinox and you have quoted your e-mail address. You may cancel this service at any time. The Meridian software updates can currently be downloaded from the following places: Internet : www.equinox-tech.com ftp site : ftp.equinox-tech.com Atmel BBS : +1 408 436-4309 ii Micro-Pro User Guide V1.04 Contents INTRODUCTION ......1 SYSTEM SPECIFICATIONS ......2 INSTALLATION OVERVIEW ......3 HARDWARE INSTALLATION INSTRUCTIONS ......4 SOFTWARE INSTALLATION ......5 PARALLEL PORT SELECTION ......6 HARDWARE OVERVIEW ......7 SOFTWARE OVERVIEW ......8 DEVICE SELECTION ......10 DEVICE POSITION & ORIENTATION ......11 DEVICE SUPPORT ......12 8051 SUPPORT PRODUCTS GUIDE ......14 AVR SUPPORT PRODUCTS GUIDE ......15 MISCELLANEOUS ACCESSORIES ......16 iv Micro-Pro User Guide V1.04 Introduction T MICRO-PRO DEVICE PROGRAMMER HIGHLIGHTS he Micro-Pro is a state-of-the-art device programmer supporting a wide range of programmable devices. The programmer was originally developed to program the Atmel AT89C and AT89S microcontroller families, but support has now been widened to include many other 8051 derivatives and also a selection of popular Atmel FLASH and EEPROM memories. • State-of-the-art Device Programmer • Supports the entire Atmel 89C & 89S • • The Micro-Pro programmer features extremely fast programming speeds due to its optimised field-programmable hardware. Further speed enhancements have been made possible by virtue of the parallel data connection to the PC. The powerful front-end software caters for both involved development cycle programming needs and production batch programming requirements. • • • • • • • • • 1 microcontroller families as standard Supports many generic 8051 devices (87C51-FA/FB/FC) Supports many Atmel AVR microcontroller derivatives Also supports many Atmel FLASH, EEPROM and Configurator devices Field Programmable hardware ensures future device support FAST programming times due to optimised hardware/software algorithm for each device Device Manufacturer Certification for many algorithms Supports most DIL devices up to 40 pins without an adaptor Adaptors available for many other package types Connects to spare PC parallel port Straightforward hardware/software installation Supports programming of security lock bits security tables and special option bits Micro-Pro User Guide V1.04 System Specifications MINIMUM SYSTEM CONTENTS MINIMUM PC REQUIREMENTS Micro-Pro Device Programmer Power Supply (PSU) Parallel Cable (25w M/M pin to pin) The minimum hardware and software requirements to ensure that the programmer operates correctly are as follows: MICRO-PRO PARALLEL PROGRAMMER SPECIFICATIONS Programmer Size Shipped Weight PSU Port connection ZIF socket : : : : : 100% IBM compatible 386+ Windows 3.1 or higher Minimum 4MB RAM Minimum 1MB free hard disk space Spare PC parallel port 10.5 x 8 x 2 cm approx 1.5kg 15V DC @250mA Parallel 25-way D Quality 40way socket Accepts both 0.3/0.6” pitch devices 2 Micro-Pro User Guide V1.04 Installation Overview The Hardware/Software Overview for the installation process of the Micro-Pro programmer is detailed diagrammatically below. Please refer to the following pages for a more detailed explanation. Perform Hardware Installation Perform Software Installation Select the correct parallel port <OPTIONS> <SELECT PORT> <TEST> PORT Try selecting another LPT port FAIL PASS Programmer should now be “ON LINE” 3 Installation Trouble Shooting Guide Micro-Pro User Guide V1.04 Hardware Installation Instructions OVERVIEW The Micro-Pro programmer connects to any spare PC parallel (LPT) port. If you only have one parallel port and this is in use for eg. a printer, it may be possible to add a second parallel port to your machine by inserting a new I/O card. If you are limited to one parallel port eg. on a laptop, then it is necessary to remove any other devices connected to that parallel port for the duration of using the Micro-Pro. For further hardware installation help, please refer to the Installation Troubleshooting Guide. Connect the programmer to the PC as follows: 1 Plug male end of PC parallel cable into spare PC parallel port 2 Plug female end of PC parallel cable into 25-way connector on the programmer 3 Plug power jack into programmer 4 Plug mains adaptor into suitable mains supply The programmer RED ‘POWER’ LED should now be illuminated 4 PSU Input 3 1 2 4 Micro-Pro User Guide V1.04 Software Installation For more detailed information on which libraries to install, please refer to the ‘Device Support’ section. The Micro-Pro programmer is supplied with 'Micro-Pro for Windows' PC driver software. This software is supplied on one 3.5" floppy disk. On completion, the installation program will install the 'Micro-Pro' icon within a new program group called 'Micro-Pro'. TO INSTALL 'MICRO-PRO FOR WINDOWS' SOFTWARE: To launch the software, simply double-click on the 'Micro-Pro' icon. • Boot the PC into Windows environment • • • • • (Win 3.1 or Win 95 ) Insert 'Micro-Pro for Windows' disk into floppy disk drive (A: / B:) Select the 'Run...' command from the 'File' menu in the Program Manager Select 'Browse' and navigate to the floppy drive (A: / B:) Select 'micropro.exe' Select the 'OK' button The software installation program should now display an introductory screen. Please follow the on-screen prompts in order to complete the software installation process. 5 Micro-Pro User Guide V1.04 Parallel Port Selection (Select Port) The Micro-Pro programmer plugs into a spare parallel port of any IBM compatible PC including the majority of laptop machines. If you have more than one parallel port on your PC, but only one LPT address is displayed, it is likely that your hardware setup requires adjusting in the PC bios. The programmer should operate correctly in the following parallel port (LPT) modes: ii. Select the LPT port to which the programmer is connected i. Uni-directional mode iii. Select <Test> A programmer communications test is now performed. ii. Bi-directional (Enhanced or EPP) mode However, if the programmer fails to be detected it is worth switching the LPT mode between uni and bi-directional using the PC bios and then re-trying the communication test. This tests both the programmer, cable and PC parallel port. COMMUNICATIONS TEST PASS The programmer has been detected OK by the Micro-Pro software. If you now <Cancel> out of the <Test Port> dialogue box, the words ‘ON LINE’ should now be displayed at the bottom right of the MicroPro Window. TO SELECT THE CORRECT PARALLEL PORT (LPT): i. From the menu bar select <Options> <Select Port> The available LPT ports on your computer together with the corresponding address are now displayed. eg. LPT1 ($378) Installation is complete and the programmer should now be ready to-use. COMMUNICATIONS TEST FAIL The programmer was not detected on the LPT port selected. Please check that the correct LPT port was selected, and if not, repeat the <Select Port> < Test> operation. If the programmer is still not detected, please refer to the Installation Troubleshooting Guide located in the help file on disk. 6 Micro-Pro User Guide V1.04 Hardware Overview 1 4 2 7 5 6 3 Key 1 2 3 4 5 6 7 PSU input Parallel cable connection (to PC) ZIF (Zero Insertion Force) socket (40 way) Auxiliary power connector Power LED (Red) Active LED (Yellow) Atmel AT6002 FPGA 7 Micro-Pro User Guide V1.04 Software Overview The Micro-Pro for Windows software features many powerful functions which can be activated by simply clicking a single icon. Other utilities and commands are available by selecting the relevant menu option. For further information about the Micro-Pro for Windows software , please refer to the 'Online Help System' supplied with the software. The most commonly used functions for which an icon exits are listed below. LOAD FILE TO BUFFER (F9 or Ctrl + L) Allows you to select a file or multiple files and load the file(s) into the programmer buffer area(s). Currently supports Intel Hex and Binary file formats as standard. SAVE TO DISK (Ctrl + S) Allows you to save the contents of the buffer(s) to a file. Currently supports Intel Hex and Binary file formats as standard. BLANK CHECK Checks if the currently selected device is blank. i.e. All locations = FFh VERIFY DEVICE Compares the contents of the buffer area(s) with the contents of the currently selected device. 8 Micro-Pro User Guide V1.04 Software Overview continued PROGRAM DEVICE Programs device with contents of buffer DEVICE READ Reads the contents of the currently selected device into the programmer buffer area(s). ERASE DEVICE Performs an ELECTRONIC erase on the currently selected device. Please note: OTP and EPROM devices do not support an ELECTRONIC erase cycle. DEVICE AUTO-PROGRAM Performs a complete programming cycle including Signature Check, Erase, Blank check, Program, Special Options, Security etc SPECIAL OPTIONS Allows you to READ/WRITE the special option bits of certain devices which support non-standard features. SECURITY Allows you to READ/WRITE the security lock bits of any device which supports this feature. 9 Micro-Pro User Guide V1.04 Device Selection It is necessary to select the particular device to be programmed as follows: Choose MICROCONTROLLER 3 A list of device manufacturers is now displayed Select the one you require i.e. Atmel 4 A list of microcontroller devices produced by that manufacturer is now displayed. Select the one you require i.e. AT89S8252 The currently selected device is now active 10 FPGA Configurator Serial EEPROM Microcontroller FLASH Memory EEPROM Memory ▼ ▼ ▼ ▼ ▼ 2 You will now be presented with a list of device types Select Orientation Information Check Signature Blank Check Atmel Atmel AVR Intel Dallas Philips/Signetics ▼ ▼ ▼ ▼ ▼ 1 Select the DEVICE menu and choose SELECT ▼ e.g. To select the Atmel AT89S8252 microcontroller as the current device AT89C1051 AT89C2051 AT89S8252 AT89S553 AT89LS8252 Micro-Pro User Guide V1.04 Device Position & Orientation The Micro-Pro programmer accepts a wide variety of devices in dual-in-line (DIL) packages without the need for additional package adaptors or convertors. The Zero Insertion Force (ZIF) socket caters for DIL device with up to 40 pins and can also accept both 0.3” and 0.6” pitch devices. The diagram below shows the correct position and orientation of the target device in the ZIF socket. The position of pin 1 of the target device is marked by a dot. 4 3 2 Device Position & Orientation Key 1 MICROCONTROLLER (40 pin - 0.6” pitch) e.g. 89C51, 87C52 2 FLASH (32 pin - 0.6” pitch) e.g. AT29C512, AT29C010 PARALLEL EEPROM (32 pin) e.g. 28C512 3 MICROCONTROLLER (20 pin - 0.3” pitch) e.g. AT89C2051, AT90S1200 4 SERIAL EEPROM (8 pin - 0.3” pitch) e.g. AT24C08, AT25010 5 SERIAL CONFIGURATORS (8 pin - 0.3” pitch) e.g. 17C256 11 1 Micro-Pro User Guide V1.04 Device Support ATMEL Type FPGA FPGA FPGA FPGA FPGA FPGA Configurator Configurator Configurator Configurator Configurator Configurator Device AT17C65 DIP8 AT17C128 DIP8 AT17C256 DIP8 AT17C65 SOIC20/PLCC AT17C128 SOIC20/PLCC AT17C256 SOIC20/PLCC Flash Flash Flash Flash Flash Flash Flash Flash Flash Flash Flash Memory Memory Memory Memory Memory Memory Memory Memory Memory Memory Memory *AT29C256-DIL28 NEED AT29C256-PLCC32 *AT29C257-PLCC32 AT29C512 AT29C010 AT29C010A AT29C020 AT29C040A AT49F010 AT49F020 AT49F040 Serial Serial Serial Serial Serial Serial Serial Serial Serial Serial Serial Serial Serial Serial Serial Serial Serial Serial EEPROM EEPROM EEPROM EEPROM EEPROM EEPROM EEPROM EEPROM EEPROM EEPROM EEPROM EEPROM EEPROM EEPROM EEPROM EEPROM EEPROM EEPROM AT24C01 AT24C01A AT24C02 AT24C04 AT24C08 AT24C16 AT24C164 AT24C32 AT24C64 AT24C32 SOIC14 AT24C64 SOIC14 AT25010 AT25020 AT25040 AT93C46 AT93C56 AT93C57 AT93C66 AVR Microcontroller AVR Microcontroller AVR Microcontroller AVR Microcontroller AVR Microcontroller AT90S1200 AT90S1200A AT90S2313 AT90S8515-SPI✝ AT90S4414-SPI✝ 89C Microcontroller 89C Microcontroller 89C Microcontroller 89C Microcontroller 89C Microcontroller 89C Microcontroller 89C Microcontroller 89C Microcontroller 89C Microcontroller 89C Microcontroller 89C Microcontroller 89C Microcontroller 89C Microcontroller 89C Microcontroller 89C Microcontroller 89C Microcontroller 89C Microcontroller 89C Microcontroller 89S Microcontroller 89S Microcontroller 89S Microcontroller 89S Microcontroller AT89C51 AT89C52 AT89C55 AT89LV51 AT89LV52 AT89LV55 AT89C51-xxxx-5 AT89C52-xxxx-5 AT89C55-xxxx-5 AT89LV51-xxxx-5 AT89LV52-xxxx-5 AT89LV55-xxxx-5 AT87F51 AT87F52 AT89C1051 AT89C1051U AT89C2051 AT89C4051 AT89S8252 AT89S53 AT89LS8252 AT89LS53 EEPROM Memory EEPROM Memory EEPROM Memory EEPROM Memory EEPROM Memory EEPROM Memory EEPROM Memory EEPROM Memory EEPROM Memory EEPROM Memory EEPROM Memory EEPROM Memory EEPROM Memory EEPROM Memory EEPROM Memory EEPROM Memory EEPROM Memory AT28C010-DIL32 AT28C010E-DIL32 AT28C010-PLCC32 AT28C010E-PLCC32 AT28C16-PLCC32 AT28C16E-PLCC32 *AT28C17-PLCC32 AT28C17E-PLCC32 *AT28C64-PLCC32 *AT28C64E-PLCC32 *AT28C64X-PLCC32 *AT28C64B-PLCC32 *AT28HC64B-PLCC32 *AT28C256-PLCC32 *AT28HC256-PLCC32 *AT28C256E-PLCC32 AT28C040-44PLCC * Please note: The following 28-pin FLASH & EEPROM devices can only be supported in PLCC-32 package. The DIL-28 package can not be supported. ✝ Only Serial (ISP) programming mode is supported 12 Micro-Pro User Guide V1.04 Device Support continued DALLAS Type Microcontroller PHILIPS/SIGNETICS Device DS87C520 Type Microcontroller Microcontroller Microcontroller Microcontroller Microcontroller Microcontroller Microcontroller Microcontroller Microcontroller Microcontroller Microcontroller INTEL Type Microcontroller Microcontroller Device 80C251SB 87C251SB Microcontroller Microcontroller Microcontroller Microcontroller Microcontroller Microcontroller Microcontroller Microcontroller Microcontroller Microcontroller Microcontroller Microcontroller Microcontroller Microcontroller D87C51-2 D87C51 D87C51 OTP D87C51BH OTP D87C52 D87C52 OTP D87C52BH D87C51FA D87C51FA OTP MR87C51/B D87C51FB D87C51FB OTP D87C54 OTP D87C51B OTP Device SC87C51 SC87C51 OTP SC87C52 OTP S87C51FA S87C51FB S87C51FC 87C52EBPN OTP 87C52EPFFA S87C51CCN40 OTP S87C51 FB-4F40 OTP S87C51CCF40 OTP TEMIC Type Microcontroller 13 Device 87C251SB Micro-Pro User Guide V1.04 8051 Support Products Guide Order code Description Programming Systems AT-89C-2K-ST Atmel 89C Microcontroller Starter System (Includes PK51-2K) AT-89C-8K-DV Atmel 89C Microcontroller Family Development System (Includes Keil PK51-8K) MPW-PLUS Micro-Pro Professional Device Programming System EQ-8051-ST1 Flash 8051 Professional Starter System UISP-S3-SYS Micro-ISP Serial Programming System for the Atmel 89S/90S Microcontroller Families AT-89S-ISP-TR-2K Integrated 89S Microcontroller Training System (2K code) AT-89S-ISP-TR-8K Integrated 89S Microcontroller Training System (8K code) AT-89S-ISP-SYS ISP Programming System for the Atmel 89S Microcontroller Family AT-89S-ISP-DV-8K ISP Development System for the Atmel 89S Microcontroller Family (Includes Keil PK51-8K) Evaluation/ OEM Modules AT-89C-X051-DEMO Atmel 89C1051/2051 Credit Card Demo Module AT-89C-X051-OEM Atmel 89C1051/2051 OEM Module EVALU8R-1P Universal Microcontroller Evaluation Module OEM-UC-20/40 Universal 8051/AVR Microcontroller OEM Module Package Adaptors AD-PLCC44-A Package Adaptor - PLCC-44 to DIL-40 (for programming/package conversion) AD-DIL40-PLCC44-A Package Adaptor - PLCC44 to DIL-40 (for emulation/package conversion) AD-TQFP44-A Programming adaptor - 44-pin TQFP to 40-pin DIL AD-SOIC20-A SOIC-20 to DIL-20 Adaptor Module AD-8051-ICPP In-Circuit Re-Programming Adaptor for the Atmel 89C & 89S Microcontroller Families SS-89S8252-P Atmel 89S8252 ISP 8051 Socket-Stealer Module (DIL-40) SS-89S8252-J Atmel 89S8252 ISP 8051 Socket-Stealer Module (PLCC-44) Keil Development Language Tools PK51-2K “Keil PK51 Lite - 2K C Compiler, Assembler & Software Simulator” PK51-8K-UPG Software Upgrade from PK51 Lite (2K) to PK51-8K version PK51-8K-FULL Software Upgrade from PK51-8K to Full version PK51-MANUALS “Keil Manual Set for PK51 (C51, A51 & Utilities)” Literature CD-AT98 Atmel CD-ROM Data Book DB-8051-981 Atmel 8051 Microcontroller Data Book Miscellaneous LCD/KPD-V1 Intelligent LCD/Keypad OEM Module (RS-232 / 1K EEPROM) Memory Emulation Products ICEPROM512K-80 icePROM EPROM/ Flash Emulation System PLCC32 HEAD icePROM 32 pin PLCC Adaptor DIP40 HEAD icePROM 40 pin DIP Adaptor 14 Micro-Pro User Guide V1.04 AVR Support Products Guide Order code Description PROGRAMMING SYSTEMS AVR2-ST Professional AVR Microcontroller Starter System AVR1-8K-DV Professional AVR Microcontroller Development System AVR1-820K Atmel AT90S1200/AT90S23x3 AVR Microcontroller Starter Kit MPW-PLUS Micro-Pro Professional Device Programming System UISP-S3-SYS Micro-ISP Series III Professional Serial Programming System UISP-UPG1 Micro-ISP Upgrade: Atmel ATmega programming support ACT-UPG1 Activ8r Upgrade: Atmel ATmega programming support UISP-EXP1 Low Voltage (+3V) In-System Programming (ISP) Expansion Module EVALUATION/OEM MODULES OEM-UC-20/40 Universal 8051/AVR Microcontroller OEM Module EVALU8R-1P Evalu8r - Universal 8051/AVR Microcontroller Evaluation Module PACKAGE ADAPTORS ETC. AD-PLCC44-A Programming adaptor - 44-pin PLCC to DIL-40 AD-DIL40-PLCC44-A Emulation adaptor - 44-pin PLCC on target system to 40-pin DIL AD-SOIC20-A Microcontroller Programming adaptor - 20-pin SOIC to 20-pin DIL AD-SOIC8-A Microcontroller Programming adaptor - 8-pin SOIC to 8-pin DIL AD-8535-A Parallel programming adaptor - Atmel AT90S8535/AT90S4434 (40-pin DIL) AD-TQFP44-A Programming adaptor - 44-pin TQFP to 40-pin DIL SS-90S8515-P ISP Socket Stealer Module fitted with Atmel AT90S8515 microcontroller (DIL) SS-90S8515-J ISP Socket Stealer Module fitted with Atmel AT90S8515 microcontroller (PLCC) AVR BASIC Programming Language AVR-BAS-LITE AVR BASIC LITE Version (1K bytes - AT90S1200 support only) AVR-BAS-8K AVR BASIC 8K Version (8K bytes - All AVR derivatives supported) AVR-BAS-FULL AVR BASIC Full Version (8K bytes - All AVR derivatives supported) AVR-BAS-8KF AVR BASIC 8K to FULL version upgrade IAR AT90S Language Tools EWA90BAS-EE “IAR Baseline Tool Set” - C compiler, assembler, debugger (8K code limit) EWA90 “IAR Full AT90S Version” - C compiler, assembler, debugger (unrestricted code) DO-BOX (Dynamically Optimised BASIC Box) + Accessories DOBOX-ST1 DO-BOX Starter System 1 DOBOX-DV1 DO-BOX Development System 1 DOBOX-MOD1 DO-BOX Module 1 DOBOX-PM1 DO-BOX Prototyping Module DOBOX-AM1 DO-BOX Applications Module 1 LITERATURE CD-AT98 Atmel CD-ROM Databook 1998 DB-AVR-981 Atmel AVR Microcontroller Data Book (Paper format) MAN-AVRBAS-REF AVR BASIC Reference Guide MAN-AVRBAS-GS AVR BASIC Getting Started Guide MISCELLANEOUS CAB-SER1 PC Serial Cable Adaptor Kit (9W-25W & 25W-9W) CAB-PAR25MM PC Parallel Cable (25W to 25W M/M 2M) 15 Micro-Pro User Guide V1.04 Miscellaneous Accessories Adaptors AD-PLCC44-A AD-SOIC20-A AD-SOIC8-A AD-TQFP44-A Atmel AVR microcontrollers AT90S1200 ✖ ✔ ✖ ✖ AT90S1200A ✖ ✔ ✖ ✖ AT90S2323 ✖ ✖ ✔ ✖ AT90S2343 ✖ ✖ ✔ ✖ AT90S4414 ✔ ✖ ✖ ✔ AT90S8515 ✔ ✖ ✖ ✔ AT90S4434 ✔ ✖ ✖ ✖ AT90S8535 ✔ ✖ ✖ ✖ Atmel 8051 microcontrollers AT89C1051 ✖ ✔ ✖ ✖ AT89C1051U ✖ ✔ ✖ ✖ AT89C2051 ✖ ✔ ✖ ✖ AT89C4051 ✖ ✔ ✖ ✖ AT89C51 ✔ ✖ ✖ ✔ AT89C52 ✔ ✖ ✖ ✔ AT89C55 ✔ ✖ ✖ ✔ AT89S8252 ✔ ✖ ✖ ✔ AT89S53 ✔ ✖ ✖ ✔ 44-pin PLCC adaptor illustrated Cables TOP 1 Pin 1 44-pin PLCC device CAB-PAR25MM PC Parallel Cable (25W to 25W M/M 2M) Power Supplies PSU-15250-UK, PSU-15250-US, PSU-15250-EU Mains Power Supply Adaptor 15V@250mA Suitable for use with : Micro-PRO Programmer Activ8r Programmer TOP Pin 1 SOIC Adaptor 20-pin SOIC adaptor illustrated 16 Equinox Technologies UK Limited reserves the right to change any information contained within this manual without prior notice. E&OE Terms and product names contained in this document may be trademarks of others.