您当前的位置:五五电子网电子知识电子学习基础知识电脑-单片机-自动控制I2C总线的控制技术 正文
I2C总线的控制技术

I2C总线的控制技术

点击数:7653 次   录入时间:03-04 11:53:39   整理:http://www.55dianzi.com   电脑-单片机-自动控制

3.I2C总线的传输

    I 2C总线的传输是一个比较复杂的数码传输,它主要是以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总线上,通过接口电路收到起始信号后,必须复位它们的总线逻辑,以使被控制器地址的传输得以预处理,从而完成对各不相同功能电路的控制。

上一页  [1] [2] 


本文关键字:技术  电脑-单片机-自动控制电子学习 - 基础知识 - 电脑-单片机-自动控制

上一篇:什么是ECU?