FREESCALE AN1241

Freescale Semiconductor
Order this document
by AN1241/D
AN1241
Interfacing the MC68HC705J1A to
9356/9366 EEPROMs
Freescale Semiconductor, Inc...
By Mark Glenewinkel
CSIC Applications
INTRODUCTION
This application note describes the hardware and software interface used to communicate between the
Freescale MC68HC705J1A MCU and 9356/9366 EEPROM chips. The 93XX series of EEPROMs are an
industry standard used widely to store nonvolatile bits of information. The software listing in this application
note will work with 9356 and 9366 EEPROMs. The EEPROM bits are arranged in 128 or 256 16-bit
registers, respectively. With some modification, the software will work with other 93XX series EEPROMs.
Some of the applications in which EEPROMs can be utilized are listed below.
•
ID number for remote addressing or security
•
Storage of telecommunication information like phone number recall and speed dialing
•
Power down information storage for consumer electronics like TVs and VCRs
•
Reprogrammable calibration data for test/measurement equipment
The 93XX EEPROMs communicate with the outside world using a serial link. Since the MC68HC705J1A
does not have the hardware on chip to communicate to the EEPROM, a software driver is used. This
method bit programs an I/O port to properly transfer data to and from the EEPROM. A National
NM93C56N was used for testing the software routines in this application note.
HARDWARE INTERFACE
The 9356 is a very simple 8-pin device. Appendix A shows a typical connection between the
MC68HC705J1A and the 9356. The serial interface connection uses only four pins of the 9356. They are
as follows:
•
CS — Chip Select
•
SK — Serial Clock
•
DO — Serial Data Output
•
DI
— Serial Data Input
These signals must be clocked in a certain way in order to transfer the correct serial data to and from the
MC68HC705J1A.
©MOTOROLA, INC., 1995
For More Information On This Product,
Go to: www.freescale.com
AN1241/D
Freescale Semiconductor, Inc.
SOFTWARE INTERFACE
Communication between the MC68HC705J1A and the 9356 is done with a synchronous serial protocol. As
mentioned earlier, the MC68HC705J1A bit programs its I/O pins to communicate with the 9356. A timing
diagram of the serial link can be found in the 9356 data sheet if needed.
Freescale Semiconductor, Inc...
The 9356 will accept seven different commands. They are as follows:
1)
READ —
Read a 16-bit data word from an address in memory
2)
WRITE —
Write a 16-bit data word from an address in memory
3)
WRALL —
Write all addresses with the same 16-bit data word
4)
ERASE —
Erase a 16-bit data word from an address in memory
5)
ERAL
—
Erase all addresses within the memory map
6)
WEN
—
Erase/write enable the EEPROM memory
7)
WDS
—
Erase/write disable the EEPROM memory
The 9356 transmission format is a frame of data bits containing an opcode, an address, and if needed, a
word of data. The opcode is three bits long, the address is eight bits long, and the data word is 16 bits long.
Table 1 illustrates the bit information each instruction needs.
Table 1.
Instruction
Opcode
Address
Data
READ
110
A7–A0
WEN
100
11XXXXXX
ERASE
111
A7–A0
ERAL
100
10XXXXXX
WRITE
101
A7–A0
D15–D0
WRALL
100
01XXXXXX
D15–D0
WDS
100
00XXXXXX
IMPLEMENTATION AND TEST
Software was written to provide subroutines to perform each of the seven commands. A total of four bytes
of RAM are needed to support the subroutines. These bytes are described below.
1)
OP_CODE — Contains the opcode needed for the command
2)
ADDR
— Contains the address for the command
3)
DATA_H
— The high byte for the data word
4)
DATA_L
— The low byte for the data word
As needed, each EEPROM command subroutine will call other supporting subroutines to execute the
transmission of data between the MC68HC705J1A and the 9356. Appendix B contains flowcharts for all of
these subroutines.
2
For More Information On This Product,
Go to: www.freescale.com
AN1241/D
Freescale Semiconductor, Inc.
Each EEPROM command subroutine has input data and output data. This data is inherent with some
commands while others need the information passed to them before the subroutine is called. Table 2 lists
the input data needed and output data generated for each of the seven commands.
Freescale Semiconductor, Inc...
Table 2:
Command
Subroutine Input
Subroutine Output
READ
ADDR
DATA_H/L
EWEN
—
—
ERASE
ADDR
—
ERAL
—
—
WRITE
ADDR & DATA_H/L
—
WRALL
DATA_H/L
—
EWDS
—
—
Code was written and tested with a level of quality equal to the Carnegie-Mellon Software Engineering
Institute (SEI) Level 2. A test routine consisting of writing and reading the EEPROM is listed in Appendix C.
Refer to Appendix A for the schematic used in the design and test of the software. An LED is used to verify
that the test code works properly. The test routine executes the following:
1)
Initializes the port on the HC705J1A for serial transmission. LED is turned off.
2)
Writes EEPROM address $00 with $AA55.
3)
Writes EEPROM address $20 with $1234.
4)
Reads EEPROM address $00 and stores it to RAM location TEST1 and TEST2.
5)
Reads EEPROM address $20 and stores it to RAM location TEST3 and TEST4.
6)
Checks if TEST1 = $AA, TEST2 = $55, TEST3 = $12, and TEST4 = $34.
7)
If check is good, then light the LED. If check is bad, do not light the LED.
8)
Continue to run in an infinite loop until reset.
For increased reliability, the software watchdog on the MC68HC705J1A is used. Also, a low voltage inhibit
circuit, the MC34064, is used to decrease susceptibility to brown out or short power failure conditions.
SUMMARY
This application note has described the interface needed to successfully communicate between the
MC68HC705J1A and the 9356. For more information on the MC68HC705J1A, please consult the
Technical Data Manual, MC68HC705J1A/D. Contact National Semiconductor or SGS Thompson for
technical data on the 93XX series of EEPROM memories.
An electronic copy of the code listing in Appendix C and a listing of the test program to fully test all the
EEPROM commands can be found on the Freescale MCU BBS. The BBS number is (512) 891-3733. The
filename is j1a_9356.arc and is on the CSIC BBS under the APPNOTES directory.
Also, Freescale Application Note AN1221/D further details the software and hardware interfaces needed
between the 93XX series and other HC05 MCUs.
AN1241/D
For More Information On This Product,
Go to: www.freescale.com
3
Freescale Semiconductor, Inc.
Freescale Semiconductor, Inc...
APPENDIX A
4
For More Information On This Product,
Go to: www.freescale.com
AN1241/D
AN1241/D
GND
VDD
3
2
VDD
U3
INPUT
RESET
GND
MC34064
1
GND
VDD
8
7
6
5
4
3
19
20
9
10
C1
0.1uF
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
PB0
PB1
PB2
OSC1
PB3
OSC2
PB4
PB5
MC68HC705J1AP
IRQ/VPP
RESET
U1
VDD
VSS
1
2
18
17
16
15
14
13
12
11
GND
2
X1
CER RES
3
1
For More Information On This Product,
Go to: www.freescale.com
-->
-->
-->
<--
1
2
3
4
D1
LED
R1
390
VDD
U2
VCC
CS
NC
SK
DI
NC
DO
GND
NM93C56N
VDD
GND
8
7
6
5
HC705J1A -> 93C56 EEPROM
Size Document Number
A
705J1A.SCH
Date:
February
1 of
9, 1995 Sheet
Title
Freescale- CSIC Strategic Applications
CHIP_SELECT
SERIAL_CLOCK
SERIAL_OUT
SERIAL_IN
HC705J1A to 93C56 Interface
Freescale Semiconductor, Inc...
REV
1
1
Freescale Semiconductor, Inc.
5
Freescale Semiconductor, Inc.
APPENDIX B
Freescale Semiconductor, Inc...
MAIN ROUTINE TEST
INITIALIZE PORT A
FOR BIT
PROGRAMMING
LED IS OFF
ADDR = $20
JSR J9356_EWEN
ERASE/WRITE
ENABLE THE EEPROM
JSR J9356_READ
READ DATA FROM
EEPROM ADDRESS
JSR J9356_ERAL
ERASE ALL THE
EEPROM
TEST3 = DATA_H
TEST4 = DATA_L
ADDR = $00
DATA_H = $AA
DATA_L = $55
TEST1 =
$AA?
NO
YES
JSR J9356_WRITE
WRITE DATA TO
EEPROM ADDRESS
ADDR = $00
DATA_H = $12
DATA_L = $34
TEST2 =
$55?
NO
YES
JSR J9356_WRITE
WRITE DATA TO
EEPROM ADDRESS
TEST3 =
$12?
YES
TEST4 =
$34?
ADDR = $00
NO
NO
YES
6
JSR J9356_READ
READ DATA FROM
EEPROM ADDRESS
LED IS ON
TEST PASSED
TEST1 = DATA_H
TEST2 = DATA_L
KICK THE
WDOG
For More Information On This Product,
Go to: www.freescale.com
AN1241/D
Freescale Semiconductor, Inc.
J9356_EWDS
J9356_EWEN
Freescale Semiconductor, Inc...
OPCODE = $80
ADDR = $00
CS = 1
OPCODE = $80
ADDR = $C0
CS = 1
J9356_WRITE
J9356_WRAL
OPCODE = $A0
CS =1
OPCODE = $80
ADDR = $40
CS = 1
JSR J9356_WR_OP
WRITE THE
OPCODE
JSR J9356_WR_OP
WRITE THE
OPCODE
JSR J9356_WR_ADDR
WRITE THE
ADDRESS
JSR J9356_WR_ADDR
WRITE THE
ADDRESS
CS = 0
JSR J9356_WR_DATA
WRITE THE
DATA
RTS
SER_OUT = 0
CS = 0
JSR J9356_WAIT
WAIT UNTIL EEPROM
IS READY
RTS
AN1241/D
For More Information On This Product,
Go to: www.freescale.com
7
Freescale Semiconductor, Inc.
J9356_ERASE
J9356_ERAL
J9356_READ
OPCODE = $E0
CS =1
OPCODE = $80
ADDR = $80
CS = 1
OPCODE = $C0
CS =1
Freescale Semiconductor, Inc...
JSR J9356_WR_OP
WRITE THE
OPCODE
JSR J9356_WR_ADDR
WRITE THE
ADDRESS
JSR J9356_WR_ADDR
WRITE THE
ADDRESS
CLOCK
SER_CLK
CS = 0
JSR J9356_WAIT
WAIT UNTIL EEPROM
IS READY
RTS
JSR J9356_WR_OP
WRITE THE
OPCODE
JSR J9356_RD_DATA
READ THE
ADDRESS
SER_OUT = 0
CS = 0
RTS
8
For More Information On This Product,
Go to: www.freescale.com
AN1241/D
Freescale Semiconductor, Inc...
Freescale Semiconductor, Inc.
J9356_WR_OP
J9356_WR_ADDR
J9356_WR_DATA
X=3
X=8
X=16
PUT BIT 7 OF
OPCODE
ON SER_OUT
SHIFT LEFT
OPCODE
X = X-1
PUT BIT 7 OF
OPCODE
ON SER_OUT
SHIFT LEFT ADDR
X = X-1
PUT BIT 7 OF
DATA_H ON
SER_OUT
SHIFT LEFT DATA_L
SHIFT LEFT DATA_H
X = X-1
NO
X = 0?
NO
X = 0?
YES
YES
KICK THE
WDOG
NO
X = 0?
YES
RTS
RTS
J9356_WAIT
RTS
J9356_RD_DATA
CS = 1
X=16
KICK THE
WDOG
READ SER_IN
PUT IN C BIT
ROTATE LEFT
DATA_L
ROTATE LEFT
DATA_H
X = X-1
EEPROM
READY?
SER_IN = 0?
YES
NO
NO
X = 0?
CS = 0
YES
RTS
AN1241/D
For More Information On This Product,
Go to: www.freescale.com
RTS
9
Freescale Semiconductor, Inc.
Freescale Semiconductor, Inc...
APPENDIX C
*****************************************************************************
*****************************************************************************
*
*
*
Main Routine J1A_9356 - 705J1A to 9356 EEPROM
*
*
*
*****************************************************************************
*
*
* File Name: J1A_9356.RTN
Copyright (c) Motorola 1995
*
*
*
* Full Functional Description Of Routine Design:
*
*
Program flow:
*
*
Reset: Initializes ports for bit banging.
*
*
Calls EWEN sub to enable write to EEPROM.
*
*
Calls ERAL to erase all EEPROM
*
*
Writes $AA55 to EEPROM $00
*
*
Writes $1234 to EEPROM $20
*
*
Reads EEPROM $00 and $20
*
*
Check for correct data, light LED if correct
*
*
Execute endless loop
*
*
*
*****************************************************************************
*
*
*
Part Specific Framework Includes Section
*
*
*
*****************************************************************************
#nolist
#INCLUDE 'H705J1A.FRK'
;Include the equates for the HC705J1A
;so that all labels can be used.
#list
*****************************************************************************
*
*
*
MOR Bytes Definitions for Main Routine
*
*
*
*****************************************************************************
org
db
10
MOR
$21
;COP enabled, osc resistor enabled
;If used on a mask rom part,
; be sure to specify this option.
For More Information On This Product,
Go to: www.freescale.com
AN1241/D
Freescale Semiconductor, Inc.
*****************************************************************************
*
*
*
*
Equates and RAM Storage
*
*
*
*****************************************************************************
*
Freescale Semiconductor, Inc...
CS
SER_CLK
SER_OUT
SER_IN
***
equ
equ
equ
equ
0
1
2
3
RAM storage variables
OPCODE
ADDR
DATA_H
DATA_L
TEST1
TEST2
TEST3
TEST4
org
rmb
rmb
rmb
rmb
rmb
rmb
rmb
rmb
RAM
1
1
1
1
1
1
1
1
;bit
;bit
;bit
;bit
#
#
#
#
for
for
for
for
chip select
serial clock
serial data out
serial data in
***
;start of static RAM at $C0
;command byte
;EEPROM address byte
;MSByte of data
;LSByte of data
;test byte #1
;test byte #2
;test byte #3
;test byte #4
*****************************************************************************
*
*
*
*
Program Initialization
*
*
*
* This section sets up the port for bit banging.
*
*
*
* To prevent floating inputs and associated high current draw,
*
* the HC705J1A has pulldown devices on all I/O pins. This
*
* initialization should enable these pulldowns on unused I/O
*
* pins. RESET_ enables the pulldowns, so no code is required.
*
*
*
*****************************************************************************
*
J9356_START
AN1241/D
org
lda
sta
sta
lda
sta
EPROM
#$80
PORTA
COPR
#$87
DDRA
;init portA
;
;kick the wdog
;init i/o of port A
For More Information On This Product,
Go to: www.freescale.com
11
Freescale Semiconductor, Inc.
Freescale Semiconductor, Inc...
*****************************************************************************
*
*
*
J1A_9356 Main Program Loop
*
*
*
* It then runs through the test routine to check for
*
* proper serial transmission. The LED is lit if the test passes.
*
*
*
*****************************************************************************
***
Enable erase/write mode of EEPROM
jsr
J9356_EWEN
;call ewen routine
***
Erase all EEPROM memory map
jsr
J9356_ERAL
***
***
***
Write $AA55 to $00
lda
#$00
sta
ADDR
lda
#$AA
sta
DATA_H
lda
#$55
sta
DATA_L
jsr
J9356_WRITE
Write $1234 to $20
lda
#$20
sta
ADDR
lda
#$12
sta
DATA_H
lda
#$34
sta
DATA_L
jsr
J9356_WRITE
;load data byte high
;load data byte low
;call write routine
;load address
;load data byte high
;load data byte low
;call write routine
#$00
ADDR
J9356_READ
DATA_H
TEST1
DATA_L
TEST2
;load address
#$20
ADDR
J9356_READ
DATA_H
TEST3
DATA_L
TEST4
;load address
;call read routine
;store away data_h to test1
;store away data_l to test2
Read $20
lda
sta
jsr
lda
sta
lda
sta
12
;load address
Read $00
lda
sta
jsr
lda
sta
lda
sta
***
;call eral routine
;call read routine
;store away data_h to test3
;store away data_l to test4
For More Information On This Product,
Go to: www.freescale.com
AN1241/D
Freescale Semiconductor, Inc.
Freescale Semiconductor, Inc...
***
Check results of write and read, light LED if good
J9356_CKSUM
lda
TEST1
;check test1
cmpa
#$AA
bne
J9356_BRANCH
;branch if no good, no LED
J9356_BRANCH
AN1241/D
lda
cmpa
bne
TEST2
#$55
J9356_BRANCH
;check test2
lda
cmpa
bne
TEST3
#$12
J9356_BRANCH
;check test3
lda
cmpa
bne
TEST4
#$34
J9356_BRANCH
;check test4
bclr
7,PORTA
;EEPROM write and read is good
; light LED
clra
sta
bra
COPR
J9356_BRANCH
;kick the wdog
;branch if no good, no LED
;branch if no good, no LED
;branch if no good, no LED
For More Information On This Product,
Go to: www.freescale.com
13
Freescale Semiconductor, Inc.
Freescale Semiconductor, Inc...
*****************************************************************************
*
*
*
EEPROM Command SubRoutines
*
*
*
* These 7 subroutines execute each of the 7 commands
*
* that the EEPROM will respond to
*
*
*
*****************************************************************************
***
EWEN - subroutine to enable write/erase ******************************
J9356_EWEN
lda
#$80
;load opcode
sta
OPCODE
lda
#$C0
;load address
sta
ADDR
bset
CS,PORTA
;CS line is high
jsr
J9356_WR_OP
;write opcode
jsr
J9356_WR_ADDR
;write address
bclr
CS,PORTA
;CS line is low
rts
;return
***
EWDS - subroutine to disable write/erase *****************************
J9356_EWDS
lda
#$80
;load opcode
sta
OPCODE
clr
ADDR
;load addr
bset
CS,PORTA
;CS line is high
jsr
J9356_WR_OP
;write opcode
jsr
J9356_WR_ADDR
;write address
bclr
CS,PORTA
;CS line is low
rts
;return
***
WRITE - subroutine to write EEPROM ***********************************
J9356_WRITE
lda
#$A0
;load opcode
sta
OPCODE
bset
CS,PORTA
;CS line is high
jsr
J9356_WR_OP
;write opcode
jsr
J9356_WR_ADDR
;write address
jsr
J9356_WR_DATA
;write data
bclr
SER_OUT,PORTA
bclr
CS,PORTA
;CS line is low
jsr
J9356_WAIT
;wait until EEPROM is ready
rts
;return
14
For More Information On This Product,
Go to: www.freescale.com
AN1241/D
Freescale Semiconductor, Inc.
Freescale Semiconductor, Inc...
***
WRAL - subroutine to write all EEPROM ********************************
J9356_WRAL
lda
#$80
;load opcode
sta
OPCODE
lda
#$40
;load addr
sta
ADDR
bset
CS,PORTA
;CS line is high
jsr
J9356_WR_OP
;write opcode
jsr
J9356_WR_ADDR
;write address
jsr
J9356_WR_DATA
;write data
bclr
SER_OUT,PORTA
bclr
CS,PORTA
;CS line is low
jsr
J9356_WAIT
;wait until EEPROM is ready
rts
;return
***
READ - subroutine to read EEPROM *************************************
J9356_READ
lda
#$C0
;load opcode
sta
OPCODE
bset
CS,PORTA
;CS line is high
jsr
J9356_WR_OP
;write opcode
jsr
J9356_WR_ADDR
;write address
bset
SER_CLK,PORTA
;clock the EE
bclr
SER_CLK,PORTA
jsr
J9356_RD_DATA
;read data
bclr
SER_OUT,PORTA
bclr
CS,PORTA
;CS line is low
rts
;return
***
ERASE - subroutine to erase EEPROM ***********************************
J9356_ERASE
lda
#$E0
;load opcode
sta
OPCODE
bset
CS,PORTA
;CS line is high
jsr
J9356_WR_OP
;write opcode
jsr
J9356_WR_ADDR
;write address
bclr
CS,PORTA
;CS line is low
jsr
J9356_WAIT
;wait until EEPROM is ready
rts
***
ERAL - subroutine to erase all EEPROM ********************************
J9356_ERAL
lda
#$80
;load opcode and addr
sta
OPCODE
sta
ADDR
bset
CS,PORTA
;CS line is high
jsr
J9356_WR_OP
;write opcode
jsr
J9356_WR_ADDR
;write address
bclr
CS,PORTA
;CS line is low
jsr
J9356_WAIT
;wait until EEPROM is ready
rts
AN1241/D
For More Information On This Product,
Go to: www.freescale.com
15
Freescale Semiconductor, Inc.
*****************************************************************************
*
*
*
EEPROM Supporting SubRoutines
*
*
*
* These subroutines support the functions called from the Command subs
*
*
*
*****************************************************************************
Freescale Semiconductor, Inc...
***
Subroutine to write 3 bit opcode ************************************
J9356_WR_OP
ldx
#3T
;init counter for LOOP1
*
Write to the serial output pin
J9356_LOOP1
brclr
7,OPCODE,J9356_L1_2
;if opcode bit7 = 0, goto L1_2
bset
SER_OUT,PORTA
;ser_out = 1
bra
J9356_L1_3
;goto L1_3
J9356_L1_2
bclr
SER_OUT,PORTA
;ser_out = 0
*
Clock the serial clock pin
J9356_L1_3
bset
SER_CLK,PORTA
bclr
SER_CLK,PORTA
asl
OPCODE
decx
bne
J9356_LOOP1
clra
sta
COPR
rts
;ser_clk = 1
;ser_clk = 0
;rotate the opcode
;decrease counter loop
;is LOOP1 finished?
;kick the wdog
;return
*** Subroutine to write 8 bit address ****************************************
J9356_WR_ADDR
ldx
#8T
;init counter for LOOP2
*
Write to the serial output pin
J9356_LOOP2
brclr
7,ADDR,J9356_L2_2
;if addr bit7 = 0, goto L2_2
bset
SER_OUT,PORTA
;ser_out = 1
bra
J9356_L2_3
;goto L2_3
J9356_L2_2
bclr
SER_OUT,PORTA
;ser_out = 0
*
Clock the serial clock pin
J9356_L2_3
bset
SER_CLK,PORTA
bclr
SER_CLK,PORTA
asl
ADDR
decx
bne
J9356_LOOP2
rts
16
;ser_clk = 1
;ser_clk = 0
;rotate the addr
;decrease counter loop
;is LOOP2 finished?
;return
For More Information On This Product,
Go to: www.freescale.com
AN1241/D
Freescale Semiconductor, Inc.
*** Subroutine to write 16 bit data ******************************************
J9356_WR_DATA
ldx
#16T
;init counter for LOOP4
Freescale Semiconductor, Inc...
*
Write the serial output pin with data
J9356_LOOP4
brclr
7,DATA_H,J9356_L4_2
;if addr bit7 = 0, goto L4_2
bset
SER_OUT,PORTA
;ser_out = 1
bra
J9356_L4_3
;goto L4_3
J9356_L4_2
bclr
SER_OUT,PORTA
;ser_out = 0
*
Clock the serial clock pin
J9356_L4_3
bset
SER_CLK,PORTA
bclr
SER_CLK,PORTA
asl
DATA_L
rol
DATA_H
decx
bne
J9356_LOOP4
rts
;ser_clk = 1
;ser_clk = 0
;rotate the DATA_L
;rotate the DATA_H
;decrease counter loop
;is LOOP4 finished?
;return
***
Subroutine to read 16 bit data ***************************************
J9356_RD_DATA
ldx
#16T
;init counter for LOOP3
*
Read the serial
J9356_LOOP3
brclr
J9356_L3
rol
rol
*
input pin
SER_IN,PORTA,J9356_L3 ;carry bit = serial in
DATA_L
;rotate left result
DATA_H
Clock the serial clock pin
bset
SER_CLK,PORTA
bclr
SER_CLK,PORTA
decx
bne
J9356_LOOP3
rts
;ser_clk = 1
;ser_clk = 0
;decrease counter loop
;is LOOP3 finished?
;return
*
Wait until write cycle is over
J9356_WAIT
bset
CS,PORTA
;CS line is high
J9356_W2
clra
sta
COPR
;kick the wdog
brclr
SER_IN,PORTA,J9356_W2
bclr
CS,PORTA
;CS line is low
rts
;return
AN1241/D
For More Information On This Product,
Go to: www.freescale.com
17
Freescale Semiconductor, Inc.
*****************************************************************************
*
*
*
Interrupt and Reset vectors for Main Routine
*
*
*
*****************************************************************************
RESET
J9356_START
Freescale Semiconductor, Inc...
org
fdb
18
For More Information On This Product,
Go to: www.freescale.com
AN1241/D
Freescale Semiconductor, Inc.
Freescale Semiconductor, Inc...
NOTES
AN1241/D
For More Information On This Product,
Go to: www.freescale.com
19
Freescale Semiconductor, Inc.
Freescale Semiconductor, Inc...
NOTES
20
For More Information On This Product,
Go to: www.freescale.com
AN1241/D
Freescale Semiconductor, Inc.
How to Reach Us:
Home Page:
www.freescale.com
Freescale Semiconductor, Inc...
E-mail:
[email protected]
USA/Europe or Locations Not Listed:
Freescale Semiconductor
Technical Information Center, CH370
1300 N. Alma School Road
Chandler, Arizona 85224
+1-800-521-6274 or +1-480-768-2130
[email protected]
Europe, Middle East, and Africa:
Freescale Halbleiter Deutschland GmbH
Technical Information Center
Schatzbogen 7
81829 Muenchen, Germany
+44 1296 380 456 (English)
+46 8 52200080 (English)
+49 89 92103 559 (German)
+33 1 69 35 48 48 (French)
[email protected]
Japan:
Freescale Semiconductor Japan Ltd.
Headquarters
ARCO Tower 15F
1-8-1, Shimo-Meguro, Meguro-ku,
Tokyo 153-0064
Japan
0120 191014 or +81 3 5437 9125
[email protected]
Asia/Pacific:
Freescale Semiconductor Hong Kong Ltd.
Technical Information Center
2 Dai King Street
Tai Po Industrial Estate
Tai Po, N.T., Hong Kong
+800 2666 8080
[email protected]
For Literature Requests Only:
Freescale Semiconductor Literature Distribution Center
P.O. Box 5405
Denver, Colorado 80217
1-800-441-2447 or 303-675-2140
Fax: 303-675-2150
[email protected]
Information in this document is provided solely to enable system and software
implementers to use Freescale Semiconductor products. There are no express or
implied copyright licenses granted hereunder to design or fabricate any integrated
circuits or integrated circuits based on the information in this document.
Freescale Semiconductor reserves the right to make changes without further notice to
any products herein. Freescale Semiconductor makes no warranty, representation or
guarantee regarding the suitability of its products for any particular purpose, nor does
Freescale Semiconductor assume any liability arising out of the application or use of
any product or circuit, and specifically disclaims any and all liability, including without
limitation consequential or incidental damages. “Typical” parameters which may be
provided in Freescale Semiconductor data sheets and/or specifications can and do
vary in different applications and actual performance may vary over time. All operating
parameters, including “Typicals” must be validated for each customer application by
customer’s technical experts. Freescale Semiconductor does not convey any license
under its patent rights nor the rights of others. Freescale Semiconductor products are
not designed, intended, or authorized for use as components in systems intended for
surgical implant into the body, or other applications intended to support or sustain life,
or for any other application in which the failure of the Freescale Semiconductor product
could create a situation where personal injury or death may occur. Should Buyer
purchase or use Freescale Semiconductor products for any such unintended or
unauthorized application, Buyer shall indemnify and hold Freescale Semiconductor
and its officers, employees, subsidiaries, affiliates, and distributors harmless against all
claims, costs, damages, and expenses, and reasonable attorney fees arising out of,
directly or indirectly, any claim of personal injury or death associated with such
unintended or unauthorized use, even if such claim alleges that Freescale
Semiconductor was negligent regarding the design or manufacture of the part.
For More Information On This Product,
Go to: www.freescale.com