An1183 PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

AN1183

Interfacing PIC18 MCUs with


UNI/O™ Bus-Compatible Serial EEPROMs
The main features of 11XXX serial EEPROMs are:
Author: Chris Parris
Microchip Technology Inc. • Single I/O pin used for communication
• EEPROM densities from 1 Kb to 16 Kb
• Extremely small packages
INTRODUCTION • Bus speed from 10 kHz up to 100 kHz
• Voltage range from 1.8V to 5.5V
As embedded systems become smaller, a growing
• Low-power operation
need exists to minimize I/O pin usage for communica-
tion between devices. Microchip has addressed this • Temperature range from -40°C to +125°C
need by developing the UNI/O™ bus, a low-cost, easy- • Over 1,000,000 erase/write cycles
to-implement solution requiring only a single I/O pin for This application note is part of a series that provide
bidirectional communication. source code to help the user implement the protocol
UNI/O bus-compatible serial EEPROMs can be used to with minimal effort.
enhance any application facing restrictions on avail- Figure 1 describes the hardware schematic for the
able I/O. Such restrictions can potentially stem from interface between the Microchip 11XXX series of
connectors, board space, or from the master device UNI/O bus-compatible serial EEPROMs and the
itself. PIC18F1220 microcontroller. The schematics show the
The 11XXX family is the newest addition to Microchip connections necessary between the microcontroller
Technology’s broad serial EEPROM product line, and and the serial EEPROM as tested. The software was
is compatible with the newly developed UNI/O bus. written assuming these connections. The single I/O
connection between the microcontroller and the serial
EEPROM includes a recommended pull-up resistor.

FIGURE 1: CIRCUIT FOR PIC18F1220 AND 11XXX SERIAL EEPROM


PDIP
RA0 1 18 RB3
RA1 2 17 RB2
RA4 3 16 RA7
VCC (2)
PIC18F1220

RA5/MCLR 4 15 RA6
VSS 5 14 VCC
RA2 6 13 RB7
RA3 7 12 RB6
RB0 8 11 RB5
RB1 9 10 RB4

VCC(2)

SOT-23
2 VCC
11XXX

VSS 3 20 kΩ (1)
1 SCIO

Note 1: A pull-up resistor (typically 20 kΩ) on SCIO is recommended to ensure bus idle during power-up.
2: Decoupling capacitors (typically 0.1 µF) should be used to filter noise on VCC.

© 2008 Microchip Technology Inc. DS01183A-page 1


AN1183
FIRMWARE DESCRIPTION BIT PERIOD TIMING
The purpose of the firmware is to show how to generate
specific UNI/O bus transactions using a general I/O pin Subroutine Overhead
on the microcontroller. The focus is to provide the For this application note, a timer module on the PIC®
designer with a strong understanding of communica- microcontroller was not used. Therefore, in order to
tion with the 11XXX serial EEPROMs, thus allowing for maintain accurate timing, all instructions executed dur-
more complex programs to be written in the future. The ing communications must be taken into account. All of
firmware was written in assembly language and tested the provided subroutines have been designed to have
using the Microchip PICDEM™ 4 development board. the same amount of overhead. This means that the
The code can easily be modified to use any I/O pin that same number of instructions must be used between
is available. calls to each subroutine. The necessary number of
No additional libraries are required with the provided instructions is defined as a constant named ‘USER-
code. The main program is organized into five sections: CODE’, located within the ‘UNIO PIC18.inc’ file. The
constants ‘PRE’ and ‘POST’ specify the overhead within
- Initialization
the subroutines, and should not be modified unless the
- Write Enable subroutines themselves are changed. In Example 1,
- Page Write ‘USERCODE’ is set to 3, and so a ‘BRA’ instruction is
- WIP Polling required to ensure 3 instructions are executed between
- Sequential Read subroutine calls.
The program utilizes the WIP polling feature for detect- Figure 2 shows how the ‘PRE’, ‘USERCODE’, and ‘POST’
ing the completion of the write cycle after the page write constants determine the bit period, and Equation 1
operation. The read operation allows for verification shows how to calculate the bit period based on these
that the data was properly written. No method of dis- constants. In this example, because each half of the
playing the input data is provided, but an oscilloscope period must be balanced, one period contains 54
can be used. instructions. With TCY = 500 ns, this equates to 27 µs
per bit period, or 37.04 kbps. If additional instructions
The code was tested using the 11LC160 serial
are needed between subroutine calls, then the ‘USER-
EEPROM. This device features 2K x 8 (16 Kbits) of
CODE’ constant can be modified. It is important that the
memory and 16-byte pages. Oscilloscope screen shots
proper number of instructions, as defined by ‘USER-
are labeled for ease in reading. The data sheet ver-
CODE’, are always used between subroutine calls within
sions of the waveforms are shown below the oscillo-
a command. Note that changing the number will also
scope screen shots. The internal 8 MHz RC oscillator
affect the bit period.
is used to clock the microcontroller. If a different clock
is used, the code must be modified to generate the
proper timings. All values represented in this applica- EQUATION 1: BIT PERIOD
tion note are hex values unless otherwise noted.
T E = 2 ⋅ ( PRE + POST + USERCODE ) ⋅ T CY

EXAMPLE 1: SUCCESSIVE SUBROUTINE CALLS


RCALL OutputByte ; Output byte
MOVLW WRITE_CMD ; Load command into WREG (1 inst)
BRA $+2 ; Delay to ensure 3 insts. between calls (2 insts)
RCALL OutputByte ; Output byte

FIGURE 2: SUBROUTINE OVERHEAD TIMING


Previous subroutine Next subroutine
returns here called here

TE (1 Bit Period)

POST USERCODE PRE


11 insts. 3 insts. 13 insts.

DS01183A-page 2 © 2008 Microchip Technology Inc.


AN1183
Achieving Necessary Delays necessary to achieve the specified delay, and will also
generate an additional ‘NOP’ or ‘GOTO’ instruction to
In order to ensure the proper timings are met, loops account for errors in rounding.
have been placed at the necessary locations within the
code. A simple macro, shown in Example 2, was devel- To enable the constants shown above to be modified
oped to achieve these loops. easily, equations have been used for each location
where the macro is called. These equations should not
The total number of instructions necessary for the be modified unless the subroutine code has been
desired delay is passed as the ‘numinsts’ argument, changed and a different delay is needed.
while a unique label is passed as the ‘looplabel’
argument. The macro will calculate the number of loops

EXAMPLE 2: DELAYLOOP MACRO


DELAYLOOP MACRO numinsts, looplabel
MOVLW (numinsts-.1)/.3 ; Load count into WREG
MOVWF delayCount ; Copy WREG to delayCount
looplabel ; Each loop is 3 inst. (2 for last loop)
DECFSZ delayCount,F ; Decrement delayCount, check if 0
BRA looplabel ; If not 0, keep looping

; Now account for miscalculations by adding instructions. This also accounts


; for the loop executing only 2 instructions for the last count value.
#if (numinsts%.3)==.0 ; Account for 2-inst miscalculation
BRA $+2
#else
#if (numinsts%.3)==.2 ; Account for 1-inst miscalculation
NOP
#endif
#endif
endm

© 2008 Microchip Technology Inc. DS01183A-page 3


AN1183
INITIALIZATION Note that once a command has successfully executed
– indicated by the reception of a Slave Acknowledge
Before initiating communication with the 11XXX, the (SAK) following the No Master Acknowledge
master device (MCU) must generate a low-to-high (NoMAK) – the serial EEPROM enters Standby mode
edge on SCIO to release the serial EEPROM from immediately and a standby pulse is not necessary. In
Power-On Reset (POR). Because bus idle is high, the this case, only the Start Header Setup time (TSS) must
MCU creates a high-low-high pulse on SCIO. Once the be observed before the MCU may initiate another
serial EEPROM has been released from POR, a command to the same device.
standby pulse with a minimum timing of TSTBY is
performed to place the serial EEPROM into Standby
mode, as shown in Figure 3.

FIGURE 3: STANDBY PULSE

TSTBY
Standby
SCIO POR mode

Release
from POR

DS01183A-page 4 © 2008 Microchip Technology Inc.


AN1183
WRITE ENABLE Start Header and Device Address
Before a write operation to the array or the STATUS To issue a WREN instruction, the MCU transmits the
register can occur, the Write Enable Latch (WEL) must start header. This consists of a low pulse (THDR),
be set. This is done by issuing a Write Enable (WREN) followed by ‘01010101’, and a Master Acknowledge
instruction. (MAK), followed by a NoSAK. Next, the MCU transmits
the device address (‘10100000’) and another MAK.
The WEL can be cleared by issuing a Write Disable
The serial EEPROM then responds with a SAK if the
(WRDI) instruction. It is also cleared upon termination of
start header and device address were received
a write cycle to either the array or STATUS register, and
correctly. Figure 4 shows the details of the start header
upon POR.
and device address.
The Write Enable operation has been broken down into
the following components: the start header, which is fol-
lowed by the device address and the command byte.

FIGURE 4: START HEADER AND DEVICE ADDRESS

NoSAK
MAK

MAK
SAK

Start Header Device Address

SCIO
0 1 0 1 0 1 0 1 1 0 1 0 0 0 0 0

© 2008 Microchip Technology Inc. DS01183A-page 5


AN1183
Write Enable (WREN) Command Byte signal the end of the operation. Once again, the serial
EEPROM responds with a SAK, indicating it received
Once the SAK is received following the device address, the byte successfully.
the MCU sends the WREN command byte (‘10010110’
or 0x96) and performs a final Acknowledge sequence. Figure 5 shows an example of the WREN command
During this last sequence, the MCU sends a NoMAK to byte.

FIGURE 5: WRITE ENABLE COMMAND

NoMAK
SAK

Command

SCIO
1 0 0 1 0 1 1 0

DS01183A-page 6 © 2008 Microchip Technology Inc.


AN1183
PAGE WRITE addressing the same slave device. After the TSS period,
the start header and device address are transmitted as
Once the WREN instruction has been performed, a page described on page 5.
write operation can be executed to write data to the
array. The serial EEPROM features a 16-byte page, so Write Command and Word Address
up to 16 bytes of data can be written within a single
operation. After the start header and device address have been
The page write operation consists of the following com- sent, the MCU transmits the WRITE command
ponents: the WRITE command, followed by the word (‘01101100’ or 0x6C) and the word address. The
address and the data bytes. Note that the start header serial EEPROM uses a 16-bit word address to access
and device address are not illustrated in this section but the array, so two bytes must be transmitted for the
are still required to initiate the operation. entire word address, with the Most Significant Byte sent
first. After every byte, the MCU transmits a MAK and
Before beginning the WRITE instruction, a period of TSS the serial EEPROM responds with a SAK.
must be observed following the WREN operation. This
period can be used in place of the standby pulse after Figure 6 shows an example of the Write command and
a command has been executed successfully when the word address.

FIGURE 6: WRITE COMMAND AND WORD ADDRESS

MAK
SAK
MAK
SAK

MAK
SAK

Command Word Address MSB Word Address LSB

SCIO 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 1 0 1 1 0 0

© 2008 Microchip Technology Inc. DS01183A-page 7


AN1183
Data Bytes Once all data bytes have been sent, the MCU termi-
nates the command by generating a NoMAK in place of
Once the word address has been transmitted and the the MAK, and the serial EEPROM again responds with
last SAK has been received, the data bytes can be a SAK. This also initiates the internal write cycle (TWC).
sent. Up to 16 bytes of data can be sent within a single
operation. After each byte is transmitted, the MCU Figure 7 shows the final two data bytes sent by the
sends a MAK and the serial EEPROM responds with a MCU, as well as the NoMAK and SAK.
SAK. If at any point a NoSAK is received, then an error
has occurred and the operation must be restarted,
beginning with a standby pulse.

FIGURE 7: WRITE COMMAND FINAL TWO DATA BYTES

NoMAK
MAK
SAK

SAK

Data Byte n-1 Data Byte n

SCIO 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0

DS01183A-page 8 © 2008 Microchip Technology Inc.


AN1183
WRITE-IN-PROCESS POLLING Write-In-Process Polling Routine
After an array or STATUS register write instruction is The process of WIP polling consists of the MCU send-
executed, the MCU must observe a write cycle time ing a start header and device address after observing
(TWC). Write cycle time is a maximum, so the actual the TSS period. The MCU follows this by sending the
time required is typically less. Therefore, to transfer Read Status Register (RDSR) command (‘00000101’
data as efficiently as possible, using the Write-In- or 0x05). After sending the subsequent SAK, the serial
Process (WIP) polling feature is highly recommended. EEPROM transmits the STATUS register. At this point,
Because the STATUS register can be read during a the STATUS register can be requested again by send-
write cycle, the WIP bit can be continuously monitored ing a MAK. The WEL and WIP values sent are updated
to determine the completion of the write cycle. dynamically, so the MCU can continuously check the
STATUS register. Sending a NoMAK terminates the
command.
Figure 8 shows an example of WIP polling to check if a
write operation has finished. In this example, the WIP
bit is set (‘1’), which indicates that the write cycle has
not yet completed.

FIGURE 8: WIP POLLING ROUTINE (SHOWING WRITE-IN-PROCESS)

MAK
MAK
SAK

SAK

Command STATUS Register Data

SCIO
0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1

© 2008 Microchip Technology Inc. DS01183A-page 9


AN1183
WIP Polling Complete
Figure 9 shows the final read of the STATUS register
after the page write operation, in which the WIP bit is
clear (‘0’). This indicates that the write cycle is
complete and the serial EEPROM is ready to continue.

FIGURE 9: WIP POLLING FINISHED (SHOWING WRITE COMPLETE)

NoMAK
MAK
SAK

SAK

STATUS Register Data STATUS Register Data

SCIO
0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0

DS01183A-page 10 © 2008 Microchip Technology Inc.


AN1183
SEQUENTIAL READ bytes are transmitted next. The MCU generates a MAK
after every byte, and the serial EEPROM responds with
The serial EEPROM allows data to be read from the a SAK if no errors occurred.
array in a random access manner. Reading data from
the array is very similar to the write operation, except Command and Word Address for Read
that the read is not limited to a single page. In order to
read from the array, the start header and device Figure 10 shows an example of the READ command
address must first be sent after observing the TSS (‘00000011’ or 0x03) followed by the word address.
period. The READ command byte and word address

FIGURE 10: READ – COMMAND BYTE AND WORD ADDRESS

MAK
SAK
MAK
SAK

MAK
SAK

Command Word Address MSB Word Address LSB

SCIO 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 1 1

© 2008 Microchip Technology Inc. DS01183A-page 11


AN1183
Reading Data Back The read operation is not limited to a single page, so
the entire array can be read within a single operation if
After the READ command and word address have been the MCU continues to request data. At the end of the
sent and acknowledged, the serial EEPROM sends the array, the internal word address is automatically reset
first data byte from the array, starting at the address back to 0x000. A NoMAK terminates the operation.
specified. In order to continue the read, the MCU must
send a MAK after each data byte, with the serial Figure 11 shows the MCU reading the final two bytes of
EEPROM responding with a SAK if there are no errors. data. The MCU sends a NoMAK after the last byte to
After each data byte has been sent, the serial indicate that no more data is requested and to
EEPROM automatically increments the internal word terminate the command.
address to output the next data byte.

FIGURE 11: READ – FINAL TWO DATA BYTES

NoMAK
SAK
MAK
SAK

Data Byte n-1 Data Byte n

SCIO 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0

DS01183A-page 12 © 2008 Microchip Technology Inc.


AN1183
CONCLUSION
This application note provides examples of the basic
commands for communicating with the UNI/O bus-
compatible family of serial EEPROMs. These functions
are designed to be used in an end application with very
little modification. The code generated for this
application note was tested using the PICDEM4
demonstration board with the connections shown in
Figure 1.

© 2008 Microchip Technology Inc. DS01183A-page 13


AN1183
NOTES:

DS01183A-page 14 © 2008 Microchip Technology Inc.


Note the following details of the code protection feature on Microchip devices:
• Microchip products meet the specification contained in their particular Microchip Data Sheet.

• Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the
intended manner and under normal conditions.

• There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our
knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data
Sheets. Most likely, the person doing so is engaged in theft of intellectual property.

• Microchip is willing to work with the customer who is concerned about the integrity of their code.

• Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not
mean that we are guaranteeing the product as “unbreakable.”

Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our
products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts
allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.

Information contained in this publication regarding device Trademarks


applications and the like is provided only for your convenience The Microchip name and logo, the Microchip logo, Accuron,
and may be superseded by updates. It is your responsibility to
dsPIC, KEELOQ, KEELOQ logo, MPLAB, PIC, PICmicro,
ensure that your application meets with your specifications.
PICSTART, PRO MATE, rfPIC and SmartShunt are registered
MICROCHIP MAKES NO REPRESENTATIONS OR trademarks of Microchip Technology Incorporated in the
WARRANTIES OF ANY KIND WHETHER EXPRESS OR
U.S.A. and other countries.
IMPLIED, WRITTEN OR ORAL, STATUTORY OR
OTHERWISE, RELATED TO THE INFORMATION, FilterLab, Linear Active Thermistor, MXDEV, MXLAB,
INCLUDING BUT NOT LIMITED TO ITS CONDITION, SEEVAL, SmartSensor and The Embedded Control Solutions
QUALITY, PERFORMANCE, MERCHANTABILITY OR Company are registered trademarks of Microchip Technology
FITNESS FOR PURPOSE. Microchip disclaims all liability Incorporated in the U.S.A.
arising from this information and its use. Use of Microchip Analog-for-the-Digital Age, Application Maestro, CodeGuard,
devices in life support and/or safety applications is entirely at dsPICDEM, dsPICDEM.net, dsPICworks, dsSPEAK, ECAN,
the buyer’s risk, and the buyer agrees to defend, indemnify and ECONOMONITOR, FanSense, In-Circuit Serial
hold harmless Microchip from any and all damages, claims, Programming, ICSP, ICEPIC, Mindi, MiWi, MPASM, MPLAB
suits, or expenses resulting from such use. No licenses are Certified logo, MPLIB, MPLINK, mTouch, PICkit, PICDEM,
conveyed, implicitly or otherwise, under any Microchip PICDEM.net, PICtail, PIC32 logo, PowerCal, PowerInfo,
intellectual property rights. PowerMate, PowerTool, REAL ICE, rfLAB, Select Mode, Total
Endurance, UNI/O, WiperLock and ZENA are trademarks of
Microchip Technology Incorporated in the U.S.A. and other
countries.
SQTP is a service mark of Microchip Technology Incorporated
in the U.S.A.
All other trademarks mentioned herein are property of their
respective companies.
© 2008, Microchip Technology Incorporated, Printed in the
U.S.A., All Rights Reserved.
Printed on recycled paper.

Microchip received ISO/TS-16949:2002 certification for its worldwide


headquarters, design and wafer fabrication facilities in Chandler and
Tempe, Arizona; Gresham, Oregon and design centers in California
and India. The Company’s quality system processes and procedures
are for its PIC® MCUs and dsPIC® DSCs, KEELOQ® code hopping
devices, Serial EEPROMs, microperipherals, nonvolatile memory and
analog products. In addition, Microchip’s quality system for the design
and manufacture of development systems is ISO 9001:2000 certified.

© 2008 Microchip Technology Inc. DS01183A-page 15


WORLDWIDE SALES AND SERVICE
AMERICAS ASIA/PACIFIC ASIA/PACIFIC EUROPE
Corporate Office Asia Pacific Office India - Bangalore Austria - Wels
2355 West Chandler Blvd. Suites 3707-14, 37th Floor Tel: 91-80-4182-8400 Tel: 43-7242-2244-39
Chandler, AZ 85224-6199 Tower 6, The Gateway Fax: 91-80-4182-8422 Fax: 43-7242-2244-393
Tel: 480-792-7200 Harbour City, Kowloon India - New Delhi Denmark - Copenhagen
Fax: 480-792-7277 Hong Kong Tel: 45-4450-2828
Tel: 91-11-4160-8631
Technical Support: Tel: 852-2401-1200 Fax: 45-4485-2829
Fax: 91-11-4160-8632
http://support.microchip.com
Fax: 852-2401-3431 France - Paris
Web Address: India - Pune
Australia - Sydney Tel: 91-20-2566-1512 Tel: 33-1-69-53-63-20
www.microchip.com
Tel: 61-2-9868-6733 Fax: 91-20-2566-1513 Fax: 33-1-69-30-90-79
Atlanta Fax: 61-2-9868-6755
Duluth, GA Japan - Yokohama Germany - Munich
China - Beijing Tel: 81-45-471- 6166 Tel: 49-89-627-144-0
Tel: 678-957-9614
Tel: 86-10-8528-2100 Fax: 49-89-627-144-44
Fax: 678-957-1455 Fax: 81-45-471-6122
Fax: 86-10-8528-2104 Italy - Milan
Boston Korea - Daegu
China - Chengdu Tel: 39-0331-742611
Westborough, MA Tel: 82-53-744-4301
Tel: 86-28-8665-5511 Fax: 82-53-744-4302 Fax: 39-0331-466781
Tel: 774-760-0087
Fax: 86-28-8665-7889 Netherlands - Drunen
Fax: 774-760-0088 Korea - Seoul
China - Hong Kong SAR Tel: 82-2-554-7200 Tel: 31-416-690399
Chicago
Itasca, IL Tel: 852-2401-1200 Fax: 82-2-558-5932 or Fax: 31-416-690340
Tel: 630-285-0071 Fax: 852-2401-3431 82-2-558-5934 Spain - Madrid
Fax: 630-285-0075 China - Nanjing Tel: 34-91-708-08-90
Malaysia - Kuala Lumpur
Tel: 86-25-8473-2460 Fax: 34-91-708-08-91
Dallas Tel: 60-3-6201-9857
Addison, TX Fax: 86-25-8473-2470 Fax: 60-3-6201-9859 UK - Wokingham
Tel: 972-818-7423 China - Qingdao Tel: 44-118-921-5869
Malaysia - Penang
Fax: 972-818-2924 Tel: 86-532-8502-7355 Fax: 44-118-921-5820
Tel: 60-4-227-8870
Detroit Fax: 86-532-8502-7205 Fax: 60-4-227-4068
Farmington Hills, MI China - Shanghai Philippines - Manila
Tel: 248-538-2250 Tel: 86-21-5407-5533 Tel: 63-2-634-9065
Fax: 248-538-2260 Fax: 86-21-5407-5066 Fax: 63-2-634-9069
Kokomo China - Shenyang Singapore
Kokomo, IN Tel: 86-24-2334-2829 Tel: 65-6334-8870
Tel: 765-864-8360 Fax: 86-24-2334-2393 Fax: 65-6334-8850
Fax: 765-864-8387
China - Shenzhen Taiwan - Hsin Chu
Los Angeles Tel: 86-755-8203-2660 Tel: 886-3-572-9526
Mission Viejo, CA Fax: 86-755-8203-1760 Fax: 886-3-572-6459
Tel: 949-462-9523
China - Wuhan Taiwan - Kaohsiung
Fax: 949-462-9608
Tel: 86-27-5980-5300 Tel: 886-7-536-4818
Santa Clara Fax: 86-27-5980-5118 Fax: 886-7-536-4803
Santa Clara, CA
China - Xiamen Taiwan - Taipei
Tel: 408-961-6444
Tel: 86-592-2388138 Tel: 886-2-2500-6610
Fax: 408-961-6445
Fax: 86-592-2388130 Fax: 886-2-2508-0102
Toronto
China - Xian Thailand - Bangkok
Mississauga, Ontario,
Tel: 86-29-8833-7252 Tel: 66-2-694-1351
Canada
Tel: 905-673-0699 Fax: 86-29-8833-7256 Fax: 66-2-694-1350
Fax: 905-673-6509 China - Zhuhai
Tel: 86-756-3210040
Fax: 86-756-3210049

01/02/08

DS01183A-page 16 © 2008 Microchip Technology Inc.

You might also like