本发明专利技术提供了一种实现IIC通信的嵌入式系统,包括:主机、多个IIC器件、多路SDA线和单路SCL线;所述多个IIC器件中的每一个分别与所述多路SDA线中的一路连接;所述多个IIC器件中的每一个都与所述单路SCL线连接;所述主机通过所述多路SDA线和所述单路SCL线对所述多个IIC器件进行操作,其中,当通过所述单路SCL线向所述多个IIC器件提供SCL时序信号时,所述主机根据所述SCL时序信号和所述多个IIC器件的地址信息通过所述多路SDA线向相应的多个IIC器件传送数据信号。本发明专利技术还提供了IIC通信方法。采用本发明专利技术,可以实现多路IIC同步通信并降低I/O线的数量。
【技术实现步骤摘要】
【专利摘要】本专利技术提供了一种实现IIC通信的嵌入式系统,包括:主机、多个IIC器件、多路SDA线和单路SCL线;所述多个IIC器件中的每一个分别与所述多路SDA线中的一路连接;所述多个IIC器件中的每一个都与所述单路SCL线连接;所述主机通过所述多路SDA线和所述单路SCL线对所述多个IIC器件进行操作,其中,当通过所述单路SCL线向所述多个IIC器件提供SCL时序信号时,所述主机根据所述SCL时序信号和所述多个IIC器件的地址信息通过所述多路SDA线向相应的多个IIC器件传送数据信号。本专利技术还提供了IIC通信方法。采用本专利技术,可以实现多路IIC同步通信并降低I/O线的数量。【专利说明】I IC通信方法以及实现I IC通信的嵌入式系统
本专利技术涉及计算机通信
,更具体地,涉及Iic通信方法及实现IIC通信的嵌入式系统。
技术介绍
IIC芯片的通信除与电源、地线连接外,由时钟信号线SCL及数据线SDA两条线组成。IIC协议规定,器件如果有不同地址,可直接并联挂接到该两条总线上。 当前嵌入式系统设计中,IIC器件种类多,功能强大,且有时会同时使用多片同种类型的IIC芯片。由于多路IIC芯片的逻辑关系处于平等地位,优先级相同,不存在先后关系,甚至有的要求同时通信,这在传统Iic通信机制下,如果多个器件并联挂接到该两条总线上,只能单路通信完毕后,切到下一通道,不能同步,存在时间差别,且总体通信速度低。 并且,有时Iic器件提供有限地址或仅仅一个地址,为简化设计,多个相同器件模块化设计时,往往Iic器件的地址设计为同一地址,那么就不能多个器件并联挂接在同一总线上,为解决同步通信及相同地址问题,N个IIC器件意味着需要2N条嵌入式控制器I/ O口线,如图1所示。
技术实现思路
针对上述技术问题,本专利技术提供了一种IIC通信方法及实现IIC通信的嵌入式系统,使得既可以实现IIC同步通信又可以降低I/O 口线的数量。 根据本专利技术的一方面,提供了一种实现IIC通信的嵌入式系统,包括:主机、多个IIC器件、多路SDA线和单路SCL线; 所述多个IIC器件中的每一个分别与所述多路SDA线中的一路连接; 所述多个IIC器件中的每一个都与所述单路SCL线连接; 所述主机通过所述多路SDA线和所述单路SCL线对所述多个IIC器件进行操作,其中,当通过所述单路SCL线向所述多个IIC器件提供SCL时序信号时,所述主机根据所述SCL时序信号和所述多个IIC器件的地址信息通过所述多路SDA线向相应的多个IIC器件传送数据信号。 在可选实施例中,每一路SDA线上仅连接一个IIC器件,并且所述不同路SDA线上的多个IIC器件的地址相互之间可以相同或者不同。 在可选实施例中,所述多个IIC器件为相同类型的IIC芯片。 在可选实施例中,所述多路SDA线中的至少一路SDA线上连接有两个以上的IIC器件,并且所述两个以上的IIC器件之间的地址互不相同;以及,所述主机根据所述SCL时序信号和IIC器件的地址信息向相应的IIC器件传送SDA时序信号。 在可选实施例中,所述IIC器件基于与所述SCL时序信号对应的SDA时序信号执行相应的读取操作或写入操作。 在可选实施例中,所述主机接收IIC器件通过SDA线返回的应答信号;所述主机根据是否接收到IIC器件返回的应答信号确定后续对应答的IIC器件进行操作或者生成报警维修信息。 根据本专利技术的另一方面,还提供了一种IIC通信方法,包括: 将多个IIC器件中的每一个分别与多路SDA线中的一路连接; 将多个IIC器件中的每一个都与同一路SCL线连接; 通过所述单路SCL线向所述多个IIC器件提供SCL时序信号; 根据所述SCL时序信号和所述多个IIC器件的地址信息通过所述多路SDA线向相应的多个IIC器件传送数据信号。 在可选实施例中,每一路SDA线上仅连接一个IIC器件,并且所述不同路SDA线上的多个IIC器件的地址相互之间可以相同或者不同。 在可选实施例中,所述多个IIC器件为相同类型的IIC芯片。 在可选实施例中,所述多路SDA线中的至少一路SDA线上连接有两个以上的IIC器件,并且所述两个以上的IIC器件之间的地址互不相同;以及,根据所述SCL时序信号和Iic器件的地址信息向相应的IIC器件传送SDA时序信号。 本专利技术实施例的多路IIC同步通信方法采用单路SCL线向多个IIC器件提供SCL时序信号,通过SCL线的复用使得可以仅使用N+1条I/O 口线来实现多路IIC同步通信,相比于现有技术中使用2N条I/O 口线,减少了所使用的I/O 口线的数量,并且可降低布线复杂度。此外,本专利技术的技术方案在通信整体速度上是单独各路通信整体速度的N倍。 【专利附图】【附图说明】 图1是现有技术的实现IIC同步通信的嵌入式系统的结构示意图。 图2是根据本专利技术一实施例的实现多路IIC同步通信的嵌入式系统的结构示意图。 图3是基于现有IIC标准通信协议的单主机与单从机实现IIC通信的时序信号示意图。 图4是图2所示的嵌入式系统中单主机与多从机实现多路IIC同步通信的时序信号不意图。 图5是根据本专利技术另一实施例的实现多路IIC同步通信的嵌入式系统的结构示意图。 【具体实施方式】 下面结合附图对本专利技术实施方式作进一步的说明。 图2是根据本专利技术一实施例的实现多路IIC同步通信的嵌入式系统的结构示意图。如图2所示,嵌入式系统包括主机、单路SCL线、3路SDA线以及3个IIC器件(也称从机)。3个IIC器件包括标号为12的器件1、标号为14的器件2以及标号为16的器件3。单路SCL线与器件1、器件2和器件3中的每一个都连接,即SCL线可以复用。3路SDA线中,SDAl线与器件I连接,SDA2线与器件2连接,SDA3线与器件3连接。 主机20通过SDAl、SDA2和SDA3线和单路SCL线对器件1、器件2和器件3进行操作。当主机20通过单路SCL线向器件1、器件2和器件3提供SCL时序信号时,主机20 根据SCL时序信号和多个IIC器件的地址信息通过所述多路SDA线向相应的IIC器件传送数据信号。 在一可选实施例中,将相同的IIC器件配置为具有相同地址,例如,器件1、器件2和器件3类型相同并且被配置为地址相同。这种同步通信机制优选在通信内容相同的情况下适用,例如多路存储器、多路A/D转换器、多路D/A转换器和多路温度传感器等。 在另一可选实施例中,相同的IIC器件可以配置为具有互不相同的地址。例如,器件1、器件2和器件3类型相同但配置的地址不相同。这样,主机20根据SCL时序信号和多个IIC器件的地址信息通过多路SDA线向相应的IIC器件传送数据信号。 当通信内容不相同时,主机可以预先剔除不使用的IIC器件,然后与使用的IIC器件通过对应的SDA线进行通信。此外,该通信机制能够随时检测无应答的器件,例如,在主机向器件I通过SDAl线发送一个字节后,器件I会产生一个响应位,并通过该SDAl线将响应位传送给主机,如果主机没有接收到该响应位,则认为器件I无应答,因此后续不再操作对应于器件I的SDA线或生成关于器件I的报警维修本文档来自技高网...
【技术保护点】
一种实现IIC通信的嵌入式系统,包括:主机、多个IIC器件、多路SDA线和单路SCL线;所述多个IIC器件中的每一个分别与所述多路SDA线中的一路连接;所述多个IIC器件中的每一个都与所述单路SCL线连接;所述主机通过所述多路SDA线和所述单路SCL线对所述多个IIC器件进行操作,其中,当通过所述单路SCL线向所述多个IIC器件提供SCL时序信号时,所述主机根据所述SCL时序信号和所述多个IIC器件的地址信息通过所述多路SDA线向相应的多个IIC器件传送数据信号。
【技术特征摘要】
【专利技术属性】
技术研发人员:王维奎,陈军生,
申请(专利权)人:歌尔声学股份有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。