Documente Academic
Documente Profesional
Documente Cultură
PIC Microcontroller
Dogan Ibrahim
.O PART OF THIS PUBLICATION MAY BE REPRODUCED OR TRANSMITTED IN ANY FORM OR BY ANY MEANS ELECTRONIC OR
MECHANICAL INCLUDING PHOTOCOPYING RECORDING OR ANY INFORMATION STORAGE AND RETRIEVAL SYSTEM WITHOUT
PERMISSION IN WRITING FROM THE 0UBLISHER $ETAILS ON HOW TO SEEK PERMISSION FURTHER INFORMATION ABOUT THE
0UBLISHERS PERMISSIONS POLICIES AND OUR ARRANGEMENTS WITH ORGANIZATIONS SUCH AS THE #OPYRIGHT #LEARANCE #ENTER
AND THE #OPYRIGHT ,ICENSING !GENCY CAN BE FOUND AT OUR 7EB SITE WWWELSEVIERCOMPERMISSIONs
4HIS BOOK AND THE INDIVIDUAL CONTRIBUTIONS CONTAINED IN IT ARE PROTECTED UNDER COPYRIGHT BY THE 0UBLISHER OTHER
THAN AS MAY BE NOTED HEREIN
Notices
+NOWLEDGE AND BEST PRACTICE IN THIS lELD ARE CONSTANTLY CHANGING !S NEW RESEARCH AND EXPERIENCE BROADEN OUR
UNDERSTANDING CHANGES IN RESEARCH METHODS PROFESSIONAL PRACTICES OR MEDICAL TREATMENT MAY BECOME NECESSARY
0RACTITIONERS AND RESEARCHERS MUST ALWAYS RELY ON THEIR OWN EXPERIENCE AND KNOWLEDGE IN EVALUATING AND USING
ANY INFORMATION METHODS COMPOUNDS OR EXPERIMENTS DESCRIBED HEREIN )N USING SUCH INFORMATION OR METHODS
THEY SHOULD BE MINDFUL OF THEIR OWN SAFETY AND THE SAFETY OF OTHERS INCLUDING PARTIES FOR WHOM THEY HAVE A
PROFESSIONAL RESPONSIBILITY
4O THE FULLEST EXTENT OF THE LAW NEITHER THE 0UBLISHER NOR THE AUTHORS CONTRIBUTORS OR EDITORS ASSUME ANY LIABILITY
FOR ANY INJURY ANDOR DAMAGE TO PERSONS OR PROPERTY AS A MATTER OF PRODUCTS LIABILITY NEGLIGENCE OR OTHERWISE OR
FROM ANY USE OR OPERATION OF ANY METHODS PRODUCTS INSTRUCTIONS OR IDEAS CONTAINED IN THE MATERIAL HEREIN
vii
viii Contents
0ROJECT n &OUR
$IGIT -ULTIPLEXED 3EVEN
3EGMENT ,%$ #OUNTER 7ITH
4IMER )NTERRUPT
0ROJECT $ESCRIPTION
0ROJECT (ARDWARE
0ROJECT 0$,
0ROJECT 0ROGRAM
-ODIFYING THE 0ROGRAM
5SING -0,!" # #OMPILER 4IMER ,IBRARY 2OUTINES
3UMMARY
%XERCISES
Chapter 7: Serial Peripheral Interface Bus Operation ..........................................361
4HE -ASTER 3YNCHRONOUS 3ERIAL 0ORT -ODULE
-330 IN 30) -ODE
30) -ODE 2EGISTERS
33034!4
330#/.
/PERATION IN 30) -ODE
#ONlGURATION OF -330 FOR 30) -ASTER -ODE
30) "US -0,!" # ,IBRARY &UNCTIONS
#LOSE30)
$ATA2DY30)
GETC30)
GETS30)
/PEN30)
PUTC30)
PUTS30)
2EAD30)
7RITE30)
%XAMPLE OF AN 30) "US 0ROJECT
4# 4EMPERATURE 3ENSOR
4HE #IRCUIT $IAGRAM
4HE 0ROGRAM
$ISPLAYING .EGATIVE 4EMPERATURES
$ISPLAYING THE &RACTIONAL 0ART
3UMMARY
%XERCISES
Chapter 8: MPLAB C18 SD Card Functions and Procedures ................................395
)NSTALLATION OF THE -$$ ,IBRARY
-$$ ,IBRARY &UNCTIONS
&ILE AND $ISK -ANIPULATION &UNCTIONS
,IBRARY /PTIONS
-EMORY 5SAGE
,IBRARY 3ETUP
xiv Contents
Memory Cards
3.1 Memory Card Types
! MEMORY CARD ALSO CALLED A mASH MEMORY CARD IS A SOLID
STATE ELECTRONIC DATA STORAGE
DEVICE &IRST INVENTED BY 4OSHIBA IN THE S MEMORY CARDS SAVE THE STORED DATA EVEN AFTER
THE MEMORY DEVICE IS DISCONNECTED FROM ITS POWER SOURCE 4HIS ABILITY TO RETAIN DATA IS THE KEY
FOR mASH MEMORY CARD APPLICATIONS FOR EXAMPLE IN DIGITAL CAMERAS WHERE THE SAVED PICTURES
ARE NOT LOST AFTER THE MEMORY CARD IS REMOVED FROM THE CAMERA
.OWADAYS MEMORY CARDS ARE USED IN CONSUMER ELECTRONICS AND INDUSTRIAL APPLICATIONS
)N CONSUMER DEVICES WE SEE THE USE OF MEMORY CARDS IN APPLICATIONS LIKE
s 0ERSONAL COMPUTERS
s $IGITAL CAMERAS
s Mobile phones
s 6IDEO CAMERAS
s .OTEBOOK COMPUTERS
s 'LOBAL POSITIONING SYSTEMS
s -0 PLAYERS
s 0ERSONAL DIGITAL ASSISTANTS
)N INDUSTRIAL APPLICATIONS WE SEE THE USE OF MEMORY CARDS IN
s %MBEDDED COMPUTERS
s .ETWORKING PRODUCTS
s -ILITARY SYSTEMS
s #OMMUNICATION DEVICES
s -EDICAL PRODUCTS
s 3ECURITY SYSTEMS
s (ANDHELD SCANNERS
-EMORY CARDS ARE BASED ON TWO TECHNOLOGIES ./2 TECHNOLOGY AND .!.$ TECHNOLOGY
./2 TECHNOLOGY PROVIDES HIGH
SPEED RANDOM ACCESS CAPABILITIES WHERE DATA AS
SMALL AS A SINGLE BYTE CAN BE RETRIEVED ./2 TECHNOLOGY
BASED MEMORY CARDS ARE
OFTEN FOUND IN MOBILE PHONES PERSONAL DIGITAL ASSISTANTS AND COMPUTERS .!.$
TECHNOLOGY WAS INVENTED AFTER THE ./2 TECHNOLOGY AND IT ALLOWS SEQUENTIAL ACCESS TO
THE DATA IN SINGLE PAGES BUT CANNOT RETRIEVE SINGLE BYTES OF DATA LIKE ./2 FLASH .!.$
TECHNOLOGY
BASED MEMORY CARDS ARE COMMONLY FOUND IN DIGITAL CAMERAS MOBILE
PHONES AUDIO AND VIDEO DEVICES AND OTHER DEVICES WHERE THE DATA IS WRITTEN AND READ
SEQUENTIALLY
4HERE ARE MANY DIFFERENT TYPES OF MEMORY CARDS AVAILABLE IN THE MARKET 3OME OF THE MOST
COMMONLY KNOWN MEMORY CARDS ARE
s 3MART MEDIA 3- CARD
s -ULTIMEDIA CARD --#
s #OMPACT mASH #& CARD
s -EMORY STICK -3 CARD
s -ICRODRIVE
s X$ CARD
s 3ECURE DIGITAL 3$ CARD
4HE SPECIlCATIONS AND DETAILS OF EACH CARD ARE SUMMARIZED IN THE FOLLOWING SECTIONS
www.newnespress.com
Memory Card 109
NOT AVAILABLE 3- CARDS WERE DESIGNED TO OPERATE AT EITHER OR 6 AND A SMALL NOTCHED
CORNER WAS USED TO PROTECT
6 CARDS FROM BEING INSERTED INTO
6 READERS
3- CARDS INCORPORATED A COPY PROTECTION MECHANISM KNOWN AS THE h)$v WHICH GAVE EVERY
CARD A UNIQUE IDENTIlCATION NUMBER FOR USE WITH COPY PROTECTION SYSTEMS
3- CARDS ARE NO LONGER MANUFACTURED AND &UJIlLM AND /LYMPUS BOTH SWITCHED TO X$ CARDS
.OW NO DEVICES ARE DESIGNED TO USE 3- CARDS BUT
-" CARDS FOR OLD DEVICES CAN STILL BE
OBTAINED FROM MEMORY CARD SUPPLIERS
www.newnespress.com
110 Chapter 3
www.newnespress.com
Memory Card 111
www.newnespress.com
112 Chapter 3
3.6 Microdrive
-ICRODRIVE IS BASICALLY A HARD DISK DESIGNED TO lT INTO A 4YPE )) #& CARD SIZE ENCLOSURE
!LTHOUGH THE SIZE OF A MICRODRIVE IS SAME AS THAT OF A #& CARD ITS POWER CONSUMPTION IS
MUCH HIGHER THAN mASH MEMORIES AND THEREFORE CANNOT BE USED IN LOW
POWER APPLICATIONS
4HE CAPACITY OF MICRODRIVES IS '" OR MORE &IGURE SHOWS A TYPICAL MICRODRIVE
4HE PHYSICAL DIMENSIONS OF MICRODRIVES ARE s s MM AND THEY WEIGH
APPROXIMATELY G 4HE lRST MICRODRIVE WAS DEVELOPED BY )"- IN WITH A CAPACITY OF
AND -" 3OON AFTER THE CAPACITY WAS INCREASED TO GREATER THAN '" IN THE YEAR
BY (ITACHI -ICRODRIVES WITH A CAPACITY OF '" WERE INTRODUCED IN BY (ITACHI AND
3EAGATE
4HE ADVANTAGE OF MICRODRIVES IS THAT THEY ALLOW MORE WRITE CYCLES THAN THE MEMORY CARDS
)N ADDITION MICRODRIVES ARE BETTER AT HANDLING POWER LOSS IN THE MIDDLE OF WRITING /NE OF THE
DISADVANTAGES OF MICRODRIVES IS THAT THEY DO NOT SURVIVE IF DROPPED FROM A HEIGHT OF M
)N ADDITION THEIR TRANSFER SPEEDS ARE AROUND -"S WHICH IS LOWER THAN MOST OF THE PRESENT
DAY HIGH
END MEMORY CARDS )N ADDITION THEY ARE NOT DESIGNED TO OPERATE AT HIGH ALTITUDES
AND THEIR POWER CONSUMPTION IS HIGH COMPARED WITH MEMORY CARDS
3.7 xD Card
X$ STANDS FOR ExTREME DIGITAL AND THESE CARDS ARE MAINLY USED IN DIGITAL CAMERAS DIGITAL
VOICE RECORDERS AND -0 PLAYERS X$ CARDS WERE DEVELOPED BY /LYMPUS AND &UJIlLM IN
AND THEN MANUFACTURED BY 4OSHIBA #ORPORATION AND 3AMSUNG %LECTRONICS &IGURE
IS A PICTURE OF A TYPICAL X$ CARD X$ CARDS ARE AVAILABLE IN THREE TYPES 4YPE - 4YPE ( AND
Type M
www.newnespress.com
Memory Card 113
4YPE - CARDS WERE DEVELOPED IN AND ARE AVAILABLE IN CAPACITIES UP TO '" 4HE READ
AND WRITE SPEEDS OF THESE CARDS ARE AND -"S RESPECTIVELY
4YPE ( X$ CARDS WERE lRST RELEASED IN HAVE THE ADVANTAGE OF A HIGHER DATA TRANSFER
SPEED 4HESE CARDS ARE ALSO AVAILABLE IN CAPACITIES UP TO '" WITH READ AND WRITE SPEEDS
OF AND -"S RESPECTIVELY 5NFORTUNATELY THE PRODUCTION OF 4YPE ( CARDS HAS NOW BEEN
DISCONTINUED DUE TO THEIR HIGH PRODUCTION COSTS
Type M X$ CARDS WERE lRST RELEASED IN AND THEIR CAPACITIES ARE UP TO '" 4HESE
CARDS ARE THE FASTEST X$ CARDS WITH READ AND WRITE SPEEDS OF AND -"S RESPECTIVELY
4HE ADVANTAGE OF X$ CARDS IS THAT THEY ARE FASTER THAN 3- CARDS --#S AND -3 CARDS )N
ADDITION THEIR SMALL SIZE MAKES THEM ATTRACTIVE IN PORTABLE LOW
POWER APPLICATIONS 3OME
OF THE DISADVANTAGES OF X$ CARDS ARE THEIR HIGHER COST BIGGER SIZE THAN SOME OTHER MEMORY
CARDS SUCH AS MICRO3$ AND THE FACT THAT THEY ARE PROPRIETARY TO &UJIlLM AND /LYMPUS 4HIS
MEANS THAT THERE IS NO PUBLICLY AVAILABLE DOCUMENTATION ON THEIR DESIGN AND IMPLEMENTATION
3$ CARDS ARE AVAILABLE IN THREE DIFFERENT SIZES NORMAL 3$ MINI3$ AND MICRO3$ &IGURE
SHOWS THE THREE TYPES OF 3$ CARDS
.ORMAL 3$ CARDS HAVE THE DIMENSIONS s s MM AND A WEIGHT OF G
! WRITE
PROTECT SWITCH IS PROVIDED ON THE CARD TO STOP ACCIDENTAL DELETION OF THE CONTENTS OF
www.newnespress.com
114 Chapter 3
32.0 mm 24.0 mm
21.5 mm
20.0 mm
11.0 mm
15.0 mm
THE CARD 4HE DATA TRANSFER SPEED IS APPROXIMATELY n -"S .ORMAL 3$ CARDS OPERATE AT
n 6 AND HAVE PINS
MINI3$ CARDS WERE lRST RELEASED IN 4HEY HAVE THE DIMENSIONS s s MM
AND A WEIGHT OF G ! WRITE
PROTECT SWITCH IS NOT PROVIDED ON THE CARD 4HE DATA TRANSFER
SPEED IS APPROXIMATELY -"S MINI3$ CARDS OPERATE AT n 6 AND HAVE PINS
MINI3$ CARDS ARE AVAILABLE IN CAPACITIES RANGING FROM -" TO '"
MICRO3$ CARDS WERE RELEASED IN AND THEY HAVE THE DIMENSIONS s s
MM AND A WEIGHT OF G !S IN THE MINI3$ CARDS NO WRITE
PROTECT SWITCH IS PROVIDED
ON THE CARD 4HE DATA TRANSFER RATE AND THE CARD OPERATING VOLTAGES ARE SAME AS IN MINI3$
CARDS AND THEY HAVE PINS MICRO3$ CARDS ARE AVAILABLE IN CAPACITIES RANGING FROM -"
TO '"
3TANDARD 3$ CARDS ARE AVAILABLE UP TO A CAPACITY OF '" 4ABLE SHOWS A COMPARISON OF ALL
THREE STANDARD 3$ CARDS MINI3$ AND MICRO3$ CARDS CAN BE USED WITH ADAPTERS IN NORMAL 3$
CARD APPLICATIONS &IGURE SHOWS A TYPICAL MINI3$ CARD ADAPTER
www.newnespress.com
Memory Card 115
3TANDARD 3$ CARDS UP TO '" ARE USUALLY SHIPPED WITH THE &!4 lLE SYSTEM PRELOADED
ON THE CARD
3ECURE $IGITAL 3$(# WAS RELEASED IN AND IS AN EXTENSION OF THE STANDARD 3$ CARD
FORMAT 3$(# CARDS PROVIDE CAPACITIES F '" UP TO '" )T IS IMPORTANT TO REALIZE THAT
ALTHOUGH THE 3$(# CARDS HAVE THE SAME PHYSICAL DIMENSIONS AS THE STANDARD 3$ CARDS THEY
USE DIFFERENT PROTOCOLS AND AS SUCH WILL ONLY WORK IN 3$(#
COMPATIBLE DEVICES AND NOT IN
STANDARD 3$ CARD APPLICATIONS 3$(# CARDS SHOULD NOT BE USED IN STANDARD 3$ COMPATIBLE
DEVICES 3TANDARD 3$ CARDS ARE HOWEVER FORWARD COMPATIBLE WITH 3$(# HOST DEVICES
MAKING STANDARD 3$ CARDS COMPATIBLE WITH BOTH 3$ AND 3$(# HOST DEVICES
3$(# CARDS OFFER
s ,ARGER DATA CAPACITIES
s ,ARGER NUMBER OF lLES
s &!4 lLING SYSTEM INSTEAD OF THE &!4
s (IGHER DATA TRANSFER RATES
s #ONTENT PROTECTION FOR RECORDABLE MEDIA #02- COPYRIGHT PROTECTION
s 3TANDARD 3$ CARD PHYSICAL SIZE COMPATIBILITY
www.newnespress.com
116 Chapter 3
3$(# CARDS HAVE 3PEED #LASS 2ATINGS DElNED BY THE 3$ !SSOCIATION 4HE DElNED CLASSES ARE
s #LASS DATA TRANSFER RATE -"S
s #LASS DATA TRANSFER RATE -"S
s #LASS DATA TRANSFER RATE -"S
4HE 3PEED #LASS 2ATING OF A CARD IS LABELED ON THE CARD &IGURE SHOWS A TYPICAL #LASS
3$(# CARD 3$(# CARDS ARE IDENTIlED WITH THE LETTERS h(#v LABELED ON THE CARD AS A LOGO
3$(# CARDS ARE NORMALLY SHIPPED WITH THE &!4 lLING SYSTEM PRELOADED ON THE CARD 4HESE
CARDS ARE USED IN APPLICATIONS REQUIRING HIGH CAPACITIES SUCH AS VIDEO RECORDERS -0 PLAYERS
AND GENERAL LARGE
VOLUME DATA STORAGE AND BY USERS IN GENERAL WHO WANT HIGHER PERFORMANCE
FROM THEIR HIGH
END DIGITAL DEVICES
,IKE STANDARD 3$ CARDS 3$(# CARDS COME IN THREE TYPES NORMAL 3$(# MINI3$(# AND
MICRO3$(#
www.newnespress.com
Memory Card 117
www.newnespress.com
118 Chapter 3
&IGURE SHOWS THE PIN CONlGURATION OF A STANDARD 3$ CARD 4HE CARD HAS NINE PINS AS
SHOWN IN THE lGURE AND A WRITE
PROTECT SWITCH TO ENABLEDISABLE WRITING ONTO THE CARD
! STANDARD 3$ CARD CAN BE OPERATED IN TWO MODES THE SD Bus mode AND THE SPI Bus mode
3$ "US MODE IS THE NATIVE OPERATING MODE OF THE CARD AND ALL THE PINS ARE USED IN THIS MODE
$ATA IS TRANSFERRED USING FOUR PINS $n$ A CLOCK #,+ PIN AND A COMMAND LINE #-$
$ATA CAN BE TRANSFERRED FROM THE CARD TO THE HOST OR VICE VERSA OVER THE FOUR DATA LINES
&IGURE SHOWS THE 3$ CARD CONNECTION IN 3$ "US MODE
30) "US MODE IS THE MORE COMMONLY USED MODE AND IT ALLOWS DATA TO BE TRANSFERRED
ON TWO LINES $/ AND $) IN SERIAL FORMAT USING A CHIP SELECT #3 AND A #,+ LINE 4HE
30) MODE IS EASIER TO USE BUT IT HAS THE DISADVANTAGE OF REDUCED PERFORMANCE COMPARED
WITH THE 3$ MODE OF OPERATION &IGURE SHOWS THE 3$ CARD CONNECTIONS IN 30) MODE
3$ CARD PINS HAVE DIFFERENT MEANINGS DEPENDING UPON THE MODE OF OPERATION 4ABLE SHOWS
THE PIN ASSIGNMENTS WHEN THE CARD IS OPERATED IN 3$ "US AND 30) "US MODES
4HE PROJECTS IN THIS BOOK ARE BASED ON THE OPERATIONS IN THE 30) "US MODE 4HE FOLLOWING PINS
ARE USED IN 30) "US MODE
s #HIP SELECT n 0IN
s $ATA IN n 0IN
s #LOCK n 0IN
s $ATA OUT n 0IN
1 2 3 4 5 6 7 8
9
www.newnespress.com
Memory Card 119
Vdd
CLK
D0-D3
SD card
CMD
D0-D3
SD card
Microcontroller
CMD
D0-D3
SD card
CMD
Vss
)N ADDITION PIN MUST BE CONNECTED TO THE SUPPLY VOLTAGE AND PINS AND MUST BE
CONNECTED TO THE SUPPLY GROUND
"EFORE WE CAN USE AN 3$ CARD IN AN ELECTRONIC CIRCUIT WE HAVE TO KNOW THE INTERFACE SIGNAL
LEVELS 4ABLE SHOWS THE INPUTnOUTPUT VOLTAGE LEVELS OF THE STANDARD 3$ CARDS
!CCORDING TO 4ABLE
-INIMUM LOGIC OUTPUT VOLTAGE 6/( 6
www.newnespress.com
120 Chapter 3
Vdd
SD card
CS
SD card
Microcontroller
CS
SD card
CS
Vss
www.newnespress.com
Memory Card 121
4HIS IS THE RECOMMENDED CONNECTION BECAUSE IT USES THE 30) "US PORT PINS OF THE
MICROCONTROLLER 2# 2# AND 2#
www.newnespress.com
122 Chapter 3
PIC
Vdd
1 3.6 V 2.2 K 2.48 V
CS RC2
SD card 5
CLK RC3
7
DO RC4
2.2 K
Vss DI 2 RC5
3,6
3.3 K 3.3 K
3$ CARDS SUPPORT hHOTv INSERTION OF THE CARD IE THE CARD CAN BE INSERTED INTO THE CIRCUIT
WITHOUT POWERING DOWN THE HOST 4HIS IS USUALLY ACHIEVED THROUGH THE CARD CONNECTOR
#ONNECTOR MANUFACTURERS USUALLY PROVIDE SOCKETS THAT HAVE POWER PINS LONG ENOUGH TO POWER
THE CARD BEFORE ANY CONTACT IS MADE WITH THE OTHER PINS
! FEATURE OF MOST 3$ CARDS IS THE AUTOMATIC ENTRY AND EXIT FROM SLEEP MODE !FTER AN
OPERATION CARDS USUALLY ENTER A SLEEP MODE TO CONSERVE POWER
IN IF NO MORE COMMANDS ARE
RECEIVED WITHIN MS !LTHOUGH THE HOST DOES NOT NEED TO DO ANYTHING FOR THIS TO HAPPEN IT
IS RECOMMENDED THAT THE HOST SHUT THE CLOCK GENERATION !NY COMMAND SENT TO THE CARD WILL
FORCE IT TO EXIT FROM THE SLEEP MODE
3$ CARDS CAN CONSUME UP TO n M! WHILE READING OR WRITING ONTO THE CARD 4HIS
IS USUALLY A HIGH CURRENT AND AN APPROPRIATE VOLTAGE REGULATOR CAPABLE OF SUPPLYING THE
REQUIRED CURRENT MUST BE USED IN THE DESIGN 4HE CARD CONSUMES APPROXIMATELY MA in
SLEEP MODE
www.newnespress.com
Memory Card 123
4HE /#2 REGISTER IS BITS WIDE AND IT DESCRIBES THE OPERATING VOLTAGE RANGE AND STATUS BITS
IN THE POWER SUPPLY 4ABLE SHOWS THE BIT DElNITIONS OF THE /#2 REGISTER )N SUMMARY
s "ITS n ARE RESERVED
s "ITS n DESCRIBE THE 3$ CARD VOLTAGE
s "ITS n ARE RESERVED
s "IT IS THE POWER
UP BUSY STATUS BIT 4HIS BIT IS SET TO hv AFTER THE POWER
UP
INITIALIZATION OF THE CARD HAS BEEN COMPLETED
4HE INITIAL VALUE OF THE /#2 REGISTER IS USUALLY SET TO BINARY VALUE
h
v WHICH CORRESPONDS TO n 6 OPERATION /#2
BITS n ARE ALL LOGIC "IT h
v INDICATES THE BUSY STATUS OF THE CARD AT POWER
UP
4HIS IS A
BIT REGISTER THAT CONTAINS THE CARD IDENTIlCATION INFORMATION SPECIlC TO CARD
MANUFACTURERS 4ABLE SHOWS THE BIT DElNITIONS OF THE #)$ REGISTER )N SUMMARY
s "IT IS RESERVED AND IS ALWAYS hv
s CRC: "ITS n ARE #2# BITS
s MDT: "ITS n ARE THE MANUFACTURING DATE
s "ITS n ARE THE -ONTH lELD H *ANUARY
s "ITS n ARE THE 9EAR lELD H
s "ITS n ARE RESERVED ALL hvS
s PSN: "ITS n ARE THE SERIAL NUMBER UNSIGNED INTEGER
www.newnespress.com
124 Chapter 3
www.newnespress.com
Memory Card 125
PSN:
0
MDT:
CRC:
#3$ IS THE
BIT #ARD 3PECIlC $ATA REGISTER THAT CONTAINS INFORMATION REQUIRED TO ACCESS
THE DATA ON THE CARD 3OME lELDS OF THE #3$ REGISTER ARE READ ONLY WHEREAS SOME OTHER lELDS
ARE WRITEABLE 4ABLE SHOWS BIT DElNITIONS OF THE #3$ REGISTER )N SUMMARY
s CSD_STRUCTURE: "ITS n ARE THE #3$ STRUCTURE VERSION NUMBER
s "ITS n ARE RESERVED ALL hv
www.newnespress.com
126 Chapter 3
www.newnespress.com
Memory Card 127
s TAAC: "ITS n DElNE THE ASYNCHRONOUS PART OF THE READ ACCESS TIME OF THE CARD
4HE BITS ARE DECODED AS FOLLOWS
TAAC bit Code
n 4IME UNIT
0 NS NS NS ±S ±S ±S
n 4IME VALUE
0 2ESERVED
! " # $
E &
2ESERVED
s NSAC: "ITS n DElNE THE WORST CASE FOR THE CLOCK
DEPENDENT FACTOR OF THE DATA
ACCESS TIME 4HE UNIT IS CLOCK CYCLES 4HE TOTAL ACCESS TIME IS EQUAL TO 4!!# PLUS
.3!#
s TRAN_SPEED: "ITS n DElNE THE MAXIMUM DATA TRANSFER RATE 4HE BITS ARE
DECODED AS FOLLOWS
TRAN_SPEED bit Code
n 4RANSFER 2ATE 5NIT
0 KBS -BS -BS -BS
n 2ESERVED
n 4IME 6ALUE
0 2ESERVED
! " # $
E &
2ESERVED
s CCC: "ITS n DElNE THE COMMAND CLASSES THAT ARE SUPPORTED BY THE CARD 4HE BIT
DElNITIONS ARE AS FOLLOWS
CCC bit Supported card command class
#LASS
#LASS
www.newnespress.com
128 Chapter 3
… …
#LASS
s READ_BL_LEN: "ITS n DElNE THE MAXIMUM READ DATA BLOCK LENGTH WHICH IS
EQUAL TO 2%!$?",?,%. 4HE DATA BLOCK LENGTH IS SPECIlED AS FOLLOWS
READ_BL_LEN Block Length
n 2ESERVED
BYTES
… …
BYTES
n 2ESERVED
s "IT IS ALWAYS hv
s WRITE_BLK_MISALIGN: "IT DElNES WHETHER THE DATA BLOCK TO BE WRITTEN BY ONE
COMMAND CAN BE SPREAD OVER MORE THAN ONE PHYSICAL BLOCK
WRITE_BLK_MISALIGN Access Block boundary write
.OT ALLOWED
!LLOWED
s READ_BLK_MISALIGN: "IT DElNES WHETHER THE DATA BLOCK TO BE READ BY ONE
COMMAND CAN BE SPREAD OVER MORE THAN ONE PHYSICAL BLOCK
READ_BLK_MISALIGN Access Block boundary read
.OT ALLOWED
!LLOWED
s DSR_IMP: "IT IF SET A DRIVER STAGE REGISTER $32 IS IMPLEMENTED
s "ITS n ARE RESERVED
s C_SIZE: "ITS n DElNE THE USERS DATA CARD CAPACITY AS FOLLOWS
WHERE
",/#+.2 #?3):%
-5,4
AND
",/#+?,%. 2%!$?",?,%. IF 2%!$?",?,%.
s "ITS n DElNE THE MAXIMUM AND MINIMUM VALUES FOR READWRITE CURRENTS
www.newnespress.com
Memory Card 129
s C_SIZE_MULT: "ITS n ARE USED TO COMPUTE THE USERS DATA CARD CAPACITY MULTIPLY
FACTOR
C_SIZE_MULT MULT
3
s ERASE_BLK_EN: "IT DElNES IF HOST CAN ERASE BY 72)4%?",?,%.
ERASE_BLK_EN Description
(OST CANNOT ERASE BY 72)4%?",?,%.
(OST CAN ERASE BY 72)4%?",?,%.
s SECTOR_SIZE: "ITS n DElNE THE MINIMUM ERASABLE SIZE AS THE NUMBER OF WRITE
BLOCKS
s WP_GRP_SIZE: "ITS n DElNE THE MINIMUM NUMBER OF SECTORS THAT CAN BE SET FOR
THE WRITE PROTECT GROUP
s WP_GRP_ENABLE: "IT DElNES THE WRITE PROTECT GROUP FUNCTIONS
WP_GRP_ENABLE Description
.OT IMPLEMENTED
)MPLEMENTED
s "ITS n ARE RESERVED
s R2W_FACTOR: "ITS n DElNE A MULTIPLE NUMBER FOR A TYPICAL WRITE TIME AS A
MULTIPLE OF THE READ ACCESS TIME
s WRITE_BL_LEN: "ITS n DElNE THE MAXIMUM WRITE BLOCK LENGTH WHICH IS
CALCULATED AS 72)4%?",?,%. 4HE DATA BLOCK LENGTH IS SPECIlED AS FOLLOWS
WRITE_BL_LEN Block Length
n 2ESERVED
BYTES
… …
BYTES
n 2ESERVED
www.newnespress.com
130 Chapter 3
www.newnespress.com
Memory Card 131
4HIS
BIT REGISTER PROVIDES INFORMATION ON THE 3$ CARDS SPECIAL FEATURES SUCH AS THE STRUCTURE
VERSION NUMBER THE PHYSICAL LAYER SPECIlCATION THE SECURITY ALGORITHM USED AND THE BUS WIDTH
4HIS BIT REGISTER DElNES THE CARD STATUS BITS AND CARD FEATURES
N Example 3.1
The following CSD register fields are given by a card manufacturer:
C_SIZE E27h (or decimal 3623)
C_SIZE_MULT 3
READ_BL_LEN 9
Calculate the capacity of this card.
Solution
The card capacity is defined by two fields within the CSD register: C_SIZE and C_SIZE_
MULT. C_SIZE is a 12-bit value with an offset of 1 (1–4096), and C_SIZE_MULT is a
3-bit value with an offset of 2 (2–9).
The number of blocks on the card is given by
BLOCKNR (C_SIZE 1) s 2(C_SIZE_MULT 2),
where
C_SIZE_MULT 8.
The default block length is 512 bytes (but it can also be specified as 1024 or 2048
bytes). The block length is calculated from
BLOCK_LEN 2READ_BL_LEN,
where
READ_BL_LEN 9, 10, or 11.
www.newnespress.com
132 Chapter 3
or
Card Capacity (in bytes) (C_SIZE 1) s 2 (C_SIZE_MULT + 2) s 2READ_BL_LEN.
It is interesting to note that when a block length of 1024 bytes is used (READ_BL_
LEN 10), cards up to 2 GB can be specified, and with a block length of 2048 bytes
(READ_BL_LEN 11), cards up to 4 GB can be specified.
$ATA CAN BE READ IN EITHER SINGLE OR MULTIPLE BLOCKS 4HE BASIC UNIT OF DATA SIZE IS BLOCKS
DElNED BY lELD 2%!$?",?,%. OF THE #3$ REGISTER )N THIS BOOK WE SHALL BE USING ONLY
SINGLE
BLOCK READS 3INGLE
BLOCK READS ARE INITIATED BY ISSUING THE COMMAND 2%!$?3).',%?
",/#+ #-$ TO THE CARD !NY VALID ADDRESS CAN BE USED AS THE STARTING ADDRESS
$ATA CAN BE WRITTEN IN EITHER SINGLE OR MULTIPLE BLOCKS !FTER RECEIVING A VALID WRITE COMMAND
THE CARD SENDS A RESPONSE TOKEN AND THEN WAITS FOR THE DATA BLOCK TO BE SENT FROM THE HOST 4HE
STARTING ADDRESS CAN BE ANY VALID ADDRESS !FTER RECEIVING A DATA BLOCK FROM THE HOST THE CARD
RETURNS A DATA RESPONSE TOKEN AND WRITES THE DATA ON THE CARD IF THE DATA CONTAINS NO ERRORS
www.newnespress.com
Memory Card 133
4HERE ARE A LARGE NUMBER OF COMMANDS AVAILABLE IN 30) MODE FOR READING THE CARD REGIS
TERS READING AND WRITING SINGLE AND MULTIPLE BLOCKS OF DATA ERASING BLOCKS ETC 4ABLE
GIVES A LIST OF THE IMPORTANT 3$ CARD COMMANDS !LL 30) MODE COMMANDS ARE BYTES LONG
BITS !S SHOWN IN 4ABLE THE COMMANDS START WITH THE MOST SIGNIlCANT BIT -3"
AS LOGIC A TRANSMISSION BIT AS LOGIC BITS OF COMMAND INDEX BITS OF ARGUMENT NOT
ALL COMMANDS NEED ARGUMENTS BITS OF #2# AND AN END
BIT LOGIC 4HE COMMANDS ARE
DIVIDED INTO CLASSES )F NO ARGUMENT IS REQUIRED IN A COMMAND THE VALUE OF THE ARGUMENT
lLED SHOULD BE ALL hvS 4HE COMMAND INDEX CONTAINS THE ACTUAL COMMAND NUMBER &OR
EXAMPLE THE COMMAND INDEX VALUE FOR COMMAND #-$ IS BINARY NUMBER IN BITS
IE hv
4HERE ARE SEVERAL TYPES OF RESPONSE TOKENS THAT CAN BE SENT BY THE CARD ! TOKEN IS TRANSMITTED
WITH THE -3" BIT SENT lRST 4HE RESPONSE TOKENS ARE AS FOLLOWS
R1 Format: 4HIS RESPONSE TOKEN IS BYTE LONG AND IS SENT BY THE CARD AFTER EVERY
COMMAND EXCEPT THE 3%.$?34!453 COMMAND 4HE -3" BIT IS hv AND OTHER BITS
INDICATE AN ERROR hv BIT &OR EXAMPLE IF BIT hv IS SET IT INDICATES THAT THE CARD IS IN
)DLE 3TATE AND RUNNING INITIALIZATION SEQUENCE 4ABLE SHOWS BIT DElNITIONS OF THE
2 &ORMAT
R1b Format: 4HIS FORMAT IS SIMILAR TO 2 &ORMAT WITH THE ADDITION OF THE BUSY SIGNAL
www.newnespress.com
134 Chapter 3
In idle state
Erase reset
Illegal command
CRC error
Erase_seq_error
Address error
Parameter error
R2 Format: 4HIS RESPONSE TOKEN IS BYTES LONG AND IS SENT AS A RESPONSE TO COMMAND
3%.$?34!453
R3 Format: 4HIS RESPONSE TOKEN IS BYTES LONG AND IS SENT IN RESPONSE TO COMMAND 2%!$?
/#2 4HE lRST BYTE IS IDENTICAL TO 2 FORMAT WHEREAS THE OTHER BYTES CONTAIN THE /#2
REGISTER DATA
Data Response Token: 7HENEVER A DATA BLOCK IS WRITTEN TO THE CARD THE CARD ACKNOWLEDGES
WITH A DATA RESPONSE 4HIS TOKEN IS BYTE LONG AND HAS THE FOLLOWING BIT DElNITIONS
"IT !LWAYS
"ITS n 3TATUS
"IT !LWAYS
"IT 2ESERVED
4HE 3TATUS BITS ARE DElNED AS FOLLOWS
$ATA ACCEPTED
#2# ERROR DATA REJECTED
7RITE ERROR DATA REJECTED
www.newnespress.com
Memory Card 135
4HE STEPS TO SWITCH THE 3$ CARD INTO 30) MODE SHOULD THEREFORE BE AS FOLLOWS
s 0OWER
UP
s 3END AT LEAST CLOCK PULSES TO THE CARD WITH #3 AND $ATA /UT LINES SET TO LOGIC hv
s 3ET #$ LINE LOW
s 3END
BYTE #-$ COMMAND h v TO PUT THE CARD IN 30) MODE
s #HECK 2 RESPONSE TO MAKE SURE THERE ARE NO ERROR BITS SET
s 3END COMMAND #-$ REPEATEDLY UNTIL THE hIN
IDLE
STATEv BIT IN 2 RESPONSE IS SET TO hv
AND THERE ARE NO ERROR BITS SET
s 4HE CARD IS NOW READY FOR READWRITE OPERATIONS
$URING THE RESET STATE THE CARD CLOCK FREQUENCY SHOULD BE BETWEEN n +(Z !FTER THE RESET
STATE THE MAXIMUM CLOCK FREQUENCY CAN BE INCREASED TO -(Z -(Z FOR THE --#
3.18 Summary
4HE BRIEF DETAILS OF COMMONLY USED MEMORY CARDS ARE GIVEN IN THIS CHAPTER 3$ CARDS ARE
CURRENTLY THE MOST WIDELY USED MEMORY CARDS 4HE TECHNICAL DETAILS AND COMMUNICATION
METHODS OF THESE CARDS HAVE BEEN DESCRIBED IN DETAIL IN THE CHAPTER
www.newnespress.com
136 Chapter 3
3.19 Exercises
%XPLAIN THE MAIN DIFFERENCES BETWEEN THE STANDARD 3$ CARDS AND THE NEW 3$(# CARDS
7HICH CARD WOULD YOU CHOOSE IN A LONG VIDEO RECORDING APPLICATION
(OW MANY TYPES OF STANDARD 3$ CARDS ARE THERE %XPLAIN THEIR MAIN DIFFERENCES
7HICH MEMORY CARD WOULD YOU CHOOSE IN VERY HIGH
SPEED DATA TRANSFER APPLICATIONS
%XPLAIN HOW YOU COULD READ THE DATA STORED ON A MEMORY CARD USING YOUR 0#
7HAT ARE THE NAMES OF THE INTERNAL REGISTERS OF A STANDARD 3$ CARD
%XPLAIN FUNCTIONS OF THE #)$ REGISTER OF AN 3$ CARD
%XPLAIN FUNCTIONS OF THE #3$ REGISTER OF AN 3$ CARD
4HE 4!!# lELD OF THE #3$ REGISTER OF AN 3$ CARD IS BINARY hv %XPLAIN WHAT
THIS MEANS
4HE 42!.?30%%$ lELD OF THE #3$ REGISTER OF AN 3$ CARD IS BINARY hv
%XPLAIN WHAT THIS MEANS
%XPLAIN THE TWO OPERATING MODES OF 3$ CARDS 7HICH MODE IS COMMONLY USED
7HAT IS THE OPERATING VOLTAGE RANGE OF AN 3$ CARD %XPLAIN HOW THIS VOLTAGE CAN BE
OBTAINED FROM A STANDARD 6 REGULATED SUPPLY
$RAW A CIRCUIT DIAGRAM TO SHOW HOW AN 3$ CARD CAN BE CONNECTED TO A 0)#
MICROCONTROLLER IN 30) MODE
%XPLAIN HOW AN 3$ CARD CAN BE PUT INTO THE 30) MODE AFTER POWER
UP
%XPLAIN HOW AN 3$ CARD CAN BE PUT INTO 3$ CARD MODE AFTER OPERATING IN THE 30) MODE
(OW MANY TYPES OF RESPONSE TOKENS ARE THERE %XPLAIN WHERE EACH TOKEN IS USED AND ALSO
GIVE THEIR DIFFERENCES
www.newnespress.com