I2c Bus Implementation and Application INDEX CO CONTENTS
PAGE NO
1. ABSTRACT
3
2. INTRODUCTION
4
2.1 WHAT IS I2C
4
2.2 HARDWARE
5
2.3 OPERATING MODES
5
3. I2C KEY FEATURES
6
4 .I2C COMMUNICATIONS PROCEDURE
6
5. I2C PROTOCOL CHARECTERISTICS
7
5.1 I2C TERMINOLOGY
7
5.2 CONFIGURATION
9
5.3DATA ALIDITY
11
5.4START AND STOP CONDITIONS
12
5.5CONTROL SIGNALS
13
5.6DATA TRANSFERS
13
5.7 ACKNOWLEDGMENT
14
5. 5 .!ARBITRATION
15
5.9DATA FORMATS
16
5.1" READ AND WRITE I2C#
17
5.11 I2C ELETRICAL CHARACTERISTICS
2"
6. IMPLEMENTATION OF I2C MASTER CONTROLLER ON FPGA US USING HDL
22
6.1REGISTER DESCRIPTION
22
6.2 IMPLEMENTATION
23
6. 6.3 RESULTS
Electronics and Communication EngineeringPage 1
23
I2c Bus Implementation and Application INDEX TABEL TABEL OF CONTENS
7. IMPLEMENTA IMPLEMEN TATION TION OF I2C MASTER CONTROLLER
PAGENO PAGENO
24
USING INTEL MCS$51 7.1 MCS$51 HARDWARE RE%UIRMENT
25
7.2 MCS$51 I2C SOFTWARE EMULATION MODULES
26
7.3 I2C SOFTWARE EMULATION PERFORMANCE
26
!. I2C DESIGNER BENEFITS AND MANUFACTURER BENEFITS
2!
9. APPLICATION
29
9.1 T RECEPTION
3"
9.2 LCD DRIER
31
1". CONCLUSION
32
11. REFERENCES
32
Electronics and Communication EngineeringPage 2
I2c Bus Implementation and Application INDEX TABEL TABEL OF CONTENS
7. IMPLEMENTA IMPLEMEN TATION TION OF I2C MASTER CONTROLLER
PAGENO PAGENO
24
USING INTEL MCS$51 7.1 MCS$51 HARDWARE RE%UIRMENT
25
7.2 MCS$51 I2C SOFTWARE EMULATION MODULES
26
7.3 I2C SOFTWARE EMULATION PERFORMANCE
26
!. I2C DESIGNER BENEFITS AND MANUFACTURER BENEFITS
2!
9. APPLICATION
29
9.1 T RECEPTION
3"
9.2 LCD DRIER
31
1". CONCLUSION
32
11. REFERENCES
32
Electronics and Communication EngineeringPage 2
I2c Bus Implementation and Application ABSTRACT
I2C &' ()* +,'( -,++,/0 '* '*&/ ,(,-,/ , ,() &(*$-)& &($-)& /,8+*&+ 8&() ($('*'. ($('*'. T)&' * -,('(' -,+*' )0'&-/ )0'&-/ &+/*+*((&, '*-(' , ()* (8, ,(,-,/' (),:) +* , *-*( ;&/&<=' FPGA +&/&*'> '),8&: 8)&-) ,(,-,/ *(*' * *','&/* , ''((&/ * ,?*)*. T)&' ?//* &,+(&, )*/ )*/'' *'& *'&: :* *'' (, +@* +@* -* -* // (&:) (&:)(/0 (/0 (&/ (&/,* ,* -) -)&(* &(*-( -( ** *-& *-&'& '&, ,'. '. F, F, -,+*)*'&?* -,+(&?* '(0> ,() ,(,-,/' * &+/*+*(* ' :**/ ,'* IP ',/(&,'> &-,,(&: // *-*''0 *(*' *&* 0 +,* ASICS,C /&-(&,' --,&: (, *-*( +@*( &?*'(&:(&, , &+,(( +* , -,++*-&/ I 2C SPI *?&-*'. T)* RTL -,* &' (*-),/,:0 &***(> &-&: , 25 * ,?*)* , I2C ,?* SPI> /+,'( ()* '+* */0' , ,() *'&:'. A /', ,()* +*(), , &+/ &+/*+ *+* *(& (&: : &2&2- -,( -,(, ,// //* * 0 '& '&:: MCS$ MCS$51 51.T .T)& )&'' -,( -,(, ,// //* * &' -, -,**-(* (* (, (, +&-, +&-,,,-*' *'', ', , -,+( -,+(* * *' *' ! &( &'( &'(-(& -(&,' ,' ,//,8 ,//,8&: &: I2C ,(,,(,-,/. ,/. T)* T)* &'(-(&,' * ()* ,-*''* -,?*(* (, &'(-(&,' 8)&-) ,//,8 SPI ,(,-,/. 32 &( *:&'(* &' *'&:* (, '* ( '*&//0 ' * SPI &'(-(&,'. T)* -,+/*(* +,/* &' *'&:* & HDL '&+/(* & M,*/ SIM. T)* *'&: &' /', '0()*'&* & ;&/&< ;ST 12.1 ,(&+&* , * ,8*. T)&' -,-*( &' 8&*/0 /&-/* 8)** +&-,,-*'', 8(' (, -,++&-(* 8&() SPI *?&-*. T)&' +,/* -(' ' '/?* , ()* +&-,,-*'', ( ()* '+* (&+* -(' /&@* +'(* , ()* SPI *?&-* 8)&-) - * -,'&** ' '/?*. '/?*. A/', ()&' * * -,'&'(' :/,/ /&-(&, /&-(&, , &2- ' ()*& &*/.
Electronics and Communication EngineeringPage 3
I2c Bus Implementation and Application
INTRODUCTION#$
T)* I2C$' &' * -(, 8,/ '( ()( &' ,8 &+/*+*(* & ,?* 1""" &**( IC' +-(* 0 +,* () 5" -,+&*'. A&(&,//0> ()* ?*'(&/* I2C$' &' '* & ?&,' -,(,/ -)&(*-(*' '-) ' S0'(*+ M:*+*( B' S+'> P,8* M:*+*( B' PMB'> I(*//&:*( P/(,+ M:*+*( I(*-* IPMI> D&'/0 D( C)*/ DDC A?-* T*/*-,+ C,+(&: A-)&(*-(* ATCA. What isi2c ? I²C InterInte!rate" circ#it > ,,-* I-squared-C > &' +/(&+'(*> +/(& '/?*>
'&:/*$
**> '*&/ -,+(* ' &?*(* 0 P)&/& '*+&-,-(,' & 19!2 , @,8 (,0 ' N;P S*+&-,-(,'> '* , ((-)&: /,8$'** *&)*/' (, -,+(* (, -,++&-(&, *(8** &(*:(* -&-&(' IC' ,+ &**( +-(*'. M,()*,' *+**
'0'(*+'.A/&-(&,'
()(
'*
()*
I2C'
&-/*
+&-,-,(,//*'> LCD> +*+,0> @*0,'> PC'> -*// ),*'> - &,'> T'> /* '*?*'. T)* I2C ' '*' (8, &&*-(&,/ '&:/'> ,* ' ()* '*&/ -/,-@ SCL /&* ,* ' ()* '*&/ ( SDA /&*. E-) *?&-* -,*-(* (, ()* ' )' &* *'' '* (, &*(&0 ()* *?&-* & -,++&-(&,. T)* ,(,-,/ &' -,+&'* , '*( , -,&(&,' (, *'(/&') , (*+&(* -,++&-(&,> *'&:(&, (, * , 8&(*> ()* &/&(0 (, *'' *?&-*' 8&() *<* *'' '-)*+*. A '&+/* +'(*'/?* */(&,')& &' *'*( , ()* ' -,(&,'/0> 0 *?&-* , ()* /&* - -( ' ()* +'(* , '/?*. I2C )' ( ('* (* , 4""K&('' ( +<&++ /*:() , 2 +*(*'. I( &' ,''&/* (, :*( ('* (* , 3.4 M&('' ( ".5 +*(*' , ()* )&:) '** I 2C '> 0 '&: '&:/ *'> ,* - :, (, 1"" +*(*' , ()* I2C '. D*?&-*' -,*-(* (, ()* I2C$' '0'(*+ - ,*(* ' M'(*' S/?*'. T)* M'(* *?&-* -,(,/' ' -,++&-(&,' 0 &&(&(&:(*+&(&: ('*'> '*&: &,+(&, :**(&: ()* I2C '0'(*+ -/,-@. O ()* ,()* )> ()* S/?* *?&-* 8&(' (, * A*''* 0 ()* -,(,//&: M'(*. U, *&: *''*> ()* S/?* *,+' ()* '*-&&-(&, **'(*. A *<+/* , ()&' -,&:(&, &' M'(* C,(,//* '*&: &'/0 ( (, LED S/?* R*-*&?* ()( 8,/ ()* ,(( ()* **'(* &'/0.
Electronics and Communication EngineeringPage 4
I2c Bus Implementation and Application T)* -,&:(&, *'-&* ,?* &' ()* +,'( -,++, ),8*?*> ( (&+*' ()* S/?* - *-,+* T'+&((* ()* M'(* R*-*&?*. F, *<+/*> ()* M'(* +0 **'( &,+(&, ,+ *''* S/?*. T)&' *&*' ()* M'(* (, *-*&?* ( ,+ ()* S/?*. I( &' &+,(( (, *'( ()( *?* &: M'(* R*-*&?*S/?* T'+&''&,> ()* :**(&, , -/,-@ '&:/' , ()* I2C ' &' /80' ()* *','&&/&(0 , ()* M'(*. A' *'/(> // *?*(' , ()* ' +'( * '0-),&* 8&() ()* M'(*=' SCL -/,-@ /&*.3 I2c $ar"%are&
I2C H8* C)-(*&'(&-' B,() SCL S*&/ C/,-@ SDA S*&/ D( * & &*-(&,/ /&*' ()( * -,*-(* (, ,'&(&?* '/0 ,/(:* ?& //$ *'&'(,'. I( &'/0' (0&-/ /I2C$' -,&:(&,. D*?&-*' -,*-(* (, ()* ' *&* ,*$& , ,*$-,//*-(, ,(( '(:* &(*-*'. A' *'/( , ()*'* &(*-*'> ()* *'&'(,' // ,() /&*' HIGH 8)* ()* ' &' **.
.',-* #)((#888.*+&-,.-,+/, D( &' ('+&((* (,> *-*&?* ,+> ()* I2C ' ?& ** &(*-*. C,(,/ '((' &,+(&, &' */0* (),:) '*( , +*+,0$+* *:&'(*'. F, -,+/*(* /&'( , I2C ' *(*'> -&/&(&*'> ,*(&, *(&/'> '** ()* I2C-Bus Specification.5 I2C EEPRO' O(er(ie%
S*&/ EEPROM *?&-*' * ,/ , '(,&: '0'(*+ -,&:(&, +*(*'> '* '*((&:'> +*'*+*( (> ,()* ,$?,/(&/* &,+(&,. I (0&-/ ':* +,*/> S,C ,-*'', -(' ' +'(* *?&-* ()( -,(,/' ()* *<-):* , ( 8&() ()* EEPROM .A// I2C '$-,+(&/* *?&-*' * &-,,(* ,$-)& (, */* ()*+ (, -,++&-(* &*-(/0 8&() *-) ,()* ?& ()* I2C '.
Electronics and Communication EngineeringPage 5
I2c Bus Implementation and Application
The I2C )*"#+e can *,erate in an- *. the .*++*%in! I2C s-ste)s&
A' '/?* *?&-* A' +'(* *?&-* & '&:/* +'(* '0'(*+ '/?* +0 /', * -(&?* A' +'(*'/?* *?&-* & +/(&$+'(* '0'(*+ ' -,//&'&, *(*-(&, &((&, 3 The ofcial I2C bus protocol supports three modes o transer rates: • Standard Mode — Up to 100 Kbps • Fast Mode — Up to 400 Kbps • High-Speed Mode — Up to 3.4 Mbps[5]
/e- .eat#res *. the I2C )*"#+e inc+#"e the .*++*%in! #
I***( +'(* '/?* /,:&M/(&$+'(* ',(> 8)&-) *?*(' +*'':* /,''*' & &((&, D*(*-(' 7$&( 1"$&( *?&-* *''*' 8&() -,&:/* *'' +'@&: & S/?* +,* D*(*-(' :**/ -// *''*' ' *&* & ()* I2C ,(,-,/ A(,+(&- SCL < -/,-@ '(*(-)&: ,?&*' */0' , ()* ,-*'', (, *', (, '/?* ( **'( S,(' 1"" @H 4"" @H ' '*-&&-(&,' 0S,+* &(*//&:*( -,(,/> '//0 '&:/*$-)& +&-,-,(,//* 1
G**/$,'* -&-&(' /&@* LCD LED &?*'> *+,(* IO ,('> RAM>EEPROM> */$(&+*
-/,-@' , AD DA -,?*(* 1 A/&-(&,$,&*(* -&-&(' '-) ' &:&(/ (&: '&:/
Electronics and Communication EngineeringPage 6
,-*''&: -&-&(' .5
I2c Bus Implementation and Application
2 I C C*))#nicati*n Pr*ce"#re #$
O* IC ()( 8(' (, (/@ (, ,()* +'(# 1 W&( (&/ &( '**' , -(&?&(0 , ()* I 2C '. SDA SCL * ,() )&:). T)* ' &' =**=. 2 P( +*'':* , ()* ' ()( '0' =&(J' +&*= $ I )?* STARTED (, '* ()* '. A// ,()* IC' ()* LISTEN (, ()* ' ( (, '** 8)*()* ()*0 +&:)( * ()* ,* 8), 8&// * -//* *''*. 3 P,?&* , ()* CLOCK SCL 8&* -/,-@ '&:/ I( 8&// * '* 0 // ()* IC' ' ()* ***-* (&+* ( 8)&-) *-) &( , DATA , ()* ( SDA 8&* 8&// * -,*-( ?/& - * '*. T)* ( , ()* ( 8&* SDA +'( * ?/& ( ()* (&+* ()* -/,-@ 8&* SCL '8&(-)*' ,+ =/,8= (, =)&:)= ?,/(:* 4 P( ,( & '*&/ ,+ ()* &* &0 =*''= +* , ()* IC ()( &( 8(' (, -,++&-(* 8&(). 5 P( +*'':* ,* &( , ()* ' (*//&: 8)*()* &( 8(' (, SEND , RECEIE ( ,+ ()* ,()* -)&. T)* *8&(* 8&* &' :,* 6 A'@ ()* ,()* IC (, ACKNOWLEDGE '&: ,* &( ()( &( *-,:&* &(' *'' &' *0 (, -,++&-(*. 7 A(* ()* ,()* IC -@,8/*:*' // &' OK> ( - * ('**. ! T)* &'( IC '*' , *-*&?*' ' +0 !$&( 8,' , ( ' &( 8('. A(* *?*0 !$&( ( 8, ()* '*&: IC *<*-(' ()* *-*&?&: IC (, -@,8/*:* ()* ('* &' :,&: OK. 9 W)* // ()* ( &' &&')* ()* &'( -)& +'( ** ()* ' &( ,*' ()( 0 '*-&/ +*'':* -//* =STOP=. I( &' '( ,* &( , &,+(&, ('** 0 '*-&/ =8&::/&:= , ()* SDASCL 8&*' , ()* '.5
Electronics and Communication EngineeringPage 7
I2c Bus Implementation and Application
I2#s Pr*t*c*+ & Stan"ar")*"e3 Fast)*"e an" Fast)*"e P+#s I2C#s ,r*t*c*+s #
T8, 8&*'> '*&/ ( SDA '*&/ -/,-@ SCL> -0 &,+(&, *(8** ()* D*?&-*' -,*-(* (, ()* '. E-) *?&-* &' *-,:&* 0 &* *'' 8)*()* I( &' +&-,-,(,//*> LCD &?*> +*+,0 , @*0, &(*-* - ,*(* ' E&()* ('+&((* , *-*&?*> **&: , ()* -(&, , ()* *?&-*. A LCD &?* M0 * ,/0 *-*&?*> 8)**' +*+,0 - ,() *-*&?* ('+&( (. I &(&, (, ('+&((*' *-*&?*'> *?&-*' - /', * -,'&** ' +'(*' , '/?*' 8)* P*,+&: ( ('*'. A +'(* &' ()* *?&-* 8)&-) &&(&(*' ( ('* , ()* ' :**(*' ()* -/,-@ '&:/' (, *+&( ()( ('*. A( ()( (&+*> 0 *?&-* *''* &' -,'&** '/?*. ! 2 I C B#s Ter)in*+*!1 Trans)itter $ ()* *?&-* ()(
'*' ( (, ()* '. A ('+&((* - *&()* * *?&-* ()(
(' ( , ()* ' , &(' ,8 --, +'(*$('+&((*J> , & *','* (, **'( ,+ ( ,+ ,()* *?&-*' '/?*$('+&((*J. Recei(er $ ()* *?&-* ()( *-*&?*' ( ,+ ()* '. 'aster $ ()* -,+,*( ()( &&(&/&*' ('*> :**(*' ()* -/,-@ '&:/> (*+&(*' ()* ('*. A +'(* - * *&()* ('+&((* , *-*&?*. S+a(e $ ()* *?&-* *''* 0 ()* +'(*. A '/?* - * *&()* *-*&?* , ('+&((*. '#+ti)aster $ ()* &/&(0 , +,* () ,* +'(* (, -,$*<&'( , ()* ' ( ()* '+* (&+* 8&(),( -,//&'&, , ( /,''. Aritrati*n
$ ()* *:* ,-** ()( (),&*' ,/0 ,* +'(* ( (&+* (, (@*
-,(,/ , ()* '. S-nchr*ni4ati*n
$ ()* *:* ,-** ()( '0-),&*' ()* -/,-@ '&:/' ,?&* 0
(8, , +,* +'(*'. SDA $ ( '&:/ /&* S*&/ DATA SCL $ -/,-@ '&:/ /&* S*&/ CLOCK ! Electronics and Communication EngineeringPage 8
I2c Bus Implementation and Application I2C CONFIGURATON&
T)* I2C$' &' +/(&$+'(* '. T)&' +*' ()( +,* () ,* *?&-* -/* , -,(,//&: ()* ' - * -,*-(* (, &(. A' +'(*' * '//0 +&-,-,(,//*'> /*( ' -,'&* ()* -'* , ( ('* *(8** (8, +&-,-,(,//*' -,*-(* (, ()* I2C$'.
.',-* &/*#)((#888.*+&-,.-,+/, T)&' *<+/* )&:)/&:)(' ()* +'(*$'/?* *-*&?*$('+&((* */(&,')&' , , ()* I2C$'. N,(* ()( ()*'* */(&,')&' * ,( *+*(> ( ,/0 ** , ()* &*-(&, , ( ('* ( ()( (&+*. T)* ('* , ( 8,/ ,-** ' ,//,8'# 1. S,'* +&-,-,(,//* A 8(' (, '* &,+(&, (, +&-,-,(,//* B# 5 +&-,-,(,//* A +'(*> *''*' +&-,-,(,//* B 5 +&-,-,(,//* A +'(*$('+&((*> '*' ( (,
'/?*
+&-,-,(,//* B
'/?*$*-*&?* 5 +&-,-,(,//* A (*+&(*' ()* ('*.
2. I +&-,-,(,//* A 8(' (, *-*&?* &,+(&, ,+ +&-,-,(,//* B# 5 +&-,-,(,//* A +'(* *''*' +&-,-,(,//* B 5 +&-,-,(,//* A +'(*$*-*&?* *-*&?*' ( ,+
'/?*$('+&((* 5 +&-,-,(,//* A (*+&(*' ()* ('*.
Electronics and Communication EngineeringPage 9
'/?* +&-,-,(,//* B
I2c Bus Implementation and Application E?* & ()&' -'*> ()* +'(* +&-,-,(,//* A :**(*' ()* (&+&: (*+&(*' ()* T'*. T)* ,''&&/&(0 , -,*-(&: +,* () ,* +&-,-,(,//* (, ()* I2C$' +*' ()( +,* () ,* +'(* -,/ (0 (, &&(&(* ( ('* ( ()* '+* (&+*. T, ?,& ()* -),' ()( +&:)( *'* ,+ '-) *?*(> &((&, ,-** )' ** *?*/,*. T)&' ,-** */&*' , ()* 8&*$AND -,*-(&, , // I2C &(*-*' (, ()* I2C$'. I (8, , +,* +'(*' (0 (, ( &,+(&, ,(, ()* '> ()* &'( (, ,-* ,*J 8)* ()* ,()* ,-*' *,J /,'*' ()* &((&,. T)* -/,-@ '&:/' &: &((&, * -,*-(&, (, ()* SCL /&* , +,* *(&/* &,+(&, -,-*&: &((&, '** G**(&, , -/,-@ '&:/' , ()* I2C$' &' /80' ()* *','&&/&(0 , +'(* *?&-*' *-) +'(* :**(*' &(' ,8 -/,-@ '&:/' 8)* ('*&: ( , ()* '. B' -/,-@ '&:/' ,+ +'(* - ,/0 * /(** 8)* ()*0 * '(*(-)* 0 '/,8 '/?* *?&-* ),/&: ,8 ()* -/,-@ /&* , 0 ,()* +'(* 8)* &((&, ,--'..!
Electronics and Communication EngineeringPage 1
I2c Bus Implementation and Application I2C Stan"ar" C*))#nicati*n Pr*t*c*+
T)&' '*-(&, 8&// *</& -,+/*(* I2C ( ('* *+)'&&: ( ?/&&(0> &,+(&, (0*'> 0(* ,+('> -@,8/*:+*(. T0&-/ I2C ,(,-,/ ( ('* +*. T)* &+,(( +* -,+,*(' * ()* STARTSTOP -,&(&,'> S/?* A*''> D( 8&() A-@,8/*:+*(. T)&' F+* '(-(* *+&' -,'(( *<-*( , ()* +* , ( 0(*' ('** ()* ('+&''&, &*-(&, .I( - * '** ()( // -(&,/&(0 *<-*( A-@,8/*:+*( &' :**(* 0 ()* M'(* -*( '/?*.!
S,-*#T)* I2C$B' H,8 (, U'* I( I-/&: S*-&&-(&, P)&/&' S*+&-,-(,' 2
Data validity: T)* &( ('* ,(,-,/ ()( +'( * +&(&* , ()* I2C$'. T)* ( , ()* SDA /&* +'( * '(/* &: ()* HIGH *&, , ()* SCL -/,-@. T)* HIGH , LOW '((* , SDA -' ,/0 -):* 8)* ()* -/,-@ '&:/ , ()* SCL &' LOW. I &(&,> ()*'* ' /&*' +'( +**( *&* '*(> ),/ &'*// (&+*' *'-&* & ()* (&+&: '*-(&, , ()* I2C ,(,-,/ '*-&&-(&,' /80' *-(' ()* M'(*> T'+&((* R*-*&?*.M'(* *?*0 0(* ('*> ()* M'(* +'( :**(* -@,8/*:* */(* -/,-@ /'*. ()&' -/,-@ /'* &' &&-(* ' ()* 9() &( /*/* ACK==.F,//,8&: ()* !() ( &( ('+&''&,> ()* -(&?* T'+&((* +'( &++*&(*/0 */*'* ()* SDA /&* */&: &( (, /,( HIGH. T, *-*&?* ,()* ( 0(*> ()* R*-*&?* +'( ?*&0 '--*''/ *-*&( , ()* *?&,' 0(* 0 :**(&: -@,8/*:+*(.
Electronics and Communication EngineeringPage 11
I2c Bus Implementation and Application A -@,8/*:* -,&(&, &' */&?** 8)* ()*0 R*-*&?* &?*' SDA LOW ', ()( &( *+&' '(/* LOW &: ()* HIGH *&, , ()* SCL ACK /'*. C,?*'*/0> ,( -@,8/*:* -,&(&, &' */&?** 8)* ()* R*-*&?* /*?*' SDA HIGH. S*( ),/ (&+*' +'( /80' * (@* &(, --,( +&(&* , ?/& -,++&-(&,'. SENDBYTE RECBYTE ',(&*' *'-&* /(* *?/(* , :**(* -@,8/*:+*( -,&(&,'.!
!"A
!C&
"ata line sta#le$ "ata %alid
C'ange o( data allo)ed
S,-*#T)* I2C$B' H,8 (, U'* I( I-/&: S*-&&-(&, P)&/&' S*+&-,-(,' 2 START an" STOP C*n"iti*ns
W&()& ()* ,-** , ()* I 2C '> &* '&((&,' &'* 8)&-) * *&* ' START S STOP P -,&(&,'. START A HIGH (, LOW ('&(&, , ()* SDA /&* 8)&/* SCL &' HIGH STOP# A LOW (, HIGH ('&(&, , ()* SDA /&* 8)&/* SCL &' HIGH
T)* +'(* /80' :**(*' START STOP -,&(&,'. T)* ' &' -,'&** (, * '0 (* ()* START -,&(&,. T)* ' &' -,'&** (, * ** :& -*(& (&+* (* ()* STOP -,&(&,. T)* ' '(0' '0 & **(* START S &' :**(* &'(* , STOP -,&(&,. I ()&' *'*-(> ()* START S **(* START S -,&(&,' * -(&,//0 &*(&-/. T)* S '0+,/ 8&// * '* ' :**&- (*+ (, **'*( ,() ()* START **(* START -,&(&,'> /*'' S &' (&-//0 */*?(. Electronics and Communication EngineeringPage 12
11 of 40
I2c Bus Implementation and Application D*(*-(&, , START STOP -,&(&,' 0 *?&-*' -,*-(* (, ()* ' &' *'0 & ()*0 &-,,(* ()* *-*''0 &(*-&: )8*. H,8*?*> +&-,-,(,//*' 8&() , '-) &(*-* )?* (, '+/* ()* SDA /&* ( /*'( (8&-* * -/,-@ *&, (, '*'* ()* ('&(&,. !
SDA
SDA
SCL
SCL S(( C,&(&,
S(, C,&(&,
S,-*#F. L**'> A I(,-(&, (, I2C SPI P,(,-,/'>Q IEEE I'(+*((&, M*'*+*(! C*ntr*+ Si!na+s
START STOP -,&(&,' * '* (, '&:/ ()* *:&&: * , ( -,++&-(&,'. A M'(* :**(*' START -,&(&, S (, ,(& -,(,/ , ** I2C$ ' 0 ,-&: HIGH (, LOW ('&(&, , ()* SDA /&* 8)&/* +&(&&: SCL & &(' HIGH '((*. T)&' -,&(&, &' :**(* &: ',(8* *+/(&, & ()* MASTERCONTROLLER ',(&* *'-&* & ,()* '*-(&,. A:&> START -,&(&,' +0 * :**(* 0 M'(* ,/0 8)* ()* I2C$' &' **. T)&' ** ' '((* *<&'(' ,/0 8)* , ,()* M'(* *?&-*' )?* -,(,/ , ()* ' &.*. ,() SCL SDA /&*' * //* (, ()*& ,+/ HIGH '((*.U, :&&: -,(,/ , ()* '> ()* M'(* +'( ('* ( -,'' ()* '0'(*+. A(* -,+/*(* ( ('*> ()* M'(* +'( */*'* ()* ' 0 :**(&: STOP P -,&(&,. T)* SENDSTOP ',(&* *'-&* & /(* '*-(&, *' ( -,++&-(&,' 0 '*&: I2C STOP.!
Electronics and Communication EngineeringPage 13
I2c Bus Implementation and Application
Data Trans.ers
T)* S/?* *'' ( *&: ('** -,'' ()* ' +'( -,,+ (, '*-&&- 0(* ,+('. T)* ,/0 0(* ('+&''&, *&*+*( &' ()( ( +'( * ('** 8&() &(' M,'( S&:&&-( B&( MSB &'(. H,8*?*> ()* +* , 0(*' ()( - * ('+&((* * ('* &' *'(&-(*. F, ,() M'(* T'+&(R*-*&?*> ()* MASTERCONTROLLER ',(&* *'-&* & /(* '*-(&, *,+' ()*'* -(&,'. F,+ F&:* 4> &( - * '** ()( ()* S/?* *'' &' ,* 0(* +* , &* 7$&( *'' ,//,8* 0 R* , W&(* ( &*-(&, &&-(, &(. T)* L*'( S&:&&-( B&( LSB ( &*-(&, &&-(, /80' *(*+&*' ()* &*-(&, , ()* +*'':* (0* , ('* *&: **'(* 0 ()* M'(* *&()* S/?* R*-*&?* , S/?* T'+&(. I ()* M'(* **'(' ()* S/?* R*-*&?* -(&,/&(0> ()* LSB , ()* *''* S/?* 8,/ * '*( (, "== , W&(*. T)**,*> ()*+ '(* 8,/ T'+&( , W&(* &,+(&, (, ()* '*/*-(* S/?*. O ()* ,()* )> & ()* M'(* 8' **'(&: ()* S/?* T'+&( -(&,/&(0> ()* LSB 8,/ * '*( (, 1== , R*. A' *'/(> ()* M'(* 8,/ R*-*&?* , R* &,+(&, ,+ ()* S/?*. SENDDATA RECDATA ',(&*' *'-&* /(* '* *-*&?* ( 0(*' -,'' ()* '. ! A""ress Rec*!niti*n
W)* *'' &' '*( ,+ ()* -,(,//&: M'(*> *-) *?&-* & '0'(*+ -,+*' ()* &'( 7 &(' (* ()* START -,&(&, 8&() &(' **&* &* S/?* *''. I ()*0 +(-)> ()* *?&-* -,'&*' &('*/ *''* 0 ()* M'(* ' *&()* S/?*$R*-*&?* , S/?*$ T'+&((*> **&: , ()* ( &*-(&, &&-(,. D* (, ()* '=' '*&/ -,&:(&,> ,/0 ,* *?&-* ( (&+* +0 * *''* -,++&-(* 8&() ( 0 :&?* +,+*(.!
Ac6n*%+e"!e 7AC/8 an" N*t Ac6n*%+e"!e 7NAC/8
T, *'* ?/& */&/* I2C$' -,++&-(&,> ,/&:(,0 ( ('* -@,8/*:+*( ,-** 8' *?&'*. H,8 -@,8/*:+*( /80' *-(' ()* M'(*> T'+&((* R*-*&?*. M'(* *?*0 0(* ('*> ()* M'(* +'( :**(* -@,8/*:* */(* -/,-@ /'*. I F&:* 1> ()&' -/,-@ /'* &' &&-(* ' ()* 9() &( /*/* ACK==. F,//,8&: ()* !() ( &( ('+&''&,> ()* -(&?* T'+&((* +'( Electronics and Communication EngineeringPage 14
I2c Bus Implementation and Application &++*&(*/0 */*'* ()* SDA /&* */&: &( (, /,( HIGH. T, *-*&?* ,()* ( 0(*> ()* R*-*&?* +'( ?*&0 '--*''/ *-*&( , ()* *?&,' 0(* 0 :**(&: -@,8/*:+*(. A -@,8/*:* -,&(&, &' */&?** 8)* ()* R*-*&?* &?*' SDA LOW ', ()( &( *+&' '(/* LOW &: ()* HIGH *&, , ()* SCL ACK /'*. C,?*'*/0> ,( -@,8/*:* -,&(&, &' */&?** 8)* ()* R*-*&?* /*?*' SDA HIGH. S*($ ),/ (&+*' +'( /80' * (@* &(, --,( +&(&* , ?/& -,++&-(&,'. SENDBYTE RECBYTE ',(&*' *'-&* /(* *?/(* , :**(* -@,8/*:+*( -,&(&,'.!
Fi!#re& Ac6n*%+e"!e 7AC/83 N*t Ac6n*%+e"!e 7NAC/8
S,-*#F. L**'> A I(,-(&, (, I2C SPI P,(,-,/'>Q IEEE I'(+*((&, M*'*+*(! Aritrati*n
M/(&/* +'(*' - '0-),&* ()*& -/,-@'> , *<+/* &: &((&,. W)* ' --&(-* *-(' ()* ' &'* , // (&+*' ()* +'(* 8&// /', '( &(' (&+&: & '&+&/ 80 I ()** * (8, +'(*' , ()* '+* '> ()** * &((&, ,-**' /&* & ,() (0 (, (@* -,(,/ , ()* ' ( ()* '+* (&+*. W)* (8, -)&' (0 (, '(( -,++&-(&, ( ()* '+* (&+* ()*0 +0 *?* :**(* *8 -0-/*' , ()* -/,-@ ( ()( +(-)J> ( *?*(//0 ,* 8&// ,(( /,8J 8)* ()* ,()* (&*' , )&:)J. T)* /,8J 8&'> ', ()* /,'*J *?&-* 8&()8' 8&(' (&/ ()* ' &' ** :&. O-* +'(* *.:.> +&-,-,(,//* )' -,(,/> , ,()* +'(* - (@* -,(,/ (&/ ()* &'( +'(* '*' '(, -,&(&, /-*' ()* ' & &/* '((*.! Electronics and Communication EngineeringPage 15
I2c Bus Implementation and Application
S,-*.L**'> A I(,-(&, (, I2C SPI P,(,-,/'>Q IEEE I'(+*((&, M*'*+*(7 Data F*r)ats
A0 I2C *?&-* - * ((-)* (, ()* -,++, I 2C ' ()*0 (/@ 8&() *-) ,()*> ''&: &,+(&, -@ ,(). E-) *?&-* )' &* 7$&( , 1"$&( I 2C *''. F, 7$&( *?&-*'> (0&-//0 ()* &'( , &(' * &<*> ()* *<( ()** &(' * '*( 0 )8* *'' &' A"> A1> A2 ()( //,8 ()* '* (, +,&0 ()* I 2C *'' //,8&: (, *&:)( , ()* '+* *?&-*' (, ,*(* , ()* I 2C '. T)*'* &' * )*/ )&:) (, CC> ',+*(&+*' (),:) *'&'(,> , )*/ /,8 (, GND.
E-) ,* )' &* 7 , 1" &( *''
P*&)*/' ,(* )?* &<* ,:++/* *'' ,(&,'
A*''*' '((&: 8&() """" , 1111 )?* '*-&/ -(&,'#$
""""""" I' G**/ C// A*''
""""""1 I' N// CBUS A*''
Electronics and Communication EngineeringPage 16
I2c Bus Implementation and Application
1111;;; A*'' E<(*'&,
1111111 A*'' E<(*'&, N*<( B0(*' * ()* A-(/ A*''
S,-*#I2CBITS.ASM> G. G,,)*> P)&/&' S*+&-,-(,'1 RW " S/?* 8&((* (, 0 M'(* 1 S/?* * 0 M'(* ACK G**(* 0 ()* '/?* 8),'* *'' )' ** ,((. READ AND WRITE I2C&
T)* /'( &( , ()* &&(&/ 0(* &&-(*' & ()* +'(* &' :,&: (, '* 8&(* , *-*&?* * ( ,+ ()* '/?*. E-) ('+&''&, '**-* +'( *:& 8&() ()* '(( -,&(&, * 8&() ()* '(, -,&(&,. O ()* !() -/,-@ /'*> SDA &' '*( )&:)J & ( &' :,&: (, * * ,+ ()* ,()* *?&-*> , /,8J & ( &' :,&: (, * '*( 8&(*. D&: &(' 9() -/,-@> ()* +'(* */*'*' SDA /&* (, --,+/&') ()* A-@,8/*:* )'*. I ()* ,()* *?&-* &' -,*-(* (, ()* '> )' *-,* *-,:&* &(' *''J> &( 8&// -@,8/*:* 0 //&: ()* SDA /&* /,8. T)* *',&: -)& &' -//* ()* ' '/?*J. 'aster %ritin! t* a S+a(e 7.i!#r9)
M'(* &' ('+&((* , ( S/?* &' *-*&?* , ( Electronics and Communication EngineeringPage 17
I2c Bus Implementation and Application 'aster rea"in! .r*) a S+a(e 7.i!#r28 M'(* &' R*-*&?* , ( S/?* &' T'+&((* , (.
Figure():
Fig!re"#$
1
Electronics and Communication EngineeringPage 18
I2c Bus Implementation and Application "so!r%eA.K. O& *( /> M'(*$S/?* W* C,++&-(&, P,(,-,/# A C'*
S(0>Q P,-**&:' , ()* 1'( IEEE I(*(&,/ C,+(* S0'(*+' I,+(&, T*-$ ),/,:0 C,$**-* 6
START -te&
M&-,-,(,//*' - * -,*-(* (, ()* I2C$' & (8, 80'. A +&-,-,(,//* 8&() ,$-)& )8* I2C$' &(*-* - * ,:++* (, * ,/0 &(*(* 0 **'(' ,+ ()* '. W)* ()* *?&-* ,*' ,( )?* '-) &(*-*> &( +'( -,'((/0 +,&(, ()* ' ?& ',(8*. O?&,'/0> ()* +,* (&+*' ()* +&-,-,(,//* +,&(,'> , ,//' ()* '> ()* /*'' (&+* &( - '* -0&: ,( &(' &(** -(&,.! B#s c+ear
I ()* /&@*/0 *?*( 8)** ()* -/,-@ SCL &' '(-@ LOW> ()* ***(&/ ,-** &' (, *'*( ()* ' '&: ()* HW *'*( '&:/ & 0, I2C *?&-*' )?* HW *'*( &('. I ()* I2C *?&-*' , ,( )?* HW *'*( &('> -0-/* ,8* (, ()* *?&-*' (, -(&?(* ()* +(,0 &(*/ P,8*$O R*'*( POR -&-&(. I ()* ( /&* SDA &' '(-@ LOW> ()* +'(* '),/ '* &* -/,-@ /'*'. T)* *?&-* ()( )*/ ()* ' LOW '),/ */*'* &( ',+*(&+* 8&()& (),'* &* -/,-@'. I ,(> ()* '* ()* HW *'*( , -0-/* ,8* (, -/* ()* '!.
T-,e *. I 2C I),+e)entati*ns
B0(* O&*(* I(*-*
D( &' )/* ,* 0(* ( (&+*
P,-*'', &(**(' '((' 0(* 8)* *?*( ,--'
F, &'(-* P)&/&' ! !
B&( O&*(* I(*-*
P,-*'', &' &?,/?* & *?*0 ' *?*( 8)* ()* &(*-* &' ,( I/*
B&( B:*Q
Electronics and Communication EngineeringPage 19
I2c Bus Implementation and Application
I+/*+*(* -,+/*(*/0 & ',(8* , 2 *:/ IO &' , ()* +&-,-,(,//*
W,@' , '&:/* +'(* '0'(*+' N,( *-,++** , S/?* *?&-*' , M/(&+'(* '0'(*+'
The *..icia+ I2C #s ,r*t*c*+ s#,,*rts three )*"es *. trans.er rates&
S( M,* U (, 1"" K' F'( M,* U (, 4"" K' H&:)$S** M,* U (, 3.4 M' E+ectrica+ c*nnecti*ns *. I2C#s "e(ices t* the #s +ines&
P#++#, resist*r si4in!
T)* ' --&(-* &' ()* (,(/ --&(-* , 8&*> -,*-(&,' &'. T)&' --&(-* /&+&(' ()* +<&++ ?/* , R * (, ()* '*-&&* &'* (&+*. S),8' R+< ' -(&, , ' --&(-*. C,'&* ()* DD */(* &( ()*'),/ , IH ".7DD IL ".3DD , ()* ,'*' , RC (&+* -,'(( -/-/(&,. T)* ( DD 1 V *V( RC> 8)** ( &' ()* (&+* '&-* ()* -):&: '((* RC &' ()* (&+* -,'((. (1 ".3 DD DD 1 V *V(1 RC ()* (1 ".3566749 RC (2 ".7 DD DD 1 V *V(2 RC ()* (2 1.2"39729 RC T (2 V (1 ".!473 RC '),8' +<&++ R ' -(&, , ' --&(-* , S($> F'($ F'($+,* P/'. F, *-) +,*> ()* R+< &' -(&, , ()* &'* (&+* +<&++ ( ()* *'(&+(* ' --&(-* C1
R,7)a:8;Tr<=0>@C
Electronics and Communication EngineeringPage 2
I2c Bus Implementation and Application
S,-*# F. L**'> A I(,-(&, (, I2C SPI P,(,-,/'>Q IEEE I'(+*((&, M*'*+*( M:&* !
In,#t +ea6a!e
T)* +<&++ HIGH /*?*/ &( -*( , *-) &(,(( -,*-(&, )' '*-&&* +<&++ ?/* , 1" XA. D* (, ()* *&* ,&'* +:& , ".2DD , ()* HIGH /*?*/> ()&' &( -*( /&+&(' ()* +<&++ ?/* , R. T)&' /&+&( **' , DD.1
$i!her "ri(e *#t,#ts
I )&:)* &?* *?&-*' /&@* ()* PCA96<< F'($+,* P/' , ()* P!2B ' *' * '*> ()* )&:)* '(*:() ,(( &?*' '&@ +,* -*( 8)&-) *'/(' & -,'&*/0 '(* *:* (*'> ,> /,,@* ( ,()* 80> //,8' )&:)* ' --&(-*. R** (, &&?&/ -,+,*( ( ')**(' , -(/ ,(( &?* -&/&(0. R**( ()* -/-/(&, ,?* '&: ()* *8 ?/*' , C> R> ( ( (, *(*+&* +<&++ **-0. B* & +& ()( ()* +<&++ (&: , SCL ' '*-&&* & 1"" @H> 4"" @H 1""" @H +0 *-,+* /&+&(&:.1
Electronics and Communication EngineeringPage 21
I2c Bus Implementation and Application I),+e)entati*n *. I2c )aster c*ntr*++er *n FPGA #sin! $DL&
I(' +& -(&, 8&// *> (, *'( ()* -,(,/ *:&'(* ('+&((* 0 PC -,?*( &( &(, SPI -,(,/ '&:/'. T)* -(&,/ /,-@ &. D*+,'((*' ()* ,?*?&*8 , ()* -(&,/&(0 , ()* I2C +'(* -,(,//*. F&:.1.
F&:.1. F-(&,/ B/,-@ ',-*# &/*#)((888.'&:*.-,+
II Re!ister Descri,ti*n
T)** * 6 -,(,/ *:&'(*' ( *:&'(*. E-) -,(,/ *:&'(* -,*',' (, SPI -,(,/ *:&'(*. T)* &'( *:&'(* -,*',' (, SPI '((' *:&'(*. S*-, '*( , ! &(' * *&-(* , 8&(* ,*(&,' 8)&-) /', &-/*' &(*( '&:/' , 8&(* * ,*(&, T)& '*( , ! &(' * *&-(* (, * ,*(&,' ,/0 2 &(' , ()&' *:&'(*' * '* ' ' '0 ,( * '&:/' *'( , ()* &(' * (&* (, "J.F,() &() '*( , ! &(' -,*',' (, 1'( -,(,/ *:&'(* 2 -,(,/ *:&'(* , SPI *'*-(&?*/0. F&//0 '&<() '*( , ! &(' -,*',' (, (* *:&'(* , SPI.6
Electronics and Communication EngineeringPage 22
I2c Bus Implementation and Application III I),+e)entati*n
T)* PC -,*-(* (, ()* -,(,//* '*' ( '*&//0 *?*0 ! &(' -,*',' ?/* '*-&&* 0 ()* &2-,(,-,/.T)* *'' ()* -)& '*/*-( '&:/ '*/*-(' ()* I2C *?&-*. I ()&' *'&: ,() -)& '*/*-( *'' , ()* *?&-* * */( (, 1> ' ()* *'&: &' , '*-&&- '/?* ,/0. E?*0 '*( , ! &(' 8)&-) -,*',' (, -,(,/ *:&'(*' 8)&-) -,(,/' ()* /,8 , (> &' '(,* & *:&'(*'. A -,(* &' &&(&/&* (* '--*''/ ('+&''&, , ! &(' ,+ ()* PC (, ()* -,(,//*. A' ()* -,+/*(* '*( , -,(,/ *:&'(*' * ('+&((*> // ()* ?/*' , ()* *:&'(*' * &?*(* '(,* & 32 &( *:&'(*.32 &( *:&'(*' * *-&* , ()* '&' , SPI '/?* ' ()** * ,/0 4 -,(,/ *:&'(* *,* ()* ( *:&'(*. E?*0 &( , ()* 32 &( *:&'(* -,*',' (, '*-&&- '&:/ , SPI ,(,-,/. O-* ()* 32 &( *:&'(* &' * 0 ()* -,*',&: *:&'(*'> ()* '*&/ ('+&''&, (@*' /-*> 8)&-) &' ()* MOSI &( , ()* SPI '/?*. A -/,-@ '&:/ &' /', ('+&((* (, ()* SPI '/?* ' SCLK 8)&-) -(' ()* +& -/,-@ , ()* '/?*.6 I Res#+ts
T)* ,//,8&: F&:.&' ()* '&+/(&, *'/(' , I2C +'(* -,(,//*. T)&' *'/( '),8' '--*''/ '(,:* , ( ('+&((* 0 ()* +'(* , ()* +*(&,* *'' /,-(&,.6
Fi!#re# MULTI SIM STIMULATION
Electronics and Communication EngineeringPage 23
I2c Bus Implementation and Application
Fi!#re# MULTI SIM STIMULATION
S,-*#A.K. O&> M.L. B*&> R. T&> A.L&-)> K. T),&> FPGA I+/*+*((&, , I2- SPI P,(,-,/'# A C,+(&?* S(0Q E/*-(,&-'> C&-&('> S0'(*+'6 I),+e)entI2C Seria+ C*))#nicati*n Usin! Inte+ 'CS@9'icr*c*ntr*++ers
MCS$51 H8* R*&*+*('# T)* I2C ,(,-,/ *&*' ,*$& *?&-* ,((' (, &?* ()* '. T, '(&'0 ()&' '*-&&-(&,> P,( " , ()* I(*/ MCS$51 *?&-* 8' -),'*. B0 '&: ,*$& P,( "> , &(&,/ )8* &' *&* (, '--*''//0 &(*-* (, ()* I2C$'. H,8*?*> '&-* P,( " I' *'&:(* ' ()* I2C &(*-*> &( - , /,:* * '* (, &(*-* 8&() E<(*/ P,:+ M*+,0. I ,* , MCS$51 *?&-* (, -,++&-(&, & ()&' *?&,+*(>ASM51 ',(8* *+/(&, +,/*' 8** *?*/,*. T)&' ',(8* - ,/0 *<*-(* ,( , I(*/ M*+,0. P,( " &' ,8 -,&:* , I(,(( -(&,/&(0. T)* &:+' ()* *-*''0 )8* -,*-(&,' , ()* *?*/,+*( -&-&(.
Electronics and Communication EngineeringPage 24
I2c Bus Implementation and Application I(*/ M*+,0 *<*-(&, &' --,+/&')* 0 -,*-(&: ()* E<(*/ A--*'' EA DIP & 31 (, CC. T)* --&(, ((-)* (, RESET DIP & 9 &+/*+*(' POWER ON RESET. W)&/* ()* --&(,' -0'(/ ((-)* (, ;TAL12*/* ()* ,$-)& ,'-&//(,> &(&,/ *-,/&: --&(,' - * * (, -/* 0 '0'(*+ ,&'*. T)* ASM51 ',(8* *+/(&, +,/*' *'-&* & ()&' /&-(&, ,(* 8&// ,--0 ,<&+(*/054" 0(*' , &(*/ +*+,0. T)* *?&-*=' *+&&: +*+,0 +0 * ,:++* 8&() '* ',(8*. 3 'CS@9 I2C S*.t%are E)#+ati*n '*"#+es
W)* *?&-*' /&@* ()* MCS$51 , ,( &-,,(* ,$-)& I2C ,(> I2C -(&,/&(0 - * -)&*?* (),:) ',(8* *+/(&,. T)* ,//,8&: ',(8* +,/*' * '* , ()** &'(&-( ('@'# ' +,&(,&:> (&+* */0' ' -,(,/. E-) ('@ -,,+' (, ()* I2C ,(,-,/ ' '*-&&* 0 P)&/&' S*+&-,-(,'. T)* ',(8* +,/*' *'&:* (, &+/*+*( I2C-(&,/&(0* -,+&'* , +-,' ',(&*'> *-) &***(/0 *?*/,*> 0*( ,() *(8,@* (, -)&*?* *'&* '0'(*+ -(&,. F, *<+/*> ()* '* , +-,' 8' ?,* (, &+/*+*( -*(& (&+&: */0 /,,'. M-,' * *<(*+*/0 /*<&/* - * -):* (, -,'(-( */0' , ?0&: /*:()' (),:),( ()* ',(8*. O ()* ,()* )> ',(&*' * ?*&&* ,(&*' ()( *&* , &(&,/ -):*'. T, ,*(* ()* ' ( &**( **-&*'> ,/0 ()* '*-&&- +-,' +'( * -):*> ,( ()* **&* ',(&*'. T)* ,//,8&: ASM51 +-,' ' ,(&*' * , M'(*$S/?* '0'(*+ -,(,/'.3 'acr* Na)es
F#ncti*ns
DELAY3CYCLES
D*/0 /,, , ; '*-,' 8)** ; * (&+* * -0-/* Z 3 D*/0 /,, , ; '*-,' 8)** ; * (&+* * -0-/* Z 4 [[[[[[. D*/0 /,, , ; '*-,' 8)** ; * (&+* * -0-/* Z ! R*/*'*' ()* SCL /&* HIGH 8&(' , 0 -/,-@ '(*(-)&: **'(' ,+ *&)*/ *?&-*'
DELAY4CYCLES [[[[[[.. DELAY!CYCLES RELEASESCL\HIGH
Electronics and Communication EngineeringPage 25
I2c Bus Implementation and Application
S!bro!tine &a'es
MASTERCONTROLLER
SENDDATA SENDBYTE SENDMSG RECDATA RECBYTE RECMSG TRANSFER SENDSTOP
FUNCTIONS S*' I2C '(( -,&(&, S/?* A*'' &: ,() M'(* T'+&( R*-*&?* S*' +/(&/* ( 0(*' &: M'(* T'+&( '*' ,* ( 0(* /&* &: M'(* T'+&( S*' +*'':* -,'' ()* I2C ' '&: **&* ,+( R*-*&?*' +/(&/* ( 0(*' ,+ *''* S/?* &: M'(* *-*&?* R*-*&?* ,* ( 0(* &: M'(* R*-*&?* R*-*&?*' +*'':* ,+ ()* I2C ' '&: **&* ,+( C,&*' EPROM ,:++* ( &(, R*:&'(* RAM S* I2C STOP -,&(&, &: ,() M'(* T'+&(R*-*&?*
3
I2C S*.t%are E)#+ati*n Per.*r)ance
Electronics and Communication EngineeringPage 26
I2c Bus Implementation and Application T)* I(*/ MCS$51 ,-( /&* - '--*''//0 &+/*+*( ()* I2C M'(* C,(,//* -(&,/&(0 8)&/* +&(&&: ( &(*:&(0 */&/* *,+-*. T)* '0'(*+ ,(/&* & F&:* 1 8' *?/(* , +<&++ ' *,+-* )**-* (, // I2C$' '*-&&-(&,'. P*,+-* -)-(*&(&, 8' -,-(* ( ?&,' -0'(/ '**' , // *?&-*' /&'(* & ()* MCS$51 H8* R*&*+*(' '*-(&, , ()&' /&-(&, ,(*.W)**'&:&:I2C ',(8* *+/(&, '0'(*+'> @** & +& ()( ()* *'&:* )' ()* /*<&&/&(0 (, &+/*+*( /:* **-0 :*' (, ()* I2C$' +<&++. H,8*?*> 0 +@&: ',(8* -):*' (, '( ' **-&*'> ()* *8/0 +,&&* ,:+ +0 , /,:* +**( *&* '*-&&-(&,' *'&* */&&/&(0 '('. T)**,*> *'&:*' '),/ &'( /80' (@* &(, -,'&*(&, ()* ' *,+-* /*?*/ ()*0 8( (, *-). A(* *-&&: ()&'> ,&(* -0'(/ - * -),'* (, -)&*?* ()( &+/*+*((&, '**.3 T)* (/* */,8 :&?*' *8 *<+/*' , '0'(*+ *,+-* , (8, , ()* MCS$51 *?&-*'# MCS$51 D*?&-*'
Cr-sta+ s,ee"
I2C B' M<&++ P*,+-*
!751BH
92 '$
0 /$
!7C51 F;$C,*
2 '$
>=0= /$
I2C Desi!ner Bene.its
F-(&,/ /,-@' , ()* /,-@ &:+ -,*', 8&() ()* -(/ IC' *'&:' ,-** &/0 ,+ /,-@ &:+ (, &/ '-)*+(&-. N, ** (, *'&: ' &(*-*' *-'* ()* I 2C ' &(*-* &' /*0 &(*:(* ,$-)&. I(*:(* *''&: ($('* ,(,-,/ //,8 '0'(*+' (, * -,+/*(*/0 ',(8*$ *&*. T)* '+* IC (0*' - ,(* * '* & +0 &**( /&-(&,'.
Electronics and Communication EngineeringPage 27
I2c Bus Implementation and Application D*'&:$(&+* *-*' ' *'&:*' &-@/0 *-,+* +&/& 8&() ()* **(/0 '* -(&,/ /,-@' **'*(* 0 I 2C ' -,+(&/* IC'. IC' - * * (, , *+,?* ,+ '0'(*+ 8&(),( *-(&: 0 ,()* -&-&(' , ()* '. F/( &:,'&' *::&: * '&+/* +/-(&,' - * &++*&(*/0 (-*. A''*+/&: /&0 , *'/* ',(8* +,/*' - *-* ',(8* *?*/,+*( (&+*. 2 I2C 'an#.act#rers Bene.its
T)* '&+/* 2$8&* '*&/ I 2C ' +&&+&*' &(*-,*-(&,' ', IC' )?* *8* &' ()** * ,( ', +0 PCB (-@' *'/( $ '+//* /*'' *<*'&?* PCB' T)* -,+/*(*/0 &(*:(* I 2C ' ,(,-,/ */&+&(*' ()* ** , *'' *-,*' ,()* :/* /,:&-J T)* +/(&$+'(* -&/&(0 , ()* I 2C ' //,8' & (*'(&:/&:+*( , *$'* *&+*( ?& *<(*/ -,*-(&,' (, ''*+/0$/&* I-*'*' '0'(*+ *'&: /*<&&/&(0 0 //,8&: '&+/* -,'(-(&, , *&+*( ?&(' *'0 :&: (, @** *'&: $(,$(* T)* I2C ' &' * -(, 8,/ '( ()( &' &+/*+*(* & ,?* 1""" &**( IC' P)&/&' )' ] 4"" /&-*'* (, +,* () 7" -,+&*' 2. I2C Pr*"#ct Characteristics
P-@:* O*&:' T0&-//0 DIP> SO> SSOP> %SOP> TSSOP , H%FN -@:*' F**-0 R:* T0&-//0 1"" @H ,*(&, N*8* *?&-*' ,*(&: (, 4"" @H G)&- *?&-*' (, 3.4 MH O*(&: S/0 ,/(:* R:*2.5 (, 5.5 , 2.! (, 5.5 N*8* *?&-*' ( 2.3 (, 5.5 , 3." (, 3.6 8&() 5 (,/*-*
Electronics and Communication EngineeringPage 28
I2c Bus Implementation and Application O*(&: (*+*(* :* T0&-//0 $4" (, ^!5 _C S,+* " (, ^7" _C H8* *'' &' T0&-//0 ()** AO> A1> A2 * ,?&* (, //,8 (, *&:)( , ()* &*(&-/ *?&-* , ()* '+* I2C ' ( ',+*(&+*' * (, & /&+&((&,' ()** * *8* *'' &'>2
Electronics and Communication EngineeringPage 29
I2c Bus Implementation and Application APPLICATION&
T *-*(&,# P,?&*' T (&: *-*(&, R&, *-*(&,# P,?&*' &, (&: *-*(&, A&, P,-*''&: I$R* -,(,/ DTMF# D/ T,* M/(&/* F**-0 LCD &'/0 -,(,/# P,?&*' ,8* (, '*:+*(' , LCD ()( * -,(,//* ?& I 2C ' LED &'/0 -,(,/# P,?&*' ,8* (, '*:+*(' , LED ()( * -,(,//* ?& I 2C ' R*/ (&+* -/,-@' *?*( -,(*'# -,(&: ()* '':* , (&+*> -),,+*(*> *&,&/+' , '*(0 /&-(&,'> '0'(*+ **:0 -,'*?(&,> (&+* (* '(+ , ,&( , '/*' (*+&/' , @ +-)&*'. G**/ P,'* D&:&(/ I(O(( IO# +,&(,&: , YESJ , NOJ &,+(&,> '-) ' 8)*()* , ,( '8&(-) &' -/,'* , (@ ,?*/,8' , -,(,//&: -,(-(> (&: , LED> (&: , */0> '((&: , '(,&: +,(,> , *&: &:&(/ +* *'*(* ( ()* ,( ?& DIP '8&(-)> , *<+/*. B' E<(*'&,C,(,/# *<*' ()* I 2C ' *0, ()* 4"" F /&+&(> //,8' &**( ?,/(:* *?&-*' , ()* '+* I 2C ' , //,8' *?&-*' 8&() ()* '+* I 2C *'' (, * '*/*-(&?*/0 *''* , ()* I 2C '. A/,:&:&(/ -,?*'&,# +*'*+*( , ()* '&* , )0'&-/ (&(0 (*+*(*> *''*[> ,,(&,/ -,(,/ (',+(&, , )0'&-/ /,: ?/*' &(, +*&-/ ?/*' , -/-/(&,. D&:&(//,: -,?*'&,# -*(&, , (&-/ -,(,/ ?,/(:*' (, -,(,/ DC +,(,' , LCD -,('(. RAM# R,+ A--*'' M*+,0 EEPROM# E/*-(&-//0 E'/* P,:++/* R* O/0 M*+,0> *(&' &:&(/ &,+(&, *?* 8)* ,8** ,8 H8* M,&(,'# +,&(,&: , ()* (*+*(* ?,/(:* , '0'(*+' M&-,,-*'','# P,?&*' ()* &' *)& ()* I 2C ' ,*(&,. 9
Electronics and Communication EngineeringPage 3
I2c Bus Implementation and Application
EXA'PLES& T( rece,ti*n
T)* **-0 :* , +,'( , ()* *8* I 2C *?&-*' &' (, 4"" @H 8* * +,?&: (, 3.4 MH , (* *?&-*' 8)** (0&-/ '*' 8,/ * & -,'+* */*-(,&-' 8)** DSP &' ()* +'(* ()* *'&:* 8(' (, &/0 '* ,( ()* I 2C &,+(&, ()* +,?* , (, ,()* ,-*''&: **'. I 2C *?&-*' * *'&:* & ()* ,-*'' ()( //,8' *'( */*-(&-/ ESD *,+-* * +-(* , T)* SAA56<< +&/0 , +&-,-,(,//*' * *&?(&?* , ()* P)&/&' &'(0$'( !"C51 +&-,-,(,//* * &(** , '* ' ()* -*(/ -,(,/ +*-)&'+ & (*/*?&'&, *-*&?*.1"
',-*# &/*#)((888.'&:*.-,+
Electronics and Communication EngineeringPage 31
I2c Bus Implementation and Application
LCD Dis,+a- Dri(er&
T)* ,*(&: :* , +,'( , ()* *8* CMOS *?&-*' &' 2.3 (, 5 (, //,8 ,*(&, ( ()* 2.5> 3.3 5 ,*'. S,+* ,-*''*' *'(&-( ()* ?,/(:* :* (, ()* 3.3 ,*. M,'( -'(,+*' )?* +,?* ,+ 5 * ,8 ( 3.3 ( '*?*/ * +,?&: &/0 (, 2.5 *?* 1.! & ()* * (*. W* * 8,@&: , *<( :**(&, :**/ ,'* *?&-*' (, ',( 1.! ,*(&, -*(/0 )?* ',+* LCD &'/0 &?*' ()( ,*(* ,8 (, 1 . T)* LCD &'/0 &?* &' -,+/*< LCD &?* &' *<+/* , ),8 `-,+/*(*` '0'(*+ I 2C -)& - * $ :**(*' ()* LCD ?,/(:*'> '(' ()* -,('(> (*+*(* -,+*'(*'> '(,*' ()* +*'':*'> )' CGROM RAM *(- T)* LCD '*:+*( &?* &' /*'' -,+/*< LCD &?* *.:.> '( '*:+*( &?*. P)&/&' ,-' &' , /:* ?,/+* -,'+* &'/0 '> 8)&-) &' &:)( ,8 BW -,/, STN LCD &'/0' & * (* &( 8&// * TFT OLED ,:&- LED &'/0'. T)* OLED &?*' 8&// +,'( ,/0 ,( * '*/* 8&() -,?*(&,/ LED'.1"
',-*#G#a'),@a/.)(+
Electronics and Communication EngineeringPage 32
I2c Bus Implementation and Application
C*nc+#si*n
'*&/ -,++&-(&, '0'(*+> 0, )?* ()* ,(&, , '&: ()* I(*/ MCS$51 P,-(T)* *'&: , &2- +'(* -,(,//* )' &++*'* /&-(&,' & (* ' ()* +* , *?&-*' -,*-(* (, '0'(*+ &' ,/0 :,&: (, &-*'*. S, ()** &' /80' ** , '0'(*+ 8)&-) ',(' +/(&/* ,(,-,/'. I // ()*'* '&((&,'> I2C +'(* -,(,//* -(' ' :*( ',( 8&// * @*0 & (* *'&: (, ',( +/(&/* //*/ -(&,'. I2C +'(* -,(,//* &' '--*''//0 *'&:* & HDL '&+/(* & M,*/ SIM. S&+/(&, *'/(' ?*&0 ()( ()* -,++&-(&, )' ** *'(/&')* *(8** ()* +&-,,-*'', ()* -,(,//*. D( ,-*''* ()* ,(( )' ** '--*''//0 ?*&&* ' * SPI '/?* &(. T)* *'&: +**(' (&+&: -,'(&(' ()** * , (&+&: ?&,/(&,'. A // ()*'* )?* ** -)&*?* 8&() +&&+/ (&/&(&, , *',-*'. I(*/ MCS$51 +&-,-,(,//* '- * '--*''//0 &(*-* (, I2C$' '0'(*+ ' M'(* -,(,//*. T)* &(*-* -,++&-(*' 0 ASM51 ',(8* *+/(&, +,/*' ()( )?* ** (*'(* , 8&* 0 , I2C *?&-*' :&: ,+ '*&/ RAMS> D&'/0' DTMF :**(,'. REFERENCES
1 I2CBITS.ASM> G. G,,)*> P)&/&' S*+&-,-(,'> A:'( 1992 2 T)* I2C$B' H,8 (, U'* I( I-/&: S*-&&-(&,> P)&/&' S*+&-,-(,'> b0 1992. 3 I2C P*&)*/' , M&-,-,(,//*'> P)&/&' S*+&-,-(,'>1992 D( H,,@. 4 OM1"16 I2C E?/(&, B,> E. R,:*' G. M,''> P)&/&' C,+,*(' A/&-(&,' L A-@/> N*8 c*/. 5 P,:++&: ()* I2C I(*-*> M&(-)*// K)> S*&,E:&**> I(*/ C,,(&,. 6 A.K. O&> M.L. B*&> R. T&> A.L&-)> K. T),&> FPGA I+/*+*((&, , I2- SPI P,(,-,/'# A C,+(&?* S(0Q E/*-(,&-'> C&-&('> S0'(*+'> 2""9. ICECS 2""9
Electronics and Communication EngineeringPage 33