CALIFORNIA SOFTWARE LABS

Similar documents
EE 314 Spring 2003 Microprocessor Systems

InfraRed(IR) Communication

Project Final Report: Directional Remote Control

Infrared Communication

Using Z8 Encore! XP MCU for RMS Calculation

AT-XTR-7020A-4. Multi-Channel Micro Embedded Transceiver Module. Features. Typical Applications

a6850 Features General Description Asynchronous Communications Interface Adapter

Application Note: Demonstrating CAN with nqbasic

TCSS 372 Laboratory Project 2 RS 232 Serial I/O Interface

RF1276 Long Distance Transceiver module V2.0

EVDP610 IXDP610 Digital PWM Controller IC Evaluation Board

Electronics / Water analogy. Resistor. Inductance. Capacitor. Water Electronics Energy - Energy Pressure - Voltage Flow - Current Volume - Charge

IR 3/16 Encode/Decode IC. Technical Data. HSDL pc, tape and reel HSDL-7001# pc, 50/tube

Complete 2.4 GHz RF Transceiver Module with Built-In RFDP8 Application Protocol Part Numbers RFD21733, RFD21735, RFD21737, RFD21738, RFD21739

Low Power with Long Range RF Module DATASHEET Description

Standard single-purpose processors: Peripherals

USER'S MANUAL. Model : K

G3P-R232. User Manual. Release. 2.06

Embedded Radio Data Transceiver SV611

RF7129 Ultra-low power Tranceiver module V2.0

Data Sheet HSDL IR 3/16 Encode/Decode IC. Description. Features. Applications Interfaces with SIR infrared transceivers to perform: Pin Out

HR1200. Version 1.00 ATIM RADIOCOMMUNICATION 1/11

BASIC-Tiger Application Note No. 059 Rev Motor control with H bridges. Gunther Zielosko. 1. Introduction

The Breakdown. Figure 1: Block Diagram (above: Transmitter; below: Receiver)

WTPCT-M. eeder. Pulse Counter/Timer Module. Technologies FEATURES SPECIFICATIONS DESCRIPTION. Weeder Technologies

RF ISM Transparent Transceiver Module V4.0

Re: Design Specifications for a Voice Activated Remote Control System (ENSC 340 Project)

NMEA Protocol Converter 2 Plus 3 Users Guide

SPI Slave to PWM Generation

Radio Module for MHz. Band RMCx4-1 ; RMCx9-1

APPLICATION BULLETIN. SERIAL BACKGROUNDER (Serial 101) AB23-1. ICS ICS ELECTRONICS division of Systems West Inc. INTRODUCTION CHAPTER 2 - DATA FORMAT

TD_485 Transceiver Modules Application Guide 2017

2W UHF MHz Radio Transceiver

ECE 511: FINAL PROJECT REPORT GROUP 7 MSP430 TANK

RF RECEIVER DECODER RDF1. Features Complete FM Receiver and Decoder. Applications

Week 2 Lecture 1. Introduction to Communication Networks. Review: Analog and digital communications

SV613 USB Interface Wireless Module SV613

Microcontrollers. Serial Communication Interface. EECE 218 Microcontrollers 1

CONNECT SYSTEMS INCORPORATED 5321 Derry Ave., Suite B Agoura Hills, CA FLEX SERIES UNIVERSAL CONTROLLER

INTEGRATED CIRCUITS. MF RC500 Active Antenna Concept. March Revision 1.0 PUBLIC. Philips Semiconductors

Tarocco Closed Loop Motor Controller

BSc (Hons) Computer Science with Network Security, BEng (Hons) Electronic Engineering. Cohorts: BCNS/17A/FT & BEE/16B/FT

DRF4432D20 20dBm ISM RF Transceiver Module V1.21

Analysis and Construction of a Robot controlled by a Universal Remote Control

PIC Functionality. General I/O Dedicated Interrupt Change State Interrupt Input Capture Output Compare PWM ADC RS232

Hello, and welcome to this presentation of the STM32 Infrared Timer. Features of this interface allowing the generation of various IR remote control

ZKit-51-RD2, 8051 Development Kit

OEM 100. User Manual. Figure 1: OEM 100 Module with HG Rectangular Antenna Board

CS/ECE/EEE/INSTR F241 MICROPROCESSOR PROGRAMMING & INTERFACING MODULE 8: I/O INTERFACING QUESTIONS ANUPAMA KR BITS, PILANI KK BIRLA GOA CAMPUS

GP4 PC Servo Control Kit 2003 by AWC

WTDIN-M. eeder. Digital Input Module. Technologies FEATURES SPECIFICATIONS DESCRIPTION. Weeder Technologies

RF1212 RF1212 Ultra-low Power ISM Transceiver Module V2.0

Texas Instruments Registration and Identification System. Micro-reader RI-STU-MRD1. Reference Manual

WTDOT-M. eeder. Digital Output Module. Technologies FEATURES SPECIFICATIONS DESCRIPTION. Weeder Technologies

Brian Hanna Meteor IP 2007 Microcontroller

Stensat Transmitter Module

Unit D. Serial Interfaces. Serial vs. Parallel. Serial Interfaces. Serial Communications

Serial Input/Output. Lecturer: Sri Parameswaran Notes by: Annie Guo

BeeLine TX User s Guide V1.1c 4/25/2005

ALPHA Encoder / Decoder IC s

EG medlab. Three Lead ECG OEM board. Version Technical Manual. Medlab GmbH Three Lead ECG OEM Module EG01010 User Manual

1 UAT Test Procedure and Report

Concept of Serial Communication

Using the HT66F016L and the HT66F50 to Implement Remote Encoding and Decoding

Multi-Channel RS-232 Serial RF Transceiver

NetPage Network Wireless Paging System (POCSAG) NP-14 Series. Operation Manual CCW

DRF7020D13 13dBm ISM RF Transceiver Module

Project Name Here CSEE 4840 Project Design Document. Thomas Chau Ben Sack Peter Tsonev

Servo Switch/Controller Users Manual

Copley ASCII Interface Programmer s Guide

PERIPHERAL INTERFACING Rev. 1.0

Microprocessor & Interfacing Lecture Programmable Interval Timer

LAX016 Series Logic Analyzer User Guide

DATA SHEET CORE ID-SERIES COMPONENT READERS (ID2, ID2RW, ID12, ID12RW, ID20, ID20RW)

Serial Servo Controller

A RF44 UART TTL modules

The MP SERIES CONTROLLER. User s Manual. ISE, Inc.

BV4112. Serial Micro stepping Motor Controller. Product specification. Dec V0.a. ByVac Page 1 of 18

PRODUCT MANUAL VHF & UHF Pocket Paging Transmitter. Version 1.00 April 2017

WWVB Receiver/Decoder With Serial BCD or ASCII Interface DESCRIPTION FEATURES APPLICATIONS

Speed Control of Single Phase Induction Motor Using Infrared Receiver Module

Remote Switching. Remote Gates. Paging.

Remote Switching. Remote Gates. Paging.

um-pwm1 Pulse-width Modulation Servo Coprocessor Datasheet Release V100 Introduction Features Applications

AMBA Generic Infra Red Interface

ECE 4510/5530 Microcontroller Applications Week 6 Lab 5

Lecture #3 RS232 & 485 protocols

Applications. Operating Modes. Description. Part Number Description Package. Many to one. One to one Broadcast One to many

Chapter 9: Serial Communication Interface SCI. The HCS12 Microcontroller. Han-Way Huang. September 2009

Catalog

Unit 5: IrDA Communications Protocols. 1 Introduction. 2 Objectives. 3 Basic Knowledge. Revised March 13, 2017 This manual applies to Unit 5.

Confirm entry value Set display to value from Actual value and input display Select datum P79 (P80!) (7-segment LED,

a8259 Features General Description Programmable Interrupt Controller

EIG DNP V3.0 Protocol Assignments

SRWF-1022 Series Low Power Wireless Transceiver Module User Manual

µchameleon 2 User s Manual

2320 cousteau court

Phone:

USER GUIDE. Piezo Motor with Encoder. Installation & Software Control Guide. (For Piezo Motor Model LPM-2M, LPM-5, PM-1124R)

KAPPA M. Radio Modem Module. Features. Applications

Transcription:

Pulse Shaping on the Palm Pilot With serial, infrared and remote control applications CALIFORNIA SOFTWARE LABS R E A L I Z E Y O U R I D E A S California Software Labs 6800 Koll Center Parkway, Suite 100 Pleasanton CA 94566, USA. Phone (925) 249 3000 Fax (925) 426 2556 info@cswl.com http://

Pulse Shaping on the Palm Pilot With serial, infrared and remote control applications Technical Expertise Level : Intermediate A Technical Report INDEX INTRODUCTION... 3 THE UART... 3 THE UART RECEIVER... 4 THE UART TRANSMITTER... 5 SHAPING PULSES FOR RS232 SERIAL TRANSMISSION... 6 TIMERS... 8 WHY USE SERIAL PULSE SHAPING?... 9 INFRARED REMOTE CONTROL PULSE SHAPING... 10 SIMPLE PULSE SHAPING... 10 CARRIER-WAVE PULSE SHAPING... 11 Technique 1... 12 Technique 2... 12 COMMON INFRARED REMOTE CONTROL ENCODING TECHNIQUES... 13 Pulse coded... 13 Space coded... 13 CONTROLLING A SONY TV... 14 Pseudo Code... 15 CONCLUSION... 16 REFERENCES... 16 APPENDIX A... 16 I. OBSERVING RS232 SIGNALS ON AN OSCILLOSCOPE... 16 II. OBSERVING IR SIGNALS THROUGH AN OSCILLOSCOPE... 17 CSWL Inc, Pleasanton, California - 2 -

INTRODUCTION In this article we look at low level programming of the Palm Pilot, especially its Motorola MC68EZ328 DragonBall processor, also known as DragonBall-EZ. The aim is to use the DragonBall processor to create or simulate serial transmission functionality through the infrared and serial ports. More specifically, we look at how one may implement a Palm Pilot based remote control for consumer equipments such as a TV. We also look at how to communicate with a PC or device through a serial line by directly manipulating pins to create a pulse train. We do not propose to cover detailed serial/infrared programming details of the DragonBall EZ chip. Interested readers may use the references section to get to Motorola documentation on the processor. The UART The UART (Universal Asynchronous Receiver Transmitter) is key to serial and infrared operations. Programming the UART built into the DragonBall processor is not a difficult task. Motorola technical support is also very cooperative when it comes to answering questions related to this processor. The UART controls both the serial and infrared interfaces and have registers with which one can directly work to set up and operate these interfaces. A number of these registers will be used to manipulate the transmission line to generate pulses. The UART has two modes of operation NRZ and IrDA. The Non-Return to Zero (NRZ) mode is usually associated with RS-232. Each character is transmitted with a start bit at the beginning and a stop bit at the end. CSWL Inc, Pleasanton, California - 3 -

Data bits are transmitted least significant bit first and each bit is presented for a full bit time. START BIT BIT 0 BIT 1 BIT 2 BIT 3 BIT 4 BIT 5 BIT 6 BIT 7 PARITY BIT STOP BIT Fig 1) NRZ ASCII A character with odd parity Infra-red (IrDA) mode instead of transmitting ones and zeros for a full bit time, zeros are transmitted as 3/16 bit time pulses and ones remain low. START BIT BIT 0 BIT 1 BIT 2 BIT 3 BIT 4 BIT 5 BIT 6 BIT 7 PARITY BIT STOP BIT Fig 2) IrDA ASCII A character with odd parity The UART Receiver The UART module receives data through the RXD (Receive Data Signal) pin. In NRZ mode, standard NRZ data is expected. In IrDA mode, a pulse of at least 1.0 micro sec is expected for each zero bit received. CSWL Inc, Pleasanton, California - 4 -

Before beginning to receive data, a port is to be opened either in serial mode or IrDA mode. A preferred baud rate is also specified while opening the port. The data can then be read by repeatedly sampling the RXD pin. The RXD pin multiplexed with Parallel Port E register's bit 4 (PE4). The address for the Port E data register (PEDATA) is FFFFF421. Before doing this, the associated SELx (SEL4) has to be set and the DIRx (DIR4) has to be configured as input (must be low). The address of Port E select register (PESEL) is FFFFF423 and that of Port E direction register (PEDIR) is FFFFF420. The UART Transmitter The UART module transmits data through the TXD (Transmit Data Signal) pin. While the UART is in NRZ mode, normal data is output with marks transmitted as logic high and spaces transmitted as logic low. In IrDA mode, this pin, which is a 1.6 mciro sec pulse, is out put for each zero bit that is transmitted. Before transmitting data, a port is to be opened. This is done using the Serial Manager call SrmOpen (). The port can either be opened in serial mode or IrDA mode depending upon the type of signals to be transmitted. A preferred baud rate is also specified while opening the port. Data can be transmitted by setting or clearing the TXD pin according to the bit pattern required. The TXD pin is multiplexed with Parallel Port E register's bit 5 (PE5). The address for the Port E data register is FFFFF421. Since MC68EZ328 uses memory mapped registers, the Port E data register can be read by setting a pointer to the correct memory location and loading the value. CSWL Inc, Pleasanton, California - 5 -

Setting and clearing this pin according to the required bit pattern generate pulses for the codes controlling the TV. Before doing this, the associated SELx (SEL5) has to be set and the DIRx (DIR5) has to be configured as output (must be high). Shaping pulses for RS232 serial transmission As mentioned above, the TXD pin is multiplexed with Parallel Port E register s bit 5 (PE5). By manipulating the TXD pin, one can create any arbitrary pulse train. Setting and clearing the TXD bit has the effect of setting the voltages on the transmit line high and low. For the Rs232 serial line, the output voltage stays at its level until the register bit value is changed. The DragonBall MC68EZ328 processor uses a memory mapped I/O architecture. Therefore the registers mentioned above are accessible directly through memory read/write operations. For example, the port E data register is located at address 0xFFFFF421, the direction register at 0xFFFFF420 and the selection register at 0xFFFFF423. To communicate with a PC for example, one has to choose a baud rate, number of data bits (8,7), parity setting (odd, even etc), number of stop bits (1,2). The baud rate choice affects the width of the pulses. The others affect the number of pulses as well as reflect parity bits. Once the settings are chosen, data can be transmitted by setting and clearing the TXD pin as required to create the pulse train for each byte/character. For example to transmit the character A at 9600 baud, 8 bits, odd parity, 1 stop bit, as in igure 1, one could do the following: The ASCII value for A is 65 and its bit pattern is 01000001. Refer Fig. 1 for the bit pattern.after adding the Start bit, parity and the stop bits, the bit pattern to CSWL Inc, Pleasanton, California - 6 -

transmit A is 01000001011. Note that in the above bit pattern, the least significant is transmitted first i.e. Bit 0 is transmitted after the start bit. The following is the pseudo code for transmitting character A using the TXD pin. arrchara[] = 01000001 ; //bit pattern for char A (ASCII = 65) begin SET_BIT (porteselect, TXD_LINE); //Set bit 5 of Parallel Port E Select register SET_BIT (portedir, TXD_LINE); //Set bit 5 of Parallel Port E Dir register //start bit lower line to logic-0 // Clear bit 5 of Parallel Port E Data register Delay(); //time for which the bit is to be set/cleared //Transmit Char A low order bit first for current_bit = low_order_bit to high_order_bit do begin if(current_bit is a 1) raise line to logic-1 // Set bit 5 of data register Delay(); else lower line to logic-0 // Clear bit 5 of data register Delay(); end if end for //parity bit if (parity required) raise/lower line to reflect parity Delay(); CSWL Inc, Pleasanton, California - 7 -

end if //1 stop bit raise line to logic-1 Delay(); CLEAR_BIT (porteselect, TXD_LINE); //Clear bit 5 of Parallel Port E Select register CLEAR_BIT (portedir, TXD_LINE); //Clear bit 5 of Parallel Port E Dir register end Note that the UART needs to be initialized for serial transmission. This can be done by directly manipulating registers. Or one may choose to call routines like SrmOpen() on the PalmPilot. The Delay() routine is not difficult to create. The timer registers may be used to measure time in microseconds. The default timer counter increments every 0.18 Us. At 9600 baud (i.e. 9600 bits/second), or 1 bit in 104 micro seconds, that is approximately 578 counter increments for the duration of a single bit. Some details of timer management will be covered next. Timers The DragonBall has a 16-bit general-purpose timer. The timer mechanism is mainly driven by the following set of registers: Timer Control Register (TCTL) (FFFF600) Timer Compare Register (TCMP) (FFFF640) CSWL Inc, Pleasanton, California - 8 -

Timer Counter Register (TCN) (FFFF608) Timer Status Register (TSTAT) (FFFF60A) The Timer counter register is a counter that is refreshed every 0.18 microsecs and it can be read anytime without disturbing the current count. The address of the Timer counter register is FFFFF608. The Timer compare register contains a value that is compared with the running counter. A compare event is generated when the counter matches the value in this register. The default value in the compare register is 0xD7E4 (55268), which results in an interrupt being generated every 10 milliseconds. The Timer status register indicates the timer s status. When a compare event occurs a bit in the status register set. The timer can be configured for free run or restart mode. In restart mode, once the compare value is reached, the counter resets to 0x0000. In free run mode, the compare function operates the same as it does in restart mode, but the counter continues counting without resetting to 0x0000. However, the counter rolls over to 0x0000 on reaching 0xFFFF. These timer registers provide a fairly accurate way of keeping track of time to the order of microseconds. Why use serial pulse shaping? Manipulating serial pulse trains can be useful when your device or PDA needs to talk to another device through protocols that are not RS232 compliant. For example, there may not be any associated parity or start bits. The pulse widths may not be the same across all bits. The timing between pulses might be different. There may not be handshakes as used in RS232. Even the TXD pin may not be the pin CSWL Inc, Pleasanton, California - 9 -

used to transmit(!). One can use other pins too and manipulate them directly through registers. The same applies when inspecting signals coming into the system (receiving signals). Infrared Remote Control Pulse Shaping This is a more challenging task when applied to consumer electronics devices like a TV set. The above technique of manipulating the TXD pin and creating a pulse train can be applied with some minor modifications to only some types of infrared devices. Consumer appliances like televisions rely on carrier waves and signal modulation to send encoded data. These require a slightly different approach. One very important note edgewise. When working with custom serial or infrared signals, get yourself an oscilloscope so that you can see the pulses you create and check their quality, pulse width, frequency, stability etc. This is an absolute must. For infrared signals, get yourself (or build) an infrared receiving/sending circuit that can be hooked up to an oscilloscope. See the appendix for more details. Simple pulse shaping If you apply the RS232 serial pulse shaping method on the infrared port, the results can be disappointing. No sustainable square pulses with the required pulse widths would be found. First of all, to generate pulse on the infrared port, one needs to set the UART into the infrared mode. One may also use the SrmOpen() call instead of dealing directly with the registers. Using the TXD pin register bit as above will not create a sustained Infrared pulse. It will simply generate a spike of 1.6Us duration according to IrDA specification. And this is more or less a spike waveform, with a small flat top. So how to create a square pulse of required duration? CSWL Inc, Pleasanton, California - 10 -

The trick is to repeatedly keep the TXD pin high (or low) as long as you require a corresponding pulse to maintain itself (its pulse width). That is, keep writing to the TXD register bit as long as you need the pulse sustained. Note that the voltage polarity on the infrared port can be inverted, meaning that clearing the TXD pin bit can raise the voltage high to a logical 1. It is sufficient to use this technique to create infrared square pulses and pulse trains. Carrier-wave pulse shaping This is the tricky part. A consumer device like a Sony TV uses a 40kHz carrier to carry the encoded pulses. A carrier wave can be described easily in relation to the diagram below: 1 0 1 1 1.5 ms Fig 3) Modulated signal A carrier wave oscillates at a particular frequency and is modulated to high or low levels. In the above diagram, a pulse train of 101 is shown, 0 representing the absence of a signal. w is the wave length or pulse width of the carrier wave. The logical 1 is represented by a carrier wave width of 1ms. The durations 1ms and 1.5ms in figure 3 are purely arbitrary, intended to highlight possible encoding schemes. Generating a rectangular pulse of prescribed duration is not sufficient to work with a TV set. One has to create the above carrier signal precisely. For e.g. a Sony TV infrared control requires a 40Khz carrier wave. That means that a single wave will have a w=25us pulse width. CSWL Inc, Pleasanton, California - 11 -

There are at least two ways to achieve this. One is more or less straightforward. The other is more interesting and challenging to do. The key to understanding the technique is that the IrDA pulses have a pulse width much less than that is required by TV sets (1.6Us) and that IrDA transmission makes use of these pulses (spikes) at varying baud rates. The exact width or shape of a spike does not matter. What matters is that the receiving equipment in the TV set sees N number of high and lows per second (or millisecond for that matter) - consistently. Technique 1 Compute the baud rate at which the infrared transmitter should be set to generate pulses at the required frequency (of the carrier wave). If the baud rate is not directly available, the DragonBall processor has a baud rate generator which can be custom programmed to generate most practical baud rates. Now considering that each spike represents a bit in IrDA transmission, construct a long bit sequence of 0 s that will keep the carrier wave on high for the desired period of time. This is assuming that the polarity of the output is inverted, so that a 0 results in a spike. Convert these bit strings into bytes and write them to the infrared port using SrmXYZ() calls. The absence of a signal may be used to construct a logical 0. Technique 2 This technique involves creating the carrier wave manually. For this, one has to compute the pulse width required for a single wave of the carrier and then use the TXD pin to generate a carrier wave. This means repeatedly setting (or clearing for inverted polarity) the TDX register bit with timed delays in between. When brought high, the pulse automatically starts going down after a delay of 1.6Us. So it is CSWL Inc, Pleasanton, California - 12 -

sufficient to wait until the next pulse needs to be created and then set the TXD pin high again. The absence of a signal will again be used to construct a logical 0. This technique requires precise management of timers and/or timing counters on the DragonBall processor. Since it is possible to keep track of time to the order of sub-microseconds, this is not a very difficult task. Common Infrared Remote Control Encoding Techniques Some of the common encoding standards are: Pulse coded Space coded Pulse coded In Pulse coded encoding, the length of the pulse is varied to represent data. 1 0 0 1 Fig 5) Pulse coded signal Space coded In Space coded encoding, the length of the space between the pulses is varied to represent data. CSWL Inc, Pleasanton, California - 13 -

1 0 0 1 Fig 6) Space coded signal Note that these may again be sent over a modulated carrier wave. Remote control codes databases for most consumer devices can be found online. Controlling a Sony TV The Sony TV remote control is based on a 12-bit signal scheme sent on a 40Khz IR wave. The encoded signal contains both address and the data. The address is the device ID code, which determines the type of device this signal is intended for. The device ID code for TV is 00001. The signal begins with a header, which is a pulse for 4T and then a spacing for T where T is 600 microseconds. Following the header is the address and the command, which consists of logical ones and logical zeros. Logical ones are represented by a 2T pulse followed by a T space. Logical zeros are represented by a T pulse followed by a T space. The space between transmissions is 25 ms. One may have to repeat the pattern 4 or 5 times for the TV to recognize the command. Bits are transmitted low order bit first, progressing towards high order bits. For example the code to toggle power would be sent as follows. The device ID for TV is 00001 and the button code for the power switch is 0010101. Thus, the entire control word is 000010010101. To send this command to the TV, one must first send to a 2.4 ms start bit, and then send the bits in reverse order (i.e. CSWL Inc, Pleasanton, California - 14 -

101010010000). This of course must be sent over a carrier wave generated as mentioned in the earlier sections. Pseudo Code The following code does not generate a carrier wave. Since we have covered carrier wave generation already, it will be sufficient to provide the logic behind the signaling here. begin /*send the start bit (header) */ raise the line to logic-1 wait 2.4 ms lower line to logic-0 wait 0.6 ms /*send each of the 12 bits out one at a time, low order bit first*/ for current_bit = low_order_bit to high_order_bit do begin raise line to logic-1 if(current_bit is a 1) wait 1.2 ms /*high duration of a 1 bit*/ else wait 0.6 ms /*high duration of a 0 bit*/ end if lower line to logic-0 wait 0.6 ms /*low duration of all bits*/ end for lower line to logic-0 wait 25 ms end CSWL Inc, Pleasanton, California - 15 -

Conclusion Infrared and serial interface signals from a PDA form a powerful means of controlling and communicating with all kinds of devices. We have provided here a basis for working with such signals and creating powerful applications that may be run from a Palm Pilot. The techniques may be applied to other PDAs, laptops and PCs based on different microprocessors and UARTs, again using the same principles. We ll be describing a version for Windows CE hand held devices in the near future. Such kind of applications need not be restricted to infrared, but may also extend to RF (Radio Frequency) as well, with proper interface hardware. An example would be a Palm Pilot or Windows CE based RF signal generator or detector used for inventory tracking. We expect such uses of hand held devices to become widespread in the next few years. References 1. Motorola DragonBall MC68EZ328 User Reference Manual. (http://www.mot.com/dragonball). 2. Analytical study of IR signals used by a Sony Remote Control. (http://cgl.bu.edu/gc/shammi/ir/). 3. Palm OS microsecond timing. (http://oasis.palm.com/dev/kb/papers/1969.cfm). 4. IR receiver/transmitter circuit. (http://www.veg.nildram.co.uk/remote.htm) Appendix A I. Observing RS232 signals on an Oscilloscope The pulses can be observed using an oscilloscope. Connect the Gnd from the oscilloscope to Signal Gnd in the RS232 pin. The Signal Gnd in RS232 is pin 5. Then signals in Pin 2 Received Data and Pin 3 Transmit Data may now be observed. CSWL Inc, Pleasanton, California - 16 -

Fig 4) RS232 9 pin diagram II. Observing IR signals through an oscilloscope Fig 5) IR receiver/transmitter To observe signals i that it are transmitted through IR, one requires a circuit having an IR receiver. A sample circuit that we implemented is shown in figure 5, borrowed CSWL Inc, Pleasanton, California - 17 -

from the Internet (see references). One can connect the Gnd from the oscilloscope to the Gnd in the circuit, tap the detector circuit and observe the signals from the receiver. One may need to cover up the transmitting diode when working with the photo diode to prevent chance interference. Point your infrared source at the photo diode and observe the signals on the oscilloscope. ------------------------------------------------------------------------------------------------------------ Copyright Notice: 2002 California Software Labs. All rights Reserved. The contents on the document are not to be reproduced or duplicated in any form or kind, either in part or full, without the written permission of California Software labs. Product and company names mentioned here in are the trademarks of their respective companies. CSWL Inc, Pleasanton, California - 18 -