六I2C总线规范

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

I2C总线规范I2C应用实例——小型视频记录器(硬盘录像机)视频记录器原理FIC8120MPEG-4视频编码SOCSAA7113视频A/DSDRAMFlashIDE硬盘RS-232驱动DM9161E以太网物理层接口摄像机CVBS视频输入RS-232接口接串口终端10/100Mbps以太网接口CCIR-656数字视频总线I2C控制总线模拟视频数字视频FIC8120与视频A/D接口I2C总线FIC8120与视频A/D接口CCIR-656数字视频总线I2C总线什么是I2CI2C,即InterIC,是Philips一种简单的双向两线总线,用于IC之间的信息通信I2C只有两根信号线,因此最大程度简化了芯片之间的连接,使电路板的设计、制造更简单I2C常用于处理器与外部控制器、处理器与串行存储器、甚至处理器与处理器之间的信息(命令)交互I2C常用术语术语描述发送器发送数据到总线的器件接收器从总线接收数据的器件主机初始化发送产生时钟信号和终止发送的器件从机被主机寻址的器件多主机同时有多于一个主机尝试控制总线但不破坏报文仲裁是一个在有多个主机同时尝试控制总线但只允许其中一个控制总线并使报文不被破坏的过程同步两个或多个器件同步时钟信号的过程I2C特点总线只有两个信号:SDA和SCLI2C是一个多主设备总线,具有总线仲裁机制总线上每个从设备具有唯一的地址,主设备根据地址选择操作的目的设备总线定义三种传输速率:标准模式下可达100kbit/s;快速模式下可达400kbit/s;高速模式下可达3.4Mbit/s片上滤波器可以滤去数据线上的毛刺,提高数据传输的可靠性同一I2C总线上可以挂接的芯片数量只受到总线400pF最大负载电容限制I2C信号I2C总线由两个信号组成:SCL(串行时钟)和SDA(串行数据)SDA和SCL都是双向信号,电路中通过电阻上拉到正电源,总线空闲时都是高电平SDA的数据位在SCL的同步下传输同一I2C总线上各节点的SDA、SCL输出都是集电极开路(OC)或漏极开路(OD)的,信号具有“线与”功能补充:OC与OD线与:多个OC/OD门输出连在一起,其中一个为低,所有的都为低+5V输入输出(a)输出输入为0时开关闭合;输入为1时开关断开+5V输出(b)(c)T1T2RRLI2C总线信号连接原理SCL输出SCL输入SDA输出SDA输入SCL输出SCL输入SDA输出SDA输入设备1设备2SCL(串行时钟信号)SDA(串行数据信号)上拉正电源上拉电阻I2C拓扑结构SCLSDA微处理器ALCD驱动器静态RAM微处理器BA/D转换串行EEPROMI2C电路实例CPU视频A/D串行EEPROMI2C总线数据位传输I2C是串行数据总线,SCL每个时钟周期传输一个数据位数据传输过程中,SDA信号只有在SCL为低电平时才允许改变数据传输过程中,SCL为高电平时,SDA必须保持稳定状态SDASCLSCL为高电平时数据必须保持稳定SCL为低电平时数据才可改变I2C总线的起始与停止空闲状态下,SCL和SDA都为高SCL为高,SDA由高变低,表示传输起始SCL为高,SDA由低变高,表示传输结束START和STOP总是由Master发出START发出后,I2C进入busy状态,STOP发出后,I2C进入free状态STARTSTOPSDASCL起始条件结束条件一次数据传输过程I2C总线的设备寻址I2C总线从设备都有特定的地址,主设备根据地址寻址目标设备主设备的身份不是固定的,主设备也可能作为从设备被别的主设备寻址I2C总线两种地址形式:7位地址和10位地址I2C地址由I2C总线委员会统一分配I2C的7位设备地址7位地址中,其中设备可实际使用的共有112个,有两组(0000xxx和1111xxx)共16个地址被保留作为特殊用途从设备地址R/W#说明00000000广播呼叫地址00000001起始字节0000001xCBUS地址0000010x保留给不同的总线格式0000011x保留到将来使用00001xxx高速模式主设备码11111xxx保留给将来使用11110xxx10位地址扩展I2C的7位与10位设备地址R/W#MSBLSB从设备地址11110xxR/W#MSBLSB10位地址扩展码xxxxxxxxMSBLSB10位地址的低8位10位地址最高2位第一个字节第二个字节7位地址10位地址I2C的数据传输一个字节8个二进制位,MSB在前,LSB在后,按位传输每个字节后都要有一个应答位,应答由接收器发出如果SLAVE因事(如处理中断)不能收/发下一个完整的字节,可将SCL拉到低电平,从而使Master进入等待状态SCLSDA起始条件结束条件地址读/写应答数据应答数据应答1-7891-891-89I2C数据传输应答时钟由master发出响应脉冲期间,发送器释放SDA(置为高)响应脉冲期间,接收器把SDA置为低I2C设备寻址起始命令之后,master紧跟着发出控制字节,其中包含slave地址和读写控制信息STARTSTOP地址读/写应答数据1应答数据2应答I2C可能的数据传输格式1主机发送器发送到从机接收器传输的方向不会改变I2C可能的数据传输格式2在第一个控制字节后,主机立即读从机数据。在第一次响应后,主机发送器变成主机接收器,从机接收器变成从机发送器第一次响应仍由从机产生。I2C可能的数据传输格式3复合格式:传输改变方向的时侯起始条件和从机地址都会被重复,但R/W位取反读写方向改变I2C的同步时钟所有主机在SCL线上产生它们自己的时钟来传输I2C总线上的报文数据只在时钟的高电平周期有效不同device的SCL信号通过线与连接I2Cmaster2时钟SCL实际状态master1时钟I2C的仲裁I2C没有中央主机,总线也没有任何定制的优先权主机只能在总线空闲的时侯启动传送当SCL线是高电平时,仲裁在SDA线发生;在其他主机发送低电平时,发送高电平的主机将断开它的数据输出级,因为总线上的电平与它自己的电平不相同SCLSDADATA2DATA1因为SDA信号与自己试图驱动的状态不一致,主设备1在此失去总线控制高低起始条件主设备1主设备2实际总线信号I2C应用实例——24C01嵌入式系统中广泛应用串行EEPROM24Cxx是一个I2C接口串行EEPROM系列24Cxx包括:24C01(128B)、24C02(256B)、24C04(512B)、24C08(1024B)、24C16(2048B)下面以24C01为例进行讨论24C01S-EEPROM引脚名称功能说明VCC芯片的电源引脚工作电压范围宽,如1.8V~5.5V,不同厂家产品可能略有差别VSS信号地SCLI2C总线时钟信号24C01是I2C总线上可读、可写的从设备SDAI2C总线数据信号WP芯片写保护信号WP为高电平时,芯片被设置为写保护状态,只能读,不能写A0、A1、A2芯片I2C地址设置对应着芯片I2C地址的低三位,没有外部连接时默认为“0”24C01地址设置24C01芯片I2C地址的高4位固定为“1010”通过A0~A2设置I2C地址的低三位A0~A2在没有外部连接时默认为“0”,若A0、A1、A2三个引脚悬空,这时芯片的7位I2C地址为“1010000”通过对A0~A2的设置,一个I2C总线上最多可挂接8个24C01芯片1010A2A1A0R/W#MSBLSB固定高4位地址可设置低3位地址24C01字节写操作24C01有两种写模式:“字节写”和“页写”在“字节写”模式下,I2C主设备(如微处理器)首先发出起始条件和24C01(从设备)的7位地址及读写标志位(此时该位为“0”)主设备收到24C01的响应位后,再向24C01发出8位需要写入数据的字节地址主设备收到24C01另一个响应位后,发出要写入的数据24C01再次发出响应位,随后主设备产生停止条件而24C01开始内部数据的擦写,在内部擦写过程中,24C01不再响应主设备的任何操作24C01字节写操作过程起始条件寻址应答写标志位24C01地址1010XXX0字节的目的地址地址应答需要写入的数据数据应答停止条件24C01页写操作“页写”模式下,24C01可一次写入8个字节数据数据“页写”操作的启动和“字节写”一样不同之处在于主设备传送了1个字节数据后并不产生停止条件,而是连续再发送7个字节的数据,最后才给出停止条件如果在发送停止条件之前主器件发送超过8个字节,最后面的数据会覆盖最前面的数据在接收到8字节数据和主器件发送的停止条件后,24C01启动内部写周期将数据写到数据区起始条件寻址应答写标志位24C01地址1010XXX0字节的目的地址地址应答数据0数据应答停止条件数据1数据应答数据7数据应答ss24C01“立即地址读”24C01有三种读操作:“立即地址读”、“选择读”和“连续读”24C01内部有地址计数器,每次读一个字节数据后,地址计数器加1,指向下一个字节的地址“立即地址读”操作中,主设备总线发出总线起始条件、从设备地址和读标志位(为“1”),对应地址上的24C01给出响应位后,将当前地址的一个字节数据发给主设备主设备接收到一个字节的数据后,给出“非响应位”(即保持SDA为高电平),随后发出停止条件,结束总线操作24C01“立即地址读”操作过程起始条件寻址应答读标志位24C01地址1010XXX1当前地址的数据停止条件无应答24C01“选择读”主设备可以读24C01的任意地址主设备首先向总线发出起始条件,并以写操作的形式寻址24C01得到响应后,向24C01写入要写入的字节地址再次得到24C01的响应后,主设备发出重复起始条件并用读操作的形式再次寻址24C0124C01在发出响应位后,即可输出对应地址的一个字节数据主设备在接收到需要的数据后,给出“非响应位”,结束本次总线操作24C01“选择读”操作过程起始条件寻址应答写标志位24C01地址1010XXX0字节所在地址n地址应答地址n对应的数据无应答停止条件重复起始寻址应答读标志位24C01地址1010XXX124C01“连续读”“连续读”操作可通过“立即读”和“选择读”操作启动在24C01发送完一个8位字节数据后,主设备产生一个响应位(单个字节的读操作中主设备发出“非响应位”),告知24C01主设备要求连续地读下一个字节的数据对应主设备产生的每个响应位,24C01将发送一个8位数据字节当主设备不发送响应位、并发出停止位时结束此次总线“连续读”操作24C01“连续读”过程起始条件寻址应答读标志位24C01地址1010XXX1数据0停止条件数据应答数据1数据应答ss数据n无应答实际应用中的24C0824C08SchematicSCL时钟信号SDA数据信号I2C信号上拉电阻24C08课后作业(资料见FTP)学习I2C总线标准研究24CXX芯片数据手册研究ARM7原理图及PCB设计ARM7—DESIGN.ddbhf44b0使用说明书.pdf

1 / 43
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功