CN102253910A - 一种i2c传输方法及其装置 - Google Patents

一种i2c传输方法及其装置 Download PDF

Info

Publication number
CN102253910A
CN102253910A CN2010101779876A CN201010177987A CN102253910A CN 102253910 A CN102253910 A CN 102253910A CN 2010101779876 A CN2010101779876 A CN 2010101779876A CN 201010177987 A CN201010177987 A CN 201010177987A CN 102253910 A CN102253910 A CN 102253910A
Authority
CN
China
Prior art keywords
mode
high speed
unit
transmitting device
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010101779876A
Other languages
English (en)
Other versions
CN102253910B (zh
Inventor
王永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201010177987.6A priority Critical patent/CN102253910B/zh
Publication of CN102253910A publication Critical patent/CN102253910A/zh
Application granted granted Critical
Publication of CN102253910B publication Critical patent/CN102253910B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明公开了一种I2C传输方法及其装置,以实现I2C控制器的高速传输。该装置包括:与中央处理器CPU相连接的CPU接口单元、与该CPU接口单元相连接的I2C主机单元、与该CPU接口单元相连接的I2C从机单元:CPU接口单元,用于通过CPU将该装置配置为主机状态或从机状态,以及通过该CPU将该装置的工作模式配置为Hs模式;I2C主机单元,用于在该CPU接口单元将该装置配置为主机状态时,切换至Hs模式并实现该装置的主机操作;I2C从机单元,用于在该CPU接口单元将该装置配置为从机状态时,切换至Hs模式并实现该装置的从机操作。采用本发明装置,实现了I2C的高速传输。

Description

一种I<sup>2</sup>C传输方法及其装置
技术领域
本发明涉及计算机通信领域,尤其涉及一种实现高速I2C传输的方法和一种实现高速I2C传输的装置。
背景技术
在实际应用中,要求总线速度更高、要求电源电压消耗更低,为了满足这些需求,在快速模式或标准模式(即F/S模式)的基础上,I2C(Iinter-IntegratedCircuit,集成电路间互连总线)版本2.0-1998增加了高速模式(即Hs模式),它将数据传输的位速率提高到3.4Mbit/s。随后,I2C版本2.1-2000又对Hs模式做了一些改进,如在Hs模式的重复起始条件后可以延长时钟信号SCL(System Clock Line,系统时钟线),对于Hs模式中的一些时序参数要求不是特别严格。构建Hs模式的主要目的是提高数据通信速率,目前已有很多支持I2C高速传输的器件(后续称该类器件为高速模式器件,即Hs模式器件),相应的也需要设计支持Hs模式的I2C控制器来操作这些器件。
Hs模式器件对I2C总线的传输速度有具大的突破,如Hs模式器件可以在高达3.4Mbit/s的位速率下传输数据,该位速率是标准模式的位速率的34倍。I2C总线工作在Hs模式时,影响其工作的最大因素为SCL总线上电平由低到高的瞬态响应,因为标准模式和快速模式下的总线上拉电阻不能产生更快的上升时间,电平由低到高所需要的时延较大,目前为改善SCL总线上电平由低到高的瞬态响应时延较大的问题,对I2C总线规范做出以下改进:
1、Hs模式主机器件(是指Hs模式器件当前为主机状态)在SCL线上提供有源上拉,缩短了SCL信号电平由低到高的上升时间。
2、在包含多个Hs模式主机器件的系统中,不执行仲裁和时钟同步,以加速位处理能力,仲裁过程一般是器件在用F/S模式下传输主机码结束后执行。
3、Hs模式主机器件以高电平和低电平的占空比为1∶2的比率产生一个串行时钟信号,以解除建立和保持时间的时序要求。
目前,实现I2C传输所采用的技术主要是通过如图1所示的I2C控制器1来实现高速I2C传输,该I2C控制控制器1包括PVCI/APB(Peripheral VirtualComponent Interface/Advanced Peripheral Bus,外围虚拟部件接口或先进外围总线)接口11、逻辑控制器12、连续时钟产生器13、I2C总线接口14,其中:
PVCI/APB接口11,用于与PVCI/AHB(Peripheral Virtual ComponentInterface/Advanced High performance Bus,外围虚拟部件接口或先进高性能总线)接口交换信息。
逻辑控制器12,用于根据I2C协议处理比特级逻辑。
连续时钟产生器13,用于在该I2C控制器1为主机状态时,产生SCL时钟信号,在该I2C控制装置为从机状态时,自动关断。
I2C总线接口14,用于直接在I2C总线级处理比特操作。如在I2C控制器1为从机状态时,I2C总线接口14检测起始停止条件、确认位和操作方向;当I2C控制器1为主机状态时,I2C总线接口14根据PVCI/APB接口11控制SCL信号和SDA(System Design Analysis,系统设计分析)信号的状态。
采用上述I2C控制器,具有以下技术特点:(1)符合飞利浦I2C总线规范V2.1;(2)兼容PVCI(Peripheral Virtual Component Interface,外围虚拟部件接口)标准;(3)数据传输速率既支持F/S模式又Hs模式;(4)支持主机/从机模式发送模式;(5)支持混合速率总线;(6)支持多主机模式。
上述I2C控制器虽然实现了I2C的高速模式,但是采用该I2C控制器来进行I2C数据传输需要收费,并且该I2C控制装置内部的具体实现未知,因此,如何实现高速I2C传输的Hs模式则成为目前亟待解决的问题。
发明内容
本发明提供一种I2C传输方法及其装置,以实现I2C的高速传输。
一种I2C传输装置,包括:
CPU接口单元,用于连接中央处理器CPU,接收并存储所述CPU发送的工作状态配置参数、工作模式配置参数,以及,接收并输出发送数据与接收数据,所述发送数据为所述CPU通过I2C总线发送的数据,所述接收数据为通过I2C总线发送给所述CPU的数据;
存储单元,与所述CPU接口单元相连接,用于存储所述CPU接口单元输出的所述发送数据和接收数据;
I2C主机单元,与所述CPU接口单元相连接,用于根据所述CPU接口单元存储的工作状态配置参数确定为主机状态时,将工作模式切换至与所述工作模式配置参数对应的工作模式,并实现主机操作;
I2C从机单元,与所述CPU接口单元相连接,用于根据所述CPU接口单元存储的工作状态配置参数确定为从机状态时,将工作模式切换至与所述工作模式配置参数对应的工作模式,并实现从机操作。
本发明实施例还提供一种利用上述装置进行I2C传输的方法,包括:
CPU接口单元接收并存储中央处理器CPU发送的工作状态配置参数、工作模式配置参数,以及,接收并输出发送数据与接收数据,所述发送数据为所述CPU通过I2C总线发送的数据,所述接收数据为通过I2C总线发送给所述CPU的数据;
存储单元存储所述CPU接口单元输出的所述发送数据和接收数据;
I2C主机单元根据所述CPU接口单元存储的工作状态配置参数确定为主机状态时,将工作模式切换至与所述工作模式配置参数对应的工作模式,并实现主机操作;
I2C从机单元根据所述CPU接口单元存储的工作状态配置参数确定为从机状态时,将工作模式切换至与所述工作模式配置参数对应的工作模式,并实现从机操作。
采用本发明实施例提供的I2C控制器,不仅实现了I2C高速传输,而且还适用于I2C总线的高速传输模式,从而提高了数据传输速率;并且,I2C控制器支持Hs模式,既可以实现主机状态下的I2C高速传输,也可以实现从机状态的I2C高速传输,采用本发明技术方案具有使用方便、灵活,适用性强等特点。
附图说明
图1为现有技术中实现高速I2C传输的装置结构示意图;
图2A、2B、2C、2D为本发明实施例中I2C传输装置的结构示意图;
图3为本发明实施例中在I2C控制器为主机状态时,进行I2C传输的流程图;
图4为本发明实施例中在I2C控制器为从机状态时,进行I2C传输的流程图。
具体实施方式
为实现高速I2C传输,本发明实施例提供一种I2C传输方法及其装置,该方法包括:在实现高速I2C传输的装置(即I2C控制器)中设置有与CPU相连接的CPU接口单元、与CPU接口单元相连接且用于实现主机操作的I2C主机单元、与CPU接口单元相连接且用于从机操作的I2C从机单元;CPU将为该I2C控制器配置的工作状态配置参数和工作模式配置参数发送给CPU接口单元;I2C主机单元根据CPU接口单元存储的工作状态配置参数确定为主机状态时,将工作模式切换至与所述工作模式配置参数对应的工作模式,并实现主机操作;I2C从机单元根据CPU接口单元存储的工作状态配置参数确定为从机状态时,将工作模式切换至与所述工作模式配置参数对应的工作模式,并实现从机操作。采用本发明实施例提供的I2C控制器,不仅实现了I2C高速传输,而且还适用于I2C总线的高速传输模式,从而提高了数据传输速率;并且,I2C控制器既支持Hs模式又支持F/S模式,既可以实现主机状态下的I2C高速传输,也可以实现从机状态的I2C高速传输,因此,采用本发明技术方案具有使用方便、灵活,适用性强等特点。
下面结合说明书附图对本发明技术方案进行详细的描述。
参见图2A,为本发明实施例中I2C传输装置的结构示意图之一,该装置(后续称该装置为I2C控制器2)包括:
CPU接口单元21,用于连接CPU(Central Processing Unit.,中央处理器),接收并存储该CPU发送的工作状态配置参数和工作模式配置参数;以及,接收并输出发送数据与接收数据,该发送数据为CPU通过I2C总线发送出去的数据,该接收数据为外界设备通过I2C总线发送给该CPU的数据。
一般情况下,CPU接口单元21将接收到的工作状态配置参数和工作模式配置参数存储在自身的寄存器中(该寄存器在说明书附图中未标注)。
存储单元22,与CPU接口单元21相连接,用于存储CPU接口单元21输出的发送数据和接收数据。
I2C主机单元23,与CPU接口单元21相连接,用于根据CPU接口单元21寄存器中存储的工作状态配置参数确定为主机状态时,将工作模式切换至与该工作模式配置参数对应的工作模式(包括F/S模式、Hs模式),并实现主机操作;
I2C从机单元24,与CPU接口单元21相连接,用于根据CPU接口单元21寄存器中存储的工作状态配置参数确定为从机状态时,将工作模式切换至与所述工作模式配置参数对应的工作模式,并实现从机操作。
本发明实施例中的I2C主机单元23与I2C从机单元24既可以集成在同一硬件设备上,也可以集成在不同的硬件设备上。
较佳地,存储单元22为FIFO(First In First Out,先进先出)存储器。
较佳地,上述I2C控制器2还包括时钟预分频单元25,如图2B所示:
时钟预分频单元25,与I2C主机单元23相连接,用于在I2C主机单元23确定为主机状态时,根据存储单元22中的工作模式配置参数调整时钟预分频系数,并生成与该工作模式对应的预分频串行时钟信号。
较佳地,为提高信号质量、降低噪声干扰,上述图2A与图2B的I2C控制器2还包括滤波单元26,如图2C、2D所示:
滤波单元26,分别与I2C主机单元23和I2C从机单元24相连接,用于对I2C总线信号进行毛刺滤除操作,并将滤除毛刺之后的信号发送给所述I2C主机单元23或I2C从机单元24。
在实际的应用中,本发明实施例中的各单元的功能如下:
CPU接口单元21,还进一步用于在有总线访问I2C控制器2的存储单元22或CPU接口单元21自身需要时钟时,向外部时钟管理模块(该时钟管理模块可通过现有的装置实现)发送时钟请求。
CPU接口单元21还进一步用于,在I2C控制器2为主机状态时,接收并输出CPU发送的为该I2C控制器2配置的工作参数,工作参数包括主机码、从设备地址和时钟预分频系数;以及,在I2C控制器2为从机状态时,接收并输出CPU发送的为该I2C控制器2配置的工作参数,该工作参数包括从设备地址;以及,在需要进行I2C数据传输时,启动I2C传输。
本发明实施例中的主机码用于表征Hs模式传输的开始,物理上为8bit数据,如00001XXX;从设备地址为7bit位。
I2C主机单元23具体应用为:用状态机控制I2C控制器2产生的I2C总线操作周期,产生SCL和SDA信号,如图2A、2B、2C、2D中的SCL_out、SDA_out。
当CPU发送的工作模式配置参数对应的工作模式为高速Hs模式时:
I2C主机单元23将工作模式切换至与工作模式配置参数对应的工作模式,具体应用为:通过I2C总线将主机码和起始条件发送给与其通信的第二I2C控制器;在接收到第二I2C控制器返回的不响应位(不响应位,用于表征不响应,物理上表现为SDA信号为低电平)时,将工作模式切换至Hs模式;
I2C从机单元24将工作模式切换至与工作模式配置参数对应的工作模式,具体应用为:通过I2C总线接收第二I2C控制器发送的起始条件和主机码,并向第二I2C控制器发送不响应位,将工作模式切换至Hs模式。
较佳地,I2C主机单元23进一步用于,在接收到第二I2C控制器发送的不响应位时,生成Hs模式启动信号,以指示滤波单元26根据Hs模式对应的毛刺抑制要求对毛刺滤除周期进行调整(如一般情况下设置为0~10ns)以及,指示时钟预分频单元25调整SCL信号的高低电平占空比和SCL预分频频率。I2C从机单元24进一步用于,在向第二I2C控制器发送不响应位时,生成Hs模式启动信号,以指示滤波单元26根据所述Hs模式对应的毛刺抑制要求对毛刺滤除周期进行调整(如一般情况下设置为0~10ns);以及,指示时钟预分频单元25调整SCL信号的高低电平占空比和SCL预分频频率。
本发明实施例中,F/S模式对应的毛刺抑制要求对应的毛刺滤除周期为0~50ns,Hs模式对应的毛刺抑制要求对应的毛刺滤除周期为0~10ns。
较佳地,I2C主机单元23在切换至Hs模式之后,向第二I2C控制器发送重复起始条件、从设备地址和R/W位;接收到第二I2C控制器返回的响应位时,与第二I2C控制器进行通信;I2C从机单元24在切换至Hs模式之后,接收第二I2C控制器发送的重复起始条件、从设备地址和R/W位,对接收到的从设备地址验证成功后,向第二I2C控制器返回响应位,并与第二I2C控制器进行通信。
I2C主机单元23与第二I2C控制器进行通信,具体为:从存储单元22中获取发送数据,并将获取的发送数据通过I2C总线发送至第二I2C控制器;以及,将第二I2C控制器发送的发送数据存储至存储单元22中,以供CPU读取。I2C从机单元24与第二I2C控制器进行通信,具体为:从存储单元22中获取发送数据,并将获取的发送数据通过I2C总线发送至第二I2C控制器;以及,将第二I2C控制器发送的发送数据存储至所述存储单元22中,以供CPU读取。
较佳地,为提高总线访问效率,上述存储单元22一次可存储32字节。
较佳地,为保证I2C控制器2能够在较长的一段时间内工作在Hs模式下,I2C主机单元23在与第二I2C控制器完成一次数据传输之后,向第二实现高速I2C传输装置发送重复起始条件(重复起始条件,用于表征I2C控制器在进入Hs模式之后,保持该I2C的工作模式为Hs模式,物理上表现为SCL信号为高电平,SDA信号为从高电平向低电平切换),以继续工作在Hs模式下,当需要将该I2C控制器2返回F/S模式时,只需要发送停止条件(停止条件,用于表征停止I2C总线传输,物理上表现为SCL信号为高电平,SDA信号为从低电平向高电平切换)即可。I2C从机单元24在与第二I2C控制器完成一次数据传输之后,向第二实现高速I2C传输装置发送重复起始条件,以继续工作在Hs模式下,当需要将该I2C控制器2返回F/S模式时,只需要发送停止条件即可。与现有技术为保证I2C控制器工作在Hs模式需要重复发送主机码相比,本发明技术方案采用发送重复起始条件的方式减少了主机码的额外开销。
I2C从机单元24具体应用为:用状态机控制I2C控制器2产生的I2C总线操作周期,根据接收到的SCL信号接收SDA信号;以及,在I2C控制器2的工作模式为Hs模式时,检测并接收第二I2C控制器发送的起始条件和主机码,并向该第二I2C控制器发送不响应位。
时钟预分频单元25具体应用为:当I2C控制器2工作在F/S模式下时,将时钟预分频系数调整为与F/S模式对应的时钟预分频系数;当I2C控制器2工作在Hs模式下时,将时钟预分频系数调整为与Hs模式对应的时钟预分频系数。
本发明实施例中的时钟预分频单元25,包括两位可编程的预装载时钟分频子单元和八位可编程的SCL串行时钟分频子单元(预装载时钟分频子单元、SCL串行时钟分频子单元在附图中未标注),以支持输入时钟的宽频范围。
时钟预分频单元25实现时钟的频分,具体为:采用减法计数器计数分频,减法计数器的初值为预分频系数,当减法计数器计数为零时,输出高电平预分频时钟脉冲。可通过调整预分频系数来调整减法计数器的长度,从而改变预分频时钟的频率。时钟预分频单元25的跳转计数采用加法计数器计数,通过调整加法计数器的终值来调整加法计数器的长度,从而调整产生SCL信号的频率(一般情况下,当I2C控制器2工作在Hs模式下时,将该频率调整为3.4Mhz左右,当I2C控制器2工作在F/S模式下时,将该频率调整为100Khz/400Khz左右),当加法计数器的计数值在设定的预置范围时,输出高电平的SCL信号。通过调整该设定的阈值范围来调整SCL信号为高电平的长度,从而调整SCL信号的占空比,本发明实施例中,一般情况下,当I2C控制器2工作在F/S模式下时,将该SCL信号的占空比调整为1∶1;当I2C控制器2工作在Hs模式下时,将该SCL信号的占空比调整为1∶2。
较佳地,为支持时钟自动关断,从而在上电状态下最大限度的节省功耗,在CPU访问I2C控制器2时,或I2C控制器2进行I2C数据传输时,该I2C控制器2向外部时钟管理模块发送时钟请求,由该外部时钟管理模块在接收到时钟请求时开启时钟预分频单元25,以提供SCL时钟信号,在其他情况下,关断时钟预分频单元25,以节省功耗。
滤波单元26具体应用为:同步I2C总线信号(包括SCL信号、SDA信号),如图2A~2D中的SCL_in、SDA_in,并滤除接收到的I2C总线信号的毛刺,将滤除毛刺之后的I2C总线信号发送给I2C主机单元23或I2C从机单元24。
需要说明的是,本发明实施例中的I2C控制器2在某一工作时间内,只能设置为主机状态或从机状态,与外围的其他通信设备进行数据传输时,不能同时设置为主机状态与从机状态。
为更清楚详细的描述本发明技术方案,下面结合流程图来对本发明实施例中实现高速I2C传输的方法进行详细的描述,该方法为采用上述I2C控制器来实现I2C高速传输。
参见图3,为本发明实施例中在I2C控制器2为主机状态时,进行I2C传输的流程图,该流程包括步骤:
步骤301、在I2C控制器2处于空闲状态时,CPU通过CPU接口单元21将该I2C控制器2的工作模式配置为Hs模式,并配置I2C控制器2的I2C主机单元23的主机码、从设备地址以及时钟预分频系数。
步骤302、I2C控制器2的I2C主机单元23在F/S模式下,通过I2C总线向其他I2C控制器(用第二I2C控制器)发送起始条件和主机码。
步骤303、I2C主机单元23在检测并接收到第二I2C控制器发送的不响应位时,产生Hs模式启动信号并发送至时钟预分频单元25,以指示时钟预分频单元25调整时钟预分频系数和调整SCL信号的预分频频率。
步骤304、I2C主机单元23切换至Hs模式,并向该第二I2C控制器发送重复起始条件、从设备地址和R/W位。R/W为1bit位,用于决定数据的传输方向。
步骤305、I2C主机单元23在接收到第二I2C控制器发送的响应位后,进行数据读、写操作。
该步骤中,I2C主机单元23进行数据读、写操作,具体为:从存储单元22中读取发送数据,并将该发送数据通过I2C总线发送至第二I2C控制器;I2C主机单元23从I2C总线上接收第二I2C控制器发送的发送数据,并将接收到的发送数据写入到存储单元22中,以供CPU读取该数据。
步骤306、I2C主机单元23在完成一次数据访问之后,若需要继续工作在Hs模式下时向第二I2C控制器发送重复起始条件,以使I2C主机单元23继续工作在Hs模式下;若需要切换回F/S模式时,I2C主机单元23向第二I2C控制器发送停止条件。
较佳地,上述步骤303还包括步骤:I2C主机单元23向滤波单元26发送Hs模式启动信号,以指示滤波单元26根据Hs模式对应的毛刺抑制要求来调整滤除毛刺的周期;以及,I2C主机单元23将生成的Hs模式启动信号发送至时钟预分频单元25,以指示时钟预分频单元25根据Hs模式调整时钟预分频系数。
本发明技术方案中,如何切换I2C控制器的工作模式,并不仅限于如步骤306所述的方式,还可以是其他替换方式,如:当I2C控制器一旦处于Hs模式时,则一直保留在Hs模式,直到接收到用于表征退出Hs模式的指令之后,自动从Hs模式切换至F/S模式。
参见图4,为本发明实施例中在I2C控制器2为从机状态时,进行I2C传输的流程图,该流程包括以下步骤:
步骤401、在I2C控制器2处于空闲状态时,CPU接口单元21将该I2C控制器2的工作模式配置为Hs模式,配置从设备地址,并启动I2C传输。
步骤402、I2C从机单元24在F/S模式下,检测并接收第二I2C控制器发送的起始条件和主机码。
步骤403、I2C从机单元24向该第二I2C控制器发送不响应位。
步骤404、I2C从机单元24切换至Hs模式下,检测并接收第二I2C控制器发送的重复起始条件、从设备地址和R/W位。
步骤405、I2C从机单元24对接收到的从设备地址进行验证,并在验证成功后向第二I2C控制器发送响应位,进行数据访问。
该步骤中,I2C从机单元24进行数据访问,具体为:从存储单元22中读取发送数据,并将该发送数据通过I2C总线发送至第二I2C控制器;I2C从机单元24从I2C总线上接收第二I2C控制器发送的发送数据,并将接收到的发送数据写入到存储单元22中,以供CPU读取该数据。
步骤406、I2C从机单元24在完成一次数据访问之后,检测并接收第二I2C控制器发送的重复起始条件,继续工作在Hs模式下。
该步骤中,若I2C从机单元24检测到第二I2C控制器发送的停止条件时,将工作模式切换至F/S模式。
较佳地,上述步骤403还包括步骤:I2C从机单元24产生Hs模式启动信号并发送至滤波单元26,以指示滤波单元26根据Hs模式对应的毛刺抑制要求来调整滤除毛刺的周期。
相应地,本发明实施例中,如何切换I2C从机单元的工作模式,并不仅限于步骤406所述的方式,还可以是在I2C从机单元24启动并在Hs模式下工作时,一直工作在Hs模式下,当接收到第二I2C控制器发送的用于表征切换至F/S模式的指令时,将I2C从机单元24的工作模式切换至F/S模式。
采用本发明技术方案,一方面,采用较为简单的硬件设备实现了I2C高速传输,并适用于I2C总线的高速传输模式,提高数据通信速率;另一方面,本发明技术方案既支持Hs模式又支持F/S模式,既可以实现I2C主机状态的I2C高速传输也可以实现I2C从机状态的I2C高速传输,因此,采用本发明技术方案具有使用方便、灵活,适用性强等特点;再一方面,本发明技术方案实现了CPU总线与高速I2C总线的对接,支持Hs模式的主机与从机状态,实现了与其它I2C控制器的相互通信。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (16)

1.一种I2C传输装置,其特征在于,包括:
CPU接口单元,用于连接中央处理器CPU,接收并存储所述CPU发送的工作状态配置参数、工作模式配置参数,以及,接收并输出发送数据与接收数据,所述发送数据为所述CPU通过I2C总线发送的数据,所述接收数据为通过I2C总线发送给所述CPU的数据;
存储单元,与所述CPU接口单元相连接,用于存储所述CPU接口单元输出的所述发送数据和接收数据;
I2C主机单元,与所述CPU接口单元相连接,用于根据所述CPU接口单元存储的工作状态配置参数确定为主机状态时,将工作模式切换至与所述工作模式配置参数对应的工作模式,并实现主机操作;
I2C从机单元,与所述CPU接口单元相连接,用于根据所述CPU接口单元存储的工作状态配置参数确定为从机状态时,将工作模式切换至与所述工作模式配置参数对应的工作模式,并实现从机操作。
2.如权利要求1所述的装置,其特征在于,还包括:
时钟预分频单元,与所述I2C主机单元相连接,用于在I2C主机单元确定为主机状态时,根据所述工作模式配置参数调整时钟预分频系数,并生成与该工作模式对应的预分频串行时钟信号。
3.如权利要求2所述的装置,其特征在于,还包括:
滤波单元,分别与所述I2C主机单元、I2C从机单元相连接,用于对I2C总线信号进行毛刺滤除操作,并将滤除毛刺之后的信号发送给所述I2C主机单元或I2C从机单元。
4.如权利要求1~3任一项所述的装置,其特征在于,所述工作模式配置参数对应的工作模式为高速Hs模式;
所述I2C主机单元将工作模式切换至与所述工作模式配置参数对应的工作模式,具体应用为:通过I2C总线将主机码和起始条件发送给与其通信的第二实现高速I2C传输装置;在接收到所述第二实现高速I2C传输装置返回的不响应位时,将工作模式切换至Hs模式;
所述I2C从机单元将工作模式切换至与所述工作模式配置参数对应的工作模式,具体应用为:通过I2C总线接收所述第二实现高速I2C传输装置发送的起始条件和主机码,向所述第二实现高速I2C传输装置发送不响应位,将工作模式切换至Hs模式。
5.如权利要求4所述的装置,其特征在于,所述I2C主机单元进一步用于,在接收到所述第二实现高速I2C传输装置发送的不响应位时,生成Hs模式启动信号;以指示所述滤波单元根据所述Hs模式对应的毛刺抑制要求对毛刺滤除周期进行调整,并指示所述时钟预分频单元根据Hs模式调整时钟预分频系数;
所述I2C从机单元进一步用于,在向所述第二实现高速I2C传输装置发送不响应位时,生成Hs模式启动信号,以指示所述滤波单元根据所述Hs模式对应的毛刺抑制要求对毛刺滤除周期进行调整。
6.如权利要求5所述的装置,其特征在于,所述I2C主机单元进一步用于,在切换至Hs模式之后,向所述第二实现高速I2C传输装置发送重复起始条件、从设备地址和R/W位;接收到所述第二实现高速I2C传输装置返回的响应位时,与所述第二实现高速I2C传输装置进行通信;
所述I2C主机单元进一步用于,在切换至Hs模式之后,接收所述第二实现高速I2C传输装置发送的重复起始条件、从设备地址和R/W位,对接收到的从设备地址验证成功后,向所述第二实现高速I2C传输装置返回响应位,并与所述第二实现高速I2C传输装置进行通信。
7.如权利要求6所述的装置,其特征在于,所述I2C主机单元与所述第二实现高速I2C传输装置进行通信,具体为:从所述存储单元中获取待发送数据,并将获取的待发送数据通过I2C总线发送至所述第二实现高速I2C传输装置;以及,将所述第二实现高速I2C传输装置发送的数据存储至所述存储器中;
所述I2C从机单元与所述第二实现高速I2C传输装置进行通信,具体为:从所述存储单元中获取待发送数据,并将获取的待发送数据通过I2C总线发送至所述第二实现高速I2C传输装置;以及,将所述第二实现高速I2C传输装置发送的数据存储至所述存储器中。
8.如权利要求7所述的装置,其特征在于,所述I2C主机单元进一步用于,在与所述第二实现高速I2C传输装置完成一次数据传输之后,向所述第二实现高速I2C传输装置发送重复起始条件,以继续工作在Hs模式下;
所述I2C从机单元进一步用于,在与所述第二实现高速I2C传输装置完成一次数据传输之后,向所述第二实现高速I2C传输装置发送重复起始条件,以继续工作在Hs模式下。
9.一种利用权利要求1所述装置进行I2C传输的方法,其特征在于,包括:
CPU接口单元接收并存储中央处理器CPU发送的工作状态配置参数、工作模式配置参数,以及,接收并输出发送数据与接收数据,所述发送数据为所述CPU通过I2C总线发送的数据,所述接收数据为通过I2C总线发送给所述CPU的数据;
存储单元存储所述CPU接口单元输出的所述发送数据和接收数据;
I2C主机单元根据所述CPU接口单元存储的工作状态配置参数确定为主机状态时,将工作模式切换至与所述工作模式配置参数对应的工作模式,并实现主机操作;
I2C从机单元根据所述CPU接口单元存储的工作状态配置参数确定为从机状态时,将工作模式切换至与所述工作模式配置参数对应的工作模式,并实现从机操作。
10.如权利要求9所述的方法,其特征在于,在所述I2C主机单元确定为主机状态之后,还包括步骤:
时钟预分频单元根据所述工作模式配置参数调整时钟预分频系数,并生成与该工作模式对应的预分频串行时钟信号。
11.如权利要求10所述的方法,其特征在于,还包括步骤:
滤波单元对I2C总线信号进行毛刺滤除操作,并将滤除毛刺之后的信号发送给所述I2C主机单元或I2C从机单元。
12.如权利要求9~11任一项所述的方法,其特征在于,所述工作模式配置参数对应的工作模式为高速Hs模式;
所述I2C主机单元将工作模式切换至与所述工作模式配置参数对应的工作模式,具体包括:所述I2C主机单元通过I2C总线将主机码和起始条件发送给与其通信的第二实现高速I2C传输装置;在接收到所述第二实现高速I2C传输装置返回的不响应位时,将工作模式切换至Hs模式;
所述I2C从机单元将工作模式切换至与所述工作模式配置参数对应的工作模式,具体包括:所述I2C从机单元通过I2C总线接收所述第二实现高速I2C传输装置发送的起始条件和主机码,并向所述第二实现高速I2C传输装置发送不响应位;将工作模式切换至Hs模式。
13.如权利要求12所述的方法,其特征在于,还包括步骤:
所述I2C主机单元在接收到所述第二实现高速I2C传输装置发送的不响应位,生成Hs模式启动信号;以指示所述滤波单元根据所述Hs模式对应的毛刺抑制要求对毛刺滤除周期进行调整,并指示所述时钟预分频单元根据Hs模式调整时钟预分频系数;
所述I2C从机单元在向所述第二实现高速I2C传输装置发送不响应位时,生成Hs模式启动信号,以指示所述滤波单元根据所述Hs模式对应的毛刺抑制要求对毛刺滤除周期进行调整。
14.如权利要求13所述的方法,其特征在于,还包括步骤:
所述I2C主机单元在切换至Hs模式之后,向所述第二实现高速I2C传输装置发送重复起始条件、从设备地址和R/W位;接收到所述第二实现高速I2C传输装置返回的响应位时,与所述第二实现高速I2C传输装置进行通信;
所述I2C主机单元在切换至Hs模式之后,接收所述第二实现高速I2C传输装置发送的重复起始条件、从设备地址和R/W位,对接收到的从设备地址验证成功后,向所述第二实现高速I2C传输装置返回响应位,并与所述第二实现高速I2C传输装置进行通信。
15.如权利要求14所述的方法,其特征在于,所述I2C主机单元与所述第二实现高速I2C传输装置进行通信,具体为:从所述存储单元中获取待发送数据,并将获取的待发送数据通过I2C总线发送至所述第二实现高速I2C传输装置;以及,将所述第二实现高速I2C传输装置发送的数据存储至所述存储单元中;
所述I2C从机单元与所述第二实现高速I2C传输装置进行通信,具体为:从所述存储单元中获取待发送数据,并将获取的待发送数据通过I2C总线发送至所述第二实现高速I2C传输装置;以及,将所述第二实现高速I2C传输装置发送的数据存储至所述存储单元中。
16.如权利要求15所述的方法,其特征在于,还包括步骤:
所述I2C主机单元在与所述第二实现高速I2C传输装置完成一次数据传输之后,向所述第二实现高速I2C传输装置发送重复起始条件,以继续工作在Hs模式下;
所述I2C从机单元在与所述第二实现高速I2C传输装置完成一次数据传输之后,向所述第二实现高速I2C传输装置发送重复起始条件,以继续工作在Hs模式下。
CN201010177987.6A 2010-05-18 2010-05-18 一种i2c传输方法及其装置 Expired - Fee Related CN102253910B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010177987.6A CN102253910B (zh) 2010-05-18 2010-05-18 一种i2c传输方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010177987.6A CN102253910B (zh) 2010-05-18 2010-05-18 一种i2c传输方法及其装置

Publications (2)

Publication Number Publication Date
CN102253910A true CN102253910A (zh) 2011-11-23
CN102253910B CN102253910B (zh) 2014-09-10

Family

ID=44981183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010177987.6A Expired - Fee Related CN102253910B (zh) 2010-05-18 2010-05-18 一种i2c传输方法及其装置

Country Status (1)

Country Link
CN (1) CN102253910B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105187899A (zh) * 2015-07-22 2015-12-23 深圳市特博赛科技有限公司 数据传输系统
CN105205023A (zh) * 2015-10-13 2015-12-30 上海斐讯数据通信技术有限公司 一种基于i2c总线的数据传输系统及方法
CN106844271A (zh) * 2017-03-13 2017-06-13 郑州云海信息技术有限公司 一种系统验证平台及方法
CN107239430A (zh) * 2017-06-05 2017-10-10 上海爱信诺航芯电子科技有限公司 通信方法、装置及系统
CN108259286A (zh) * 2016-12-29 2018-07-06 广州周立功单片机科技有限公司 主机与射频读卡器的i2c通信方法和系统
CN111221760A (zh) * 2018-11-23 2020-06-02 珠海格力电器股份有限公司 一种i2c总线的通信控制方法、装置及存储介质
CN112698683A (zh) * 2020-12-28 2021-04-23 深圳市合信自动化技术有限公司 一种可配置总线解决传输延时数据出错的方法、装置及plc
CN113986810A (zh) * 2021-12-27 2022-01-28 深圳贝特莱电子科技股份有限公司 一种提高i2c通信性能的系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050060472A1 (en) * 2003-09-12 2005-03-17 Mantey Paul J. Communications bus transceiver
CN101169673A (zh) * 2007-10-15 2008-04-30 中兴通讯股份有限公司 实时时钟芯片接口电路的控制方法及实时时钟控制电路

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050060472A1 (en) * 2003-09-12 2005-03-17 Mantey Paul J. Communications bus transceiver
CN101169673A (zh) * 2007-10-15 2008-04-30 中兴通讯股份有限公司 实时时钟芯片接口电路的控制方法及实时时钟控制电路

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
蒋俊华: "基于FPGA的I2C总线控制器的设计", 《中国优秀硕士学位论文全文数据库》 *
龚璇: "无线传感器网络节点芯片中I2C控制器的设计", 《中国优秀硕士学位论文全文数据库》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105187899A (zh) * 2015-07-22 2015-12-23 深圳市特博赛科技有限公司 数据传输系统
CN105187899B (zh) * 2015-07-22 2018-06-29 深圳市特博赛科技有限公司 数据传输系统
CN105205023A (zh) * 2015-10-13 2015-12-30 上海斐讯数据通信技术有限公司 一种基于i2c总线的数据传输系统及方法
CN105205023B (zh) * 2015-10-13 2018-04-06 上海斐讯数据通信技术有限公司 一种基于i2c总线的数据传输系统及方法
CN108259286A (zh) * 2016-12-29 2018-07-06 广州周立功单片机科技有限公司 主机与射频读卡器的i2c通信方法和系统
CN108259286B (zh) * 2016-12-29 2020-11-17 广州周立功单片机科技有限公司 主机与射频读卡器的i2c通信方法和系统
CN106844271A (zh) * 2017-03-13 2017-06-13 郑州云海信息技术有限公司 一种系统验证平台及方法
CN107239430A (zh) * 2017-06-05 2017-10-10 上海爱信诺航芯电子科技有限公司 通信方法、装置及系统
CN111221760A (zh) * 2018-11-23 2020-06-02 珠海格力电器股份有限公司 一种i2c总线的通信控制方法、装置及存储介质
CN112698683A (zh) * 2020-12-28 2021-04-23 深圳市合信自动化技术有限公司 一种可配置总线解决传输延时数据出错的方法、装置及plc
CN113986810A (zh) * 2021-12-27 2022-01-28 深圳贝特莱电子科技股份有限公司 一种提高i2c通信性能的系统及方法
CN113986810B (zh) * 2021-12-27 2022-03-11 深圳贝特莱电子科技股份有限公司 一种提高i2c通信性能的系统及方法

Also Published As

Publication number Publication date
CN102253910B (zh) 2014-09-10

Similar Documents

Publication Publication Date Title
CN102253910B (zh) 一种i2c传输方法及其装置
CN108228492B (zh) 一种多通道ddr交织控制方法及装置
CN110471872B (zh) 一种基于zynq芯片实现m-lvds总线数据交互系统和方法
CN108132897B (zh) 一种基于zynq平台软核的srio控制器
CN110837486B (zh) 一种基于FPGA的FlexRay-CPCIe通信系统
CN102243619A (zh) 一种基于fpga实现多路i2c总线端口扩展的方法
CN108255776B (zh) 一种兼容apb总线的i3c主设备、主从系统及通信方法
CN108170617B (zh) 一种i3c设备及通信方法
CN102253913B (zh) 一种对多板卡端口进行状态获取和输出控制的装置
CN201604665U (zh) 一种列控中心通信接口设备
CN107908589B (zh) I3c验证从设备、主从设备的通信验证系统及方法
CN110635985A (zh) 一种FlexRay-CPCIe通信模块
CN104834620A (zh) 串行外设接口spi总线电路、实现方法以及电子设备
CN105117319A (zh) 基于fpga实现对多路mdio设备实时监控的方法
CN108920401B (zh) 多主多从的i2c通信方法、系统及节点设备
CN112650701A (zh) 一种精简串行传输电路
CN103901814A (zh) 一种多轴运动数控系统
CN102231700B (zh) 交换卡切换信息的下发方法和交换卡热备份系统
US10331592B2 (en) Communication apparatus with direct control and associated methods
CN112579495A (zh) Gpio控制器
CN204706031U (zh) 串行外设接口spi总线电路以及电子设备
CN114996184A (zh) 兼容实现spi或i2c从机的接口模块及数据传输方法
CN201378316Y (zh) 通用输入/输出接口扩展电路和具有该电路的移动终端
CN212324117U (zh) 一种rs485总线多主机竞争切换系统
WO2009069094A1 (en) Method and device for routing data between components

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20111123

Assignee: SHENZHEN ZTE MICROELECTRONICS TECHNOLOGY CO., LTD.

Assignor: ZTE Corporation

Contract record no.: 2015440020319

Denomination of invention: I2C transmission method and device thereof

Granted publication date: 20140910

License type: Common License

Record date: 20151123

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140910

Termination date: 20170518