2.I2C总线的控制基础
由于在I2C总线中的多主控器的控制权总是相互竞争,并且在相互竞争中进行寻址和数据发送,因此总线上没有中央微处理器,也没有任何优先级。在I2C总线上进行数据传输时,所有的主控器都会在串行时钟线上产生自己的时钟信号,而且只有当时钟线上的信号处于高电平时,数据线上的数据才是有效的。因此,当各主控器向总线上输出各不相同的时钟频率时,只有通过仲裁过程,才可使总线上有一个统一的时钟信号。只有总线上的时期线上的一种“线与”连接和双向传输特性来实现的。因此,I2C总线的控制基础主要是仲裁过程和时钟同步。
在总线的仲裁过程中,一旦有一主控器输出一个低电平时钟信号,则串行时钟线将由此变为低电平,直到该主控器时钟信号的高电平状态到来,数据信号才开始传送。在总线上这个时钟线的电平转换,将影响所有主控器的时钟信号低电平周期的计时。事实上,当一个主控器的时钟信号由低电平向高电平转换时,它可能并不会改变串行时钟线的低电平状态,因为此时可能有另一个主控器仍然处于时钟低电平周期。也就是说,在I2C总线控制中,时钟线将由时钟低电平周期最长的主要控器保持为低电平状态,而其他时钟低电平周期较短的主控器则将相继进入时钟高电平等待状态。只有当总线上的所有主控器都结束了时钟低电平周期的计时后,时钟线才被完全释放,即时钟线的状态达到一致高电平状态。
当所有主控器时钟信号都进入高电平状态后,便开始了各自的时钟信号高电平周期计时。当有一个主控器的时钟高电平状态计时结束时,这个主控器将再次使I2C总线上的时钟线SCL处于低电平状态。从而,在总线的仲裁过程中,使时钟线通过各主控的时钟输出产生一个统一的时钟同步信号成为现实。
简言之,在多重主控器的I2C总线上,时钟线信号的低电平周期由时钟信号低电平周期最长的主控器决定,而时钟线信号的高电平周期则由时钟信号高电平周期最短的主控器决定。
在I2C总线中,具有主控能力的器件的数据传输和寻址也是在仲裁中进行的。当有多个主控器企图同时占用总线传输数据时,根据I2C总线的规约它们之间会有一个促裁过程,以决定谁将占用总线。促裁是在时钟线SCL为高电平时,根据数据线SDA的状态进行的。因此,仲裁过程和时钟电平、数据线状态是相辅相成的。也正是这种相辅相成的机制,使在总线仲裁过程中,当有其他主控器在数据线上传送低电平时,发送高电平的主控器将会发现此时数据线上的电平与其输出电平不一致,从而被裁决失去总线的主控权,并立即关闭其数据输出。
仲裁过程可以持续诈多位,以对多个主控器正在企图寻址同一电路的事件进行判决。如果一个主控器在发送某一字节期间被裁决失去主控权,则它的时钟信号可继续输出,直到整个字节发送结束为止。如果主控器在其寻址阶段被仲裁决定失去主控权,则该主控器必须立刻进入被控接收器状态,以判决被仲裁决定获得主控权的主控器是否正在对它进行寻址。产生数据的主控器一旦发现内部数据电平与数据总线的实际电平之间有差异,则它的输出将被立即关闭,随即在总线上输出一个高电平,这就不会影响获得主控权的主控器所进行的数据传输,总线上的寻址和数据传输等住处也不会丢失。因此,I2C总线的仲裁过程使I2C总线上的数据传输得以顺利进行,为多种控制功能的实施奠定了良好的基础。
3.I2C总线的传输
I2C总线的传输是一个比较复杂的数码传输,它主要是以18bit的字节进行数据传输,而传输时又总有一个时钟脉冲相对应,因此,I2C总线的数据传送实质上是个脉冲串的传输,其传输格式如图1-14所示。图中1为字节传送完成接收器内产生中断信号,2为当处理中断服务时时钟线保持低电平。
在I2C总线上,每一个数据中,逻辑“0”和逻辑“1”的信号电平取决于相应的正端电压。I2C总线在进行传送时,在时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。这就保持了数据传输的有效性。
在时钟线保持高电平期间,由于数据线由高电平向低电平的变化是一种稳定的状态,所以就将其状态规定为起始条件;而当时钟线保持高电平期间,数据线是由低电平向高电平变化,则规定为停止条件。只有I2C总线中主控器产生起始条件和停止条件两个信号时,总线才会被认为处于“忙”态或“闲”态,从而准确控制了比特位的传送。
在I2C总线上,比特位传送字节的后面都必须跟随一位确认位,或称跟随一位应答位。并且数据是以最高有效位首先发出。但是,当正在进行数据传输的接收器收到完整的一个数据字节后,有可能还要完成一些其他的工和,如处理一个内部中断服务等。在这种情况下就有可能无法立刻接收另一字节的数据,因而,此时接收器可以通过总线上的时钟保持为低电平,从而使发送器进入等待状态,直到接收器准备好接收新的数据,而接收器通过释放时钟线使数据传输继续进行,正是I2C总线能允许其他总线的数据格式进行传输,才有一个特殊寻址开始的信息传输,以及通过对总线产生一个停止信号进行停止。
当一个字节的数据能够被总线上的一个已被寻址的接收器接收后,总线上的般要产生一个确认信号,并在这一位时钟号的整个高电平期间,使数据保持稳定的低电平状态,从而完成应答确认信号的输出。确认信号通常是指起始信号和停止信号,如果这个信息是一个起始字节,或是总线寻址,则总线上不允许有应答信号产生。如果因某种特殊情况,被控器不对应的被控寻址进行确认回答,则必须将数据线置于高电平,然后主控器可以通过产一个停止信号来结束总线的数据传输。如果被控接收器对被控寻址做出了确认应答,但在数据传输的一段时间以后,又无法继续接收更多的数据,则主控器也将停止数据的继续传送。因此,被控接收器可以通过对无法接收的第一个数据字节不产生确认应答信号来通知主控器,即在相应的应答信号时钟位上将数据线置于高电平,主控器则在总线上产生停止信号,从而结束数据的传送。
注:1-7 为地址位;8为读/写位;9为应答位
在I2C总线上,它的数据传输总有一些规约要求,例如,起始信号的后面总有一个被控器的地址。被控器的地址一般规定为7bit的数据,数码中的第8比特是数据的传输方向位,即读/写位。一个完整的I2C总线传输格式如图1-15所示。
在读/写位中,如果是“0”,则表示主控器发送数据,也就是执行“写”的功能;如果是“1”,则表示主控器接收数据,也就是执行“读”的功能。而数据的每次传输总是随主控器产生的停止信号而结束。而I2C总线中,有时主控器希望总占用总线,并不断进行数据传输,因此,在设定规约时,可以在不首先产生信号的情况下,再次发出起始信号对另一被控器进行寻址。为解决这一问题,可以采用多种读/写组合形式来进行总线的一次数据传输。在多种读/写组合形式中,主要有三种措施,其中:
1.主控发送器向被接收器发送数据,数据传输方向在整个传输过程中不变。
2.主控器在第一个字节后立即从被控制器读数据,在首位确认应答信号产生后,主控发送器变成主控接收器,而被接收器变成被控发送器,同时首位应答信号仍由被控器产生,使停止信号总是由主控器产生。
3.数据传输过程中的复合格式需要改变传送方向时,起始信号和被控器地址都会被重复产生一次,但两次的读/写方向正好反相。
总之在I2C总线上,通过接口电路收到起始信号后,必须复位它们的总线逻辑,以使被控制器地址的传输得以预处理,从而完成对各不相同功能电路的控制。
七、IM总线的控制技术
在80年代初至90年代末期的近20年的数字电视的发展进程中,彩色电视机中的核心器件中央微处理器的应用,在专用总线的设计上,有着不断的发展。1981年德国电报电话公司(ITT)研究成功了以DICIT-2000系列超大规模集成电路为主体的用于数字电视中的专用器件,为数字彩色电视接收机的产生提供了物质基础,而Intermetall公司研制开发的控制总线则在DIGIT-2000系列芯片之间,对各种数字信息的读/写操作以及查询处理、协调工作等起了重要作用,习惯上称这种控制总线为IM总线。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] 下一页
本文关键字:数字电视 无线电-电子技术知识,电子学习 - 基础知识 - 无线电-电子技术知识
上一篇:学习电子技术的一些方法