CN105786734B - 数据传输的方法、扩展装置、外围设备及系统 - Google Patents
数据传输的方法、扩展装置、外围设备及系统 Download PDFInfo
- Publication number
- CN105786734B CN105786734B CN201610104529.7A CN201610104529A CN105786734B CN 105786734 B CN105786734 B CN 105786734B CN 201610104529 A CN201610104529 A CN 201610104529A CN 105786734 B CN105786734 B CN 105786734B
- Authority
- CN
- China
- Prior art keywords
- address
- reading
- intent information
- peripheral equipment
- expanding unit
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种数据传输的方法包括:通过I2C接口接收主控设备发送的写入地址信息;所述写入地址信息包括写入标识和器件地址;根据所述写入标识生成接收意图信息,并将所述接收意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述接收意图信息准备接收寄存器地址;通过所述I2C接口接收所述主控设备发送的寄存器地址,并将所述寄存器地址转发给所述外围设备,以使所述外围设备以所接收到的寄存器地址为起始地址准备进行写入操作或读出操作。相应地,本发明还公开了另一种数据传输方法,以及一种数据传输的扩展装置、外围设备和系统。采用本发明实施例,能实现I2C通信,并提高数据传输效率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种数据传输的方法、扩展装置、外围设备及系统。
背景技术
I2C(Inter-Integrated Circuit,两线式串行总线)是由PHILIPS公司开发的两线式串行总线,用于实现主控设备与外围设备之间的通信,是微电子通信控制领域广泛采用的一种总线标准,是同步通信的一种特殊形式,其中I2C总线分为主模式和从模式,主模式初始化总线的数据传输并产生允许传输的时钟信号,从模式则遵循主模式发起的请求进行数据写入或读出。
现有技术中,主控设备与外围设备需要通过I2C总线进行通信时,首先需要确定主控设备是否具有主I2C功能,外围设备是否具有从I2C功能,当主控设备具有主I2C功能,同时外围设备也具有从I2C功能时,则主控设备与外围设备可以通过I2C总线进行通信;而当主控设备具有主I2C功能,外围设备不具有从I2C功能时,则通常采用设置一扩展装置以非桥接方式与该外围设备连接,并对外围设备扩展从I2C功能,具体过程为:主控设备将所需传输的数据经扩展装置进行缓存,待主控设备一次通讯结束后,扩展装置对缓存的数据进行处理后传输给此外围设备,从而实现主控设备与外围设备通过I2C总线进行通信的目的。
对于完整一次I2C通讯可参见图1和图2,图1是现有技术提供的I2C通信协议中的I2C只写时序的时序图,图2是现有技术提供的I2C通信协议中的I2C只读时序的时序图,依据图中的I2C只写时序和I2C只读时序,对于能直接通I2C接口进行I2C通信息的主控设备和外围设备,I2C通信是按时间顺序一个字节一个字节地写入数据或读出数据,具备从I2C通信功能的外围设备是可以识别接收到的寄存器地址,然后以该寄存器地址为一个起始地址开始逐个字节地进行后序的写入数据或者读出数据;但是对不具备从I2C功能的外围设备,无法识别从主控设备接收到的I2C时序里的数据,即无法识别寄存器地址,导致无法将传送过来的每一字节数据写入或读出,因而,现有技术提供的主控设备与不具备从I2C通信功能的外围设备之间所进行非桥接式I2C通信方式,虽然能让该外围设备识别扩展装置处理后的数据来实现I2C通信,但由于完整的一次时序通讯,是要经过扩展进行缓存并处理后再完整的传送给外围设备,所花的时间过长,而且当主控设备与外围设备之间需要传输大量数据时,由于扩展模块的资源有限,从而导致数据传输效率降低。
发明内容
本发明实施例提出一种数据传输的方法、扩展装置、外围设备及系统,能实现I2C通信,并提高数据传输效率。
本发明实施例在一个方面提供一种数据传输的方法,包括:
通过I2C接口接收主控设备发送的写入地址信息;所述写入地址信息包括写入标识和器件地址;
根据所述写入标识生成接收意图信息,并将所述接收意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述接收意图信息准备接收寄存器地址;
通过所述I2C接口接收所述主控设备发送的寄存器地址,并将所述寄存器地址转发给所述外围设备,以使所述外围设备以所接收到的寄存器地址为起始地址准备进行写入操作或读出操作。
在一种实施方式中,所述数据传输的方法还包括写入操作,具体为:
以流水线方式,通过所述I2C接口逐个字节地接收所述主控设备发送的写入数据,并逐个字节地将所述写入数据转发给所述外围设备,以供所述外围设备从以所接收到的寄存器地址为起始地址开始将所述写入数据逐个字节地写入相应的内存中。
进一步地,所述接收意图信息包括接收信号和第一中断信号;
则,所述将所述接收意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述接收意图信息准备接收寄存器地址,具体为:
将所述接收意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述接收意图信息中的第一中断信号响应中断,对所述接收意图信息中的接收信号进行识别,并在识别成功时准备接收寄存器地址。
在另一种实施方式中,所述数据传输的方法还包括读出操作,具体为:
通过所述I2C接口接收所述主控设备发送的读出地址信息;所述读出地址信息包括读出标识和所述器件地址;
根据所述读出标识生成读出意图信息,并将所述读出意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据;所述读出地址为所述寄存器地址;
接收所述外围设备返回的读出数据,并通过所述I2C接口将返回的读出数据转发给所述主控设备。
在又一种实施方式中,所述数据传输的方法还包括读出操作,具体为:
通过所述I2C接口接收所述主控设备发送的读出地址信息;所述读出地址信息包括读出标识和所述器件地址;
根据所述读出标识生成读出意图信息,并将所述读出意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据;所述读出地址为所述寄存器地址加上所述写入数据的字节长度;
接收所述外围设备返回的读出数据,并通过所述I2C接口将返回的读出数据转发给所述主控设备。
进一步地,所述读出意图信息还包括读出信号和第二中断信号;
则所述将所述读出意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据,具体为:
将所述读出意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述读出意图信息中的第二中断信号响应中断,对所述读出意图信息中的读出信号进行识别,并在识别成功时返回从读出地址对应的内存中所读取的读出数据。
进一步地,所述数据传输的方法还包括:
当接收到所述外围设备返回的读出数据时,再次生成所述读出意图信息,并将所述读出意图信息发送给所述外围设备,以使所述外围设备根据所述读出意图信息中的中断信号响应中断,对所述读出意图信息中的读出信号进行识别,并在识别成功时返回下一个读出地址对应的内存中所读取的读出数据;其中,下一个读出地址为上一个读出地址加一。
再进一步地,所述数据传输的方法还包括:
通过所述I2C接口接收所述主控设备发送的停止信息;
根据所述停止信息生成停止意图信息;所述停止意图信息包括停止信号和第三中断信号;
将所述停止意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述停止意图信息中的第三中断信号响应中断,对所述停止意图信息中的停止信号进行识别,并在识别成功时停止当前操作。
本发明实施例在另一个方面提出一种数据传输的方法,包括:
接收扩展装置发送的接收意图信息;其中,所述接收意图信息是由所述扩展装置根据通过I2C接口从主控设备中所接收到的写入地址信息的写入标识生成的,且是由所述扩展装置根据所述写入地址信息的器件地址进行寻址发送的;
根据所述接收意图信息准备接收寄存器地址;
接收所述扩展装置转发送的寄存器地址,并以所接收到的寄存器地址为起始地址准备进行写入操作或读出操作;所述寄存器地址是所述扩展装置通过所述I2C接口从所述主控设备中接收到的。
在一种实施方式中,所述数据传输的方法还包括:
以流水线方式,逐个字节地接收所述扩展装置转发的写入数据,并从以所接收到的寄存器地址为起始地址开始将所述写入数据逐个字节写入相应的内存中。
进一步地,所述接收意图信息包括接收信号和第一中断信号;
则,根据所述接收意图信息准备接收寄存器地址,具体为:
根据所述接收意图信息中的第一中断信号响应中断,对所述接收意图信息中的接收信号进行识别,并在识别成功时准备接收寄存器地址。
在另一种实施方式中,所述数据传输的方法还包括:
接收所述扩展装置发送的读出意图信息;其中,所述读出意图信息是由所述扩展装置根据通过所述I2C接口从所述主控设备中所接收到的读出地址信息中的读出标识生成的,且是由所述扩展装置根据所述读出地址信息中的所述器件地址进行寻址发送的;
根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据给所述扩展装置,以使所述扩展装置通过所述I2C接口将所述读出数据转发给所述主控设备;所述读出地址为所述寄存器地址。
在又一种实施方式中,所述数据传输的方法还包括:
接收所述扩展装置发送的读出意图信息;其中,所述读出意图信息是由所述扩展装置根据通过所述I2C接口从所述主控设备中所接收到的读出地址信息中的读出标识生成的,且是由所述扩展装置根据所述读出地址信息中的所述器件地址进行寻址发送的;
根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据给所述扩展装置,以使所述扩展装置通过所述I2C接口将所述读出数据转发给所述主控设备;所述读出地址为所述寄存器地址加上所述写入数据的字节长度。
进一步地,所述读出意图信息还包括读出信号和第二中断信号;
则所述根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据给所述扩展装置,具体为:
根据所述读出意图信息中的第二中断信号响应中断,对所述读出意图信息中的读出信号进行识别,并在识别成功时返回从读出地址对应的内存中所读取的读出数据。
进一步地,所述数据传输的方法还包括:
再次接收所述扩展装置发送所述读出意图信息;再次接到的所述读出意图信息是由所述扩展装置在接收到返回的读出数据时再次生成的;
根据所述再次接收到的所述读出意图信息中的中断信号响应中断,对所述读出意图信息中的读出信号进行识别,并在识别成功时返回下一个读出地址对应的内存中所读取的读出数据给所述扩展装置,以使所述扩展装置通过所述I2C接口将所述读出数据转发给所述主控设备;其中,下一个读出地址为上一个读出地址加一。
再进一步地,所述数据传输的方法还包括:
接收所述扩展装置发送的停止意图信息;所述停止意图信息是由所述扩展装置根据通过所述I2C接口从所述主控设备中接收到的停止信息生成的,所述停止意图信息包括停止信号和第三中断信号;
根据所述停止意图信息中的第三中断信号响应中断,对所述停止意图信息中的停止信号进行识别,并在识别成功时停止当前操作。
对应于上述第一个方面所提出的数据传输的方法,本发明实施例提出一种数据传输的扩展装置,包括:
写入地址接收模块,用于通过I2C接口接收主控设备发送的写入地址信息;所述写入地址信息包括写入标识和器件地址;
接收意图生成模块,用于根据所述写入标识生成接收意图信息,并将所述接收意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述接收意图信息准备接收寄存器地址;
地址转发模块,用于通过所述I2C接口接收所述主控设备发送的寄存器地址,并将所述寄存器地址转发给所述外围设备,以使所述外围设备以所接收到的寄存器地址为起始地址准备进行写入操作或读出操作。
在一种实施方式中,所述数据传输的扩展装置还包括:
写入数据转发模块,用于以流水线方式,通过所述I2C接口逐个字节地接收所述主控设备发送的写入数据,并逐个字节地将所述写入数据转发给所述外围设备,以供所述外围设备从以所接收到的寄存器地址为起始地址开始将所述写入数据逐个字节地写入相应的内存中。
在另一种实施方式中,所述数据传输的扩展装置还包括:
第一读出地址接收模块,用于通过所述I2C接口接收所述主控设备发送的读出地址信息;所述读出地址信息包括读出标识和所述器件地址;
第一读出意图生成模块,用于根据所述读出标识生成读出意图信息,并将所述读出意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据;所述读出地址为所述寄存器地址加上所述写入数据的字节长度。
第一读出数据转发模块,用于接收所述外围设备返回的读出数据,并通过所述I2C接口将返回的读出数据转发给所述主控设备。
对应于第二方面所提出的数据传输的方法,本发明实施例还提供一种数据传输的外围设备,包括:
接收意图模块,用于接收扩展装置发送的接收意图信息;其中,所述接收意图信息是由所述扩展装置根据通过I2C接口从主控设备中所接收到的写入地址信息的写入标识生成的,且是由所述扩展装置根据所述写入地址信息的器件地址进行寻址发送的;
准备接收模块,用于根据所述接收意图信息准备接收寄存器地址;
接收地址模块,用于接收所述扩展装置转发送的寄存器地址,并以所接收到的寄存器地址为起始地址准备进行写入操作或读出操作;所述寄存器地址是所述扩展装置通过所述I2C接口从所述主控设备中接收到的。
在一种实施方式中,所述数据传输的外围设备还包括:
写入模块,用于以流水线方式,逐个字节地接收所述扩展装置转发的写入数据,并从以所接收到的寄存器地址为起始地址开始将所述写入数据逐个字节写入相应的内存中。
在另一种实施方式中,所述数据传输的外围设备还包括:
第一读出意图模块,用于接收所述扩展装置发送的读出意图信息;其中,所述读出意图信息是由所述扩展装置根据通过所述I2C接口从所述主控设备中所接收到的读出地址信息中的读出标识生成的,且是由所述扩展装置根据所述读出地址信息中的所述器件地址进行寻址发送的;
第一读出返回模块,用于根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据给所述扩展装置,以使所述扩展装置通过所述I2C接口将所述读出数据转发给所述主控设备;所述读出地址为所述寄存器地址加上所述写入数据的字节长度。
相应地,本发明实施例还提供一种数据传输的系统,所述系统包括主控设备、扩展装置和至少一个外围设备;其中,所述扩展装置为上述的数据传输的扩展装置;所述外围设备为上述的数据传输的外围设备;
所述主控设备通过I2C接口与所述扩展装置连接;所述扩展装置与所述外围设备连接。
本发明提供的一种数据传输的方法、扩展装置、外围设备和系统具有以下有益效果:
本发明提供了一种数据传输的方法、扩展装置、外围设备和系统,扩展装置能通过I2C接口接收并识主控设备发送的写入地址信息;扩展装置根据所述写入地址信息中的写入标识生成接收意图信息,并其发送给所述器件地址对应的外围设备,所述外围设备通过识别所述接收意图信息准备接收寄存器地址;接着,所述扩展装置通过所述I2C接口接收所述主控设备发送的寄存器地址,并将所述寄存器地址转发给所述外围设备,所述外围设备将该寄存器地址作为起始地址准备进行写入操作或读出操作。对于不具备扩展I2C功能的外围设备,无法识别主控设备发送的数据,则本发明提供的扩展装置通过通知外围设备其具体的寄存器地址后,后序步骤中该扩展装置只需要进行即时转发数据,即可让外围设备实现根据该地址就进行写入操作或读出操作,实现主控设备与不具体扩展I2C功能的外围设备的I2C通信,而且扩展装置不需要在接收到一次完整的时序数据时再打包传输给外围设备,不受限于扩展装置的内存空间,提高数据传输效率。
附图说明
图1是现有技术提供的I2C通信协议中的I2C只写时序的时序图;
图2是现有技术提供的I2C通信协议中的I2C只读时序的时序图;
图3是本发明提供的数据传输的方法的一个实施例的流程示意图;
图4是本发明提供的数据传输的方法的另一个实施例的流程示意图;
图5是本发明提供的数据传输的扩展装置的一个实施例的结构示意图;
图6是本发明提供的数据传输的外围设备的一个实施例的结构示意图;
图7是本发明提供的数据传输的系统的一个实施例的结构示意图;
图8是本发明提供的数据传输的方法的只写操作的通信过程的一个实施例的流程示意图;
图9是本发明提供的数据传输的方法的只读操作的通信过程的一个实施例的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图3,是本发明提供的数据传输的方法的一个实施例的流程示意图,该方法由扩展装置执行,而该扩展装置可以是一个安装在外围设备外部的用于扩展从I2C功能的MCU(Microcontroller Unit,微控制单元),并通过I2C接口与主控设备连接,该方法包括以下步骤:
S11,通过I2C接口接收主控设备发送的写入地址信息;所述写入地址信息包括写入标识和器件地址;
S12,根据所述写入标识生成接收意图信息,并将所述接收意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述接收意图信息准备接收寄存器地址;
S13,通过所述I2C接口接收所述主控设备发送的寄存器地址,并将所述寄存器地址转发给所述外围设备,以使所述外围设备以所接收到的寄存器地址为起始地址准备进行写入操作或读出操作。
需要说明的是,如图1和图2所述的器件地址devive address和跟随在器件地址devive address后的写标志位W,即为本发明实施例中的写入地址信息的器件地址和写入标识,在扩展装置MCU通过I2C接口接收到主控设备发送的写入地址信息时,会生成一个接收意图信息,如设置I/O口的状态,并且扩展装置MCU将其通过I/O口发送给外围设备,通知下一个接收到的字节数据为寄存器地址,外围设备接收该字节数据,将其作为接下来进行写入操作或读出操作的寄存器地址,即后序步骤中该扩展装置只需要进行即时转发数据,就可让外围设备实现根据该地址进行写入操作或读出操作,实现主控设备与不具体扩展I2C功能的外围设备的I2C通信,而且扩展装置不需要在接收到一次完整的时序数据时再打包传输给外围设备,不受限于扩展装置的内存空间,提高数据传输效率。
在将寄存器地址转发给外围设备后,本发明实施例中后序进行的写入操作,具体实施步骤如下:
以流水线方式,通过所述I2C接口逐个字节地接收所述主控设备发送的写入数据,并逐个字节地将所述写入数据转发给所述外围设备,以供所述外围设备从以所接收到的寄存器地址为起始地址开始将所述写入数据逐个字节地写入相应的内存中。
在本实施方式中,上述主控设备发送数据,扩展装置MCU将接收到的每一字数据转发给外围设备,这三者之间进行的I2C通信的写入操作是按一个字节一个字节地将写入数据写入内存中,该流水线方式的写入操作在写入数据传输过程效率,节省传输时间,可以提高数据写入的效率,由于本实施例中主控设备与扩展装置MCU之间是通过I2C接口连接,传输线为I2C总线,其通讯速率为100kbit/S,则相应地扩展装置MCU与外转设备之间进行写入数据或读出数据的传送速率应该大于或等于100kbit/S,确保扩展装置MCU进行传输数据时的每一瞬间只存在1个字节的数据存在内存中,提高传输效率。
进一步地,所述接收意图信息包括接收信号和第一中断信号;
则,所述将所述接收意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述接收意图信息准备接收寄存器地址,具体为:
将所述接收意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述接收意图信息中的第一中断信号响应中断,对所述接收意图信息中的接收信号进行识别,并在识别成功时准备接收寄存器地址。
在本实施例中,通过设置中断机制,能使外围设备快速并实时通过识别扩展设备发送的意图信息获知主控设备的意图,即接下来要进行I2C通讯的内容和对象,从而能快速地进行写入操作或读出操作。上述接收意图信息所包括接收信号和第一中断信号在本实施例中配置为:接收信号为SO,第一中断信号为扩展装置MCU触发中断生成第一中断信号INT1,该接收信号SO通过扩展装置MCU的I/O接口发送到外围设备的I/O接口,该第一中断信号INT1通过扩展装置的I/O接口发送至外围设备的外部中断接口,外围设备接收到外部中断信号,即第一中断信号INT1时,进入中断服务程序,识别I/O接口的具体状态,当识别到信号SO时,外围设备进行准备接收寄存器地址,即通知外围设备下一个接收到的字节数据为寄存器地址。在本实施例中,寄存器地址长度为1个字节。
在将寄存器地址转发给外围设备后,本发明实施例中后序进行的读出操作,具体为:
通过所述I2C接口接收所述主控设备发送的读出地址信息;所述读出地址信息包括读出标识和所述器件地址;
根据所述读出标识生成读出意图信息,并将所述读出意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据;所述读出地址为所述寄存器地址;
接收所述外围设备返回的读出数据,并通过所述I2C接口将返回的读出数据转发给所述主控设备。
在上述实施例中的写入操作之后,本发明实施例还会有可能进行读出操作,该读出操作与上一个读出操作的实施步骤基本相同,区别在于读取地址,该读出操作的实施步骤具体为:
通过所述I2C接口接收所述主控设备发送的读出地址信息;所述读出地址信息包括读出标识和所述器件地址;
根据所述读出标识生成读出意图信息,并将所述读出意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据;所述读出地址为所述寄存器地址加上所述写入数据的字节长度;
接收所述外围设备返回的读出数据,并通过所述I2C接口将返回的读出数据转发给所述主控设备。
进一步地,所述读出意图信息还包括读出信号和第二中断信号;
则所述将所述读出意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据,具体为:
将所述读出意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述读出意图信息中的第二中断信号响应中断,对所述读出意图信息中的读出信号进行识别,并在识别成功时返回从读出地址对应的内存中所读取的读出数据。
需要说明的是,上述读出意图信息所包括的读出信号和第二中断信号在本实施例中配置为:读出信号为S1,第二中断信号为扩展装置MCU触发中断生成第二中断信号INT2,该接收信号S1通过扩展装置MCU的I/O接口发送到外围设备的I/O接口,该第二中断信号INT2通过扩展装置的I/O接口发送至外围设备的外部中断接口,外围设备接收到外部中断信号,即第二中断信号INT2时,进入中断服务程序,识别I/O接口的具体状态,当识别到信号S1时,外围设备进行返回从读出地址对应的内存中所读取的读出数据,即通知外围设备进行读出操作。
进一步地,所述数据传输的方法还包括:
当接收到所述外围设备返回的读出数据时,再次生成所述读出意图信息,并将所述读出意图信息发送给所述外围设备,以使所述外围设备根据所述读出意图信息中的中断信号响应中断,对所述读出意图信息中的读出信号进行识别,并在识别成功时返回下一个读出地址对应的内存中所读取的读出数据;其中,下一个读出地址为上一个读出地址加一。
需要说明的是,外围设备只有在接收到读出意图信息中的读出信号S1,会相应地返回一个字节的读出数据,而扩展装置MCU只要接收到外围设备返回的一个字节的读出数据,就会再次生成读出意图信息发送给外围设备,如此循环,逐个字节地将读出数据传输给主控设备,以符合I2C通信协议。
再进一步地,所述数据传输的方法还包括:
通过所述I2C接口接收所述主控设备发送的停止信息;
根据所述停止信息生成停止意图信息;所述停止意图信息包括停止信号和第三中断信号;
将所述停止意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述停止意图信息中的第三中断信号响应中断,对所述停止意图信息中的停止信号进行识别,并在识别成功时停止当前操作。
需要说明的是,上述停止意图信息所包括的停止信号和第三中断信号在本实施例中配置为:停止信号为S2,第三中断信号为扩展装置MCU触发中断生成第三中断信号INT3,该停止信号S2通过扩展装置MCU的I/O接口发送到外围设备的I/O接口,该第三中断信号INT3通过扩展装置的I/O接口发送至外围设备的外部中断接口,外围设备接收到外部中断信号,即第三中断信号INT3时,进入中断服务程序,识别I/O接口的具体状态,当识别到信号S3时,外围设备停止当前操作,即扩展装置MCU通知外围设备停止当前操作,表示完成主控设备与外围设备的一次完整的I2C通讯。
上述实施例中的第一中断信号INT1、第二中断信号INT2和第三中断信号INT3所代表的信号是相同的。
本发明提供了一种数据传输的方法,能通过I2C接口接收并识主控设备发送的写入地址信息;扩展装置根据所述写入地址信息中的写入标识生成接收意图信息,并其发送给所述器件地址对应的外围设备,所述外围设备通过识别所述接收意图信息准备接收寄存器地址;接着,所述扩展装置通过所述I2C接口接收所述主控设备发送的寄存器地址,并将所述寄存器地址转发给所述外围设备,所述外围设备将该寄存器地址作为起始地址准备进行写入操作或读出操作。对于不具备扩展I2C功能的外围设备,无法识别主控设备发送的数据,则本发明提供的扩展装置通过通知外围设备其具体的寄存器地址后,后序步骤中该扩展装置只需要进行即时转发数据,即可让外围设备实现根据该地址就进行写入操作或读出操作,实现主控设备与不具体扩展I2C功能的外围设备的I2C通信,而且扩展装置不需要在接收到一次完整的时序数据时再打包传输给外围设备,不受限于扩展装置的内存空间,提高数据传输效率。
参见图4,是本发明提供的数据传输的方法的另一个实施例的流程示意图,该方法由设置在外围设备中的一个装置执行,所达到的技术效果与上一实施例的相同,在此不再赘述,具体实施步骤如下:
S21,接收扩展装置发送的接收意图信息;其中,所述接收意图信息是由所述扩展装置根据通过I2C接口从主控设备中所接收到的写入地址信息的写入标识生成的,且是由所述扩展装置根据所述写入地址信息的器件地址进行寻址发送的;
S22,根据所述接收意图信息准备接收寄存器地址;
S23,接收所述扩展装置转发送的寄存器地址,并以所接收到的寄存器地址为起始地址准备进行写入操作或读出操作;所述寄存器地址是所述扩展装置通过所述I2C接口从所述主控设备中接收到的。
在接收到寄存器地址后,本发明实施例中后序进行的写入操作,具体实施步骤如下:
在一种实施方式中,所述数据传输的方法还包括:
以流水线方式,逐个字节地接收所述扩展装置转发的写入数据,并从以所接收到的寄存器地址为起始地址开始将所述写入数据逐个字节写入相应的内存中。
进一步地,所述接收意图信息包括接收信号和第一中断信号;
则,根据所述接收意图信息准备接收寄存器地址,具体为:
根据所述接收意图信息中的第一中断信号响应中断,对所述接收意图信息中的接收信号进行识别,并在识别成功时准备接收寄存器地址。
在接收到寄存器地址后,本发明实施例中后序进行的读出操作,具体实施步骤如下:
接收所述扩展装置发送的读出意图信息;其中,所述读出意图信息是由所述扩展装置根据通过所述I2C接口从所述主控设备中所接收到的读出地址信息中的读出标识生成的,且是由所述扩展装置根据所述读出地址信息中的所述器件地址进行寻址发送的;
根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据给所述扩展装置,以使所述扩展装置通过所述I2C接口将所述读出数据转发给所述主控设备;所述读出地址为所述寄存器地址。
在上述实施例中的写入操作之后,本发明实施例还会有可能进行读出操作,该读出操作与上一个读出操作的实施步骤基本相同,区别在于读取地址,该读出操作的实施步骤具体为:
接收所述扩展装置发送的读出意图信息;其中,所述读出意图信息是由所述扩展装置根据通过所述I2C接口从所述主控设备中所接收到的读出地址信息中的读出标识生成的,且是由所述扩展装置根据所述读出地址信息中的所述器件地址进行寻址发送的;
根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据给所述扩展装置,以使所述扩展装置通过所述I2C接口将所述读出数据转发给所述主控设备;所述读出地址为所述寄存器地址加上所述写入数据的字节长度。
进一步地,所述读出意图信息还包括读出信号和第二中断信号;
则所述根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据给所述扩展装置,具体为:
根据所述读出意图信息中的第二中断信号响应中断,对所述读出意图信息中的读出信号进行识别,并在识别成功时返回从读出地址对应的内存中所读取的读出数据。
进一步地,所述数据传输的方法还包括:
再次接收所述扩展装置发送所述读出意图信息;再次接到的所述读出意图信息是由所述扩展装置在接收到返回的读出数据时再次生成的;
根据所述再次接收到的所述读出意图信息中的中断信号响应中断,对所述读出意图信息中的读出信号进行识别,并在识别成功时返回下一个读出地址对应的内存中所读取的读出数据给所述扩展装置,以使所述扩展装置通过所述I2C接口将所述读出数据转发给所述主控设备;其中,下一个读出地址为上一个读出地址加一。
再进一步地,所述数据传输的方法还包括:
接收所述扩展装置发送的停止意图信息;所述停止意图信息是由所述扩展装置根据通过所述I2C接口从所述主控设备中接收到的停止信息生成的,所述停止意图信息包括停止信号和第三中断信号;
根据所述停止意图信息中的第三中断信号响应中断,对所述停止意图信息中的停止信号进行识别,并在识别成功时停止当前操作。
参见图5,是本发明提供的数据传输的扩展装置的一个实施例的结构示意图,该扩展装置MCU能实施上述第一个实施例所提出的数据传输的方法的全部流程,所达到的技术效果与第一个实施例的技术效果一致,在此不再赘述,仅具体描这该扩展装置MCU的具体结构:
写入地址接收模块101,用于通过I2C接口接收主控设备发送的写入地址信息;所述写入地址信息包括写入标识和器件地址;
接收意图生成模块102,用于根据所述写入标识生成接收意图信息,并将所述接收意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述接收意图信息准备接收寄存器地址;
地址转发模块103,用于通过所述I2C接口接收所述主控设备发送的寄存器地址,并将所述寄存器地址转发给所述外围设备,以使所述外围设备以所接收到的寄存器地址为起始地址准备进行写入操作或读出操作。
在一种实施方式中,所述数据传输的扩展装置MCU还包括:
写入数据转发模块104,用于以流水线方式,通过所述I2C接口逐个字节地接收所述主控设备发送的写入数据,并逐个字节地将所述写入数据转发给所述外围设备,以供所述外围设备从以所接收到的寄存器地址为起始地址开始将所述写入数据逐个字节地写入相应的内存中。
进一步地,所述接收意图信息包括接收信号和第一中断信号;
所述接收意图生成模块102,还用于将所述接收意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述接收意图信息中的第一中断信号响应中断,对所述接收意图信息中的接收信号进行识别,并在识别成功时准备接收寄存器地址。
在另一种实施方式中,所述数据传输的扩展装置MCU还包括:
第一读出地址接收模块105,用于通过所述I2C接口接收所述主控设备发送的读出地址信息;所述读出地址信息包括读出标识和所述器件地址;
第一读出意图生成模块106,用于根据所述读出标识生成读出意图信息,并将所述读出意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据;所述读出地址为所述寄存器地址;
第一读出数据转发模块107,用于接收所述外围设备返回的读出数据,并通过所述I2C接口将返回的读出数据转发给所述主控设备。
在又一种实施方式中,所述数据传输的扩展装置MCU所包括的第一读出意图生成模块106,还用于根据所述读出标识生成读出意图信息,并将所述读出意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据;所述读出地址为所述寄存器地址加上所述写入数据的字节长度。
进一步地,所述读出意图信息还包括读出信号和第二中断信号;
所述第一读出意图生成模块106,还用于将所述读出意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述读出意图信息中的第二中断信号响应中断,对所述读出意图信息中的读出信号进行识别,并在识别成功时返回从读出地址对应的内存中所读取的读出数据。
进一步地,所述数据传输的扩展装置MCU还包括:
第二读出意图生成模块108,用于当接收到所述外围设备返回的读出数据时,再次生成所述读出意图信息,并将所述读出意图信息发送给所述外围设备,以使所述外围设备根据所述读出意图信息中的中断信号响应中断,对所述读出意图信息中的读出信号进行识别,并在识别成功时返回下一个读出地址对应的内存中所读取的读出数据;其中,下一个读出地址为上一个读出地址加一。
再进一步地,所述数据传输的扩展装置MCU还包括:
停止信息接收模块109,用于通过所述I2C接口接收所述主控设备发送的停止信息;
停止意图生成模块110,用于根据所述停止信息生成停止意图信息;所述停止意图信息包括停止信号和第三中断信号;
停止意图发送模块111,用于将所述停止意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述停止意图信息中的第三中断信号响应中断,对所述停止意图信息中的停止信号进行识别,并在识别成功时停止当前操作。
参见图6,是本发明提供的数据传输的扩展装置的另一个实施例的结构示意图,该扩展装置MCU能实施上述第二个实施例所提出的数据传输的方法的全部流程,所达到的技术效果与第二个实施例的技术效果一致,在此不再赘述,仅具体描这该扩展装置MCU的具体结构:
接收意图模块201,用于接收扩展装置MCU发送的接收意图信息;其中,所述接收意图信息是由所述扩展装置MCU根据通过I2C接口从主控设备中所接收到的写入地址信息的写入标识生成的,且是由所述扩展装置MCU根据所述写入地址信息的器件地址进行寻址发送的;
准备接收模块202,用于根据所述接收意图信息准备接收寄存器地址;
接收地址模块203,用于接收所述扩展装置MCU转发送的寄存器地址,并以所接收到的寄存器地址为起始地址准备进行写入操作或读出操作;所述寄存器地址是所述扩展装置MCU通过所述I2C接口从所述主控设备中接收到的。
在一种实施方式中,,所述数据传输的外围设备还包括:
写入模块204,用于以流水线方式,逐个字节地接收所述扩展装置MCU转发的写入数据,并从以所接收到的寄存器地址为起始地址开始将所述写入数据逐个字节写入相应的内存中。
进一步地,所述接收意图信息包括接收信号和第一中断信号;
所述准备接收模块202,还用于根据所述接收意图信息中的第一中断信号响应中断,对所述接收意图信息中的接收信号进行识别,并在识别成功时准备接收寄存器地址
在另一种实施方式中,所述数据传输的外围设备还包括:
第一读出意图模块205,用于接收所述扩展装置MCU发送的读出意图信息;其中,所述读出意图信息是由所述扩展装置MCU根据通过所述I2C接口从所述主控设备中所接收到的读出地址信息中的读出标识生成的,且是由所述扩展装置MCU根据所述读出地址信息中的所述器件地址进行寻址发送的;
第一读出返回模块206,用于根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据给所述扩展装置MCU,以使所述扩展装置MCU通过所述I2C接口将所述读出数据转发给所述主控设备;所述读出地址为所述寄存器地址。
在又一种实施方式中,所述数据传输的外围设备的所述第一读出返回模块206,用于根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据给所述扩展装置MCU,以使所述扩展装置MCU通过所述I2C接口将所述读出数据转发给所述主控设备;所述读出地址为所述寄存器地址加上所述写入数据的字节长度。
进一步地,所述读出意图信息还包括读出信号和第二中断信号;
所述第一读出返回模块206,还用于根据所述读出意图信息中的第二中断信号响应中断,对所述读出意图信息中的读出信号进行识别,并在识别成功时返回从读出地址对应的内存中所读取的读出数据。
进一步地,所述数据传输的外围设备还包括:
第二读出意图模块207,用于再次接收所述扩展装置MCU发送所述读出意图信息;再次接到的所述读出意图信息是由所述扩展装置MCU在接收到返回的读出数据时再次生成的;
第二读出返回模块208,用于根据所述再次接收到的所述读出意图信息中的中断信号响应中断,对所述读出意图信息中的读出信号进行识别,并在识别成功时返回下一个读出地址对应的内存中所读取的读出数据给所述扩展装置MCU,以使所述扩展装置MCU通过所述I2C接口将所述读出数据转发给所述主控设备;其中,下一个读出地址为上一个读出地址加一。
再进一步地,所述数据传输的外围设备还包括:
停止意图模块209,用于接收所述扩展装置MCU发送的停止意图信息;所述停止意图信息是由所述扩展装置MCU根据通过所述I2C接口从所述主控设备中接收到的停止信息生成的,所述停止意图信息包括停止信号和第三中断信号;
停止响应模块210,用于根据所述停止意图信息中的第三中断信号响应中断,对所述停止意图信息中的停止信号进行识别,并在识别成功时停止当前操作。
参见图7,是本发明提供的数据传输的系统的一个实施例的结构示意图,所述系统包括主控设备10、扩展装置MCU和至少一个外围设备20;其中,所述扩展装置MCU为上述实施例所提供的扩展装置MCU;所述外围设备20为上述实施例所提供的外围设备20;
所述主控设备10通过I2C接口与所述扩展装置MCU连接;所述扩展装置MCU与所述外围设备20连接。
本发明提供了一种数据传输的系统,能实施上述实施例所提供的数据传输方法的全部流程,所达到的技术效果一致。
参见图8,是本发明提供的数据传输的方法的只写操作的通信过程的一个实施例的流程示意图;下面以本发明提供的数据传的方法、扩展装置、外围设备20和系统,所进行的只写操作进行详细的描述:
步骤S31:主控设备10发送写入地址信息给扩展装置MCU;
步骤S321:扩展装置MCU生成信号SO和第一中断信号INT1,
步骤S322:扩展装置MCU发送信号SO和第一中断信号INT1给外围设备20;
步骤S33:外围设备20响应第一中断信号INT1,进入中断服务程序,对I/O接口所接收到的信号进行判断,识别为信号SO,准备接收寄存器地址;
步骤S341:主控设备10发送寄存器地址给扩展装置MCU;
步骤S342:扩展装置MCU将接收到的寄存器地址发送给外围设备20;
步骤S35:以流水线方式操作,主控设备10按时序逐个字节的写入数据发送给扩展装置MCU,扩展装置MCU直接将接收到的每一个字节转发给外围设备20,外围设备20以寄存器地址为起始地址将接收到的每一个字节的写入数据写入相应的内存中。
步骤S36:主控设备10发送停止信息给扩展装置;
步骤S37:扩展装置MCU生成信号S2和第三中断信号INT3,并发送给外围设备20;
步骤S38:外围设备20响应第三中断信号INT3,进行中断服务程序,对I/O接口所接收到的信号进行判断,识别为信号S2,停止当前操作。
参见图9,是本发明提供的数据传输的方法的只读操作的通信过程的一个实施例的流程示意图;下面以本发明提供的数据传的方法、扩展装置、外围设备20和系统,所进行的只读操作进行详细的描述:
步骤S31:主控设备10发送写入地址信息给扩展装置MCU;
步骤S321:扩展装置MCU生成信号SO和第一中断信号INT1,
步骤S322:扩展装置MCU发送信号SO和第一中断信号INT1给外围设备20;
步骤S33:外围设备20响应第一中断信号INT1,进入中断服务程序,对I/O接口所接收到的信号进行判断,识别为信号SO,准备接收寄存器地址;
步骤S341:主控设备10发送寄存器地址给扩展装置MCU;
步骤S342:扩展装置MCU将接收到的寄存器地址发送给外围设备20;
步骤S41:主控设备10发送读出地址信息给扩展装置MCU;
步骤S421:扩展装置MCU生成信号S2和第二中断信号INT2,
步骤S422:扩展装置MCU发送信号S2和第二中断信号INT2发送给外围设备20;
步骤S43:外围设备20响应第二中断信号INT2,进入中断服务程序,对I/O接口所接收到的信号进行判断,识别为信号S2,准备接收从读出地址对应的内存中返回一个字节的读出数据;所述读出地址为所述寄存器地址;
步骤S44:扩展装置MCU每接收到外围设备20返回的一个字节的读出数据,再次生生成信号S2和第二中断信号INT2,并发送给外围设备20,使其再执行步骤S43,但读出地址为上一个读出地址加一;
步骤S45:扩展装置MCU将接收到的每一个读出数据转发给主控设备10;
步骤S36:主控设备10发送停止信息给扩展装置;
步骤S37:扩展装置MCU生成信号S1和第三中断信号INT3,并发送给外围设备20;
步骤S38:外围设备20响应第三中断信号INT3,进行中断服务程序,对I/O接口所接收到的信号进行判断,识别为信号S1,停止当前操作。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (23)
1.一种数据传输的方法,其特征在于,包括:
通过I2C接口接收主控设备发送的写入地址信息;所述写入地址信息包括写入标识和器件地址;
根据所述写入标识生成接收意图信息,并将所述接收意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述接收意图信息准备接收寄存器地址;
通过所述I2C接口接收所述主控设备发送的寄存器地址,并将所述寄存器地址转发给所述外围设备,以使所述外围设备以所接收到的寄存器地址为起始地址准备进行写入操作或读出操作。
2.如权利要求1所述的数据传输的方法,其特征在于,所述数据传输的方法还包括:
以流水线方式,通过所述I2C接口逐个字节地接收所述主控设备发送的写入数据,并逐个字节地将所述写入数据转发给所述外围设备,以供所述外围设备从以所接收到的寄存器地址为起始地址开始将所述写入数据逐个字节地写入相应的内存中。
3.如权利要求1或2所述的数据传输的方法,其特征在于,所述接收意图信息包括接收信号和第一中断信号;
则,所述将所述接收意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述接收意图信息准备接收寄存器地址,具体为:
将所述接收意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述接收意图信息中的第一中断信号响应中断,对所述接收意图信息中的接收信号进行识别,并在识别成功时准备接收寄存器地址。
4.如权利要求1所述的数据传输的方法,其特征在于,所述数据传输的方法还包括:
通过所述I2C接口接收所述主控设备发送的读出地址信息;所述读出地址信息包括读出标识和所述器件地址;
根据所述读出标识生成读出意图信息,并将所述读出意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据;所述读出地址为所述寄存器地址;
接收所述外围设备返回的读出数据,并通过所述I2C接口将返回的读出数据转发给所述主控设备。
5.如权利要求2所述的数据传输的方法,其特征在于,所述数据传输的方法还包括:
通过所述I2C接口接收所述主控设备发送的读出地址信息;所述读出地址信息包括读出标识和所述器件地址;
根据所述读出标识生成读出意图信息,并将所述读出意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据;所述读出地址为所述寄存器地址加上所述写入数据的字节长度;
接收所述外围设备返回的读出数据,并通过所述I2C接口将返回的读出数据转发给所述主控设备。
6.如权利要求4或5所述的数据传输的方法,其特征在于,所述读出意图信息还包括读出信号和第二中断信号;
则所述将所述读出意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据,具体为:
将所述读出意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述读出意图信息中的第二中断信号响应中断,对所述读出意图信息中的读出信号进行识别,并在识别成功时返回从读出地址对应的内存中所读取的读出数据。
7.如权利要求6所述的数据传输的方法,其特征在于,所述数据传输的方法还包括:
当接收到所述外围设备返回的读出数据时,再次生成所述读出意图信息,并将所述读出意图信息发送给所述外围设备,以使所述外围设备根据所述读出意图信息中的中断信号响应中断,对所述读出意图信息中的读出信号进行识别,并在识别成功时返回下一个读出地址对应的内存中所读取的读出数据;其中,下一个读出地址为上一个读出地址加一。
8.如权利要求1所述的数据传输的方法,其特征在于,所述数据传输的方法还包括:
通过所述I2C接口接收所述主控设备发送的停止信息;
根据所述停止信息生成停止意图信息;所述停止意图信息包括停止信号和第三中断信号;
将所述停止意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述停止意图信息中的第三中断信号响应中断,对所述停止意图信息中的停止信号进行识别,并在识别成功时停止当前操作。
9.一种数据传输的方法,其特征在于,包括:
接收扩展装置发送的接收意图信息;其中,所述接收意图信息是由所述扩展装置根据通过I2C接口从主控设备中所接收到的写入地址信息的写入标识生成的,且是由所述扩展装置根据所述写入地址信息的器件地址进行寻址发送的;
根据所述接收意图信息准备接收寄存器地址;
接收所述扩展装置转发送的寄存器地址,并以所接收到的寄存器地址为起始地址准备进行写入操作或读出操作;所述寄存器地址是所述扩展装置通过所述I2C接口从所述主控设备中接收到的。
10.如权利要求9所述的数据传输的方法,其特征在于,所述数据传输的方法还包括:
以流水线方式,逐个字节地接收所述扩展装置转发的写入数据,并从以所接收到的寄存器地址为起始地址开始将所述写入数据逐个字节写入相应的内存中。
11.如权利要求9或10所述的数据传输的方法,其特征在于,所述接收意图信息包括接收信号和第一中断信号;
则,根据所述接收意图信息准备接收寄存器地址,具体为:
根据所述接收意图信息中的第一中断信号响应中断,对所述接收意图信息中的接收信号进行识别,并在识别成功时准备接收寄存器地址。
12.如权利要求9所述的数据传输的方法,其特征在于,所述数据传输的方法还包括:
接收所述扩展装置发送的读出意图信息;其中,所述读出意图信息是由所述扩展装置根据通过所述I2C接口从所述主控设备中所接收到的读出地址信息中的读出标识生成的,且是由所述扩展装置根据所述读出地址信息中的所述器件地址进行寻址发送的;
根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据给所述扩展装置,以使所述扩展装置通过所述I2C接口将所述读出数据转发给所述主控设备;所述读出地址为所述寄存器地址。
13.如权利要求10所述的数据传输的方法,其特征在于,所述数据传输的方法还包括:
接收所述扩展装置发送的读出意图信息;其中,所述读出意图信息是由所述扩展装置根据通过所述I2C接口从所述主控设备中所接收到的读出地址信息中的读出标识生成的,且是由所述扩展装置根据所述读出地址信息中的所述器件地址进行寻址发送的;
根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据给所述扩展装置,以使所述扩展装置通过所述I2C接口将所述读出数据转发给所述主控设备;所述读出地址为所述寄存器地址加上所述写入数据的字节长度。
14.如权利要求12或13所述的数据传输的方法,其特征在于,所述读出意图信息还包括读出信号和第二中断信号;
则所述根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据给所述扩展装置,具体为:
根据所述读出意图信息中的第二中断信号响应中断,对所述读出意图信息中的读出信号进行识别,并在识别成功时返回从读出地址对应的内存中所读取的读出数据。
15.如权利要求14所述的数据传输的方法,其特征在于,所述数据传输的方法还包括:
再次接收所述扩展装置发送所述读出意图信息;再次接到的所述读出意图信息是由所述扩展装置在接收到返回的读出数据时再次生成的;
根据所述再次接收到的所述读出意图信息中的中断信号响应中断,对所述读出意图信息中的读出信号进行识别,并在识别成功时返回下一个读出地址对应的内存中所读取的读出数据给所述扩展装置,以使所述扩展装置通过所述I2C接口将所述读出数据转发给所述主控设备;其中,下一个读出地址为上一个读出地址加一。
16.如权利要求9所述的数据传输的方法,其特征在于,所述数据传输的方法还包括:
接收所述扩展装置发送的停止意图信息;所述停止意图信息是由所述扩展装置根据通过所述I2C接口从所述主控设备中接收到的停止信息生成的,所述停止意图信息包括停止信号和第三中断信号;
根据所述停止意图信息中的第三中断信号响应中断,对所述停止意图信息中的停止信号进行识别,并在识别成功时停止当前操作。
17.一种数据传输的扩展装置,其特征在于,包括:
写入地址接收模块,用于通过I2C接口接收主控设备发送的写入地址信息;所述写入地址信息包括写入标识和器件地址;
接收意图生成模块,用于根据所述写入标识生成接收意图信息,并将所述接收意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述接收意图信息准备接收寄存器地址;
地址转发模块,用于通过所述I2C接口接收所述主控设备发送的寄存器地址,并将所述寄存器地址转发给所述外围设备,以使所述外围设备以所接收到的寄存器地址为起始地址准备进行写入操作或读出操作。
18.如权利要求17所述的数据传输的扩展装置,其特征在于,所述数据传输的扩展装置还包括:
写入数据转发模块,用于以流水线方式,通过所述I2C接口逐个字节地接收所述主控设备发送的写入数据,并逐个字节地将所述写入数据转发给所述外围设备,以供所述外围设备从以所接收到的寄存器地址为起始地址开始将所述写入数据逐个字节地写入相应的内存中。
19.如权利要求18所述的数据传输的扩展装置,其特征在于,所述数据传输的扩展装置还包括:
第一读出地址接收模块,用于通过所述I2C接口接收所述主控设备发送的读出地址信息;所述读出地址信息包括读出标识和所述器件地址;
第一读出意图生成模块,用于根据所述读出标识生成读出意图信息,并将所述读出意图信息发送给所述器件地址对应的外围设备,以使所述外围设备根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据;所述读出地址为所述寄存器地址加上所述写入数据的字节长度;
第一读出数据转发模块,用于接收所述外围设备返回的读出数据,并通过所述I2C接口将返回的读出数据转发给所述主控设备。
20.一种数据传输的外围设备,其特征在于,包括:
接收意图模块,用于接收扩展装置发送的接收意图信息;其中,所述接收意图信息是由所述扩展装置根据通过I2C接口从主控设备中所接收到的写入地址信息的写入标识生成的,且是由所述扩展装置根据所述写入地址信息的器件地址进行寻址发送的;
准备接收模块,用于根据所述接收意图信息准备接收寄存器地址;
接收地址模块,用于接收所述扩展装置转发送的寄存器地址,并以所接收到的寄存器地址为起始地址准备进行写入操作或读出操作;所述寄存器地址是所述扩展装置通过所述I2C接口从所述主控设备中接收到的。
21.如权利要求20所述的数据传输的外围设备,其特征在于,所述数据传输的外围设备还包括:
写入模块,用于以流水线方式,逐个字节地接收所述扩展装置转发的写入数据,并从以所接收到的寄存器地址为起始地址开始将所述写入数据逐个字节写入相应的内存中。
22.如权利要求21所述的数据传输的外围设备,其特征在于,所述数据传输的外围设备还包括:
第一读出意图模块,用于接收所述扩展装置发送的读出意图信息;其中,所述读出意图信息是由所述扩展装置根据通过所述I2C接口从所述主控设备中所接收到的读出地址信息中的读出标识生成的,且是由所述扩展装置根据所述读出地址信息中的所述器件地址进行寻址发送的;
第一读出返回模块,用于根据所述读出意图信息返回从读出地址对应的内存中所读取的读出数据给所述扩展装置,以使所述扩展装置通过所述I2C接口将所述读出数据转发给所述主控设备;所述读出地址为所述寄存器地址加上所述写入数据的字节长度。
23.一种数据传输的系统,其特征在于,所述系统包括主控设备、扩展装置和至少一个外围设备;其中,所述扩展装置为如权利要求17至19任一项所述的扩展装置;所述外围设备为如权利要求20至22任一项所述的外围设备;
所述主控设备通过I2C接口与所述扩展装置连接;所述扩展装置与所述外围设备连接。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610104529.7A CN105786734B (zh) | 2016-02-25 | 2016-02-25 | 数据传输的方法、扩展装置、外围设备及系统 |
PCT/CN2016/113065 WO2017143857A1 (zh) | 2016-02-25 | 2016-12-29 | 数据传输的方法、扩展装置、外围设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610104529.7A CN105786734B (zh) | 2016-02-25 | 2016-02-25 | 数据传输的方法、扩展装置、外围设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105786734A CN105786734A (zh) | 2016-07-20 |
CN105786734B true CN105786734B (zh) | 2018-12-18 |
Family
ID=56403684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610104529.7A Active CN105786734B (zh) | 2016-02-25 | 2016-02-25 | 数据传输的方法、扩展装置、外围设备及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105786734B (zh) |
WO (1) | WO2017143857A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105786734B (zh) * | 2016-02-25 | 2018-12-18 | 广州视源电子科技股份有限公司 | 数据传输的方法、扩展装置、外围设备及系统 |
CN108090193B (zh) * | 2017-12-21 | 2022-04-22 | 创新先进技术有限公司 | 异常文本的识别方法和装置 |
CN110825572A (zh) * | 2019-10-29 | 2020-02-21 | 青岛歌尔智能传感器有限公司 | I2c设备地址的探测方法、装置、系统及电子设备 |
WO2021134762A1 (zh) * | 2020-01-02 | 2021-07-08 | 华为技术有限公司 | 一种控制方法及装置 |
CN112463662B (zh) * | 2020-12-16 | 2024-04-05 | 福州创实讯联信息技术有限公司 | 一种用户态控制i2c设备的方法与终端 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256544A (zh) * | 2008-03-25 | 2008-09-03 | 华为技术有限公司 | 内部集成电路总线的扩展方法、装置及系统 |
CN105224497A (zh) * | 2015-09-10 | 2016-01-06 | 上海斐讯数据通信技术有限公司 | 串行接口可扩展的处理装置及方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3256812B2 (ja) * | 1992-08-03 | 2002-02-18 | 株式会社日立製作所 | 通信制御装置およびプロセッサ装置 |
JP3672845B2 (ja) * | 2001-05-25 | 2005-07-20 | シャープ株式会社 | インターフェース装置及びこれを備えた通信機器並びに通信方法 |
CN1889666A (zh) * | 2006-01-13 | 2007-01-03 | 深圳创维-Rgb电子有限公司 | 接口转换装置及其方法 |
CN101344874B (zh) * | 2007-07-11 | 2010-09-29 | 深圳创维-Rgb电子有限公司 | 控制i2c器件的方法及装置 |
CN202351858U (zh) * | 2011-10-24 | 2012-07-25 | 天弘(苏州)科技有限公司 | 一种模拟i2c总线的装置 |
CN102929828B (zh) * | 2012-10-18 | 2016-01-06 | 广东欧珀移动通信有限公司 | 同时支持标准和非标准i2c接口的数据传输方法及装置 |
CN105786734B (zh) * | 2016-02-25 | 2018-12-18 | 广州视源电子科技股份有限公司 | 数据传输的方法、扩展装置、外围设备及系统 |
-
2016
- 2016-02-25 CN CN201610104529.7A patent/CN105786734B/zh active Active
- 2016-12-29 WO PCT/CN2016/113065 patent/WO2017143857A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256544A (zh) * | 2008-03-25 | 2008-09-03 | 华为技术有限公司 | 内部集成电路总线的扩展方法、装置及系统 |
CN105224497A (zh) * | 2015-09-10 | 2016-01-06 | 上海斐讯数据通信技术有限公司 | 串行接口可扩展的处理装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2017143857A1 (zh) | 2017-08-31 |
CN105786734A (zh) | 2016-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105786734B (zh) | 数据传输的方法、扩展装置、外围设备及系统 | |
CN101399654B (zh) | 一种串行通信方法和装置 | |
CN109857685B (zh) | 一种mpu与fpga扩展多串口的实现方法 | |
CN105721357B (zh) | 交换设备、外围部件互连高速系统及其初始化方法 | |
CN106776436B (zh) | 一种适用于多点互联的高速串行总线的通信方法 | |
CN100573382C (zh) | 基于i2c的通信系统及通信方法 | |
CN101957808B (zh) | 多cpu间的通信方法、系统及cpu | |
CN106959935B (zh) | 一种兼容i2c通信与ipmb通信的方法 | |
CN101866328A (zh) | 一种自动访问的串行总线读写控制方法 | |
CN103248526A (zh) | 实现带外监控管理的通信设备、方法及主从切换方法 | |
CN105786639A (zh) | 一种i2c总线数据的传输方法及系统 | |
KR101559089B1 (ko) | 장치의 컴포넌트들 간에 메모리 자원들을 공유하기 위한 통신 프로토콜 | |
WO2016154347A1 (en) | Low-power and low-latency device enumeration with cartesian addressing | |
CN108280041A (zh) | 一种内部集成电路主机的通信方法和装置 | |
CN106936677A (zh) | 一种模块化ups系统及功率设备的数据传输方法 | |
JPH0424702A (ja) | 制御システム | |
CN104346310B (zh) | 一种高性能i2c从机数据交换电路及方法 | |
CN1964286B (zh) | 具有双cpu的主控设备 | |
CN107222379A (zh) | 一种串口通信的方法和装置 | |
CN108664443A (zh) | 数据通讯同步方法及系统 | |
CN104216863B (zh) | 多个arm间的通信电路及其通信方法 | |
CN105512066B (zh) | 基于profibus的软起动器通讯协议转换装置及方法 | |
CN111324563A (zh) | 一种PCIe设备物理lane的组合系统及方法 | |
CN111639043A (zh) | 一种通信装置 | |
RU2691886C1 (ru) | Сложно-функциональный блок для СБИС типа система на кристалле |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |