CN110795373B - 一种i2c总线到并行总线的转换方法、终端及存储介质 - Google Patents

一种i2c总线到并行总线的转换方法、终端及存储介质 Download PDF

Info

Publication number
CN110795373B
CN110795373B CN201910924995.3A CN201910924995A CN110795373B CN 110795373 B CN110795373 B CN 110795373B CN 201910924995 A CN201910924995 A CN 201910924995A CN 110795373 B CN110795373 B CN 110795373B
Authority
CN
China
Prior art keywords
cpu
register
parallel bus
bus
address
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
Application number
CN201910924995.3A
Other languages
English (en)
Other versions
CN110795373A (zh
Inventor
杨超
吴闽华
孟庆晓
秦金昆
陈泽江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Genew Technologies Co Ltd
Original Assignee
Shenzhen Genew Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Genew Technologies Co Ltd filed Critical Shenzhen Genew Technologies Co Ltd
Priority to CN201910924995.3A priority Critical patent/CN110795373B/zh
Publication of CN110795373A publication Critical patent/CN110795373A/zh
Application granted granted Critical
Publication of CN110795373B publication Critical patent/CN110795373B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3852Converter between protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

本发明公开了一种I2C总线到并行总线的转换方法、终端及存储介质,所述方法包括:当无并行总线接口的第一CPU间接访问DSP芯片时,所述第一CPU向带并行总线接口的第二CPU的并行总线地址寄存器写入DSP的内部地址;所述第一CPU通过I2C读取所述第二CPU的并行总线数据寄存器;所述第二CPU从所述并行总线地址寄存器中检测到所述第一CPU需要访问所述DSP芯片的偏移地址时,从所述DSP芯片获取偏移地址的寄存器值,并存入到所述并行总线数据寄存器中;当所述第一CPU再次发起一次I2C读时序时,则直接获取所述DSP芯片的寄存器值。本发明实现了无并行总线接口的CPU通过带并行总线接口的CPU间接访问DSP芯片。

Description

一种I2C总线到并行总线的转换方法、终端及存储介质
技术领域
本发明涉及嵌入式驱动技术领域,尤其涉及一种I2C总线到并行总线的转换方法、终端及存储介质。
背景技术
总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束,总线是一种内部结构,它是CPU、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。计算机总线分成并行总线和串行总线,并行总线具有独立的多地址线和多数据线,对外设访问速度快,软件不需要驱动协议的支持;而串行总线基本就寥寥几根信号线,CPU对外设的访问需要驱动软件的支持;简单来说,软件实现简单的接口,硬件实现就复杂;硬件接口简单的接口,对软件驱动又有一定的要求。
现在很多CPU都不具备了并行总线接口,为的是节省芯片成本;但是有些专用的芯片只能由并行总线访问,如果当前主控芯片无法提供并行接口的时候,无法满足产品的设计需求。
因此,现有技术还有待于改进和发展。
发明内容
本发明的主要目的在于提供一种I2C总线到并行总线的转换方法、终端及存储介质,旨在解决现有技术的上述缺陷。
为实现上述目的,本发明提供一种I2C总线到并行总线的转换方法,所述I2C总线到并行总线的转换方法包括如下步骤:
当无并行总线接口的第一CPU间接访问DSP芯片时,所述第一CPU向带并行总线接口的第二CPU的并行总线地址寄存器写入DSP的内部地址;
所述第一CPU通过I2C读取所述第二CPU的并行总线数据寄存器;
所述第二CPU从所述并行总线地址寄存器中检测到所述第一CPU需要访问所述DSP芯片的偏移地址时,从所述DSP芯片获取偏移地址的寄存器值,并存入到所述并行总线数据寄存器中;
当所述第一CPU再次发起一次I2C读时序时,则直接获取所述DSP芯片的寄存器值。
可选地,所述的I2C总线到并行总线的转换方法,其中,所述第二CPU通过I2C与所述第一CPU连接,所述第二CPU通过CS与所述DSP芯片连接。
可选地,所述的I2C总线到并行总线的转换方法,其中,所述I2C总线到并行总线的转换方法还包括:
所述第二CPU初始化启动;
设置I2C从机地址addr_dev;
设置并行总线地址寄存器的I2C偏移地址为addr_1;
设置并行总线数据寄存器的I2C偏移地址为addr_2;
设置片选CS1的寻址空间范围为0xf000-0000~0xf000-ffff;
使能I2C到片选CS1的桥接功能;
所述第二CPU初始化完毕。
可选地,所述的I2C总线到并行总线的转换方法,其中,所述片选CS1的片内寻址空间为0x10000字节。
可选地,所述的I2C总线到并行总线的转换方法,其中,配置所述第二CPU的I2C总线地址位宽度为16位地址模式。
可选地,所述的I2C总线到并行总线的转换方法,其中,所述I2C总线到并行总线的转换方法还包括:
所述第一CPU读所述DSP芯片寄存器R入口;
所述第一CPU通过I2C写所述第二CPU的寄存器,设备地址为addr_dev,偏移地址为addr_1,写入数据为16位数值R;
所述第二CPU接收到所述第一CPU的I2C写命令,将16位数值R写入寄存器addr_1;
所述第一CPU通过I2C读所述第二CPU的寄存器,设备地址为addr_dev,偏移地址为addr_2;
所述第二CPU再次接收到所述第一CPU的读请求,并检测到addr_1寄存器中存在合法的DSP寄存器地址,则请求并行总线时序,将DSP寄存器R的值发回I2C总线,传递给所述第一CPU;
返回16位数据为DSP寄存器R的值。
可选地,所述的I2C总线到并行总线的转换方法,其中,所述I2C总线到并行总线的转换方法还包括:
所述第一CPU写所述DSP芯片寄存器R入口;
所述第一CPU通过I2C写所述第二CPU的寄存器,设备地址为addr_dev,偏移地址为addr_1,写入数据为16位数值R;
所述第二CPU接收到所述第一CPU的I2C写命令,将16位数值R写入寄存器addr_1;
所述第一CPU通过I2C写所述第二CPU的寄存器,设备地址为addr_dev,偏移地址为addr_2,写入数据为16位数值;
所述第二CPU将数值写入寄存器addr_2,根据I2C写命令,请求并行总线时序,将数值写入DSP寄存器R中;
所述第一CPU成功将数值写入DSP寄存器R中。
可选地,所述的I2C总线到并行总线的转换方法,其中,所述第一CPU为I2C的主设备,所述第二CPU为I2C的从设备。
此外,为实现上述目的,本发明还提供一种终端,其中,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的I2C总线到并行总线的转换程序,所述I2C总线到并行总线的转换程序被所述处理器执行时实现如上所述的I2C总线到并行总线的转换方法的步骤。
此外,为实现上述目的,本发明还提供一种存储介质,其中,所述存储介质存储有I2C总线到并行总线的转换程序,所述I2C总线到并行总线的转换程序被处理器执行时实现如上所述的I2C总线到并行总线的转换方法的步骤。
本发明中,当无并行总线接口的第一CPU间接访问DSP芯片时,所述第一CPU向带并行总线接口的第二CPU的并行总线地址寄存器写入DSP的内部地址;所述第一CPU通过I2C读取所述第二CPU的并行总线数据寄存器;所述第二CPU从所述并行总线地址寄存器中检测到所述第一CPU需要访问所述DSP芯片的偏移地址时,从所述DSP芯片获取偏移地址的寄存器值,并存入到所述并行总线数据寄存器中;当所述第一CPU再次发起一次I2C读时序时,则直接获取所述DSP芯片的寄存器值。本发明实现了无并行总线接口的CPU通过带并行总线接口的CPU间接访问DSP芯片。
附图说明
图1是本发明I2C总线到并行总线的转换方法的较佳实施例的流程图;
图2是本发明I2C总线到并行总线的转换方法的较佳实施例中两个CPU与DSP进行通信的功能原理图;
图3是本发明I2C总线到并行总线的转换方法的较佳实施例中I2C时序的示意图;
图4是本发明I2C总线到并行总线的转换方法中第二CPU初始化过程的示意图;
图5是本发明I2C总线到并行总线的转换方法中第一CPU读DSP寄存器R的示意图;
图6是本发明I2C总线到并行总线的转换方法中第一CPU写DSP寄存器R的示意图;
图7为本发明终端的较佳实施例的运行环境示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明较佳实施例所述的I2C总线到并行总线的转换方法,如图1和图2所示,所述I2C总线到并行总线的转换方法包括以下步骤:
步骤S10、当无并行总线接口的第一CPU(即图2中的CPU A)间接访问DSP芯片时,所述第一CPU向带并行总线接口的第二CPU(即图2中的CPU B)的并行总线地址寄存器写入DSP的内部地址;
步骤S20、所述第一CPU通过I2C读取所述第二CPU的并行总线数据寄存器;
步骤S30、所述第二CPU从所述并行总线地址寄存器中检测到所述第一CPU需要访问所述DSP芯片的偏移地址时,从所述DSP芯片获取偏移地址的寄存器值,并存入到所述并行总线数据寄存器中;
步骤S40、当所述第一CPU再次发起一次I2C读时序时,则直接获取所述DSP芯片的寄存器值。
具体地,如图2所示,CPU A只能出一个I2C接口(I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线,它只需要两根线即可在连接于总线上的器件之间传送信息),I2C就两根信号线,一个是时钟SCLK,另外一根是双向数据线SDA;CPU B则通过I2C与CPU A相连,同时其片选CS1与DSP(Digital Signal Processing,数字信号处理芯片)相连,DSP是16位数据宽度。
其中,CPU A作为I2C的主设备,CPU B为I2C从设备。
进一步地,设置CPU B的I2C控制器从设备属性,使其被访问的地址空间覆盖到并行总线的片选空间,同时使能I2C到并行总线的桥接功能。CPU A通过I2C协议,访问CPU B的I2C扩展空间,CPU B内部I2C自动将扩展空间的读写映射到并行总线的接口上去,当并行总线访问完成后,又以I2C响应的方式将结果发回给CPU A。
这样,CPU A就以I2C方式间接访问了并行接口的DSP芯片;CPU A的I2C驱动不要做任何修改,而CPU B也不需要实现I2C驱动的支持,只需要芯片自带的桥接功能即可实现I2C到并行总线转换。
其中,并行总线位宽一般是8位/16位/32位三种,一个I2C时序,设备地址8位,寄存器地址为8位,如图3所示,但是并行总线的寄存器一般是32位,如果只取其芯片内偏移地址,也需要8或者16位,这取决于芯片内部空间的大小。如果芯片内部有256个地址空间,只需要8位偏移地址,如果有64KB地址空间,就需要16位偏移地址,而64KB以上就需要32位地址。
I2C协议如图2所示,一次可以读写一个16位的寄存器,把这16位的寄存器数据,当成并行总线的地址,这样对并行总线的访问,需要通过两次I2C才能实现。I2C控制器提供两个间接寄存器,用于访问并行总线,一个是并行总线地址寄存器,一个是并行总线数据寄存器。
当CPU A要间接访问DSP时,先向CPU B的并行总线地址寄存器写入DSP的内部地址,其为16位,然后再通过I2C读取CPU B的并行总线数据寄存器;CPU B从并行总线地址寄存器中得知CPU A要访问DSP的偏移地址,立即从DSP取出偏移地址的寄存器值,存入到并行总线数据寄存器中,CPU A再发起一次I2C读时序,即可获取DSP的寄存器值。
其中,配置CPU B的I2C总线地址位宽度,8/16/32三种模式选其一,当前配置为16位地址模式;设置CPU B并行总线片选CS1的地址范围为0xF000-0000~0xf000-ffff,片选CS1的片内寻址空间为0x10000字节,即为64KB;设置CPU B的I2C与CS1的桥接功能使能,那么I2C带过来的地址只需要CS1的片内地址即可,即为0~0xffff,I2C时序中带两次地址即可;CPU A根据图3中的I2C时序,即可读写DSP中的0~0xffff地址空间内的所有寄存器。
进一步地,所述第二CPU(CPU B)要完成初始化,如图4所示,初始化操作步骤如下:
S101、所述第二CPU初始化启动;
S102、设置I2C从机地址addr_dev;
S103、设置并行总线地址寄存器的I2C偏移地址为addr_1;
S104、设置并行总线数据寄存器的I2C偏移地址为addr_2;
S105、设置片选CS1的寻址空间范围为0xf000-0000~0xf000-ffff;
S106、使能I2C到片选CS1的桥接功能;
S107、所述第二CPU初始化完毕。
进一步地,当CPU A要读DSP寄存器R时,其流程如图5所示:
S201、所述第一CPU读所述DSP芯片寄存器R入口;
S202、所述第一CPU通过I2C写所述第二CPU的寄存器,设备地址为addr_dev,偏移地址为addr_1,写入数据为16位数值R;
S203、所述第二CPU接收到所述第一CPU的I2C写命令,将16位数值R写入寄存器addr_1;
S204、所述第一CPU通过I2C读所述第二CPU的寄存器,设备地址为addr_dev,偏移地址为addr_2;
S205、所述第二CPU再次接收到所述第一CPU的读请求,并检测到addr_1寄存器中存在合法的DSP寄存器地址,则请求并行总线时序,将DSP寄存器R的值发回I2C总线,传递给所述第一CPU;
S206、返回16位数据为DSP寄存器R的值。
进一步地,当CPU A要写DSP寄存器R时,其流程如图6所示:
S301、所述第一CPU写所述DSP芯片寄存器R入口;
S302、所述第一CPU通过I2C写所述第二CPU的寄存器,设备地址为addr_dev,偏移地址为addr_1,写入数据为16位数值R;
S303、所述第二CPU接收到所述第一CPU的I2C写命令,将16位数值R写入寄存器addr_1;
S304、所述第一CPU通过I2C写所述第二CPU的寄存器,设备地址为addr_dev,偏移地址为addr_2,写入数据为16位数值;
S305、所述第二CPU将数值写入寄存器addr_2,根据I2C写命令,请求并行总线时序,将数值写入DSP寄存器R中;
S306、所述第一CPU成功将数值写入DSP寄存器R中。
进一步地,如图7所示,基于上述I2C总线到并行总线的转换方法,本发明还相应提供了一种终端,所述终端包括处理器10、存储器20及显示器30。图7仅示出了终端的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器20在一些实施例中可以是所述终端的内部存储单元,例如终端的硬盘或内存。所述存储器20在另一些实施例中也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器20还可以既包括所述终端的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述终端的应用软件及各类数据,例如所述安装终端的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有I2C总线到并行总线的转换程序40,该I2C总线到并行总线的转换程序40可被处理器10所执行,从而实现本申请中I2C总线到并行总线的转换方法。
所述处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述I2C总线到并行总线的转换方法等。
所述显示器30在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。所述显示器30用于显示在所述终端的信息以及用于显示可视化的用户界面。所述终端的部件10-30通过系统总线相互通信。
在一实施例中,当处理器10执行所述存储器20中I2C总线到并行总线的转换程序40时实现以下步骤:
当无并行总线接口的第一CPU间接访问DSP芯片时,所述第一CPU向带并行总线接口的第二CPU的并行总线地址寄存器写入DSP的内部地址;
所述第一CPU通过I2C读取所述第二CPU的并行总线数据寄存器;
所述第二CPU从所述并行总线地址寄存器中检测到所述第一CPU需要访问所述DSP芯片的偏移地址时,从所述DSP芯片获取偏移地址的寄存器值,并存入到所述并行总线数据寄存器中;
当所述第一CPU再次发起一次I2C读时序时,则直接获取所述DSP芯片的寄存器值。
所述第二CPU通过I2C与所述第一CPU连接,所述第二CPU通过CS与所述DSP芯片连接。
所述I2C总线到并行总线的转换方法还包括:
所述第二CPU初始化启动;
设置I2C从机地址addr_dev;
设置并行总线地址寄存器的I2C偏移地址为addr_1;
设置并行总线数据寄存器的I2C偏移地址为addr_2;
设置片选CS1的寻址空间范围为0xf000-0000~0xf000-ffff;
使能I2C到片选CS1的桥接功能;
所述第二CPU初始化完毕。
所述片选CS1的片内寻址空间为0x10000字节。
配置所述第二CPU的I2C总线地址位宽度为16位地址模式。
所述I2C总线到并行总线的转换方法还包括:
所述第一CPU读所述DSP芯片寄存器R入口;
所述第一CPU通过I2C写所述第二CPU的寄存器,设备地址为addr_dev,偏移地址为addr_1,写入数据为16位数值R;
所述第二CPU接收到所述第一CPU的I2C写命令,将16位数值R写入寄存器addr_1;
所述第一CPU通过I2C读所述第二CPU的寄存器,设备地址为addr_dev,偏移地址为addr_2;
所述第二CPU再次接收到所述第一CPU的读请求,并检测到addr_1寄存器中存在合法的DSP寄存器地址,则请求并行总线时序,将DSP寄存器R的值发回I2C总线,传递给所述第一CPU;
返回16位数据为DSP寄存器R的值。
所述I2C总线到并行总线的转换方法还包括:
所述第一CPU写所述DSP芯片寄存器R入口;
所述第一CPU通过I2C写所述第二CPU的寄存器,设备地址为addr_dev,偏移地址为addr_1,写入数据为16位数值R;
所述第二CPU接收到所述第一CPU的I2C写命令,将16位数值R写入寄存器addr_1;
所述第一CPU通过I2C写所述第二CPU的寄存器,设备地址为addr_dev,偏移地址为addr_2,写入数据为16位数值;
所述第二CPU将数值写入寄存器addr_2,根据I2C写命令,请求并行总线时序,将数值写入DSP寄存器R中;
所述第一CPU成功将数值写入DSP寄存器R中。
所述第一CPU为I2C的主设备,所述第二CPU为I2C的从设备。
进一步地,本发明还提供一种存储介质,其中,所述存储介质存储有I2C总线到并行总线的转换程序,所述I2C总线到并行总线的转换程序被处理器执行时实现如上所述的I2C总线到并行总线的转换方法的步骤。
综上所述,本发明提供一种I2C总线到并行总线的转换方法、终端及存储介质,所述方法包括:当无并行总线接口的第一CPU间接访问DSP芯片时,所述第一CPU向带并行总线接口的第二CPU的并行总线地址寄存器写入DSP的内部地址;所述第一CPU通过I2C读取所述第二CPU的并行总线数据寄存器;所述第二CPU从所述并行总线地址寄存器中检测到所述第一CPU需要访问所述DSP芯片的偏移地址时,从所述DSP芯片获取偏移地址的寄存器值,并存入到所述并行总线数据寄存器中;当所述第一CPU再次发起一次I2C读时序时,则直接获取所述DSP芯片的寄存器值。本发明实现了无并行总线接口的CPU通过带并行总线接口的CPU间接访问DSP芯片。
当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (9)

1.一种I2C总线到并行总线的转换方法,其特征在于,所述I2C总线到并行总线的转换方法包括:
当无并行总线接口的第一CPU间接访问DSP芯片时,所述第一CPU向带并行总线接口的第二CPU的并行总线地址寄存器写入DSP的内部地址;所述第一CPU通过I2C读取所述第二CPU的并行总线数据寄存器;
所述第二CPU从所述并行总线地址寄存器中检测到所述第一CPU需要访问所述DSP芯片的偏移地址时,从所述DSP芯片获取偏移地址的寄存器值,并存入到所述并行总线数据寄存器中;
当所述第一CPU再次发起一次I2C读时序时,则直接获取所述DSP芯片的寄存器值;
所述第二CPU初始化启动;
设置I2C从机地址addr_dev;
设置并行总线地址寄存器的I2C偏移地址为addr_1;
设置并行总线数据寄存器的I2C偏移地址为addr_2;
设置片选CS1的寻址空间范围为0xf000-0000~0xf000-ffff;
使能I2C到片选CS1的桥接功能;
所述第二CPU初始化完毕;
设置所述第二CPU的I2C控制器从设备属性,使所述第二CPU被访问的地址空间覆盖到并行总线的片选空间,同时使能I2C到并行总线的桥接功能;
实现了无并行总线接口的CPU通过带并行总线接口的CPU间接访问DSP芯片。
2.根据权利要求1所述的I2C总线到并行总线的转换方法,其特征在于,所述第二CPU通过I2C与所述第一CPU连接,所述第二CPU通过CS与所述DSP芯片连接。
3.根据权利要求1所述的I2C总线到并行总线的转换方法,其特征在于,所述片选CS1的片内寻址空间为0x10000字节。
4.根据权利要求1所述的I2C总线到并行总线的转换方法,其特征在于,配置所述第二CPU的I2C总线地址位宽度为16位地址模式。
5.根据权利要求1所述的I2C总线到并行总线的转换方法,其特征在于,所述I2C总线到并行总线的转换方法还包括:
所述第一CPU读所述DSP芯片寄存器R入口;
所述第一CPU通过I2C写所述第二CPU的寄存器,设备地址为addr_dev,偏移地址为addr_1,写入数据为16位数值R;
所述第二CPU接收到所述第一CPU的I2C写命令,将16位数值R写入寄存器addr_1;
所述第一CPU通过I2C读所述第二CPU的寄存器,设备地址为addr_dev,偏移地址为addr_2;
所述第二CPU再次接收到所述第一CPU的读请求,并检测到addr_1寄存器中存在合法的DSP寄存器地址,则请求并行总线时序,将DSP寄存器R的值发回I2C总线,传递给所述第一CPU;
返回16位数据为DSP寄存器R的值。
6.根据权利要求1所述的I2C总线到并行总线的转换方法,其特征在于,所述I2C总线到并行总线的转换方法还包括:
所述第一CPU写所述DSP芯片寄存器R入口;
所述第一CPU通过I2C写所述第二CPU的寄存器,设备地址为addr_dev,偏移地址为addr_1,写入数据为16位数值R;
所述第二CPU接收到所述第一CPU的I2C写命令,将16位数值R写入寄存器addr_1;
所述第一CPU通过I2C写所述第二CPU的寄存器,设备地址为addr_dev,偏移地址为addr_2,写入数据为16位数值;
所述第二CPU将数值写入寄存器addr_2,根据I2C写命令,请求并行总线时序,将数值写入DSP寄存器R中;
所述第一CPU成功将数值写入DSP寄存器R中。
7.根据权利要求1所述的I2C总线到并行总线的转换方法,其特征在于,所述第一CPU为I2C的主设备,所述第二CPU为I2C的从设备。
8.一种终端,其特征在于,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的I2C总线到并行总线的转换程序,所述I2C总线到并行总线的转换程序被所述处理器执行时实现如权利要求1-7任一项所述的I2C总线到并行总线的转换方法的步骤。
9.一种存储介质,其特征在于,所述存储介质存储有I2C总线到并行总线的转换程序,所述I2C总线到并行总线的转换程序被处理器执行时实现如权利要求1-7任一项所述的I2C总线到并行总线的转换方法的步骤。
CN201910924995.3A 2019-09-27 2019-09-27 一种i2c总线到并行总线的转换方法、终端及存储介质 Active CN110795373B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910924995.3A CN110795373B (zh) 2019-09-27 2019-09-27 一种i2c总线到并行总线的转换方法、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910924995.3A CN110795373B (zh) 2019-09-27 2019-09-27 一种i2c总线到并行总线的转换方法、终端及存储介质

Publications (2)

Publication Number Publication Date
CN110795373A CN110795373A (zh) 2020-02-14
CN110795373B true CN110795373B (zh) 2023-09-19

Family

ID=69439926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910924995.3A Active CN110795373B (zh) 2019-09-27 2019-09-27 一种i2c总线到并行总线的转换方法、终端及存储介质

Country Status (1)

Country Link
CN (1) CN110795373B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463662B (zh) * 2020-12-16 2024-04-05 福州创实讯联信息技术有限公司 一种用户态控制i2c设备的方法与终端
CN116049047B (zh) * 2022-12-30 2024-04-12 成都电科星拓科技有限公司 一种eeprom访问方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1558332A (zh) * 2004-01-18 2004-12-29 中兴通讯股份有限公司 一种实现自动读写内部集成电路设备的装置和方法
CN101149722A (zh) * 2007-10-22 2008-03-26 中兴通讯股份有限公司 一种实现cpu访问xfp光模块的方法
CN102033807A (zh) * 2010-12-17 2011-04-27 青岛海信信芯科技有限公司 Soc芯片调试设备、方法及装置
CN103019972A (zh) * 2012-11-23 2013-04-03 广东威创视讯科技股份有限公司 一种利用总线进行通讯的方法和装置
CN105302484A (zh) * 2015-10-19 2016-02-03 上海斐讯数据通信技术有限公司 批量读取以太网卡光模块中数字诊断信息的装置及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376780B2 (en) * 2005-10-31 2008-05-20 Lsi Corporation Protocol converter to access AHB slave devices using the MDIO protocol

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1558332A (zh) * 2004-01-18 2004-12-29 中兴通讯股份有限公司 一种实现自动读写内部集成电路设备的装置和方法
CN101149722A (zh) * 2007-10-22 2008-03-26 中兴通讯股份有限公司 一种实现cpu访问xfp光模块的方法
CN102033807A (zh) * 2010-12-17 2011-04-27 青岛海信信芯科技有限公司 Soc芯片调试设备、方法及装置
CN103019972A (zh) * 2012-11-23 2013-04-03 广东威创视讯科技股份有限公司 一种利用总线进行通讯的方法和装置
CN105302484A (zh) * 2015-10-19 2016-02-03 上海斐讯数据通信技术有限公司 批量读取以太网卡光模块中数字诊断信息的装置及方法

Also Published As

Publication number Publication date
CN110795373A (zh) 2020-02-14

Similar Documents

Publication Publication Date Title
USRE48736E1 (en) Memory system having high data transfer efficiency and host controller
USRE48997E1 (en) Memory system in which extended function can easily be set
US7890690B2 (en) System and method for dual-ported flash memory
US7657696B2 (en) Method to detect NAND-flash parameters by hardware automatically
KR102111741B1 (ko) 임베디드 멀티미디어 카드 및 이의 동작 방법
US10002085B2 (en) Peripheral component interconnect (PCI) device and system including the PCI
US9389804B2 (en) Host, system, and methods for transmitting commands to non-volatile memory card
CN100492334C (zh) 串行周边接口装置
US7404022B2 (en) Method and system for transmission and control of data stored in a USB master to and for utilization by a USB slave
JPH06509199A (ja) コンピュータ・ワークステーション拡張シャシー
CN108304334B (zh) 应用处理器和包括中断控制器的集成电路
CN107273245B (zh) 运算装置与运作方法
CN110795373B (zh) 一种i2c总线到并行总线的转换方法、终端及存储介质
CN110795369B (zh) 基于gpio管脚实现mdio从机功能的方法及终端
CN110765060B (zh) Mdio总线到并行总线转换方法及装置、设备、介质
JPH10116187A (ja) マイクロコンピュータ
CN101911035B (zh) 通过存储器地址映射使处理器与外部设备相接口的桥电路
US20050198425A1 (en) Combined optical storage and flash card reader using single ide or sata port and method thereof
CN110750476B (zh) 一种spi总线与并行总线的桥接方法、设备、系统及介质
CN113778934B (zh) 基于PCIe的高速实时传输系统
TWI245222B (en) Accessing configuration registers by automatically changing an index
JP2004078402A (ja) データ転送制御装置、電子機器、プログラム及び電子機器の製造方法
US20050144331A1 (en) On-chip serialized peripheral bus system and operating method thereof
CN111427813A (zh) 一种基于串口的核间通讯方法、终端及存储介质
JP2006011926A (ja) シリアルデータ転送システム、シリアルデータ転送装置、シリアルデータ転送方法及び画像形成装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant