第十一章 IIC总线驱动程序 Linux设备驱动程序 教学课件.ppt

第十一章 IIC总线驱动程序 Linux设备驱动程序 教学课件.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十一章 IIC总线驱动程序 Linux设备驱动程序 教学课件

设备驱动程序 第十一章 IIC总线驱动程序 目录 IIC总线介绍 嵌入式处理器的IIC接口 基于IIC的键盘芯片应用 IIC总线驱动程序实例 IIC总线的测试程序 目录 IIC总线介绍 嵌入式处理器的IIC接口 基于IIC的键盘芯片应用 IIC总线驱动程序实例 IIC总线的测试程序 IIC总线介绍 IIC是Inter-Integrated Circuit的缩写,业内也常常被称为IIC。 它是一种用于IC器件之间连接的二进制总线。 它是由philips公司开发的两线式串行总线标准,产生于20世纪80年代,最初用于音频和视频设备开发,现今已经在各种电子设备中得到广泛的应用。 IIC总线引入的原因 随着信息技术、电子技术和工业控制技术的发展,在消费电子、通信和工控的一些系统设计上都有很多的相似部分。其中,最主要的可归纳为以下3点: 系统中均有涉及智能控制的部分 系统组成中有通用的电路部分 系统中均有面向应用的电路 针对系统设计中如此之多的相似之处,人们为了充分利用这些设计共同点,使硬件工作更加有效,电路更加简单,引入IIC总线,从而使得对IIC进行控制更加方便。 IIC总线的特点 IIC总线用于替代标准的并行总线,可以连接各种集成电路和功能模块: 它仅有两条信号线:SDA和SCL 它是一个多主机总线 每个连接到该总线的设备都有自己唯一的设备地址,并可通过该地址被访问 采用该总线连接的设备处于主/从模式 它是一个串行8位双向数据传送总线 连接到总线上芯片的数量仅受总线最大电容的限制,并且片上的滤波器可以去除总线数据线上的毛刺,以保证数据的完整性 IIC总线的基本结构 采用IIC总线的器件,其内部包含IIC的接口电路,并将自身的各个单元电路按照功能划分为若干个相对独立的模块,然后通过软件进行寻址,从而实现片选操作,减少了器件片选线的连接。 处理器可以通过指令将功能单元挂靠或者摘离总线,检测功能单元的工作情况,实现对硬件系统简单、灵活的扩展和控制。典型的IIC总线接口电路结构如图: IIC总线的术语 发送器 发送数据到总线的器件 接受器 从总线接受数据的器件 主机 初始化发送、产生时钟信号和终止发送的器件 从机 被主机寻址的器件 多主机 同时有多于一个主机尝试控制总线,但并不破坏报文 竞争 在存在主机时,这些主机必须竞争确保只有一个主机获得总线 IIC总线的工作 双向传输特性 IIC总线可以根据器件的功能通过软件程序设置工作于发送或者接收模式。 当某个器件往总线上发送数据时,此器件就被称作发送器;当它从总线上接收数据时,就被称为接收器。主器件启动总线并产生传送数据时钟以开放传送的器件,这时任何被寻址到的器件将被认为是从器件。 IIC的设计思想是通过线与的方法实现总线的冲突检测和抢占功能。所以总线上的器件必须满足线与的条件,即连接总线的器件的输出级必须是集电极或漏极开路。 IIC总线的工作 IIC总线传送数据的时钟同步信号是通过所有挂靠在SCL时钟信号线上器件的逻辑与完成的。 当低电平周期短的器件的时钟信号跳变成高电平时,SCL信号线的状态不会改变,这些器件将处于高电平等待状态。只有当所有器件的时钟信号均跳变成高电平时,低电平期才算结束,SCL线返回高电平,所有器件均开始高电平期。 同理,第一个结束高电平期。。。 IIC总线的工作 IIC总线的数据传输 IIC总线在数据传送过程中共有3种类型的信号,分别为启动信号、结束信号和应答信号,定义如图: IIC总线的工作 IIC总线数据传输的时序如图: IIC总线的工作 首字节的前7位是地址码,第8位是方向位。 在出现启动信号后,系统中的所有器件都将自己的地址和主器件送达总线上的地址进行比较,如果一致,该器件就是被寻址的器件。 IIC总线上每次传送的数据不受字节数限制,但每个字节必须是8位,且后面必须跟一个认可位。 数据传输时,每次都是从高位开始,当从器件接收到完整字节后会发出ACK信号。 IIC总线的竞争仲裁 IIC总线最主要的优点是简单和有效。由于接口直接在组件上,IIC所占用的空间非常小,可能发生在某个时间点出现两个或多个主器件同时想占用总线的情况。 这样会产生总线竞争。IIC总线可以对发生在SDA信号线上的总线竞争进行仲裁。仲裁的原则为:当多个主器件想同时占用总线时,假如主器件发送高电平,而同时有另外的主器件也想发送低电平,那么发送电平与此时SDA总线电平不符的主器件将自动关闭。 实际上,总线竞争的仲裁是分两步进行的。首先进行地址位的比较,如果主器件寻址相同的从器件,那么仲裁进入数据位的比较。 IIC总线的工作流程 开始 发出启动信号,表明一次传输开始 地址 主设备发送地址信息,包括7位从设备地址和1位的指示位 数据 数据以8位进行传输。在接收器上用一位ACK表明传送数

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档