Embed
Email

RC5 IR Remote Control Transmitter - Atmel Corporation

Document Sample

Shared by: xiaohuicaicai
Categories
Tags
Stats
views:
35
posted:
10/27/2011
language:
English
pages:
8
AVR415: RC5 IR Remote Control Transmitter





Features 8-bit

• Utilizes ATtiny28 Special HW Modulator and High Current Drive Pin

• Size Efficient Code, Leaves Room for Large User Code Microcontroller

• Low Power Consumption through Intensive Use of Sleep Modes

• Cost Effective through Few External Components



Figure 1. RC5 Transmitter Application

VCC

Note

VCC

R1



VCC D1 IL

RESET

R3

PORT B

C1 D2

XTAL1

R2

PA2 Q1

ATtiny28





XTAL1

C2



PORT D



GND









Introduction

Use of IR (infrared) light as a method for wireless communication has become popular

for remote control applications. There are a number of different standards for such

communication. In this application note the widely used RC5 coding scheme from

Philips will be described, and a fully working remote control solution will be presented.

This application will use the ATtiny28 AVR microcontroller for this purpose. This pow-

erful unit contains a hardware modulator, a high current LED driver and interrupt

options which makes it especially well suited for these kinds of applications.



Figure 2. RC5 Frame Format

St1 St2 Ctrl S4 S3 S2 S1 S0 S5 S4 S3 S2 S1 S0





Figure 3. Bi-phase Coding



1 0



Rev. 2534A–AVR–05/03









1

Figure 4. Example of Transmission









Figure 5. Signal Before and After Modulation







HM



1 1 0 0 1 1 0 0









Carrier

Frequency









RC5 Coding Scheme The RC5 code is a 14-bit word bi-phase coded signal (see Figure 2). The two first bits

are start bits, always having the value “1”. The next bit is a control bit, which is toggled

every time a button is pressed on the remote control transmitter. This gives an easy way

of determining whether a button is pressed and held down, or pressed and released

continuously. Five system bits hold the system address so that only the right system

responds to the code. Usually, TV sets have the system address 0, VCRs the address 5

and so on. The command sequence is six bits long, allowing up to 64 different com-

mands per address. The bits are transmitted in bi-phase code (also known as

Manchester code) as shown in Figure 3. An example where the command 0x35 is sent

to system 5 is shown in Figure 4. Note that Figure 3 and Figure 4 show the signal that

enters the ATtiny28 hardware modulator. The actual signal emitted by the IR-LED will

be modulated with a certain carrier frequency as shown in Figure 5.





ATtiny28: The Ideal ATtiny28 is a low cost, high-performance 8-bit AVR RISC microcontroller with a number

of features that makes it well suited for remote control applications. The built-in hard-

Solution for

ware modulator eases the task of generating the carrier frequency on which a data

Intelligent Remote signal can be modulated. Frequency and duty-cycle are both easily changed by modify-

Control Systems ing the value residing in the Modulation Control Register MODCR. The high current

driver on pin two of port A (PA2) is capable of driving a LED with a minimum of external

components. This reduces size and system cost. In Power-down mode, the microcon-

troller can be configured to wake up on a low level from any pin on Port B. This provides

an easy solution for waking up, scanning the keyboard, sending the command and

returning to Power-down mode. This application implements an easy keyboard scan-

ning routine using Port B and Port D.





Implementation Figure 1 shows the complete schematics for a remote control transmitter. The 455 kHz

resonator gives the application a reliable and flexible clock base. The external LED

driver circuit provides a constant current for the IR-LED. Resistor R3 determines the

driver strength, and is in this application chosen to 7Ω giving a drive capability of

approximately 100 mA. Higher resistor values will reduce current, and lowering the

resistor value will increase driver strength. The diodes, D1 and D2, are present to

ensure a close to constant driving current and to compensate for temperature variations

in the transistor.









2 AVR415

2534A–AVR–05/03

AVR415



In this application note two different implementations will be presented; One low cost

solution requiring only a minimum of external components, and one using an external

resonator and circuitry for driving the LED. The supplied code will work for both designs.





Low Cost For cost sensitive applications with high tolerance on accuracy, a solution utilizing the

internally calibrated RC Oscillator of the ATtiny28 could be used. The high current drive

Implementation

capabilities of PA2 can sink the LED directly giving a solution with only a few external

components as shown in Figure 6.

By using an external resonator and a driver circuit for the LED, a more flexible solution is

achieved.

The main advantage is higher driver capabilities and higher frequency stability over volt-

age range. If however the receiver is self-synchronized, it will adapt to the changing

frequency of the transmitter, and a solution using the internal RC Oscillator could be

used with good results.



Table 1. Components

Type Comment

R1 3 kΩ External pull-up resistor present to make the system less susceptible to

external noise. Without this component, noise might Reset the

microcontroller.

R2 3 kΩ VCC min − 1,4

R2 = β

2I L



R3 7Ω R3= 0.7/IL

C1 100 pF Resonator dependant

C2 100 pF Resonator dependant

D1 1N4148 Small signal diode

D2 1N4148 Small signal diode

D3 IR LED

Q1 BC807-40TD IMAX = 0,5A, β = 250 - 600

Xtal 455 kHz Resonator



Figure 6. Lowcost RC5 Transmitter







VCC VCC





VCC





PORTB[0..7] D3







PA2









PORTD[0..3]

GND









3

2534A–AVR–05/03

The Software The assembly code found in the AVR415.ASM file contains the latest RC5 Transmitter

software.

The main program flow is shown in the flowchart in Figure 7. The program execution can

be divided into two routines. Both of them are interrupt driven, and use different Power-

down modes to reduce power consumption. The program is designed to use only one

level of hardware stack, leaving two levels for user code.



Main The main program loop is shown in Figure 7. First all registers are initiated; The hard-

ware modulator is configured for correct frequency and duty-cycle. In this application

38 kHz is used as the carrier frequency. This differs from the RC5 standard, which spec-

ifies 36 kHz for the carrier wave. The RC5 signal will however be the same, and most

standard RC5 Receivers should have no problem receiving and decoding the signal.

Once the IO modules are initialized the purpose of the main loop is to decide what sleep

mode to use after the next wake-up.



Figure 7. Main Loop Flowchart



Start









Init Registers.

Init Port Pins to Idle State.

Enable IR Driver.

Enable Hardware Modulator.









Is Last

No

Transmission

Execute Finished?

Interrupt Code







Yes







Enable Low Level Interrupt. Enable Idle

Enable Power-down Mode









Enable Interrupts.









Enter Sleep









4 AVR415

2534A–AVR–05/03

AVR415



The program execution can roughly be divided into two states: “Transmitting a RC5

code” and “Waiting for a key to be pressed”. While waiting for a key to be pressed, the

ATtiny28 is put in Power-down mode. In this mode the current consumption for the

device is at a minimum, and the wake-up time is slightly longer than for the Idle mode.

Since the wake-up condition is caused by physically pressing a key, the longer wake-up

time will not cause a noticeable delay in the system.



Low Level Interrupt When the ATtiny28 is in Power-down mode, a low level on any of the Port B pins will

generate a Low Level interrupt, waking the device and executing the code illustrated by

the flowchart in Figure 8. The main purpose of this routine is to scan through the key-

board, and determine if a valid key is pressed. If two or more buttons are pressed

simultaneously the routine returns the value 0xFF indicating an error. The “checksum”

ensures that 63 of 64 combinations of row and column lines are high – that only one

unique combination, representing the key, is low.

If only one key is pressed, the column and row bit pattern is decoded into a pointer,

which is used to perform a look-up in the Command table.

Further, the Low Level interrupt also controls the toggling of the control bit, indicating if a

new “instance” of a command is present, or if the “same” command should be retrans-

mitted. At the end of this routine, the hardware modulator is started preparing the

transmission.









5

2534A–AVR–05/03

Figure 8. Low Level Interrupt Flowchart

Low Level Interrupt

A B





Disable Low Level

Interrupts





Load Address to Start of Table.

Set Checksum = 193 Add Pointer 2 (Word table)

Set Column = 1





Load Low Byte of Command.

Activate Column Load High Byte of Command.





Select Next Column Wait for Signal

Propagation

Has Command No

Changed?



No Any Keys

Pressed? Yes



Yes Invert Toggle Bit

Checksum += 8

Store Column

Store Row

Transfer Toggle Bit

Deselect Column to Transmit Byte





Next Column

No

Is bit "1"? Start Transmission by

Starting Hardware

Modulator. Load Number

Yes of Bits to Transmit.

No Select Next Bit

All Columns

Tested? Checksum += 1

Reset Keyboard

Yes



Save Command Pointer

Has Entire Byte No

Been Tested?



Return

Load no Button

(0xFF) Yes









Is Only Button

No Pressed

(Checksum = 0x00)?





Yes





Pointer + = 1 Shift Row Byte Right









Is LSB of No

Row Byte "0"?





Yes





Pointer + = 8





Shift Column Byte Right

Is LSB of No

Column Byte

"1"?



Yes









A B









6 AVR415

2534A–AVR–05/03

AVR415



Timer Interrupt Routine Figure 9 shows the flowchart for the Timer Overflow interrupt. The main task of the

Timer Interrupt routine is to keep track of the bit pattern that will be modulated on the IR-

LED, i.e., make sure that the transmitted signal is in accordance with the bi-phase cod-

ing scheme. Once a complete frame has been transmitted, the routines also generate a

necessary delay before a new transmission is to be started.



Figure 9. Timer Overflow Interrup Flowchart

Timer Interrupt







Decrease Number

of Bits to Transmit









Have All Bits No

Been Transferred?



Reload Timer with

Number of 38 kHz

Yes Pulses to Transmit









Has Holdoff No Is this No

between Transmissions

Second Half of

Occured?

Bit Space?



Disable Modulator

Yes Yes

Output



Stop Timer Shift Command Set Output to Invert om

Left (Select Next Next Interrupt (Transmit

Bit to Transfer) Second Half of Bit Space)

Reload Counter to

Give 12 ms Delay

No

Key Pressed?

Set Modulator to

Transmit Bit Value

on Next Interrupt

Set Pointer = 0xFF Yes

(No Command)









Return Transmission Return Transmission

Complete Not Complete









Summary This application note describes how to make a simple RC5 Transmitter. Due to the flex-

ible hardware of the ATtiny28, other IR coding schemes could easily be implemented. It

is also possible to change the duty cycle of the transmitted signal, further decreasing the

power consumption and thus extending battery life.

This application note acts as a foundation upon where the user can implement features

giving a power efficient intelligent Remote Control Transmitter.









7

2534A–AVR–05/03

Atmel Corporation Atmel Operations

2325 Orchard Parkway Memory RF/Automotive

San Jose, CA 95131 2325 Orchard Parkway Theresienstrasse 2

Tel: 1(408) 441-0311 San Jose, CA 95131 Postfach 3535

Fax: 1(408) 487-2600 Tel: 1(408) 441-0311 74025 Heilbronn, Germany

Fax: 1(408) 436-4314 Tel: (49) 71-31-67-0

Fax: (49) 71-31-67-2340

Regional Headquarters Microcontrollers

Europe 2325 Orchard Parkway 1150 East Cheyenne Mtn. Blvd.

Atmel Sarl San Jose, CA 95131 Colorado Springs, CO 80906

Route des Arsenaux 41 Tel: 1(408) 441-0311 Tel: 1(719) 576-3300

Case Postale 80 Fax: 1(408) 436-4314 Fax: 1(719) 540-1759

CH-1705 Fribourg

Switzerland La Chantrerie Biometrics/Imaging/Hi-Rel MPU/

Tel: (41) 26-426-5555 BP 70602 High Speed Converters/RF Datacom

Fax: (41) 26-426-5500 44306 Nantes Cedex 3, France Avenue de Rochepleine

Tel: (33) 2-40-18-18-18 BP 123

Asia Fax: (33) 2-40-18-19-60 38521 Saint-Egreve Cedex, France

Room 1219 Tel: (33) 4-76-58-30-00

Chinachem Golden Plaza ASIC/ASSP/Smart Cards Fax: (33) 4-76-58-34-80

77 Mody Road Tsimshatsui Zone Industrielle

East Kowloon 13106 Rousset Cedex, France

Hong Kong Tel: (33) 4-42-53-60-00

Tel: (852) 2721-9778 Fax: (33) 4-42-53-60-01

Fax: (852) 2722-1369

1150 East Cheyenne Mtn. Blvd.

Japan Colorado Springs, CO 80906

9F, Tonetsu Shinkawa Bldg. Tel: 1(719) 576-3300

1-24-8 Shinkawa Fax: 1(719) 540-1759

Chuo-ku, Tokyo 104-0033

Japan Scottish Enterprise Technology Park

Tel: (81) 3-3523-3551 Maxwell Building

Fax: (81) 3-3523-7581 East Kilbride G75 0QR, Scotland

Tel: (44) 1355-803-000

Fax: (44) 1355-242-743





e-mail

literature@atmel.com



Web Site

http://www.atmel.com







Disclaimer: Atmel Corporation makes no warranty for the use of its products, other than those expressly contained in the Company’s standard

warranty which is detailed in Atmel’s Terms and Conditions located on the Company’s web site. The Company assumes no responsibility for any

errors which may appear in this document, reserves the right to change devices or specifications detailed herein at any time without notice, and

does not make any commitment to update the information contained herein. No licenses to patents or other intellectual property of Atmel are

granted by the Company in connection with the sale of Atmel products, expressly or by implication. Atmel’s products are not authorized for use

as critical components in life support devices or systems.









© Atmel Corporation 2003. All rights reserved. Atmel ® and combinations thereof and AVR ® are the regis-

tered trademarks of Atmel Corporation or its subsidiaries. Other terms and product names may be the trade-

marks of others.

Printed on recycled paper.



2534A–AVR–05/03 0M


Shared by: xiaohuicaicai
Other docs by xiaohuicaicai
LOGFRAMES_ MONITORING AND EVALUATION
Views: 0  |  Downloads: 0
JELSApndx3SophLanguage
Views: 0  |  Downloads: 0
1997TrumpetCompetitionNYTimes
Views: 0  |  Downloads: 0
Eng_wk52_31
Views: 0  |  Downloads: 0
ENVIRONMENTAL MONITORING PROGRAMME FOR
Views: 0  |  Downloads: 0
Marketing - Ulster Business School
Views: 0  |  Downloads: 0
speech-swallowing
Views: 1  |  Downloads: 0
May_FY11_Awards_Report_Web
Views: 0  |  Downloads: 0
Related docs
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!