一种调节iic总线上拉电阻的方法、装置及iic总线设备的制作方法

文档序号:6586537阅读:213来源:国知局
专利名称:一种调节iic总线上拉电阻的方法、装置及iic总线设备的制作方法
技术领域
本发明涉及IIC总线系统设计方案优化领域,尤其一种调节IIC总线上拉电阻的
方法、装置及nc总线设备。
背景技术
现有技术中,内部集成电路总线(inter integrated circiut bus,IIC)是一种二线传输的体制,包括一条串行数据线(serial Data Line,SDA)和一条串行时钟线(serialClock Line, SCU 。 当IIC总线上连接IIC设备时的连接示意图,如图1所示 Rp :为IIC总线的上拉电阻,跨接在IIC总线和直流电源VDD之间; Rs :为端接电阻,串接在IIC设备和IIC总线之间,在电路设计中,Rs在设计完成
后不再修改; VDD :IIC总线和IIC设备的直流电源,为IIC总线的工作电压,根据不同的设计要求,可选择不同的电压值; 容性负载Cb :在IIC设备连接到IIC总线上时,IIC总线走线的对地电容和IIC设
备接脚的对地电容的电容总和。
对地电容与零电平参考面之间的电容。 零电平参考面在硬件设计过程中,器件的零电平接脚通常是连接一起的,在设计时,这些零电平接脚相互之间通过整片的铜皮进行连通,这些零电平的整片铜皮称为零电平参考面。 在IIC规范中,对SDA, SCL的上升时间有如下的规范规定 上升时间tr :IIC总线信号电平从0. 3VDD变化到0. 7VDD所需要的时间,如表1所

参数符号标准模式快速模式单位
最大值最大值
SDA和SCL信号 的上升时间tr1000300ns 表l IIC总线的上升时间tr由上拉电阻Rp ,端接电阻Rs ,容性负载Cb共同决定,在I IC总线上升时间确定时,上拉电阻Rp,端接电阻Rs,容性负载Cb的相互关系如图2所示。
由图2可知IIC总线的上升时间主要由容性负载Cb和上拉电阻Rp决定,在端接电阻Rs为一定数值时,IC总线上升时间tr近似与上拉电阻Rp和容性负载Cb的乘积值成正比,即tr = Rp*Cb。在IIC总线上升时间tr保持不变时,若IIC总线的容性负载Cb增
4加,为保证IIC总线的上升时间不变,需要减小上拉电阻Rp的数值。 IIC设备的IIC总线驱动能力在2mA 4mA量级,如果RP阻值过小,VDD灌入端口 的电流将较大,这样会导致端口输出的低电平值增大(12C协议规定,端口输出低电平的最 高允许值为0. 4V);如果灌入端口的电流过大,还可能损坏端口 。故通常上拉电阻RP应选取 不低于1KQ的电阻(当VDD = 3V时,灌入电流不超过3mA)。因此上拉电阻RP不宜过小, 一般不低于1KQ 。在IIC总线设计时,若IIC设备的数量不确定,则上拉电阻RP不应用最 小值进行设计。 现有的IIC电路,在设计时常采用固定阻值的上拉电阻Rp进行IIC总线的上拉, 如下图3所示 上述阻值固定的上拉方法存在的缺点包括 在硬件设备中IIC设备的数量根据用户的需要是不断变化的,在IIC设备增加时 (为便于理解,以增加1个IIC设备的情形举例说明),如下图4所示
在上拉电阻rp保持不变时,具体存在以下问题 在IIC总线外接1个IIC设备时,IIC总线上升时间trl = RpWbl,其中Cbl为 IIC总线接1个IIC设备时的容性负载。 如图4所示,在IIC总线外接2个IIC设备时,IIC总线上升时间tr2 = Rp*(Cbl+Cb2),其中Cbl为IIC总线接1个IIC设备时的容性负载,Cb2为IIC总线接在增 加1个IIC设备时,IIC总线增加的容性负载。
由以上计算易知,tr2 > trl。 故,在上拉电阻rp保持不变时,若增加IIC总线上的IIC设备数,则会导致IIC总 线的上升时间Tr增加。 在上拉电阻rp保持不变时,存在这样的可能在IIC总线上的IIC设备不断增加 时,IIC总线的IIC总线的容性负载cb不断增加,若IIC总线的上拉电阻rp保持不变,则 IIC总线的上升时间Tr就可能超过IIC规范中IIC总线上升时间的最大值要求,使IIC总 线上升时间不符合IIC总线的规范要求。 以IIC总线工作在400kbps速率的一个实际应用为例,按照规范要求,这时IIC总 线信号上升时间tr应小于300ns。 若IIC总线上的上拉电阻Rp为4. 7KQ 。增加一个IIC设备时,IIC总线的容性负 载增加IOPF。则可知,若IIC总线连接6个IIC设备,则IIC总线的容性负载cb = 6*10PF =60PF,这时IIC总线的上升时间tr = Rp承Cb,为282ns,符合上升时间tr小于300ns的要求。 在11C总线增加连接到7个11C设备时,11C总线的容性负载cb = 7* 1OPF = 70PF, 这时IIC总线的上升时间tr = Rp*Cb,为329ns.,不符合上升时间tr应小于300ns的要求。

发明内容
本发明提供一种调节IIC总线上拉电阻的方法、装置及IIC总线设备,用于克服现 有技术中多个IIC设备添加到IIC电路中导致IIC总线信号的上升时间不符合IIC规范的 要求的问题。 —种调节调节IIC总线上拉电阻的方法,包括
获取内部集成电路IIC总线的电压信号,并对获取到的电压信号进行微分处理, 得到描述所述IIC总线信号的脉冲信号; 当所述脉冲信号是描述上升过程的正脉冲信号并且所述正脉冲信号的宽度超过 设定阈值时,根据所述正脉冲的宽度和所述设定阈值调节跨接在IIC总线和IIC设备的直 流电源线之间用于调节IIC总线上拉电阻的附加电阻的阻值。
—种调节IIC总线上拉电阻的装置,包括 微分处理模块,用于获取内部集成电路IIC总线的电压信号,并对获取到的电压 信号进行微分处理,得到描述所述IIC总线信号的脉冲信号; 阻值调节模块,用于当所述脉冲信号是描述上升过程的正脉冲信号并且所述正脉
冲信号的宽度超过设定阈值时,根据所述正脉冲的宽度和所述设定阈值调节跨接在IIC总
线和IIC设备的直流电源线之间用于调节IIC总线上拉电阻的附加电阻的阻值。 —种IIC总线设备,包括IIC总线、IIC设备、端接电阻、直流电源线、跨接在IIC总
线和直流电源线之间的第一电阻,还包括附加电阻和所述的一种调节IIC总线上拉电阻的
装置,该附加电阻与所述第一电阻并联,并且附加电阻与所述第一电阻并联后的电阻为IIC
总线上拉电阻的等效电阻。 本发明实施例所提供的方法和装置,可以通过利用检测IIC总线电压的方式对 IIC总线的上升时间进行检测,实现IIC总线上升时间的脉冲宽度的检测,进而根据上升时 间的脉冲宽度对IIC总线的上拉电阻进行调整,实现IIC总线上升时间的调整。


图1为现有技术中IIC总线上一个IIC设备的连接示意图; 图2为现有技术中上拉电阻Rp、容性负载Cb与IIC总线上升时间的关系; 图3为现有技术中采用固定数值上拉电阻Rp的IIC总线示意图; 图4为现有技术中在IIC总线上连接2个IIC设备的示意图; 图5为本发明实施例一种调节IIC总线上拉电阻的方法流程图; 图6为本发明实施例中IIC总线正脉冲信号的示意图; 图7为本发明实施例中IIC总线负脉冲信号的示意图; 图8为正脉冲宽度检测电路结构图; 图9为本发明实施例一种调节IIC总线上拉电阻的装置; 图10为本发明实施例IIC总线设备的结构图; 图11为本发明实施例多个IIC总线设备的连接结构图。
具体实施例方式
本发明实施例调节IIC总线上拉电阻的方法,该方法包括获取内部集成电路IIC 总线的电压信号,并对获取到的电压信号进行微分处理,得到描述所述IIC总线信号的脉 冲信号;当所述脉冲信号是描述上升过程的正脉冲信号并且所述正脉冲信号的宽度超过设 定阈值时,根据所述正脉冲的宽度和所述阈值调节跨接在IIC总线和IIC设备的直流电源 线之间用于调节IIC总线上拉电阻的附加电阻的阻值。 下面结合说明书附图对本发明一种调节IIC总线上拉电阻的方法的具体实施方式
进行详细说明。 如图5所示,本发明专利实现在IIC总线的容性负载发生变化时,通过对IIC信号 (SCL或SDA)的上升时间进行分析,来改变IIC总线的上拉电阻值,从而使IIC总线的上升 时间符合IIC总线规范的要求。具体的实施步骤如下 步骤501 ,获取内部集成电路IIC总线的电压信号,并对获取到的电压信号进行微 分处理,得到描述所述IIC总线信号的脉冲信号; 其中内部集成电路IIC总线包括SCL信号和SDA信号,则对IIC总线的电压信号 的电压信号进行微分处理包括 分别获取SCL信号和SDA信号的电压信号,并分别对获取到的电压信号进行微分 处理得到脉冲信号,为正脉冲(对应SDA, SCL信号的上升过程)或负脉冲(对应SDA, SCL 信号的下降过程)。 SDA, SCL信号在上升或下降完成之后,为直流信号,直流信号的斜率为O,即微分 之后为0。 SDA、 SCL信号在上升期间和下降期间,信号的斜率发生变化,这种变化可通过微 分处理进行获取。其中SDA, SCL信号的上升期间经过微分处理后得到正脉冲,SDA, SCL信 号的下降期间经过微分处理后得到负脉冲。信号在微分处理之后,进行放大,放大的目的是 得到可供处理的电压信号。微分处理波形中正脉冲的时间宽度与IIC原始信号的上升时间 相同,负脉冲的时间宽度与IIC原始信号的下降时间相同。判别的对应关系如下
如图6所示,若检测到的信号为正脉冲信号,则判断此时IIC总线为上升过程,且 正脉冲信号的宽度对应于IIC总线的上升时间。 如图7所示,若检测到的信号为负脉冲信号,则判断此时IIC总线为下降过程,且 负脉冲信号的宽度对应于IIC总线的下降时间。 步骤502,判断所述脉冲信号是否为正脉冲,如果是则判断正脉冲信号的宽度是否
超过设定阈值,如果超过阈值,根据所述正脉冲的宽度和所述阈值调节跨接在IIC总线和
IIC设备的直流电源线之间用于调节IIC总线上拉电阻的附加电阻的阻值。 该步骤中,正脉冲的宽度对应于IIC总线的上升时间,因此通过正脉冲宽度检测
电路对正脉冲的宽度进行检测,并将检测结果与预设数值进行比较。若正脉冲宽度大于预
设定的数值,则表明正脉冲宽度,即nc总线的上升时间超出设定数值,不符合设定的数值
要求,需要进行调整;若正脉冲宽度小于预设定的数值,则表明正脉冲宽度,即IIC总线的
上升时间没有超出设定数值,符合设定的数值要求,不需要进行调整;在本发明实施例中,
设定数值可以取300ns,以满足标准模式和快速模式下的IIC总线上升时间要求。 其中,所述SCL信号和SDA信号的脉冲信号分别对应一个阈值,并且,所述附加电
阻也是分别于SCL信号和SDA信号对应的,SCL信号对应的附加电阻,对应的跨接在SCL信
号线和IIC设备的直流电源线之间;SDA信号对应的附加电阻跨接在SDA信号线和IIC设
备的直流电源线之间。 在步骤502中,判断所述正脉冲信号的宽度是否超过设定阈值的具体电路可以 是,如图8所示 当上升沿触发电路检测到输入正脉冲信号从低电平跳变到高电平时,上升沿触发 电路输出高电平给计数器,计数器开始计数。当输入正脉冲信号从高电平跳变到低电平时, 当下降沿触发电路检测到输入正脉冲信号从高电平跳变到低电平时,下降沿触发电路输出低电平给计数器,使计数器停止计数。 计数器的计数值可以转换为输入正脉冲信号的高电平时间,即输入正脉冲信号 的高电平时间二计数器的计数值X时钟源周期。
计数器的计数值输出到计数比较器,与计数比较器的预置阈值进行比较。在快速
模式下,计数比较器的预置阈值可设置为300ns/时钟源周期;在标准模式下,计数比较器
的预置阈值可设置为1000ns/时钟源周期。若时钟源的时钟周期为10ns(即时钟频率为
100腿z),在快速模式下,计数比较器的预置阈值可设置为300ns/10ns = 30。在标准模式
下,计数比较器的预置阈值可设置为1000ns/10ns = 100。 通过计数比较器计算得到正脉冲信号的宽度与所述阈值的差值。 步骤503,再次获取描述所述IIC总线信号的脉冲信号,当该脉冲信号是描述上
升过程的正脉冲信号并且所述正脉冲信号的宽度超过设定阈值时,调节所述附加电阻的阻
值;若所述脉冲信号的宽度与所述设定阈值的差值小于设定值,则停止调节所述附加电阻
的阻值。 如图9所示,根据上述方法,本发明实施例还提供一种调节IIC总线上拉电阻的装 置,包括 微分处理模块901 ,用于对内部集成电路11C总线的串行时钟线SCL和串行数据信 号线SDA的电压信号进行微分处理,得到描述所述串行时钟线SCL信号和串行数据信号线 SDA信号的脉冲信号; 阻值调节模块902,用于当所述脉冲信号是描述上升过程的正脉冲信号并且所述
正脉冲信号的宽度超过设定阈值时,根据所述正脉冲的宽度和所述阈值调节跨接在IIC总
线和IIC设备的直流电源线之间用于调节IIC总线上拉电阻的附加电阻的阻值。 为了是调节后的上拉电阻更为准确,在调节所述附加电阻时,本发明实施例中的
阻值调节模块902根据所述正脉冲的宽度和所述阈值调节跨接在IIC总线和IIC设备的直
流电源线之间用于调节IIC总线上拉电阻的附加电阻的阻值,具体为 计算得到正脉冲信号的宽度与所述阈值的差值,并根据该差值调节跨接在IIC总
线和IIC设备的直流电源线之间的附加电阻的阻值。 其中,为了使电压的上拉时间恢复到设定范围,该装置还包括微调模块903,用于 判断所述脉冲信号的宽度与所述设定阈值的差值是否小于设定值,如果是,则向所述阻值 调节模块发送停止调节所述附加电阻的阻值的命令,如果不是,则向所述阻值调节模块发 送继续调节所述附加电阻的阻值的命令。 如图10所示,本发明实施例还提供一种IIC总线设备,具体的结构为 包括IIC总线1001、第一电阻1002、 IIC设备1003、端接电阻1004和直流电源线
1005 ; 所述IIC设备1003和第一电阻1002分别跨接在所述直流电源线1005和IIC总 线1001之间,并且所述端接电阻1004与所述IIC设备1003串联,另外该装置还包括附加 电阻1006,该附加电阻1006与所述第一电阻1002并联,并且附加电阻与所述第一电阻并联 后的电阻为IIC总线上拉电阻的等效电阻; 另外,为了控制附加电阻连接到电路中,所述附加电阻1006还串联一个开关 1007。
另外,为了适用多个IIC设备加入电路或需多次调整附加电阻的阻值以便达到符 合规范要求上拉电阻值的情况,所述附加电阻包括多个,并且每个附加电阻都串联一个开关。 在本发明实施例中,将图9所述的装置应用到上述电路中,用于调节附加电阻的
阻值,当每个附加电阻连接一个开关时,图9所述的装置可以控制附加电阻上串联的开关
从而将多个附加电阻连接到电路中,从而达到调节IIC总线上拉电阻的目的。 其中,因IIC总线信号包括串行时钟线SCL信号和串行数据信号线SDA信号,则与
SCL信号对应的附加电阻跨接在SCL信号线和IIC设备的直流电源线之间,与SDA信号对应
的附加电阻跨接在SDA信号线和IIC设备的直流电源线之间。 在本发明实施例中,在确定需要调节上拉电阻的阻值后,将一个或多个附加电阻 连接到电路中。 则若正脉冲宽度超出设定数值,则根据不同的正脉冲宽度与所述阈值的差值,开 启不同的控制开关,控制不同阻值的电阻连接到电路中,其中,每个控制开关均与特定电阻 值的电阻连接,跨接在IIC总线以及VDD之间。 如图11所示,如果原电路设定的IIC上拉电阻为Rp0,当IIC总线连接到IIC设备
1时,容性负载Cb增加,若检测到IIC总线的上升时间超出IIC规范,可以采用减小IIC上
拉电阻的方法,使IIC总线的上升时间重新恢复到IIC规范的要求数值。 即开关K1闭合,根据并联电阻的欧姆定律,IIC总线的上拉电阻Rp = RpO*Rpl/
(RpO+Rpl),与原上拉电阻RpO相比,上拉电阻的电阻值减小。从而实现调整IIC总线上升
时间的目的。 当IIC总线上的IIC设备增加时,如图ll所示,原电路设定的IIC上拉电阻为 RpO,当IIC总线连接到IIC设备2时,容性负载Cb增加,若检测到IIC总线的上升时间超 出1IC规范,开关K2闭合,根据并联电阻的欧姆定律,IIC总线的上拉电阻Rp = RpO*Rp2/ (RpO+Rp2),与原上拉电阻RpO相比,上拉电阻的电阻值减小。从而实现调整IIC总线上升 时间的目的。 在本发明实施例中,跨接在IIC总线和IIC设备的直流电源线之间的电阻为可变
电阻,当需要调节上拉电阻的阻值时,将可变电阻调节到对应的电阻值。 应用本发明实施例提供的方法和装置,本发明实施例所提供的方法和装置,可以
通过利用检测IIC总线电流的方式对IIC总线的上升时间进行检测,实现IIC总线上升时
间的脉冲宽度的检测,进而根据上升时间的脉冲宽度对IIC总线的上拉电阻进行调整,实
现IIC总线上升时间的调整,使IIC总线的上升时间经过自动调整后重新符合IIC总线规
范的上升时间要求。 本发明所述的方法并不限于具体实施方式
中所述的实施例,本领域技术人员根据 本发明的技术方案得出其它的实施方式,同样属于本发明的技术创新范围。显然,本领域的 技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本 发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包 含这些改动和变型在内。
9
权利要求
一种调节IIC总线上拉电阻的方法,其特征在于,包括获取内部集成电路IIC总线的电压信号,并对获取到的电压信号进行微分处理,得到描述所述IIC总线信号的脉冲信号;当所述脉冲信号是描述上升过程的正脉冲信号并且所述正脉冲信号的宽度超过设定阈值时,根据所述正脉冲的宽度和所述设定阈值调节跨接在IIC总线和IIC设备的直流电源线之间用于调节IIC总线上拉电阻的附加电阻的阻值。
2. 如权利要求1所述的方法,其特征在于,根据所述正脉冲的宽度和所述设定阈值调节跨接在IIC总线和IIC设备的直流电源线之间用于调节IIC总线上拉电阻的附加电阻的阻值包括计算得到正脉冲信号的宽度与所述设定阈值的差值,并根据该差值调节跨接在IIC总线和IIC设备的直流电源线之间的附加电阻阻值。
3. 如权利要求l所述的方法,其特征在于,调节所述附加电阻的阻值之后,进一步包括获取描述所述IIC总线电压信号的脉冲信号,当该脉冲信号是描述上升过程的正脉冲信号并且所述正脉冲信号的宽度超过设定阈值时,继续调节所述附加电阻的阻值;若所述脉冲信号的宽度与所述设定阈值的差值小于设定值,则停止调节所述附加电阻的阻值。
4. 如权利要求1 3任一权项所述的方法,其特征在于,所述IIC总线为串行时钟线SCL或串行数据信号线SDA,所述串行时钟线SCL信号和串行数据信号线SDA信号分别对应一组设定阈值和附加电阻;SCL信号对应的附加电阻,跨接在SCL信号线和IIC设备的直流电源线之间;SDA信号对应的附加电阻跨接在SDA信号线和IIC设备的直流电源线之间。
5. —种调节IIC总线上拉电阻的装置,其特征在于,包括微分处理模块,用于获取内部集成电路IIC总线的电压信号,并对获取到的电压信号进行微分处理,得到描述所述IIC总线信号的脉冲信号;阻值调节模块,用于当所述脉冲信号是描述上升过程的正脉冲信号并且所述正脉冲信号的宽度超过设定阈值时,根据所述正脉冲的宽度和所述设定阈值调节跨接在IIC总线和IIC设备的直流电源线之间用于调节IIC总线上拉电阻的附加电阻的阻值。
6. 如权利要求5所述的装置,其特征在于,所述阻值调节模块根据所述正脉冲的宽度和所述设定阈值调节跨接在IIC总线和IIC设备的直流电源线之间用于调节IIC总线上拉电阻的附加电阻的阻值,具体为计算得到正脉冲信号的宽度与所述设定阈值的差值,并根据该差值调节跨接在IIC总线和IIC设备的直流电源线之间的附加电阻的阻值。
7. 如权利要求5所述的装置,其特征在于,该装置还包括微调模块,用于判断所述脉冲信号的宽度与所述设定阈值的差值是否小于设定值,如果是,则向所述阻值调节模块发送停止调节所述附加电阻的阻值的命令,如果不是,则向所述阻值调节模块发送继续调节所述附加电阻的阻值的命令。
8. —种IIC总线设备,包括IIC总线、IIC设备、端接电阻、直流电源线、跨接在IIC总线和直流电源线之间的第一电阻,其特征在于,还包括附加电阻和如权利要求5 7任一所述的一种调节IIC总线上拉电阻的装置,该附加电阻与所述第一电阻并联,并且附加电阻与所述第一电阻并联后的电阻为IIC总线上拉电阻的等效电阻。
9. 如权利要求8所述的设备,其特征在于,所述附加电阻为可变电阻。
10. 如权利要求8所述的设备,其特征在于,所述附加电阻包括多个,并且每个附加电阻都串联一个开关。
11. 如权利要求8 IO任一所述的设备,其特征在于,所述IIC总线为串行时钟线SCL或串行数据信号线SDA,所述串行时钟线SCL信号和串行数据信号线SDA信号分别对应一组设定阈值和附加电阻;SCL信号对应的附加电阻,跨接在SCL信号线和IIC设备的直流电源线之间;SDA信号对应的附加电阻跨接在SDA信号线和IIC设备的直流电源线之间。
全文摘要
本发明公开了一种调节IIC总线上拉电阻的方法、装置及IIC总线设备,该方法包括获取内部集成电路IIC总线的电压信号,并对获取到的电压信号进行微分处理,得到描述所述IIC总线信号的脉冲信号;当所述脉冲信号是描述上升过程的正脉冲信号并且所述正脉冲信号的宽度超过设定阈值时,根据所述正脉冲的宽度和所述设定阈值调节跨接在IIC总线和IIC设备的直流电源线之间用于调节IIC总线上拉电阻的附加电阻的阻值。应用本发明提供的方法和装置实现IIC总线上升时间的调整,使IIC总线上升时间符合IIC规范的要求。
文档编号G06F13/40GK101782885SQ20091026175
公开日2010年7月21日 申请日期2009年12月29日 优先权日2009年12月29日
发明者陈恩科 申请人:福建星网锐捷网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1