- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
单元七AT24C02–IIC通信主讲人:XXX上海城建职业学院
本单元内容IIC通信原理AT24C02读写原理及驱动实现编程实现对AT24C02写入数据
教学目标掌握IIC通信原理掌握AT24C02工作原理及驱动设计熟练掌握使用软件IIC方式读写AT24C02
6.1IIC通信原理
基本概念IIC通信IIC通信的基本原理IICBUS(InterIntegratedCircuitBUS,内部集成电路总线)是飞利浦公司推出的二线制串行扩展总线;在IIC总线上,只需要两条线——数据线SDA线和时钟线SCL;多个器件可连接到同一个IIC总线上,每一个器件有一个唯一的识别地址,可一对多、多对一、一对一通讯;标准模式下传输速度为100Kb/s,快速模式下为400Kb/s。优点:引脚少,硬件实现简单,成本低
基本概念IIC通信IIC通信的基本原理它是一种支持多个通信主机及多个通信从机的总线,“总线”是指多个设备共用的信号线。一个IIC总线只使用两条总线线路;一条双向串行数据线(SDA),一条串行时钟线(SCL)。每个连接到总线的设备都有一个独立的地址,总线上任一设备可以利用这个地址对其他设备进行交互。总线通过上拉电阻接到电源。总线上的任一设备,如果处于空闲状态时。会输出高阻态。所以在总线空闲的时候两条总线都呈现高电平。具有3种传输模式,标准模式(100kbps)、快速模式(400kbps)、高速模式(3.4Mbps,目前大多数不支持)。连接到相同总线的设备数受到总线的最大电容400pF限制。
物理协议IIC通信协议层协议定义了通信的起始和停止信号、数据有效性、响应、仲裁、时钟同步和地址广播等环节
物理协议IIC通信协议层因为设备发送数据的时候是连续字节的,接受端并不能提前知道发送者要发送的总字节,所以接收端是从起始信号开始接收,直到停止信号为止;而且这两种信号要与传输过程中的任何时间点的时序不能有冲突(独特性),IIC在数据传输的过程中也保证了这一点。通讯的起始:当SCL线是高电平时SDA线从高电平向低电平切换。通信的停止:当SCL线是高电平时SDA线由低电平向高电平切换。可看出,这两种信号跟数据发送过程中的差异,在数据发送过程中,SDA线总是在SCL线在低电平的时候才变换。
6.2IIC读写操作AT24C02
数据传输IIC通信主机向从机写数据在实际应用中,主机设备发送到从机设备的数据包括地址和数据。主机通过地址可找到对应的从机设备,而收到广播地址的从机做出判决,若地址与自身地址匹配则做出应答,若不匹配则忽略信息。上面是主机对芯片AT24C02存储芯片进行写操作时SDA的数据流,可以很清晰看出所发送的内容:对照着图来说,DEVICEADDRESS设备地址可以是7位或10位,图中所示为7位,加上R/W传输方向位(1为发送,0位接受)组成一个字节;图中所有的ACK是等待从机应答位,主机收到了应答后才继续发送后面的内容,从图中可明显看出,主机每发送一个字节都必须等待从机做出一个应答;图中的WORDADDRESS指的是主机往AT24C02存储芯片写入的首地址,后面DATA就是写入的内容。不是所有的IIC从设备都有这个,比如是音频的设备那么就不存在写入地址。具体是要根据IIC从设备的数据手册上的功能通信协议来定。
数据传输IIC通信主机向从机读数据主机对AT24C02存储芯片进行读操作时SDA的数据流。对照着图来说,首先是发送从机地址DEVICEADDRESS,接着给从机发送WORDADDRESS是所读取内容的地址,这是告诉AT24C02接下主机需要的内容,设置好地址之后,接着主机再发送一个起始位,紧接着发送DEVICEADDRESS,这时可以注意到传输方向是READ(读),那么主机释放SDA线的控制权,有从机给主机发送数据,可以连续发送多个字节数据,当主机期望停止接收时作出一个非应答,那么从机就停止发送了。WORDADDRESS不是所有主机向从机进行读操作时都要发送这个,具体是要看对方是什么设备,就如上面所说需要依据设备的数据手册。
硬件连接IIC通信AT24C02硬件连接#defineAT24C02_ADDRESS 0x50//AT24C02地址0x50=01010000slaveAddr1;//IIC地址是7bit,这里需要左移1位,bit0:1-读 0-写
6.3编程实现IIC读写操作AT24C02
IIC写操作IIC通信IIC写入一个字节
IIC写操作IIC通信IIC写入多个字节
IIC读操作IIC通信IIC读取当前字节
IIC读操作IIC通信IIC读取多个字节
演示例程IIC通信AT24C02写入并读取—OLED显示和串口打印12例程目标演示IIC通信方式写入字符并读取出来
文档评论(0)