I2c总线控制电路的制作方法

文档序号:7683865阅读:276来源:国知局
专利名称:I2c总线控制电路的制作方法
技术领域
本发明涉及有效地使用电子机器等的内部设备间的接口中所使用的 I2C总线,能够缩短发送时间的I2C总线控制电路。
背景技术
I2C总线控制需要基于飞利浦公司所提倡的I2C规范(参照非专利文 献l)。但是,该规范不是指定I2C总线控制的实现方法的规范,而存在 各种实现方法。以往,与控制器连接的I2C总线控制电路中的处理单位是1字节成为 惯例。具体而言,现有的I2C总线控制电路,与进行控制及监视的控制器 连接,如果从控制器设定1字节的发送数据,则I2C总线控制电路发送1 字节的数据,进行发送后将中断信号传递到控制器,控制器重复进行在该 中断下设定发送数据这样的动作,从而实现连续的多个数据的发送。图1是现有的I2C总线控制电路110和与该I2C总线控制电路IIO连 接并进行监视及控制的控制器119的构成图。I2C总线控制电路IIO包括 与I2C总线123的数据线(SDA)连接的数据线控制部111;与I2C总线 123的时钟线(SCL)连接的时钟线控制部112;按照来自控制器119的设 定控制发送的发送控制部113;和进行状态管理、错误检测、定时控制等 的顺序(sequence)控制部116。发送控制部113具有发送数据寄存器114 和并行/串行变换部115,顺序控制部116具有调停部117和错误检测部 118。图2表示发送控制部113的发送数据寄存器114的构成。根据图1的I2C总线控制电路110,通过在发送控制部113的发送数 据寄存器114中设定数据,从而与顺序控制部116生成的定时同步,由并 行/串行变换部115对发送控制部113的发送数据寄存器114中所设定的数 据进行变换后传递给数据线控制部111,并且与顺序控制部116生成的定时同步,由数据线控制部111和时钟线控制部112分别对数据线(SDA) 和时钟线(SCL)进行控制。控制器119内置ROM120和RAM121,在ROM120中搭载有用于控 制I2C总线控制电路110的程序,在RAM121中保存有程序执行中所使用 的数据。控制器119通过执行ROM120的程序,控制I2C总线控制电路 110,来发送连续的多个数据。接下来,对程序的处理流程进行说明。STEP1:在RAM121中保存连续的多个发送数据和发送数据数。STEP2:与发送控制部113的发送数据寄存器114的结构对应,将设 置了连续的多个发送数据的第一字节和开始条件(condition)控制位的数 据(不设置停止条件控制位)设定到发送数据寄存器114,并在RAM121 的发送数据数中减去l。STEP3:由I2C总线控制电路110发送开始条件和1字节数据,在发 送后通过从I2C总线控制电路110的顺序控制部116传递到控制器119的 中断信号122,如果RAM121的发送数据数为1以上,则将连续的多个发 送数据的下一个1字节的发送数据(不设置开始条件控制位和停止条件控 制位)设定到发送数据寄存器114,在RAM121的发送数据数中减去1。 如果发送数据数为0时,将设置了停止条件控制位的数据(不设置开始条 件控制位和发送数据)设定到发送数据寄存器114,而I2C总线控制电路 110发送停止条件。STEP4:由I2C总线控制电路110发送1字节数据,在发送后通过从 I2C总线控制电路110的顺序控制部116传递到控制器119的中断信号 122,如果RAM121的发送数据数为1以上,则将连续的多个发送数据的 下一个1字节的发送数据(不设置开始条件控制位和停止条件控制位)设 定到发送数据寄存器114,在RAM121的发送数据数中减去l。当发送数 据数为0时,将设置了停止条件控制位的数据(不设置开始条件控制位和 发送数据)设定到发送数据寄存器114,而I2C总线控制电路110发送停 止条件。STEP5:重复进行STEP4。通过上述方式,由现有的I2C总线控制电路110实现了连续的多个数据的发送。图3是由现有的I2C总线控制电路110发送了连续的多个数据时的I2C总线123的波形的例子。此外,如图1所示,不仅将I2C总线控制电路110与控制器119分别构成为不同的设备并进行连接,还有时将I2C总线控制电路110与控制器119形成在同一设备内,作为内置有I2C总线控制电路的微控制器1010。 非专利文献l: 7< ]j 、;/7。7社THEI2C — BUS SPEC IFICATION VERSION2. 1JANUARY 20 00, ,y夕一氺y卜 〈URL:http:〃www. nxp. com/acrobat_download/literature/9398/39340011. pdf〉如上所述,现有的I2C总线控制电路110通过与控制器119连接进行 控制,来实现连续的多个数据的发送。在该构成中,通过来自I2C总线控 制电路110的中断信号122来实现发送数据的设定定时,连续的多个数据 的发送时间不仅依赖于I2C总线123的时钟周期,还包括控制器119的中 断处理的开销(overhead)。即,浪费了控制器119的中断处理的开销与 发送字节数的乘积的时间。再有,I2C总线的规范近年来被扩展而能够进行高速通信,并且中断 处理的开销的影响增大。另外,使AV机器等电子机器高功能化,机器内部的I2C总线的通信 量增大,这些也会影响到电子机器的性能。例如,当在TV中切换频道时, 按照切换后的频道的视频格式或音频格式同时发送与视频处理设备或音 频处理设备等对应的数据,以使在该发送期间启用视频静噪(video mute) 或音频静噪(sound mute)来不放出视频或音频成为惯例,但是如果发送 时间长,则视频静噪或者音频静噪所花费的时间变长,给视听者带来不愉 快的感觉。发明内容本发明目的在于,在现有的构成中增加连续发送功能,通过在连续发 送完成后发生中断,从而削减中断处理次数,来縮短通信时间。为了达到上述目的,本发明采用了如下构成,S卩, 一种I2C总线控制电路,与进行控制和观测的控制器连接而被使用,所述I2C总线控制电路 具有顺序控制部,其每当发送一个字节时,产生第一中断信号;和连续发送控制部,其将第二中断信号传递给所述控制器,其中所述第二中断信 号是以来自所述控制器的指定数中减去1的次数,使来自所述顺序控制部 的所述第一中断信号无效化,并且在第指定数次,使来自所述顺序控制部 的所述第一中断信号有效化的信号。(发明效果)根据本发明,在使用了I2C总线控制电路的电子机器中,只要仅对增 加了连续发送功能的I2C总线控制电路和控制器的程序进行修改,能够低 价且容易地实现通信时间的縮短,能够提高电子机器的性能。


图1是现有的I2C总线控制电路以及与该I2C总线控制电路连接而进行监视和控制的控制器的构成图。图2是现有的I2C总线控制电路的发送数据寄存器的构成图。图3是由现有的I2C总线控制电路进行了连续发送时的I2C总线的波形图。图4是本发明相关的I2C总线控制电路以及与该I2C总线控制电路连接而进行监视和控制的控制器的构成图。图5是对现有技术和本发明进行对比表示的I2C总线的波形图。 图6是图4的I2C总线控制电路中的NACK接收检测时的波形图。 图7是图4的I2C总线控制电路中的仲裁丢失(arbitration lost)错误检测时的波形图。图8是表示图4的I2C总线控制电路中的连续发送步骤的例子的图。 图9是表示图4的I2C总线控制电路中的连续发送步骤的其他例子的图。图10是本发明相关的其他I2C总线控制电路以及与该I2C总线控制 电路连接而进行监视和控制的控制器的构成图。图11是采用了本发明相关的I2C总线控制电路的广播接收装置的框图。图中110、 410、 910—12C总线控制电路;111、 411、 911、 928、 936 一数据线控制部;112、 412、 912、 929、 937 —时钟线控制部;113、 413、 913、 930、 938 —发送控制部;114、 414、 914、 931、 939—发送数据寄存 器;115、 415、 915、 932、 940 —并行/串行变换部;116、 416、 916、 933、 941—顺序控制部;117、 417、 917、 934、 942 —调停部;118、 418、 918、 935、 943—错误检测部;119、 419、 919一控制器;120、 420、 920—ROM; 121、 421、 921—ram; 122—中断信号;123、 429、 947 949—i2c总线; 422、 922 —连续发送控制部;423、 923 —连续发送字节数寄存器;424、 924—第一连续发送数据寄存器;425、 925 —第二连续发送数据寄存器; 426、 926—第(n—1)连续发送数据寄存器;427、 944 946 —第一中断 信号(a) ; 428、 950 952 —第二中断信号(b) ; 927 —切换控制寄存 器;1000 —指示输入部;1001—事件管理部;1002 — I2C发送控制部;1003 一调谐器部;1004—视频信号处理部;1005 —显示装置;1006—音频信号 处理部;1007-扬声器;1010、 4010、 9010—内置有I2C总线控制电路的 微控制器。
具体实施方式
以下,参照图4 图11,对本发明相关的I2C总线控制电路的具体例 及其应用例进行说明。图4是在现有的构成上增加了连续发送控制部422的I2C总线控制电 路410的构成图,其中现有的构成具备由发送数据寄存器414和并行/ 串行变换部415构成的发送控制部413;由调停部417和错误检测部418 构成的顺序控制部416;与i2c总线429的数据线(sda)连接的数据线 控制部411;以及,与I2C总线429的时钟线(SCL)连接的时钟线控制 部412。连续发送控制部422具有连续发送字节数寄存器423、第一连续 发送数据寄存器424、第二连续发送数据寄存器425至第(n—l)连续发 送数据寄存器426。与i2c总线控制电路410连接而进行监视和控制的控 制器419内置有ROM420和RAM42 i 。对通过图4的I2C总线控制电路410,进行由数据"l"、数据"2"、…、"n"构成的n字节(n:正整数)的数据发送的情况进行说明。首先,在连续发送控制部422的连续发送字节数寄存器423中设定n, 并且在第一连续发送数据寄存器424、第二连续发送数据寄存器425至第(n—l)连续发送数据寄存器426中设定数据"2"到数据"n"。其中, 假设连续发送控制部422的连续发送数据寄存器是(n—l)字节以上的寄 存器。并且,在发送控制部413的发送数据寄存器414设定所发送的作为第 一个字节的数据"1",通过发送控制部413进行发送。如果接收对第一 个数据"1"的ACK,则由顺序控制部416产生第一中断信号(A) 427, 向连续发送控制部422传递。连续发送控制部422将第一连续发送数据寄 存器424的数据"2"设定到发送控制部413的发送数据寄存器414,通过 I2C总线控制电路410进行下一次数据发送。进而,接收数据"2"的ACK, 由顺序控制部416将第一中断信号(A) 427传递给连续发送控制部422, 在连续发送控制部422中将第二连续发送数据寄存器425的数据3保存到 发送控制部413的发送数据寄存器414,通过I2C总线控制电路410进行 下一次数据发送。同样地,重复发送直到数据"n"为止。接收作为发送设定数的第n字节的数据"n"的ACK,通过顺序控制 部416产生第一中断信号(A) 427,则连续发送控制部422产生第二中断 信号(B) 428,向控制器419传递n字节的发送已完成的旨意(参照图5 的下半部)。因此,没有了以往的按每一个字节,对控制器产生中断,并且介入了 软件处理的处理(参照图5的上半部),从而能够实现总体的处理速度的 提高。进行了发送的数据总数为M (M>n)时,将数据"n+2"以后的数据 设定到连续发送控制部422的第一连续发送数据寄存器424至第(n— 1 ) 连续发送数据寄存器426,将数据"n+l"设定到发送控制部413的发送数 据寄存器414,进行下一个连续发送。上述动作重复进行直到发送数据总 数M为零为止。在连续数据发送中如果接收到NACK而没有接收到ACK、或者发生 了错误时,通过顺序控制部416的错误检测部418差生第一中断信号(A)427,连续发送控制部422因第一中断信号(A) 427而中止发送,并且通 过向控制器419传递的第二中断信号(B) 428,将设置了停止条件控制位 的数据(不设置开始条件控制位和发送数据)设定到发送数据寄存器414, I2C总线控制电路410发送停止条件(参照图6和图7)。进行重传时, 从数据"l"起进行设定,并进行发送。此外,作为将进行连续发送的起始数据设定到发送控制部413的发送 数据寄存器414的一个例子,也可构成为将所有的连续发送数据设定到连 续发送数据寄存器424-426,通过另外的寄存器等的触发,开始发送。此外,在I2C通信中,很多情况下采用对从地址(slave address)和子 地址(sub address)进行指定的方法。将可设定到上述发送控制部413的 发送数据寄存器414和连续发送控制部422的连续发送数据寄存器 424 426的最大数设为"从地址"+ "子地址"+ "数据数",设数据数为 2k(k:正整数)。即,设可设定到连续发送控制部422的连续发送字节数 寄存器423的最大数,在子地址为1字节的情况下为2+2k,在子地址为2 字节的情况下为3+2k。将数据数设为2k是因为通常数据大小成为16字节 等2、具体而言,k为4、也就是数据数为16字节时,如果设子地址为2字 节,则连续发送字节数寄存器423的可设定的最大数为1+2+16=19字节。 此时,当数据数比16大的情况下,包括地址在内第一个19字节的发送完 成的中断后再发送剩下的数据。当仅仅发送数据时按作为2k的16字节进 行发送,从而能够有效地进行基于软件控制的发送处理(参照图8和图9)。此外,如图4所示,不仅将I2C总线控制电路410与控制器419构成 为各自不同的设备并进行连接,也可将I2C总线控制电路410与控制器419 形成在同一设备内,作为内置有I2C总线控制电路的微控制器4010。图10是具有新持有切换控制寄存器927的单一连续发送控制部922、 第一、第二和第三发送控制部913、 930、 938、第一、第二和第三顺序控 制部916、 933、 941的I2C总线控制电路910的构成图。更具体而言,图10的I2C总线控制电路910具有第一发送控制部 913,其由发送数据寄存器914和并行/串行变换部915构成;第一顺序控 制部916,其由调停部917和错误检测部918构成;第一数据线控制部911 ,其与第一 I2C总线947的数据线(SDA1)连接;第一时钟线控制部912, 其与第一I2C总线947的时钟线(SCL1)连接;第二发送控制部930,其 由发送数据寄存器931和并行/串行变换部932构成;第二顺序控制部933, 其由调停部934和错误检测部935构成;第二数据线控制部928,其与第 二I2C总线948的数据线(SDA2)连接;第二时钟线控制都929,其与第 二I2C总线948的时钟线(SCL2)连接;第三发送控制部938,其由发送 数据寄存器939和并行/串行变换部940构成;第三顺序控制部941,其由 调停部942和错误检测部943构成;第三数据线控制部936,其与第三I2C 总线949的数据线(SDA3)连接;第三时钟线控制部937,其与第三I2C 总线949的时钟线(SCL3)连接。连续发送控制部922除了连续发送字节 数寄存器923、第一连续发送数据寄存器924、第二连续发送数据寄存器 925至第(n—l)连续发送数据寄存器926之外,还具有上述的切换控制 寄存器27。与该I2C总线控制电路910连接而进行监视和控制的控制器 919内置有ROM920和RAM921 。第一中断信号(Al) 944是从第一顺序控制部916到连续发送控制部 922的信号,与此对应的第二中断信号(Bl) 950是从连续发送控制部922 到控制器919的信号。另外,第一中断信号(A2) 945是从第二顺序控制 部933到连续发送控制部922的信号,与此对应的第二中断信号(B2) 951 是从连续发送控制部922到控制器919的信号。第一中断信号(A3) 946 是从第三顺序控制部941到连续发送控制部922的信号,与此对应的第二 中断信号(B3) 952是从连续发送控制部922到控制器919的信号。根据图10的构成,由连续发送控制部922的切换控制寄存器927对 第一、第二和第三发送控制部913、 930、 938中的所使用的发送控制部进 行切换,因此,尽管连续发送控制部922为一个,也能由第一、第二和第 三I2C总线947、 948、 949进行连续发送。如果各I2C总线947、 948、 949 具有连续发送控制部922,则电路规模就会增大,但是可通过使连续发送 控制部922的个数成为1,从而抑制电路规模的扩大。作为具体的例子,假设由第一 I2C总线947进行连续发送。在第一 I2C 总线947中每当发送一个字节时接收ACK,针对连续发送控制部922产 生第一中断信号(Al) 944。在连续发送控制部922中由切换控制寄存器927判断第一发送控制部913是否正在连续发送中。如果判断为连续发送 中,则将下一个连续发送数据寄存器924 926的数据设定到第一发送控制 部913的发送数据寄存器914,进行下一次数据发送。此时,当通过第二I2C总线948进行发送时,由控制器919按每一个 字节将发送数据设定到第二发送控制部930的发送数据寄存器931。当通 过第二 I2C总线948接收到ACK时,由第二顺序控制部933产生第一中 断信号(A2) 945,在连续发送控制部922中由切换控制寄存器927判断 第二发送控制部930是否正在连续发送中。当判断为不是连续发送中时, 针对控制器919产生第二中断信号(B2) 951。在控制器919中将下一个 发送数据设定到第二发送控制部930的发送数据寄存器931。在完成了第一 I2C总线947的发送处理后,当第二发送控制部930的 发送数据残留时,将连续发送控制部922的切换控制寄存器927切换到第 二发送控制部930,将向第二 I2C总线948发送的数据设定到第二发送控 制部930的发送数据寄存器931和连续发送控制部922的连续发送数据寄 存器924~926,并且设定连续发送字节数寄存器923,从而能够通过第二 12C总线948进行连续发送。以上,说明了第一I2C总线947和第二I2C总线948之间的关系,对 第三I2C总线949也同样。此外,如图10所示,不仅将I2C总线控制电路910与控制器919构 成为各自不同的设备并进行连接,也可将I2C总线控制电路910与控制器 919形成在同一设备内,作为内置有I2C总线控制电路的微控制器9010。最后,对利用了本发明相关的I2C总线控制电路的广播接收装置进行 说明。图11是表示本发明的广播接收装置的概略的功能框图。该广播接收 装置是地上模拟电视系统中的广播接收装置,其具备指示输入部1000、事 件管理部1001、 I2C发送控制部1002、地上模拟调谐器部1003、视频信 号处理部1004、音频信号处理部1006。视频信号处理部1004与显示装置 1005连接,而音频信号处理部1006与扬声器1007连接。地上模拟调谐器部1003接收来自天线的视频/音频信号。视频信号处 理部1004对来自地上模拟调谐器部1003的视频信号进行处理。音频信号处理部1006对来自地上模拟调谐器部1003的音频信号进行处理。指示输 入部IOOO对来自远程控制器的发送代码进行解码。事件管理部1001对从 指示输入部1000输入的事件进行判断后,向I2C发送控制部1002发出指 示。I2C发送控制部1002具有本发明相关的上述的任一个I2C总线控制电 路,与来自事件管理部1001的指示对应而经由I2C总线向地上模拟调谐 器部1003、视频信号处理部1004和音频信号处理部1006中的至少一个发 送数据。如上所述,可利用本发明的I2C总线控制电路来实现广播接收装置。作为指示输入,举出基于远程控制器的指示输入,但是不限于远程控 制器,还可置换成所有的人机接口。另外,对调谐器而言,作为地上模拟调谐器部举例示出了地上模拟电 视系统中的广播接收装置,但是通过将调谐器置换成数字电视调谐器,能 够实现数字电视系统中的广播接收装置。再有,举例示出了将I2C总线控制电路相关的本发明应用于广播接收 装置,但是本发明不限于广播接收装置,能够适用于移动电话机或导航系 统这样的内部的设备间经由I2C总线进行通信的所有的电子机器中。(工业实用性)根据本发明的I2C总线控制电路,能够縮短电子机器内所使用的I2C 总线的通信时间,能够提高电子机器的性能。由于仅仅修改I2C总线控制 电路和控制器的程序,因此能够以低成本且短时间内应用于现有的电子机 器中。尤其,最近正在普及的数字电视中,伴随着对应的视频格式或音频格 式的多样化、高画质化以及高音质化,频道切换时产生的以I2C总线发送 的数据量增大,频道切换时间变长。本发明作为用于解决这种问题的一种 技术而有用。
权利要求
1、一种I2C总线控制电路,与进行控制和观测的控制器连接而被使用,所述I2C总线控制电路具有顺序控制部,其每当发送一个字节时,产生第一中断信号;和连续发送控制部,其将第二中断信号传递给所述控制器,其中所述第二中断信号是以来自所述控制器的指定数中减去1的次数,使来自所述顺序控制部的所述第一中断信号无效化,并且在第指定数次,使来自所述顺序控制部的所述第一中断信号有效化的信号。
2、 根据权利要求1所述的I2C总线控制电路,其特征在于, 所述连续发送控制部中的所述第一中断信号的有效化的指定数的最大值是"2+2的乘方"。
3、 根据权利要求1所述的I2C总线控制电路,其特征在于, 所述连续发送控制部中的所述第一中断信号的有效化的指定数的最大值是"3+2的乘方"。
4、 根据权利要求1所述的I2C总线控制电路,其特征在于, 所述顺序控制部具有错误检测部,其检测NACK接收和仲裁丢失; 当检测出NACK接收或者仲裁丢失时,中止发送。
5、 根据权利要求1所述的I2C总线控制电路,其特征在于, 具备多个所述顺序控制部和一个所述连续发送控制部; 所述连续发送控制部将第二中断信号(Bx)传递给所述控制器,其中所述第二中断信号(Bx)是以来自所述控制器的指定数中减去l的次数, 使被所述控制器指定的所述顺序控制部的第一中断信号(Ax)无效化,并 且在第指定数次,使来自所述顺序控制部的所述第一中断信号(Ax)有效 化的信号,其中x是指定的编号,并且每当发送一个字节时,将没有被所述控制器指定的所述顺序控制部的 第一中断信号(Ax以外)直接传递给所述控制器。
6、 一种广播接收装置,在接收到所广播的电视信号的基础上,对构成所接收到的所述电视信号的视频信号和音频信号进行解调,并输出视频 和音频,所述广播接收装置具有电视信号接收部,其经由广播路径接收所述电视信号;指示输入部,其接受操作者的指示;事件管理部,其根据来自所述指示输入部的输入和当前的状态,引导应执行的处理;视频信号处理部,其对所述视频信号进行解调;音频信号处理部,其对所述音频信号进行解调;和I2C发送控制部,其具有与所述事件管理部中的控制器连接而被使用的I2C总线控制电路,并且,按照来自所述事件管理部的指示,向与同一I2C总线连接的所述电视信号接收部、所述视频信号处理部和所述音频信号处理部中的至少一个,发送数据; 所述I2C总线控制电路具有顺序控制部,其每当发送一个字节时,产生第一中断信号;和 连续发送控制部,其将第二中断信号传递给所述控制器,其中所述第 二中断信号是以来自所述控制器的指定数中减去1的次数,使来自所述顺 序控制部的所述第一中断信号无效化,并且在第指定数次,使来自所述顺 序控制部的所述第一中断信号有效化的信号。
全文摘要
本发明所解决的技术问题是现有的I2C总线控制电路通过中断信号来实现发送数据的设定定时,并且连续的多个数据的发送时间不仅依赖于I2C总线的时钟,还包括控制器的中断处理的开销,因而浪费通信时间。鉴于此,本发明采用了在具备发送控制部(413)、顺序控制部(416)、数据线控制部(411)、时钟线控制部(412)的现有的构成上增加了连续发送控制部(422)的I2C总线控制电路(410)的构成。连续发送控制部(422)具有连续发送字节数寄存器(423)、从第一至第(n-1)的连续发送数据寄存器(424、425、426),完成连续发送时或者检测错误时向控制器(419)供给中断信号。从而削减控制器(419)的中断处理次数,来缩短通信时间。
文档编号H04L29/02GK101237441SQ20081000850
公开日2008年8月6日 申请日期2008年1月23日 优先权日2007年1月29日
发明者小西雅人, 樋口壮志 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1