发明内容
本发明提供了一种I2C总线电路、实现方法以及电子设备以解决在线烧录模式数据冲突以及调试升级不方便的问题。
为达到上述目的,本发明技术方案是这样实现的:
根据本发明的一方面,提供了一种I2C总线电路,该I2C总线电路包括:作为主设备的第一主机和第二主机以及作为从设备的一从机;
第一主机和第二主机以及一从机上均设有I2C总线第一接口I2C1,第一主机的I2C1、第二主机的I2C1与一从机的I2C1之间连接;
第一主机和第二主机上还分别设有I2C总线第二接口I2C2,第一主机的I2C2与第二主机的I2C2之间连接;
第一主机经第一主机的I2C2向第二主机的I2C2发送控制指令,以实现第一主机和第二主机分时复用一从机的I2C1。
可选地,I2C总线电路还包括第三主机;
第三主机上设有I2C总线第一接口I2C1,第一主机的I2C1、第三主机的I2C1与从机的I2C1之间连接;
第三主机上还设有I2C总线第二接口I2C2,第一主机的I2C2与第三主机的I2C2之间连接;
第一主机经第一主机的I2C2向第二主机的I2C2、第三主机的I2C2发送控制指令,以实现第一主机、第二主机、第三主机分时复用一从机的I2C1。
可选地,第一主机上还设有用于连接USB连接器的USB接口;
第一主机,用于通过USB接口接收USB连接器传输来的调试升级指令和调试升级程序,并根据调试升级指令将调试升级程序写入从机中。
可选地,第一主机为微控制单元MCU;
第二主机为移动终端高清影音标准接口MHL接收器;
一从机为电可擦可编程只读存储器EEPROM。
可选地,第一主机MCU,在检测到调试升级指令后经第一主机的I2C2接口向第二主机MHL接收器的I2C2接口发送控制指令,使得第二主机MHL接收器暂停访问从机EEPROM;以及,
在检测到调试升级程序完成的指令后将第一主机MCU的I2C1接口挂起,将第一主机MCU的I2C2接口配置为I2C口,同时经I2C2接口向第二主机MHL接收器的I2C2接口发送控制指令,使得第二主机MHL接收器的I2C1接口配置为I2C口,恢复访问从机EEPROM。
可选地,第一主机MCU用于向从机EEPROM中写入配置信息;
从机EEPROM用于存储配置信息;
第二主机MHL接收器用于从从机EEPROM中读取配置信息。
可选地,从机EEPROM中存储的配置信息包括:音视频源格式信息;
第二主机MHL接收器,用于接收外部传输的音视频源以及从从机EEPROM中读取音视频源格式信息,利用从机EEPROM中读取音视频源格式信息对接收的音视频源进行判断,并根据判断结果作相应处理。
根据本发明的另一个方面,还提供了一种电子设备,该电子设备包括:如本发明一个方面的I2C总线电路。
根据本发明的又一方面,提供了一种I2C总线电路的实现方法,该方法包括:
在电路中选取作为主设备的第一主机和第二主机以及作为从设备一从机;
分别在第一主机和第二主机以及一从机上设置I2C总线第一接口I2C1,将第一主机的I2C1、第二主机的I2C1与一从机的I2C1之间连接起来;
分别在第一主机和第二主机上设置I2C总线第二接口I2C2,将第一主机和第二主机的I2C2连接起来;利用第一主机经第一主机的I2C2向第二主机的I2C2发送控制指令,以实现第一主机和第二主机分时复用一从机的I2C1。
可选地,该方法还包括:在第一主机上还设有用于连接USB连接器的USB接口;
利用第一主机的USB接口接收USB连接器传输来的调试升级指令和调试升级程序,并根据调试升级指令将调试升级程序写入从机中;以及,选取微控制单元MCU作为第一主机;
选取移动终端高清影音标准接口MHL接收器作为第二主机;
选取电可擦可编程只读存储器EEPROM作为一从机。
本发明的有益效果是:本发明的技术方案通过将作为主设备的第一主机和第二主机以及作为从设备的一从机通过I2C总线第一接口I2C1连接起来,同时将作为主设备的第一主机和第二主机通过I2C总线第二接口I2C2连接起来,由第一主机向第二主机发送控制指令的方式来实现两个主机分时复用一从机的I2C1总线接口,解决了程序在线烧录时的数据冲突问题,第一主机或者第二主机均可与从机通信实现数据的传输和存储,另外,在线烧录也省略了离线烧录的烧录设备,节省了成本,增强了***的稳定性。
具体实施方式
本发明的核心思想是:针对现有技术中存在的问题,利用I2C(Inter-IntegratedCircuit)总线的特点,提出了一种基于I2C总线的分时复用机制,解决两主一从***中存在的数据读取和存储的冲突问题,对数据流向进行有效管理,同时方便***后期升级和调试。I2C总线是一种两线式的串行总线,用于连接微控制器及其***设备。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。I2C总线通过串行数据(SDA)线和串行时钟(SCL)线在连接到总线的器件间传递信息。本发明实施例中的分时复用是指第一时刻由第一主机访问一从机进行数据的写入工作,第二时刻由第二主机访问一从机进行数据的读取工作,两个主机分时复用同一从机,从而避免了数据冲突问题。具体实施时可由第一主机来控制实现访问切换。
图1是本发明一个实施例的一种I2C总线电路的结构示意图,参见图1,本发明的这种I2C总线电路包括:
作为主设备的第一主机101和第二主机102以及作为从设备的一从机103;
第一主机101和第二主机102以及一从机103上均设有I2C总线第一接口I2C1,第一主机101的I2C1、第二主机102的I2C1与一从机103的I2C1之间连接;
第一主机101和第二主机102上还分别设有I2C总线第二接口I2C2,第一主机101的I2C2与第二主机102的I2C2之间连接;
第一主机101经第一主机101的I2C2向第二主机102的I2C2发送控制指令,以实现第一主机101和第二主机102分时复用一从机103的I2C1。
在本实施例中,第一主机101为微控制单元MCU,第二主机102为移动终端高清影音标准接口MHL接收器,一从机103为电可擦可编程只读存储器EEPROM。其中,MHL是一种连接便携式消费电子装置的影音标准接口,通过该接口可以接收外部音视频源传输的音视频数据,第二主机MHL接收器具有所需传输线少并且稳定性好的优点,但是第二主机MHL接收器的芯片不具有固定存储功能,断电时会丢失数据,第二主机MHL接收器通过访问一从机EEPROM获取配置信息。本实施例中的从机EEPROM是一种掉电后数据不丢失的存储介质,EEPROM可以在电脑上或专用设备上擦除已有信息,重新编程。需要说明的是,从机的选择需要考虑主机以及配置信息升级升序的数据大小,本实施例中由于MHL接收器需要用的配置信息以及MCU***调试升级程序等数据不太大,所以选用EEPROM作为从机,在本发明的其他实施例中从机可以是可擦除可编程EPROM或者其他ROM存储器。
此外,在本发明的一个实施例中,I2C总线电路包括第一主机和第二主机作为从设备,并且第二主机为MHL接收器,用于接收音视频信息。但是在本发明的其他实施例中,I2C总线电路还可以包括第三主机,第三主机上设有I2C总线第一接口I2C1,第一主机的I2C1、第三主机的I2C1与从机的I2C1之间连接;
第三主机上还设有I2C总线第二接口I2C2,第一主机的I2C2与第三主机的I2C2之间连接;
第一主机经第一主机的I2C2向第二主机的I2C2、第三主机的I2C2发送控制指令,以实现第一主机、所述第二主机、第三主机分时复用一从机的I2C1。
第三主机用于接收其他类型数据的信息,并在第一主机的控制下,分时复用一从机的I2C1总线接口,此时,第一主机、第二主机和第三主机分时复用一个从机的I2C1接口,第一主机负责写数据到从机,当第一主机写数据时,其他两个主机(第二主机和第三主机)都暂停访问从机。在写操作完成后,第一主机控制其中一个主机(第二主机或第三主机)访问从机读取数据,另一个主机(第二主机或第三主机)暂停访问从机。具体的第二或第三主机访问从机可由第二主机或第三主机实现的应用所确定,当第二主机或第三主机需要进行读取数据操作的时,由第一主机具体控制第二主机或第三主机访问从机。
在图1所示的电路中,第一主机MCU通过I2C1总线将***配置信息烧写到从机EEPROM中,第二主机MHL接收器通过I2C1总线访问从机EEPROM来读取存储器中的***配置信息,第一主机MCU通过I2C2控制第二主机MHL接收器的I2C2来实现两主机通过I2C1总线分时复用访问从机EEPROM的I2C1总线接口的功能,解决了第一主机和第二主机同时访问从机的数据冲突问题,也节省了硬件成本并提高了***的稳定性。
图2是本发明又一个实施例的一种I2C总线电路的结构示意图;第一主机101上还设有用于连接USB连接器的USB接口;
第一主机101用于通过USB接口接收USB连接器传输来的调试升级指令和调试升级程序,并根据调试升级指令将调试升级程序写入从机103中。
第一主机MCU101,在接收到调试升级指令后经第一主机MCU101的I2C2接口向第二主机MHL接收器102的I2C2接口发送控制指令,使得第二主机MHL接收器102暂停访问EEPROM103;以及,在检测到调试升级程序完成的指令后将MCU101的I2C1接口挂起,将第一主机MCU101的I2C2接口配置为I2C口,同时经I2C2接口向第二主机MHL接收器102的I2C2接口发送控制指令,使得第二主机MHL接收器的I2C1接口配置为I2C口,恢复访问EEPROM103。
本实施例中,第一主机MCU101用于向EEPROM103中写入配置信息;从机EEPROM103用于存储配置信息;第二主机MHL接收器102用于从从机EEPROM103中读取配置信息。从机EEPROM103中存储的配置信息包括:音视频源格式信息;第二主机MHL接收器102还用于接收外部传输的音视频源以及从从机EEPROM103中读取音视频源格式信息,利用从机EEPROM103中读取音视频源格式信息对接收的音视频源进行判断,并根据判断结果作相应处理。具体的工作过程为,当I2C电路正常工作时,第二主机MHL接收器通过检测外部音视频源的输入以及输入格式后,通过I2C1总线访问从机EEPROM,匹配判断外部输入的视频源的格式与从机EEPROM中存储的配置信息是否一致。如果一致的话,第二主机MHL接收器将音视频源继续向后端传输以做进一步地处理;如果不一致的话,第二主机MHL接收器将视频源切断不向后端传输。这里只是在本发明一个实施例中,当选取了MHL接收器作为一个主机时通过读取从机中存储的配置信息进行判断处理过程,当选取其他器件作为本发明I2C总线电路的一个主机时,可能不是对音视频源格式的判断,应根据其他器件能够实现的功能以及从机中存储的配置信息做具体处理,对此不做限制。
当后期,***需要DFU(Device Firmware Upgrade)调试和升级时,第一主机MCU通过USB接口检测到USB连接器传输来的DFU调试和升级指令后,通过I2C2总线接口向第二主机MHL接收器发送控制指令,使MHL接收器的I2C1接口配置为输入高阻状态,MHL接收器挂起I2C1总线;当上述配置完成后,第一主机MCU通过I2C1总线访问从机EEPROM,将USB传输通道传输来的调试和升级程序通过I2C1通道传输至从机EEPROM;当第一主机MCU检测到程序调试和升级完成指令后,第一主机MCU将第一主机MCU的I2C1接口配置为输入高阻状态,将第一主机MCU的I2C2接口配置为I2C接口,通过I2C总线向第二主机MHL接收器发送控制指令,使第二主机MHL接收器的I2C1接口也配置为I2C口,第二主机MHL接收器释放I2C1总线,使I2C1总线恢复其总线的功能,保证第二主机MHL接收器能够与从机EEPROM通信。在本发明的实施例中,I2C接口是一种通用的数据传输接口,它可以作为普通的数据传输接口也可以作为传输I2C总线数据的I2C接口,这里将第一主机MCU的I2C2接口配置为I2C接口和将第二主机MHL接收器的I2C1接口也配置为I2C口可以理解为,将第一主机MCU的I2C以及第二主机MHL接收器的I2C1接口配置为实现I2C总线功能。从而实现了两主机(第一主机MCU和第二主机MHL接收器)通过I2C1总线分时复用访问从机EEPROM的I2C1总线接口功能。
与上述I2C总线电路相对应的,本发明还提供了一种I2C总线电路的实现方法,图3是本发明一个实施例的一种I2C总线电路实现方法流程图参见图3,该方法包括:
步骤S301,在电路中选取作为主设备的第一主机和第二主机以及作为从设备一从机;
步骤S302,分别在第一主机和第二主机以及一从机上设置I2C总线第一接口I2C1,将第一主机的I2C1、第二主机的I2C1与一从机的I2C1之间连接起来;
步骤S303,分别在第一主机和第二主机上设置I2C总线第二接口I2C2,将第一主机和第二主机的I2C2连接起来;利用第一主机经第一主机的I2C2向第二主机的I2C2发送控制指令,以实现第一主机和第二主机分时复用一从机的I2C1。
在本实施例中,该方法还包括:在第一主机上还设有用于连接USB连接器的USB接口;
利用第一主机的USB接口接收USB连接器传输来的调试升级指令和调试升级程序,并根据调试升级指令将调试升级程序写入从机中;以及,选取微控制单元MCU作为第一主机;
选取移动终端高清影音标准接口MHL接收器作为第二主机;
选取电可擦可编程只读存储器EEPROM作为一从机。
需要说明的是,本发明的这种I2C总线电路的实现方法是和前述的I2C总线电路相对应的,因而该I2C总线电路的实现方法实现步骤可以参见前述I2C总线电路的部分的具体说明,在此不再赘述。
此外,本发明还提供了一种电子设备,图4是本发明一个实施例的一种电子设备的框图,参见图4,该电子设备400包括:I2C总线电路100。由于本发明的这种电子设备400集成了本发发明的这种SPI总线电路100,因而能够在线烧录程序并且避免数据冲突,稳定性强,成本低。在本发明的一个实施例中,电子设备400可以是头戴式显示设备HMD(Head MountDisplay)。
综上所述,本发明的I2C总线电路及其实现方法通过将作为主设备的第一主机和第二主机以及作为从设备的一从机通过I2C总线第一接口I2C1连接起来,同时将作为主设备的第一主机和第二主机通过I2C总线第二接口I2C2连接起来,由第一主机向第二主机发送控制指令的方式来实现两个主机分时复用一从机的I2C1总线接口,解决了程序在线烧录时的数据冲突问题,增强了***的稳定性,也省略了离线烧录的烧录设备,节省了成本。第一主机或者第二主机均可与从机通信实现数据的传输和存储。本发明还提供了一种包含上述I2C总线电路的电子设备,由于该I2C总线电路具有上述优点,因此,集成有该I2C总线电路的电子设备也具有稳定性强、成本低,避免了在线烧录程序时的数据冲突的问题,提高了电子设备的竞争力。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。