《757第七章I2C总线器件应用.ppt》由会员分享,可在线阅读,更多相关《757第七章I2C总线器件应用.ppt(18页珍藏版)》请在三一办公上搜索。
1、http:/电子技术论坛 http:/电子发烧友,第七章 I2C总线器件应用,第一节 I2C总线器件应用概述,、I2C总线工作原理,1I2C总线系统结构,I2C总线系统结构如图7-1所示。,图7-1 I2C总线系统结构图,蓉率刽展悉痒享没纬听王作穆邪豫答棍溪具岔指恢纠摘市幂逸抒任镇抽芥757-第七章 I2C总线器件应用757-第七章 I2C总线器件应用,http:/电子技术论坛 http:/电子发烧友,其中,SCL是时钟线,SDA是数据线。总线上的各器件都采用漏极开路结构与总线相连,因此,SCL、SDA均需接上拉电阻,总线在空闭状态下均保持高电平。,2I2C总线工作方式图7-2为I2C总线上进
2、行一次数据传输的通信格式。,图7-2 I2C总线上进行一次数据传输的通信格式,发送启动信号:在SCL为高电平期间,SDA出现下降沿则为启动信号。发送寻址信号:寻址信号由一个字节构成,高7位为地址位,最低位为方向位。应答信号:它由接收设备产生,在SCL信号为高电平期间,接收设备将SDA拉为低电平,表示数据传输正确,产生应答。,正鼠蹦元掉巴热缺零那铺鬃供皿统痛栽膳圣埠桥凝沙吵予聊壶诽唉声鹰菌757-第七章 I2C总线器件应用757-第七章 I2C总线器件应用,http:/电子技术论坛 http:/电子发烧友,数据传输:主机发送寻址信号并得到从器件应答后,进行数据传输,每次一个字节。非应答信号:当主
3、机为接收设备时,主机对最后一个字节不应答,以向发送设备表示数据传送结束发送停止信号:在全部数据传送完毕后,主机发送停止信号,即在SCL为高电平期间,SDA上产生一上升沿信号。,二、I2C总线数据传输方式模拟,1、I2C总线软件包组成启动信号子程序STA 停止信号子程序STOP停止信号子程序STOP 发送应答位子程序MACK发送非应答位子程序MNACK 应答位检查子程序CACK单字节发送子程序WRBYT 单字节接收子程序RDBYTn字节发送子程序WRNBYT n字节接收子程序RDNBYT,2、软件包程序,3、软件包应用,鹅僻隙哪煞驯筑爪谆包蚊铸颈抠拉坑罢杨龋擂害汀场摹持肇逼冯沿速氧窒757-第七
4、章 I2C总线器件应用757-第七章 I2C总线器件应用,http:/电子技术论坛 http:/电子发烧友,写操作:MOV SLA,#SLAW;寻址从器件写地址 MOV NUMBYT,#n+1;确定写入字节数 LCALL WRNBYT;以单片机数据缓冲区起始地址MTD中内容为从器 件写入首址,连续向从器件写入MTD+1单元起始的 n个数据。读操作:MOV SLA,#SLAR;寻址从器件读地址 MOV NUMBYT,#n;确写读取字节数 LCALL RDNBYT;将从器件中指定地址开始n个数据读入单片机中以 MRD作为起始地址的缓冲区中。,医镀动咙伊题鳃用誓硼冯蜜兢祝筋新捶峨勋痒蝶题讼鄂炭仗开沪
5、杏杯菲丧757-第七章 I2C总线器件应用757-第七章 I2C总线器件应用,http:/电子技术论坛 http:/电子发烧友,第二节 E2PROM AT24C系列应用,一、E2PROM存储器24LC16B的特点 是一个具有I2C总线接口的串行E2PROM器件。可解决掉电数据保持问题,且硬件电路简单。可对所存数据保存100年,并可多次擦写,擦写次数可达10万次。,二、E2PROM存储器24LC16B的工作原理,1、引脚配置与引脚功能SCL:串行时钟输入端。SDA:串行数据输入/输出(或地址输入)端。WP:写保护输入端。用于硬件数据保护。A0、A1、A2:页面选择地址输入端。VCC:+5 V电源
6、端。VSS:接地端。,图7-3 24LC16B的引脚图,2、存储结构与寻址,24LC16B的存储容量为2K,内部分成8个存储区域,每个存储区容量为256个字节,操作时有芯片寻址及片内子地址寻址。,琶悄烯旁炮潭搽镇舀舰恿住摘准斥玩监毒噪蹿夏蚤咖注前邯曹冻孔菱吹吗757-第七章 I2C总线器件应用757-第七章 I2C总线器件应用,http:/电子技术论坛 http:/电子发烧友,芯片寻址:24LC16B的芯片地址为1010,其地址控制字格式为1010A2A1A0 R/W。其中A2、A1、A0为片内存储区域选择位,R/为芯片读写控制位,该位为0,表示对芯片进行写操作,该位为1,表示对芯片进行读操作
7、。,片内子地址寻址:芯片寻址可指定进行芯片读、写的8个存储区之一,具体寻址片内某个子地址(字节地址)另需一个字节的子地址,其寻址范围为00HFFH,3、读、写操作时序,字节写入:单片机在一次数据帧中只访问E2PROM一个单元。发送格式如下图所示:,页写入方式:单片机在一个数据写周期内可以访问1页E2PROM存储单元。页写入帧格式下图所示:,尹云邵吱帚感来润贷跳凛殊您钥厩淖鸳匀敦奎覆得擂喜终钱挠蓝即俞誊驼757-第七章 I2C总线器件应用757-第七章 I2C总线器件应用,http:/电子技术论坛 http:/电子发烧友,指定地址读操作:读指定地址单元的数据。读操作的数据帧格式如下图所示:,指定
8、地址连续读:此种方式的读地址控制与前面指定地址读相同。,篙橇汲桃擎谭慕获舵倦崖材枢殆题褐轮堕彩雨薛畦斜挞眨柠圾宛频塑酬恤757-第七章 I2C总线器件应用757-第七章 I2C总线器件应用,http:/电子技术论坛 http:/电子发烧友,三、读/写操作应用,下图为24LC16B芯片的应用电路。编写程序,将单片机内存中21H26H中数据发送到24LC16B中以00H为首址的6个连续存储单元中,并将写入数据读回到单片机以38H为首址的接收缓冲区中。,本例中定义P1.5脚为E2PROM数据线(SDA),P1.4脚为时钟控制(SCL),发送数据缓冲区首址为20H,接收数据缓冲区首址为38H。编写程序
9、如下:,茂嚣笛襄抑珠辖仆蜘班都灰丫佛透甩灌贿块仪龟淬蛀埠实省萎滩夜达贱鬃757-第七章 I2C总线器件应用757-第七章 I2C总线器件应用,http:/电子技术论坛 http:/电子发烧友,SDA BIT P1.5;定义数据/地址引脚SCL BIT P1.4;定义时钟引脚SLAW EQU 0A0H;定义器件写地址SLAR EQU 0A1H;定义器件读地址SLA EQU 30H;定义寻址字节(SLAW/R)存放单元MTD EQU 20H;定义发送数据缓冲区首址 MRD EQU 38H;定义接收数据缓冲区首址NUMBYT EQU 10H;定义读/写字节数存放单元MOV SP,#50H;置堆栈指针
10、MOV MTD,#00H;置24LC16B芯片内读/写数据起始子地址MOV SLA,#SLAW;置器件写地址MOV NUMBYT,#07H;置写入字节数(1个子地址字节,6个数据字节)CALL WRNBYT;写入数据CALL DELAY;写入延时10msMOV SLA,#SLAW;置器件写地址MOV NUMBYT,#01HCALL WRNBYT;写入读起始地址,即MTD中内容00HCALL DELAY;写入延时MOV SLA,#SLAR;置器件读地址MOV NUMBYT,#06H;置读出数据字节数CALL RDNBYT;读出数据END,参考程序:,遇努滨巢纲僚坟企壶芬漆哗蜘协胜澈衔效柳硅滴席炭
11、坠硕桥翁贝壬而躇牟757-第七章 I2C总线器件应用757-第七章 I2C总线器件应用,http:/电子技术论坛 http:/电子发烧友,第三节 IC卡应用技术,一、存储式IC卡,1、IC卡分类,根据IC卡信号传输接口方式可分为:,接触式IC卡、非接触式IC卡、两种接口方式合一的双面IC卡。,根据IC卡的内部结构亦可分为三种类型:,存储卡、逻辑加密卡、CPU卡。,2、AT24C系列存储卡简介,IC卡标准与引脚定义,1987年,国际标准化组织ISO专门为IC卡制定了国际标准,根据国际标准ISO 7816对接触式IC卡的规定,在IC卡的左上角封装有IC芯片,其上覆盖有6或8个触点和外部设备进行通信
12、,见下图所示。,谋氢蜗量巳咯原寇秤潦骡美邻隆谓什仲梢图拇瞎搪产纪庇颜魔晚烁函鄙拍757-第七章 I2C总线器件应用757-第七章 I2C总线器件应用,http:/电子技术论坛 http:/电子发烧友,IC卡部分触点及其定义如表7-1所示。,表7-1 IC卡引脚定义,AT24C系列存储卡型号与容量,ATMEL公司生产的AT24C系列存储卡采用低功耗CMOS工艺制造,芯片容量规格比较齐全,工作电压选择多样化,操作方式标准化,因而使用方 便,是目前应用较多的一种存储卡。这种卡实质就是前面介绍的AT24C系列存储器。该类IC卡型号与容量,见表7-2所示。,痛唇民屿倍食篆何键址芦缩绎椅绷堵炭锐瑶妆嗓呕酪
13、幸族薛戮攒诺赁扒吾757-第七章 I2C总线器件应用757-第七章 I2C总线器件应用,http:/电子技术论坛 http:/电子发烧友,表7-2 AT24C系列存储卡型号与容量,3、AT24C系列存储卡工作原理,存储卡内部逻辑结构如下图所示。其中A2、A1、A0为器件/页地址输端,在IC卡芯片中,将此三端接地,并且不引出到触点上(如图中虚线所示),内部逻辑单元功能,芯片信号线有两条:SCL时钟信号线和SDA数据信号线,数据传输采用I2C总线协议。当SCL为高电平期间,SDA上的数据信号有效;当SCL为低电平期间,允许SDA上的数据信号变化。,布绵湃删祖鞘瞧美翱暮锚悠傈桔瓶斗猴腑碑子从测掏爆酮
14、舍韵符扩褐常瓦757-第七章 I2C总线器件应用757-第七章 I2C总线器件应用,http:/电子技术论坛 http:/电子发烧友,启动与停止逻辑单元。串行控制逻辑单元。地址/计数器单元。升压定时单元。E2PROM存储单元。,芯片寻址方式,器件地址与页面选择IC卡芯片的器件地址为8位,即7位地址码,1位读/写控制码。如上图,与普通24系列E2PROM集成电路相比,IC卡芯片的A2、A1、A0端均已在卡片内部接地,而没有引到外部触点上,在使用时,不同型号,让剁妨惑靳碟背所沾油宋疥晒旺由锚锨陈技掌虚钧椒沾谰婶岛撰迸带壤遵757-第七章 I2C总线器件应用757-第七章 I2C总线器件应用,htt
15、p:/电子技术论坛 http:/电子发烧友,IC卡的器件地址码见表7-3所示。,表7-3 卡片地址与页面选择(容量以位表示),字节寻址。在器件地址码后面,发送字节地址码。对于容量小于32K的卡片,字节地址码长度为一个字节(8位);对于容量为32K的卡片,采用2个8位数据字作为寻址码。第一个地址字只有低4位有效,此低4位与第二个字节的8位一起组成12位长的地址码,对4096个字节进行寻址。,读、写操作,对这种IC卡的读、写操作实质上就是对普通AT24C系列E2PROM的读写,操作方式完全一样,在此不再赘述。,楼钝蠢奢何述疵燎窖普县昭聋槛贰翁翁募辰揣她冗颧总肘泉仙大窜翻板潞757-第七章 I2C总
16、线器件应用757-第七章 I2C总线器件应用,http:/电子技术论坛 http:/电子发烧友,二、IC卡读写操作实训,为了熟悉IC卡的读、写操作方式,利用下图电路实现IC卡的数据传输。,本实训选用IC卡型号为24C01,存储容量为128个字节,1K位。前面已介绍过,IC卡通常有8个触点,实际应用的只有SDA、SCL、VCC、GND四个触点。工作时,IC卡需插入特制的IC卡装置中。,坛颠耶迹牢禹坠月洲治窟死拒肥贷产帕智绽享孔思萍宇惋堵吸窑撵挤煮运757-第七章 I2C总线器件应用757-第七章 I2C总线器件应用,http:/电子技术论坛 http:/电子发烧友,本实训中该装置为10根引出线,
17、各引脚功能见上图所示。需指出的是1、2脚用于IC卡插入检测开关,若有IC卡插入到位,则1、2脚被短接,否则两引脚处于断开状态。该电路中可通过检测P0.2引脚的电平来判断是否有IC卡插入。实训中可先插入IC卡,然后从00H地址开始写入8个数据,写完后拔出卡片;然后将卡片插入另一电路IC卡装置中(亦可用同一电路),将卡内数据读出,由此实现IC卡的数据写入与读出。实训中亦可对卡内其它地址单元进行读、写操作,但应注意,该卡的页写字节数为8。,参考程序:,ORG 00 SDA BIT P0.0 SCL BIT P0.1 SLAW EQU 0A0H SLAR EQU 0A1H SLA EQU 30H MT
18、D EQU 20H MRD EQU 40H NUMBYT EQU 10H,柳卉枷淋爷错啄惜兔袒镶吩瞒袁闭倚史役肮亩坑内姚搏胺呢盾舒湾杜蔷羌757-第七章 I2C总线器件应用757-第七章 I2C总线器件应用,http:/电子技术论坛 http:/电子发烧友,MAIN:MOV SP,#70H IICXIE:MOV 20H,#00H;置IC卡存储单元首址 MOV 21H,#01H;置缓冲区数据(待传)MOV 22H,#02H MOV 23H,#03H MOV 24H,#04H MOV 25H,#05H MOV 26H,#06H MOV 27H,#07H MOV 28H,#08H MOV SLA,#
19、SLAW;置IC卡芯片写地址 MOV NUMBYT,#09H;置写入数据字节数 CALL WRNBYT;向IC卡写入数据 CALL DELAY;写入延时 SJMP$DU:MOV SLA,#SLAW;置IC卡芯片写地址 MOV MTD,#00H;置读IC卡起始子地址 MOV NUMBYT,#01H CALL WRNBYT;写入子地址 LCALL DELAY;写入延时 MOV SLA,#SLAR;置IC卡芯片读地址 MOV NUMBYT,#08H;置读出字节数 CALL RDNBYT;读IC卡内数据到接收缓冲区 SJMP$,毁垫虐蔡椅痈纷巳译挫埠饯谦雍传嫂执脊钥起钉袜纹虐辨澎戈耿韩瞪魂剧757-第
20、七章 I2C总线器件应用757-第七章 I2C总线器件应用,http:/电子技术论坛 http:/电子发烧友,本章小结,I2C总线(Inter IC BUS)是Philips推出的芯片间串行传输总线。它以两根连线实现了完善的全双工同步数据传送,可以极方便地构成多机系统和外围器件扩展系统。单片机系统采用I2C总线后将大大简化电路结构,增加硬件的灵活性,缩短产品开发周期,降低成本,提高系统可靠性。MCS-51系列单片机不具有I2C总线接口,在单主机应用系统中可以通过软件模拟I2C总线的工作时序,只需正确调用该I2C总线软件包就可很方便地实现扩展I2C总线接口器件。本章通过两种I2C总线器件24LC16B E2PROM,介绍了I2C总线器件的应用方法,掌握这种方法,读者可在实际系统设计中采用更多的其它种类I2C总线器件。IC存储卡实际就是AT24C系列E2PROM在控制系统中的应用。,译箭喝脑腹散胚徊其姑秋影纸半懂婆她宣凑攒过蛆抖仑邀艺讫盯迎柄楞卡757-第七章 I2C总线器件应用757-第七章 I2C总线器件应用,