一种基于扩展IIC接口的装置的制作方法

文档序号:11216226阅读:435来源:国知局
一种基于扩展IIC接口的装置的制造方法

本发明涉及一种基于扩展iic接口的装置。



背景技术:

iic即集成电路总线,是一种双向、二进制、同步串行总线。该总线是一种多向控制总线,多个芯片可连接至同一总线结构下,每个芯片都可以作为实时数据传输的控制源。挂于iic总线上的器件被分为主机和从机,主机负责初始化iic总线的数据并产生允许传输的时钟信号,从机则是具备唯一从地址,且被主机寻址的器件。鉴于iic使用简单,接口资源占用少的特点,在传感器数据采集等领域愈来愈普及。

在常见的应用场景中,一般将多个iic从设备直接挂于总线上进行通讯,但鉴于总线的驱动能力和支持容抗有限等原因,使得总线上可挂载的设备和总线传输长度有限,不能满足某些iic应用场景的需求。因此,需要对iic进行扩展。

针对iic接口扩展的方法,目前已有一些发明专利提出了解决方案。如cn101324875a提出了一种基于将主设备一级iic总线扩展为多条二级iic总线的方法,该专利包含时钟扩展模块、数据控制模块和方向控制模块,时钟扩展模块将一级iic的scl信号扩展成多路,数据控制模块用于二级iic总线的选择,方向控制模块进行读写方向的控制。又如cn104142905a提出的基于cpld或门的扩展方式,设置一个(n+1)位的数据寄存器并使每一个而输入或门的输入端分对应数据寄存器的一个位实现iic从设备的扩展。又如cn1599343a所提出的基于时钟开关组的方法,只有时钟开关组中接通时钟开关相连的器件可以响应iic总线控制器的请求,在相应iic总线读写操作完成后,关闭相应的时钟开关。

目前专利中提出的iic接口扩展方法多采用外接时钟扩展模块形成多路时钟,再由选通电路选择连接的iic从设备,或者通过cpld门电路对从设备的地址信号进行按位操作进行选通。这些方式多针对于同一不可修改从地址的多个从设备连接场景,但对于因iic自身驱动不够导致接入设备受限,或因iic自身接入容抗有限导致总线传输距离不能太远,或受硬件限制,无法接入多种总线电平的应用场景,并未给出合适的解决方法;而且上述专利多引入cpld、fpga等其它器件,增加了硬件走线的复杂度和软件编程的难度。

因此,有必要设计一种基于扩展iic接口的装置。



技术实现要素:

本发明所要解决的技术问题是提供一种基于扩展iic接口的装置,该基于扩展iic接口的装置通过扩展板扩展iic接口,易于实施。

发明的技术解决方案如下:

一种基于扩展iic接口的装置,包括mcu和扩展板;扩展板上设有n条iic信号通路;n为整数,n≥2;

所述的扩展板上的n个iic信号通路的第一端分别与mcu上的n个iic接口相连;

所述的扩展板上的n个iic信号通路的第二端分别连接n条iic总线。

所述的mcu上的iic接口为iic控制器的接口。

所述的mcu上的iic接口为由通用io口模拟的iic接口。

所述的mcu上的iic接口为由ip核实现的iic接口。

扩展板上的每一条iic信号通路中设有双向总线缓冲器。优选p82b96芯片。

所述的mcu集成在核心板中。

核心板中还集成有现场可编程门阵列。如果mcu内部具备现场可编程门阵列,如zc7020芯片等,可以由可编程门阵列实现iic接口功能,mcu并非必须具备该功能。

为实现扩展板与mcu的电平匹配,在n个iic信号通路的第一端通过上拉电阻接直流电压v1,v1为mcu的iic接口的基准电压。

为实现扩展板与iic负载的电平匹配,在n个iic信号通路的第二端通过上拉电阻接直流电压v2,v2为负载端的iic接口的基准电压。

作为优选,n=4。

有益效果:

本发明的基于扩展iic接口的装置,通过扩展板实现iic接口的扩展。该装置使得硬件电路板对下行iic从设备的采集更具兼容性,能够满足iic从设备的扩展,支持多达四种不同总线电平的转换。在从设备数量不多、iic总线电平种类少的情况下,扩展板的缓冲芯片可进行选择性焊接,不会增加系统的额外成本。

本发明能解决以下技术问题:

1.解决接入iic从设备过多,cpu接口资源不够的问题。

2.解决因iic从设备扩展,硬件电路板兼容性不够的问题。

3.解决从设备的数量和通讯距离受iic总线400pf容抗限制的问题。

4.解决iic从设备电平逻辑电平不统一的问题。

5.解决串行多路采集影响采集效率和实时性的问题。

附图说明

图1为基于扩展iic接口的装置的总体结构框图;

图2为一路iic信号通路的连接示意图;

图3为总体流程图;

图4为具体任务调用流程图;

图5为接口0-3及电源接口定义示意图;

图6为某一个插接组件接口定义示意图。

具体实施方式

以下将结合附图和具体实施例对本发明做进一步详细说明:

实施例1:如图1~6,一种基于扩展iic接口的装置,包括mcu和扩展板;扩展板上设有4条iic信号通路;所述的扩展板上的4个iic信号通路的第一端分别与mcu上的4个iic接口相连;还具有m个iic设备,m>4。

所述的扩展板上的4个iic信号通路的第二端分别连接4条iic总线。

所述的mcu上的iic接口为iic控制器的接口,即利用mcu上自带的iic接口,具体为2个。

所述的mcu上的iic接口为由通用io口模拟的iic接口,即通过io接口模拟iic接口,具体为1个。

所述的mcu上的iic接口为由ip核实现的iic接口,即通过ip核来配置iic接口,具体为1个。

扩展板上的每一条iic信号通路中设有双向总线缓冲器。优选p82b96芯片。

所述的mcu集成在核心板中。

核心板中还集成有现场可编程门阵列。

为实现扩展板与mcu的电平匹配,在4个iic信号通路的第一端通过上拉电阻接直流电压v1,v1为mcu的iic接口的基准电压,具体为3.3v。

为实现扩展板与iic负载的电平匹配,在n个iic信号通路的第二端通过上拉电阻接直流电压v2,v2为负载端的iic接口的基准电压,如为12v,也不一定为12v,视iic从设备工作电平而定,图为以12v为例的一路总线连接情况。

本发明的多路iic扩展的方法和装置包括以下模块:

核心板模块,该模块为包含cpu在内的最小系统。可引出独立的4路iic接口iic0-iic3(可通过mcu内置的iic控制器、io模拟或如zc7020等具备现场可编程门阵列mcu内置的ip核实现),负责对iic设备发出读写时序、返回ack,并保存、解析、处理从设备的数据。

扩展板模块,该模块为单独的一块电路板,其与核心板采用排线或接插件的方式进行连接。对上层核心板有四组接口,分别连接核心板的四个iic控制器,对下有用于连接不同电平总线的4组电源接口和用于连接iic从设备的多组iic接口。板内存在四个p82b96缓冲芯片用于提升系统可支持的iic从设备容抗,并将四种各异的总线逻辑电平转换为mcu的电平大小。

p82b96为双向总线缓冲器;p82b96是一款双极性、内部无锁存、双向逻辑接口器件,它提供标准i2c器件和远距离总线间的桥接,可以将不同电压和电流级别的类似总线与i2c总线进行桥接。该器件可桥接smbus(350μa)、3.3v逻辑器件,15v电平及低阻抗导线可以延长通信距离,增加抗干扰能力。该器件对i2c总线协议和时钟速率没有特殊要求。p82b96能增加i2c总线节点上挂接的最小负载数、新总线负载数和远程i2c总线器件数,且不会对本地节点造成影响。挂接器件数目和物理上的限制也会大大减小。通过平衡传输线(双绞线)或光耦隔离(光纤)发送信号,tx、rx结构上的分隔使其发送变得简单,且tx和rx信号直接相连时而不会锁死。

从设备模块,该模块为多种支持iic总线传输协议的智能采集传感器,以在火车上的应用场景为例,该模块包含加速度传感器、倾角传感器、温度传感器和压力传感器等。同一类型或同总线电平幅值的传感器接于同一接插件组,便于p82b96芯片将相应的电平转换到合适的阈值后将信号输出至核心板。

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。本部分的描述仅是示范性和解释性,不应对本发明的保护范围有任何的限制作用。此外,本领域技术人员根据本文件的描述,可以对本文件中实施例中以及不同实施例中的特征进行相应组合。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

如图2所示,是以mcu单路iic接口及其相应电路为例的硬件连接示意图。需要说明的是,图2中以mcu的io口和供电电平为3.3v、传感器引出的iic总线电平为12v、外接四个传感器进行说明仅是示意性的,本发明中负责采集的从iic设备数量和总线电平大小并无固定值,以四个传感器和固定电平大小为例仅是为了清楚起见。

如图2所示,以四个iic从设备为例。

mcu是iic通讯的发起者,即iic的主设备。mcu自身具备多个iic控制器,可通过配置相应寄存器在总线上由芯片内部电路自动产生合适的iic时序,当iic控制器数量不够时,可通过io口模拟iic时序完成iic通讯需求;此外,在一些具备现场可编程门阵列的mcu中,iic模块也可通过ip核实现。当需要采集数据时,应用程序根据固化的从设备地址形成相应的传输字节,通过写iic控制寄存器和读iic状态寄存器完成数据的发送、接收和传输状态的判断。

mcu发送数据后,数据会传输至p82b96芯片的sx和sy引脚,经芯片处理后向底层iic从设备传输。鉴于从设备上iic总线电平的区别,须将p82b96芯片下行端接口的上拉电阻设置成与iic从设备一致,而将上行端的上拉电阻设置为与mcu的io口电平一致,以完成iic总线的电平转换功能。

mcu发出带有从地址的数据后,与iic从设备相连的总线上将传输该数据,而与该从地址匹配的设备会拉低总线(ack响应),然后,mcu和该从设备才进行下一步数据的交互。

多路iic数据采集的方法如图3-4所示。

(1)通过bootloader进行基本的寄存器初始化工作,为后面操作系统的运行搭建嵌入式硬件环境。

(2)运行ucosii操作系统,并对mcu软、硬件进行进一步的初始化和配置;并根据需要配置iic控制器或模拟io接口的引脚模式。

(3)创建四个任务块分别进行四路iic总线数据的采集,任务创建后,交给ucosii操作系统进行任务的调度和管理。

(4)操作系统调度至任务一执行后,任务一将确定需要访问设备的从地址,并根据读写需求(设置bit0)生成一个字节的数据放入iic总线,如果地址匹配,mcu会检测到ack位,然后进行下一步的读写工作。

(5)当前从设备交互结束后,会判断下一个需要访问的从设备并继续进行总线的读写。

采用实时操作系统进行任务管理和调度,使得代码更为简洁高效,且维护难度降低。现有的应用场景中,iic发送接收多在同一个线程中实现,对从设备的访问必须串行顺序进行,效率不高,本发明采用前、后台结合的方式,可使四个任务块在等待反馈的过程中自动释放cpu控制权进行任务切换,直至被中断唤醒后才会继续执行。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1