IC£¨Inter-Integrated Circuit£©Í¨ÐÅÐÒéÊÇÒ»ÖÖÓÉ·ÉÀûÆÖ£¨Philips£©¹«Ë¾£¨ÏÖΪ¶÷ÖÇÆÖ°ëµ¼Ì壩ÓÚ1980Äê´ú³õÆÚ¿ª·¢µÄ´®ÐÐͨÐÅÐÒé¡£ICÐÒéÉè¼Æ¼òµ¥£¬¾ßÓеͳɱ¾ºÍµÍ¹¦ºÄµÄÌØµã£¬³£ÓÃÓڶ̾àÀëÊý¾Ý´«Ê䣬ÓÈÆäÊÇÔÚ΢¿ØÖÆÆ÷Óë¶à¸öÍâΧÉ豸֮¼äµÄͨÐÅ¡£ICÐÒéµÄÖ÷ÒªÌØµãÊÇÖ»ÐèÒªÁ½ÌõÐźÅÏߣºÊý¾ÝÏߣ¨SDA£©ºÍʱÖÓÏߣ¨SCL£©¡£
1. ICͨÐÅÐÒéµÄ»ù±¾½á¹¹
ICͨÐŲÉÓõÄÊÇÖ÷´ÓʽͨÐżܹ¹£¬ÆäÖаüÀ¨Ò»¸öÖ÷É豸£¨Master£©ºÍÒ»¸ö»ò¶à¸ö´ÓÉ豸£¨Slave£©¡£Ö÷É豸¸ºÔðÉú³ÉʱÖÓÐźźͷ¢ÆðÊý¾Ý´«Ê䣬¶ø´ÓÉ豸ÏìÓ¦Ö÷É豸µÄÇëÇó¡£
1.1 IC×ÜÏß
IC×ÜÏßÓÐÁ½¸ö»ù±¾µÄÐźÅÏߣº
SDA£¨Serial Data Line£©£º´®ÐÐÊý¾ÝÏߣ¬ÓÃÓÚ´«ÊäÊý¾Ý¡£Êý¾ÝÔÚÏßÉÏÊÇÒÔλΪµ¥Î»½øÐд«ÊäµÄ£¬SDAÏßÊÇË«ÏòµÄ£¬Ö÷É豸ºÍ´ÓÉ豸¶¼¿ÉÒÔÔÚ×ÜÏßÉÏ·¢ËͺͽÓÊÕÊý¾Ý¡£
SCL£¨Serial Clock Line£©£º´®ÐÐʱÖÓÏߣ¬Ö÷É豸ͨ¹ýSCLÏßÉú³ÉʱÖÓÐźţ¬ÒÔͬ²½Êý¾ÝµÄ´«Êä¡£
IC×ÜÏßµÄµçÆøÌØÐÔͨ³£ÊÇ¿ªÂ©£¨open-drain£©»ò¿ª¼¯£¨open-collector£©·½Ê½£¬ÕâÒâζ×ÅÉ豸Çý¶¯SDAºÍSCLÏßʱ£¬Ö»Äܽ«ÐźÅÀµÍ£¨0£©£¬¶øÀ¸ß£¨1£©Ê±ÓÉÉÏÀµç×èÌṩ¡£
2. ICͨÐŵĻù±¾¹¤×÷ÔÀí
ICÐÒéÊÇ»ùÓÚʱÖÓͬ²½µÄ´®ÐÐͨÐÅ¡£ËùÓÐÉ豸¹²Ïíͬһ¶ÔSDAºÍSCLÏߣ¬Ö÷É豸¸ºÔð¿ØÖÆÊ±ÖÓÐźŵÄÉú³É£¬Êý¾Ý°´ÕÕʱÖÓÐźÅͬ²½´«Êä¡£
2.1 ͨÐŹý³Ì
ICͨÐÅͨ³£°üÀ¨ÒÔϼ¸¸ö²½Ö裺
Æô¶¯Ðźţ¨Start Condition£©£º
Æô¶¯ÐźÅÊÇÓÉÖ÷É豸·¢ÆðµÄ¡£µ±SDAÏß´Ó¸ßµçÆ½Ìø±äµ½µÍµçƽʱ£¬SCLÏß±£³Ö¸ßµçƽ£¬Õâ¸öÐźűêÖ¾×ÅͨÐŵĿªÊ¼¡£
Æô¶¯ÐźŸæËß×ÜÏßÉϵÄËùÓÐÉ豸£¬ºóÐøµÄÊý¾Ý´«Êä¼´½«¿ªÊ¼¡£
µØÖ·´«Ê䣨Addressing£©£º
ÔÚIC×ÜÏßÉÏ£¬Ã¿¸öÉ豸¶¼ÓÐÒ»¸öµÄµØÖ·£¨7λ»ò10λµØÖ·£©¡£Ö÷É豸»á½«Ä¿±ê´ÓÉ豸µÄµØÖ··¢Ë͵½×ÜÏßÉÏ£¬´ÓÉ豸ͨ¹ýÏìӦȷ¶¨ËüÊÇ·ñÒªÓëÖ÷É豸ͨÐÅ¡£
µØÖ·Í¨³£Îª7λ£¨Î»Îª0£©£¬½ÓÏÂÀ´µÄ8λ±íʾĿ±êÉ豸µÄµØÖ·¡£Èç¹ûʹÓÃ10λµØÖ·Ä£Ê½£¬ÔòʹÓÃÁ½×Ö½Ú±íʾµØÖ·¡£
µØÖ·ºóÃæ¸úËæÒ»¸ö¶Á/д±ê־루R/W£©¡£µ±¶Á/д±ê־Ϊ0ʱ±íʾд²Ù×÷£¬1ʱ±íʾ¶Á²Ù×÷¡£
Êý¾Ý´«Ê䣨Data Transfer£©£º
Êý¾ÝÔÚSDAÏßÉϰ´ÕÕʱÖÓÐźÅͬ²½´«Ê䣬ÿ´Î´«Êä8루1×Ö½Ú£©Êý¾Ý¡£Ã¿¸ö×Ö½Ú´«Êäºó£¬½ÓÊն˻ᷢËÍÒ»¸öÈ·ÈÏ루ACK£©£¬±íʾ½ÓÊÕµ½µÄÊý¾ÝÊÇÓÐЧµÄ¡£
Èç¹û½ÓÊÕÉ豸δÄܳɹ¦½ÓÊÕµ½Êý¾Ý£¬Ëü»á·¢ËÍÒ»¸ö·ÇÈ·ÈÏ루NACK£©£¬Í¨Öª·¢ËÍÉ豸ֹͣ´«Êä¡£
Í£Ö¹Ðźţ¨Stop Condition£©£º
Í£Ö¹ÐźűíʾͨÐŽáÊø¡£µ±SDAÏß´ÓµÍµçÆ½Ìø±äµ½¸ßµçƽʱ£¬SCLÏß±£³Ö¸ßµçƽ£¬±íʾͨÐŵĽáÊø¡£
2.2 ʱÐò
ICͨÐÅÊÇͬ²½µÄ£¬Êý¾Ý´«ÊäÐèÒªÒÀÀµÊ±ÖÓÐźÅSCL¡£Ã¿¸öÊý¾Ýλ¶¼±»Ê±ÖÓÐźÅͬ²½´«Êä¡£ÔÚICͨÐÅÖУ¬Êý¾Ý±ØÐëÔÚʱÖÓÐźŵÄÉÏÉý»òϽµÑؽøÐвÉÑù£¬Òò´ËʱÐò¿ØÖÆÊÇICÐÒéµÄ¹Ø¼ü¡£
ÒÔÏÂÊÇICͨÐŵÄʱÐòÌØµã£º
SDAµÄ±ä»¯£ºÔÚSCLΪµÍµçƽʱ£¬SDAÏß¿ÉÒÔ×ÔÓɱ仯£»ÔÚSCLΪ¸ßµçƽʱ£¬SDAÏßµÄµçÆ½±ØÐë±£³Ö²»±ä¡£
ʱÖÓͬ²½£ºÃ¿´ÎÊý¾Ý´«Êä¶¼ÓÉÖ÷É豸ͨ¹ýSCLÏßÉú³ÉʱÖÓÐźţ¬Êý¾ÝλÔÚÿ¸öʱÖÓÖÜÆÚµÄÉÏÉý»òϽµÑØÊ±²ÉÑù¡£
3. ICÐÒéµÄÊý¾Ý´«Êä¸ñʽ
ÿ´ÎÊý¾Ý´«Êä×ñÑÒ»¶¨µÄ¸ñʽ£º
Æô¶¯Ìõ¼þ£ºÖ÷É豸ͨ¹ýSDA´Ó¸ßµçƽÀµÍÐźţ¬±êÖ¾×Å´«ÊäµÄ¿ªÊ¼¡£
É豸µØÖ·£ºÉ豸µØÖ·ÊÇ7λµÄ£¬½ô½Ó×ÅÊÇÒ»¸ö±ê־루¶Á/д룩¡£
Êý¾Ý×Ö½Ú£ºÃ¿´Î´«ÊäÒ»¸ö×Ö½ÚÊý¾Ý£¨8룩£¬½ÓÊÕ·½ÐèÒª·µ»ØÒ»¸öACKλ¡£
Í£Ö¹Ìõ¼þ£º´«ÊäÍê³Éºó£¬Ö÷É豸ͨ¹ýSDA´ÓµÍµçƽÀ¸ß£¬±êÖ¾×Å´«ÊäµÄ½áÊø¡£
4. ICÐÒéµÄÓÅȱµã
4.1 Óŵã
¼òµ¥ÐÔ£ºICÐÒéÏà¶Ô¼òµ¥£¬Ö»ÐèÒªÁ½¸ùÐźÅÏߣ¨SDAºÍSCL£©¼´¿ÉʵÏÖÉ豸֮¼äµÄͨÐÅ£¬Ò×ÓÚʵÏÖ¡£
¶àÉ豸֧³Ö£ºICÔÊÐí¶à¸ö´ÓÉ豸¹²Ïí×ÜÏߣ¬Ò»¸öÖ÷É豸¿ÉÒÔÓë¶à¸ö´ÓÉ豸½øÐÐͨÐÅ¡£
µÍ³É±¾£ºICʹÓÃÁ½¸ùÏß½øÐÐͨÐÅ£¬²»ÐèÒª¶îÍâµÄÓ²¼þÖ§³Ö£¬Òò´Ë³É±¾½ÏµÍ¡£
¶Ì¾àÀëͨÐÅ£ºICÊÊÓÃÓڶ̾àÀëͨÐÅ£¬Í¨³£ÓÃÓÚµ¥°åÉ豸ºÍǶÈëʽϵͳÄÚ²¿µÄͨÐÅ¡£
4.2 ȱµã
ͨÐÅËٶȽÏÂý£ºICµÄͨÐÅËÙ¶Èͨ³£½ÏµÍ£¬±ê׼ģʽϵÄËÙ¶ÈΪ100kbps£¬¸ßËÙģʽÏÂΪ400kbps£¬¶ø¸ü¸ßËÙ¶È£¨Èç3.4Mbps£©Ò²ÓÐÖ§³Ö£¬µ«ÈÔµÍÓÚÆäËûÐÒ飨ÈçSPI£©¡£
µçÆø¸ÉÈÅÎÊÌ⣺ÓÉÓÚIC×ÜÏß¹²ÏíÊý¾ÝÏߺÍʱÖÓÏߣ¬Òò´ËÔÚ¸ßËÙ»ò³¤¾àÀë´«Êäʱ¿ÉÄÜÊܵ½µçÆø¸ÉÈÅ¡£
×ÜÏ߸ºÔØÏÞÖÆ£ºIC×ÜÏßÉϵÄÉ豸ÊýÁ¿ÊÜÏÞÓÚ×ÜÏ߸ºÔغ͵çÔ´ÄÜÁ¦£¬Í¨³£ÔÚ¼¸Ê®¸öÉ豸ÒÔÄÚ¡£
5. ICÐÒéµÄÓ¦Óó¡¾°
ICÐÒé¹ã·ºÓ¦ÓÃÓÚǶÈëʽϵͳ¡¢´«¸ÐÆ÷¡¢´æ´¢Æ÷¡¢ÏÔʾģ¿é¡¢RTC£¨ÊµÊ±Ê±ÖÓ£©Ä£¿é¡¢ÎÂʪ¶È´«¸ÐÆ÷µÈµÍËÙÉ豸֮¼äµÄͨÐÅ¡£ICÒ²³£ÓÃÓÚµ¥°å¼ÆËã»ú£¨ÈçÊ÷Ý®ÅÉ¡¢Arduino£©ÓëÍⲿӲ¼þÄ£¿éµÄÁ¬½Ó¡£
6. ×ܽá
ICͨÐÅÐÒéÊÇÒ»ÖÖ³£¼ûµÄµÍËÙ´®ÐÐͨÐÅÐÒ飬Ëüͨ¹ýÁ½¸ùÏߣ¨SDAºÍSCL£©ÊµÏÖÉ豸¼äµÄÊý¾Ý½»»»£¬¾ßÓмò±ã¡¢µÍ³É±¾µÄÓŵ㡣¾¡¹ÜÆä´«ÊäËٶȽÏÂý£¬ÇÒÊÜÏÞÓÚ×ÜÏ߸ºÔØ£¬µ«ËüÔڶ̾àÀëºÍµÍËÙͨÐÅÖзdz£ÊÊÓ㬹㷺ӦÓÃÓÚǶÈëʽϵͳ¡¢´«¸ÐÆ÷ºÍÆäËûÍâΧÉ豸µÄÁ¬½Ó¡£
ÃâÔðÉùÃ÷£º ±¾ÎÄÕÂת×ÔÆäËüƽ̨£¬²¢²»´ú±í±¾Õ¾¹Ûµã¼°Á¢³¡¡£ÈôÓÐÇÖȨ»òÒìÒ飬ÇëÁªÏµÎÒÃÇɾ³ý¡£Ð»Ð»£¡ Disclaimer: This article is reproduced from other platforms and does not represent the views or positions of this website. If there is any infringement or objection, please contact us to delete it. thank you! |
΢ÐÅ×Éѯ¿Í·þ