CN113076274A - 一种光模块以及软件程序获取方法 - Google Patents
一种光模块以及软件程序获取方法 Download PDFInfo
- Publication number
- CN113076274A CN113076274A CN202110485219.5A CN202110485219A CN113076274A CN 113076274 A CN113076274 A CN 113076274A CN 202110485219 A CN202110485219 A CN 202110485219A CN 113076274 A CN113076274 A CN 113076274A
- Authority
- CN
- China
- Prior art keywords
- interface
- clock
- golden finger
- swd
- data
- 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.)
- Granted
Links
Images
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/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Optical Communication System (AREA)
Abstract
本申请实施例公开了一种光模块以及软件程序获取方法,涉及光模块领域。该光模块包括:金手指,包括金手指时钟接口和金手指数据接口;微控制单元,包括I2C时钟接口和I2C数据接口,以及SWD时钟接口和SWD数据接口;时钟复用电路,时钟复用电路的时钟输入端与金手指时钟接口连接,第一时钟输出端与SWD时钟接口连接,且第二时钟输出端与I2C时钟接口连接;数据复用电路,数据复用电路的数据输入端与金手指数据接口连接、第一数据输出端与SWD数据接口连接、第二数据输出端与I2C数据接口连接。因此,可以缓解微控制单元内部没有固化引导程序的光模块难以获取软件程序或者更新软件程序的问题。
Description
技术领域
本申请涉及光模块领域,更具体地,涉及一种光模块以及软件程序获取方法。
背景技术
光模块是光纤通信***中重要的器件,能够实现光功率控制、调制发送、信号探测、防伪信息查询等功能。光模块的组成部分包括金手指、微控制单元、激光驱动器以及限幅放大器等。其中,光模块中的微控制单元分为其内部固化有引导程序(boot loader)和其内部没有固化引导程序两种类型。在光模块中的微控制单元内部没有固化引导程序时,如果要通过微控制单元中的I2C接口获取固件程序,就需要先通过微控制单元中的SWD接口获取引导程序,由于光模块中连接外部设备的金手指接口有限,很难提供多余的金手指接口与SWD接口连接,因此光模块的软件程序获取方式通常是在其印制电路板上打孔或焊盘,将SWD接口接出并飞线后再进行软件程序的获取。但是,如果光模块需要再次获取软件程序或者更新软件程序,就要在光模块的印制电路板上焊接引脚连接飞线,容易使光模块损坏。
发明内容
本申请提出了一种光模块以及软件程序获取方法,可以缓解微控制单元内部没有固化引导程序的光模块难以获取软件程序或者更新软件程序的问题。
第一方面,本申请实施例提供了一种光模块,该光模块包括:金手指,所述金手指包括金手指时钟接口和金手指数据接口;微控制单元,所述微控制单元包括I2C时钟接口和I2C数据接口,以及SWD时钟接口和SWD数据接口;时钟复用电路,所述时钟复用电路的时钟输入端与所述金手指时钟接口连接、第一时钟输出端与所述SWD时钟接口连接、第二时钟输出端与所述I2C时钟接口连接;数据复用电路,所述数据复用电路的数据输入端与所述金手指数据接口连接、第一数据输出端与所述SWD数据接口连接、第二数据输出端与所述I2C数据接口连接。
第二方面,本申请实施例还提供了一种软件程序获取方法,应用于上述光模块中的微控制单元,该方法包括:在所述微控制单元中的SWD时钟接口和SWD数据接口分别与所述金手指时钟接口和所述金手指数据接口导通,且所述金手指时钟接口和所述金手指数据接口与软件程序设备导通时,所述微控制单元通过所述金手指获取所述软件程序设备中的引导程序并存储;运行所述引导程序以禁用所述SWD时钟接口和所述SWD数据接口。
本申请提供的光模块包括:金手指、微控制单元、时钟复用电路以及数据复用电路。金手指包括金手指时钟接口和金手指数据接口;微控制单元包括I2C时钟接口和I2C数据接口,以及SWD时钟接口和SWD数据接口;时钟复用电路包括时钟输入端、第一时钟输出端以及第二时钟输出端,该时钟输入端与金手指时钟接口连接、第一时钟输出端与SWD时钟接口连接、第二时钟输出端与I2C时钟接口连接;数据复用电路包括数据输入端、第一数据输出端以及第二数据输出端,该数据输入端与金手指数据接口连接、第一数据输出端与SWD数据接口连接、第二数据输出端与I2C数据接口连接。通过采用上述设置,使微控制单元中的SWD时钟接口与I2C时钟接口复用金手指时钟接口、SWD数据接口与I2C数据接口复用金手指数据接口,在不使用多余的金手指接口的情况下,可以先使用微控制单元中的SWD时钟接口和SWD数据接口获取引导程序,再使用微控制单元中的I2C时钟接口和I2C数据接口获取固件程序,从而缓解微控制单元内部没有固化引导程序的光模块难以获取软件程序或者更新软件程序的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一实施例提供的光模块复用电路的模块框图;
图2示出了本申请一实施例提供的光模块的复用电路图;
图3示出了本申请一实施例提供的光模块包含第一零电阻的复用电路图;
图4示出了本申请一实施例提供的光模块包含第二零电阻的复用电路图;
图5示出了本申请另一实施例提供的软件程序获取方法的流程示意图;
图6示出了本申请另一实施例提供的包含J-Link仿真器的模块框图;
图7示出了本申请另一实施例提供的包含J-Link仿真器和第一外界设备的模块框图;
图8示出了本申请又一实施例提供的包含第二外接设备的模块框图;
图9示出了本申请又一实施例提供的软件程序获取方法的流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
光模块是光纤通信***中重要的器件,能够实现光功率控制、调制发送、信号探测、防伪信息查询等功能。光模块的组成部分包括金手指、微控制单元、激光驱动器以及限幅放大器等。其中,光模块中的微控制单元分为其内部固化有引导程序(bootloader)和其内部没有固化引导程序两种类型。在光模块中的微控制单元内部固化有引导程序时,如果光模块要获取固件程序,则可以直接通过微控制单元中的I2C接口获取固件程序。在光模块中的微控制单元内部没有固化引导程序时,如果要通过微控制单元中的I2C接口获取固件程序,就需要先通过微控制单元中的SWD接口获取引导程序。对于微控制单元内部没有固化引导程序的光模块,由于其连接外部设备的金手指接口有限,很难提供多余的金手指接口与SWD接口连接,因此光模块的软件程序获取方式通常是在其印制电路板上打孔或焊盘,将SWD接口接出并飞线后再进行软件程序的获取。但是,如果光模块需要再次获取软件程序或者更新软件程序,就要在光模块的印制电路板上焊接引脚连接飞线,容易使光模块损坏。
因此,为了缓解上述缺陷,本申请实施例提供了一种光模块,该光模块包括:金手指、微控制单元、时钟复用电路以及数据复用电路。金手指的多个接口中包括用于获取软件程序的金手指时钟接口和金手指数据接口;微控制单元中包括用于获取软件程序的I2C接口和SWD接口,具体地,包括I2C时钟接口和I2C数据接口,以及SWD时钟接口和SWD数据接口;时钟复用电路的时钟输入端与金手指时钟接口连接,时钟复用电路的第一时钟输出端、第二时钟输出端分别与SWD时钟接口、I2C时钟接口连接;数据复用电路的数据输入端与金手指数据接口连接,数据复用电路的第一数据输出端、第二数据输出端分别与SWD数据接口、I2C数据接口连接。
由于SWD时钟接口和I2C时钟接口都属于两线制串行接口、都可以传输时钟信号,SWD数据接口和I2C数据接口都属于两线制串行接口、都可以传输数据信号,且由于SWD时钟接口和SWD数据接口与I2C时钟接口和I2C数据接口具有不同时工作的特点,因此,本申请通过将时钟复用电路的时钟输入端与金手指时钟接口连接、第一时钟输出端与SWD时钟接口连接、第二时钟输出端与I2C时钟接口连接,从而将SWD时钟接口与I2C时钟接口共同连接在金手指时钟接口,可以使微控制单元中的I2C接口和SWD接口复用金手指接口,在不使用多余的金手指接口的情况下,可以先使用SWD接口获取引导程序,再使用I2C接口获取固件程序,从而缓解微控制单元内部没有固化引导程序的光模块难以获取软件程序或者更新软件程序的问题。
下面对该内容进行详细描述。请参照图1至图4,本申请实施例提供了一种光模块。该光模块包括:金手指110、微控制单元120、时钟复用电路130以及数据复用电路140。
所述金手指110包括金手指时钟接口111和金手指数据接口112;所述微控制单元120包括I2C时钟接口123和I2C数据接口124,以及SWD时钟接口121和SWD数据接口122;所述时钟复用电路130的时钟输入端与所述金手指时钟接口111连接、第一时钟输出端与所述SWD时钟接口121连接、第二时钟输出端与所述I2C时钟接口123连接;所述数据复用电路140的数据输入端与所述金手指数据接口112连接、第一数据输出端与所述SWD数据接口122连接、第二数据输出端与所述I2C数据接口124连接。
光模块是由金手指110、微控制单元120、激光驱动器以及限幅放大器等结构件组成的光电转换模块,光模块主要用于光信号的收发,光信号通过光纤接入光模块,可以将光信号转为电信号,同时也可以将电信号的信息通过光模块转成光信号,然后通过光纤发送出去。光模块按照功能可以包括光接收模块、光发送模块、光收发一体模块和光转发模块等。其中,光收发一体化模块主要功能是实现光电以及电光变换,包括光功率控制、调制发送、信号探测以及限幅放大判决再生功能,此外还有防伪信息查询等功能;光转发模块除了具有光电变换功能外,还集成了很多的信号处理功能,如:功能控制、性能量采集及监控等功能。
金手指110是用于传输信号的硬件,通过将金手指110与内存插槽接触,可以将内存处理单元的数据流和电子流与电脑***进行交换。例如内存条上与内存插槽之间、显卡与显卡插槽等,所有的信号都是通过金手指110的引脚进行传送的。金手指110由众多金黄色的导电触片组成,因其表面镀金而且导电触片排列如手指状。金手指110实际上是在覆铜板上通过特殊工艺再覆上一层金,由于金的抗氧化性极强,而且传导性也很强,从而有效确保金手指110在使用过程中始终具有良好的传到性能。
其中,金手指110的多个接口中包括用于获取软件程序的金手指时钟接口111和金手指数据接口112,具体地,金手指时钟接口111用于传输时钟信号,金手指数据接口112用于传输数据信号。
微控制单元120(Microcontroller Unit,MCU)是把中央处理器(Central ProcessUnit,CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、通用串行总线(Universal Serial Bus,USB)等周边接口,甚至驱动电路都整合在单一芯片上,从而形成的芯片级的计算机。微控制单元120可以包括一个或者多个处理核。
其中,光模块中的微控制单元120包括支持串行通信的软件程序写入接口。光模块可以支持两线制,即时钟信号对应一条时钟线,数据信号对应一条数据线。微控制单元120中的支持串行通信的软件程序写入接口可以包括I2C时钟接口123和I2C数据接口124,以及SWD时钟接口121和SWD数据接口122。
需要说明的是,I2C时钟接口123和I2C数据接口124都属于I2C接口。I2C接口属于两线制串行接口,是一种连接标准。设置有I2C接口的设备可以通过I2C总线传输通道来进行通信。
I2C总线(Inter Integrated Circuit,两线式串行总线),是由串行时钟线和串行数据线构成的串行总线,可用于在连接到总线的器件之间发送和接收信号。两线,即串行时钟线和串行数据线,分别用于在连接到总线的器件之间传输时钟信号和数据信号。
其中,将时钟复用电路130的时钟输入端与金手指时钟接口111连接、第二时钟输出端与I2C时钟接口123连接的方式可以是:如图1所示,将时钟复用电路130的时钟输入端通过串行时钟线与金手指时钟接口111连接,将时钟复用电路130的第二时钟输出端通过串行时钟线与I2C时钟接口123连接,以使金手指时钟接口111与I2C时钟接口123可以通过串行时钟线传输时钟信号。将数据复用电路140的数据输入端与金手指数据接口112连接、第二数据输出端与I2C数据接口124连接的方式可以是:如图1所示,将数据复用电路140的数据输入端通过串行数据线与金手指数据接口112连接,将数据复用电路140的第二数据输出端通过串行数据线与I2C数据接口124连接,以使金手指数据接口112与I2C数据接口124可以通过串行数据线传输数据信号。
同样的,SWD时钟接口121和SWD数据接口122都属于SWD接口。SWD接口(SerialWire Debug,串行调试接口)属于两线制串行接口。
其中,将时钟复用电路130的第一时钟输出端与SWD时钟接口121连接的方式可以是:如图1所示,将时钟复用电路130的第一时钟输出端通过串行时钟线与SWD时钟接口121连接,以使金手指时钟接口111与SWD时钟接口121可以通过串行时钟线传输时钟信号。将数据复用电路140第一数据输出端与SWD数据接口122连接的方式可以是:如图1所示,将数据复用电路140的第一数据输出端通过串行数据线与SWD数据接口122连接,以使金手指数据接口112与SWD数据接口122可以通过串行数据线传输数据信号。
在本申请实施例提供的光模块中,微控制单元120中的SWD时钟接口121和SWD数据接口122用于获取引导程序、I2C时钟接口123和I2C数据接口124用于获取固件程序。在光模块获取软件程序的过程中,光模块中的微控制单元120在获取引导程序后不再使用SWD时钟接口121和SWD数据接口122,而使用I2C时钟接口123和I2C数据接口124获取固件程序,因此SWD时钟接口121和SWD数据接口122与I2C时钟接口123和I2C数据接口124不同时工作。因此,采用本申请的光模块,由于SWD时钟接口121与I2C时钟接口123不同时工作、SWD时钟接口121和I2C时钟接口123都属于两线制串行接口且都可以传输时钟信号,因此SWD时钟接口121和I2C时钟接口123可以共用串行时钟线,具体地,如图2所示。同样的,SWD数据接口122和I2C数据接口124可以共用串行数据线,具体地,如图2所示。因此,微控制器的SWD时钟接口121和I2C时钟接口123可以复用金手指时钟接口111、SWD数据接口122和I2C数据接口124可以复用金手指数据接口112。
其中,引导程序(boot loader)是在操作***内核运行之前运行的一段程序,运行引导程序用于初始化硬件设备、建立内存空间的映射图,从而使***的软硬件环境进入合适状态,为后续调用操作***内核准备好合适的环境。
其中,固件(Firmware)是基本输入/输出***(Basic Input Output System;BIOS)的软件,但又与普通软件不同,固件是固化在集成电路内部的程序代码,负责控制和协调集成电路,担任着一个电子产品最基础、最底层工作。固件一般存储在设备中的可擦写只读存储器(Erasable Read Only Memory;EROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory;EPROM)、电可擦除可编程只读存储器(ElectricallyErasable Programmable Read Only Memory;EEPROM)或闪存(Flash EEPROM Memory)芯片中。一般情况下无需对固件进行更新,若在固件内发现了严重错误,则须由专业人员使用存储有更新后固件程序的芯片来更换原固件程序,比如计算机主板上的基本输入/输出***BIOS内所保存的固件程序是无法被用户直接读出或修改的,而需要通过上述特定手段进行更新。早期存储固件的芯片一般采用只读存储器镜像ROM(Read Only Memory image)设计,其程序代码在生产过程中被固化,使用任何手段都无法修改。随着技术的不断发展,需要对固件进行更新以适应不断变化的硬件环境,因此逐渐开始使用EPROM,EEPROM和FLASH芯片存储固件,这些芯片可以重复写入固件程序,以使固件得以更新。光模块中的固件程序就是固化在光模块内的***软件程序,包括应用代码(Application Code),光模块通过存储在EPROM或FLASH芯片内的程序实现模块本身的控制功能。
在示例性实施例中,上述时钟复用电路130包括第一零电阻R1,如图3所示,第一零电阻R1的第一端与金手指时钟接口111连接、第二端与SWD时钟接口121连接。
其中,第一零电阻R1的电阻值可以小于50mΩ,也可以等于50mΩ,具体地,可以是10mΩ、20mΩ或50mΩ等。
在示例性实施例中,上述数据复用电路140包括第二零电阻R2,如图4所示,第二零电阻R2的第一端与金手指数据接口112连接、第二端与SWD数据接口122连接。
其中,第二零电阻R2的电阻值可以小于50mΩ,也可以等于50mΩ,具体地,可以是10mΩ、20mΩ或50mΩ等。
本申请实施例中的光模块,由于SWD时钟接口和I2C时钟接口都属于两线制串行接口、都可以传输时钟信号,SWD数据接口和I2C数据接口都属于两线制串行接口、都可以传输数据信号,且由于SWD时钟接口和SWD数据接口与I2C时钟接口和I2C数据接口具有不同时工作的特点,因此,本申请通过将时钟复用电路的时钟输入端与金手指时钟接口连接、第一时钟输出端与SWD时钟接口连接、第二时钟输出端与I2C时钟接口连接,从而将SWD时钟接口与I2C时钟接口共同连接在金手指时钟接口,可以使微控制单元中的I2C接口和SWD接口复用金手指接口,在不使用多余的金手指接口的情况下,可以先使用SWD接口获取引导程序,再使用I2C接口获取固件程序,从而缓解微控制单元内部没有固化引导程序的光模块难以获取软件程序或者更新软件程序的问题。
请参照图5,图5为本申请另一实施例提供的一种软件程序获取方法的流程示意图。下面将结合图5对本申请实施例提供的软件程序获取方法进行详细阐述。该软件程序获取方法可以包括以下步骤:
步骤S110:在所述微控制单元120中的SWD时钟接口121和SWD数据接口122分别与所述金手指时钟接口111和所述金手指数据接口112导通,且所述金手指时钟接口111和所述金手指数据接口112与软件程序设备导通时,所述微控制单元120通过所述金手指110获取所述软件程序设备中的引导程序并存储。
其中,微控制单元120的SWD时钟接口121与SWD数据接口122分别与金手指时钟接口111和金手指数据接口112导通可以为:通过将微控制单元120中的SWD时钟接口121与串行时钟线连接、将串行时钟线与金手指时钟接口111连接,使微控制单元120可以与金手指110传输时钟信号;通过将微控制单元120中的SWD数据接口122与串行数据线连接、将串行数据线与金手指数据接口112连接,使微控制单元120可以与金手指110传输数据信号。
其中,金手指时钟接口111和金手指数据接口112与软件程序设备导通可以为:将金手指时钟接口111和金手指数据接口112通过导线与软件程序设备连接,使金手指110可以与软件程序设备传输时钟信号和数据信号。
考虑到软件程序设备可以包括J-Link仿真器,且光模块与J-Link仿真器的连接方式如图6所示,则上述步骤S110还可以包括如下子步骤:
子步骤S111:在所述微控制单元120中的SWD时钟接口121和SWD数据接口122分别与所述金手指时钟接口111和所述金手指数据接口112导通,且所述金手指时钟接口111和所述金手指数据接口112与所述J-Link仿真器200导通时,所述微控制单元120通过所述金手指110获取所述J-Link仿真器200中的所述引导程序并存储。
其中,J-Link仿真器200就是一个联合测试工作组(Joint Test Action Group;JTAG)协议转换盒,即一个小型USB到JTAG的转换盒,其目标板内部使用JTAG协议。J-Link仿真器200完成了一个从软件到硬件的转换工作。J-Link仿真器200的输入和输出接口包括串行时钟接口和串行数据接口。
其中,金手指时钟接口111和金手指数据接口112与J-Link仿真器200导通可以为:将金手指时钟接口111和金手指数据接口112通过导线与J-Link仿真器200的串行时钟接口和串行数据接口连接,使金手指110可以与J-Link仿真器200传输时钟信号和数据信号。
考虑到软件程序设备可以包括J-Link仿真器200和第一外接设备,且所述J-Link仿真器200与所述第一外接设备导通,光模块100、J-Link仿真器200以及第一外接设备的连接方式如图7所示,则上述步骤S110还可以包括如下子步骤:
子步骤S112:在所述微控制单元120中的SWD时钟接口121和SWD数据接口122分别与所述金手指时钟接口111和所述金手指数据接口112导通,且所述金手指时钟接口111和所述金手指数据接口112与所述J-Link仿真器200导通时,所述微控制单元120通过所述金手指110和所述J-Link仿真器200获取所述第一外接设备300中的所述引导程序并存储。
其中,第一外接设备300可以包括个人计算机(Personal Computer,PC)、服务器等电子设备。
其中,J-Link仿真器200与第一外接设备300导通可以为:J-Link仿真器200通过USB接口连接到第一外接设备300,使J-Link仿真器200可以与第一外接设备300传输时钟信号和数据信号。
其中,微控制单元120通过金手指110和J-Link仿真器200获取第一外接设备300中的引导程序的方式可以为:第一外接设备300中存储有自动测试软件,当需要下载引导程序时,用户可以利用该第一外接设备300中的自动测试软件向微控制单元120写入引导程序,并通过J-Link仿真器200和金手指110将引导程序传输至微控制单元120,从而使微控制单元120获取第一外接设备300中的引导程序。
步骤S120:运行所述引导程序以禁用所述SWD时钟接口121和所述SWD数据接口122。
其中,禁用SWD时钟接口121和SWD数据接口122的方式可以是:在微控制单元120通过金手指110获取软件程序设备中的引导程序并存储后,微控制单元120会运行该引导程序,并向微控制单元120中的SWD时钟接口121和SWD数据接口122发送禁用指令,该禁用指令用于禁用微控制单元120中的SWD时钟接口121和SWD数据接口122,使微控制单元120中的SWD时钟接口121和SWD数据接口122无法分别与金手指时钟接口111和金手指数据接口112导通,从而在I2C时钟接口123和I2C数据接口124工作时避免SWD时钟接口121和SWD数据接口122发生误操作。
步骤S130:在所述微控制单元120中的I2C时钟接口123和I2C数据接口124分别与所述金手指时钟接口111和所述金手指数据接口112导通,且所述金手指时钟接口111和所述金手指数据接口112与第二外接设备导通时,所述微控制单元120通过所述金手指110获取所述第二外接设备中的固件程序并存储。
其中,微控制单元120在获取引导程序并禁用其SWD时钟接口121和SWD数据接口122后,不再使用其SWD时钟接口121和SWD数据接口122,而使用其I2C时钟接口123和I2C数据接口124获取第二外接设备中的包含固件程序在内的其他软件程序。
其中,微控制单元120的I2C时钟接口123和I2C数据接口124分别与金手指时钟接口111和金手指数据接口112导通可以为:通过将微控制单元120中的I2C时钟接口123与串行时钟线连接、将串行时钟线与金手指时钟接口111连接,使微控制单元120可以与金手指110传输时钟信号;通过将微控制单元120中的I2C数据接口124与串行数据线连接、将串行数据线与金手指数据接口112连接,使微控制单元120可以与金手指110传输数据信号。
其中,第二外接设备可以包括个人计算机(Personal Computer,PC)、服务器等电子设备。作为一种可选实施方式,第二外接设备与第一外接设备300为相同的电子设备。光模块100与第二外接设备的连接方式如图8所示。
其中,金手指时钟接口111和金手指数据接口112与第二外接设备400导通可以为:将金手指时钟接口111和金手指数据接口112通过导线与第二外接设备400连接,使金手指110可以与第二外接设备400传输时钟信号和数据信号。
其中,微控制单元120通过金手指110获取第二外接设备400中的固件程序的方式可以为:第二外接设备400中存储有自动测试软件,当需要下载固件程序时,用户可以利用该第二外接设备400中的自动测试软件向微控制单元120写入固件程序,并通过金手指110将固件程序传输至微控制单元120,从而使微控制单元120获取第二外接设备400中的固件程序。
本申请实施例提供的一种软件程序获取方法,微控制单元120先使用其SWD时钟接口121和SWD数据接口122获取引导程序,并运行引导程序以禁用其SWD时钟接口121和SWD数据接口122,再使用其I2C时钟接口123和I2C数据接口124获取固件程序,且在获取引导程序和固件程序的过程中,无需使用多余的金手指接口,缓解了微控制单元120内部没有固化引导程序的光模块100难以获取软件程序或者更新软件程序的问题。
请参照图9,图9为本申请又一实施例提供的一种软件程序获取方法的流程示意图。下面将结合图9对本申请实施例提供的软件程序获取方法进行详细阐述。该软件程序获取方法可以包括以下步骤:
步骤S210:所述微控制单元120通过所述金手指110获取所述第二外接设备400中的复位程序并存储。
其中,复位程序是用于复位微控制单元120中的SWD时钟接口121和SWD数据接口122、使SWD时钟接口121和SWD数据接口122分别与金手指时钟接口111和金手指数据接口112重新导通的软件程序。
在该实施方式中,微控制单元120通过金手指110获取第二外接设备400中的复位程序的内容可以参阅前述实施例中步骤S130中微控制单元120通过金手指110获取第二外接设备400中的固件程序的内容,在此不再赘述。
其中,微控制单元120获取第二外接设备400中的复位程序与获取第二外接设备400中的固件程序的先后顺序可以根据实际需求设置,此处不做限制。
步骤S220:通过所述金手指110接收所述第二外接设备400发送的复位指令。
其中,复位指令用于复位微控制单元120中的SWD时钟接口121和SWD数据接口122、使SWD时钟接口121和SWD数据接口122分别与金手指时钟接口111和金手指数据接口112重新导通。
其中,接收第二外接设备400发送的复位指令的方式可以是:当需要重新启用SWD时钟接口121和SWD数据接口122以对引导程序进行更新时,用户可以利用第二外接设备400中存储的自动测试软件向光模块100发送复位指令,并通过金手指110将该复位指令传输至微控制单元120。
步骤S230:响应于所述复位指令,运行所述复位程序以复位所述SWD时钟接口121和所述SWD数据接口122,以使所述微控制单元120中的SWD时钟接口121和SWD数据接口122分别与所述金手指时钟接口111和所述金手指数据接口112导通,并能够通过所述金手指110与所述软件程序设备进行数据传输。
其中,复位SWD时钟接口121和SWD数据接口122的方式可以是:在微控制单元120通过金手指110接收第二外接设备400发送的复位指令后,微控制单元120会运行其从第二外接设备400中获取的复位程序,使SWD时钟接口121和SWD数据接口122分别与金手指时钟接口111和金手指数据接口112重新导通,从而能够与软件程序设备进行数据传输,并获取引导程序。
步骤S240:通过所述金手指110接收所述软件程序设备发送的程序更新指令。
作为一种可选实施方式,软件程序设备可以是第一外接设备300,且第一外接设备300中存储有自动测试软件。
其中,程序更新指令用于更新引导程序。
其中,接收软件程序设备发送的程序更新指令的方式可以是:当需要对引导程序进行更新时,用户可以利用第一外接设备300中的自动测试软件向光模块100发送程序更新指令,并通过金手指110将该程序更新指令传输至微控制单元120。
步骤S250:响应于所述程序更新指令,更新所述引导程序。
其中,更新引导程序的方式可以是:在微控制单元120中的SWD时钟接口121和SWD数据接口122分别与金手指时钟接口111和金手指数据接口112重新导通、金手指时钟接口111和金手指数据接口112与前述第一外接设备300导通,且微控制单元120通过金手指110接收前述第一外接设备300发送的程序更新指令后,微控制单元120通过金手指110获取前述第一外接设备300中的更新后的引导程序以代替之前的引导程序。
本申请实施例提供的一种软件程序获取方法中,微控制单元120使用其I2C时钟接口123和I2C数据接口124获取复位程序,并根据复位指令运行复位程序以复位其SWD时钟接口121和SWD数据接口122,再根据程序更新指令更新引导程序。在获取复位程序和更新引导程序的过程中,无需使用多余的金手指接口,缓解了微控制单元120内部没有固化引导程序的光模块100难以获取软件程序或者更新软件程序的问题。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种光模块,其特征在于,包括:
金手指,所述金手指包括金手指时钟接口和金手指数据接口;
微控制单元,所述微控制单元包括I2C时钟接口和I2C数据接口,以及SWD时钟接口和SWD数据接口;
时钟复用电路,所述时钟复用电路的时钟输入端与所述金手指时钟接口连接、第一时钟输出端与所述SWD时钟接口连接、第二时钟输出端与所述I2C时钟接口连接;
数据复用电路,所述数据复用电路的数据输入端与所述金手指数据接口连接、第一数据输出端与所述SWD数据接口连接、第二数据输出端与所述I2C数据接口连接。
2.根据权利要求1所述的光模块,其特征在于,所述时钟复用电路包括第一零电阻,所述第一零电阻的第一端与所述金手指时钟接口连接、第二端与所述SWD时钟接口连接。
3.根据权利要求1所述的光模块,其特征在于,所述数据复用电路包括第二零电阻,所述第二零电阻的第一端与所述金手指数据接口连接、第二端与所述SWD数据接口连接。
4.一种软件程序获取方法,其特征在于,应用于如权利要求1至3任一项所述的光模块中的微控制单元,所述方法包括:
在所述微控制单元中的SWD时钟接口和SWD数据接口分别与所述金手指时钟接口和所述金手指数据接口导通,且所述金手指时钟接口和所述金手指数据接口与软件程序设备导通时,所述微控制单元通过所述金手指获取所述软件程序设备中的引导程序并存储;
运行所述引导程序以禁用所述SWD时钟接口和所述SWD数据接口。
5.根据权利要求4所述的方法,其特征在于,所述软件程序设备包括J-Link仿真器,所述方法还包括:
在所述微控制单元中的SWD时钟接口和SWD数据接口分别与所述金手指时钟接口和所述金手指数据接口导通,且所述金手指时钟接口和所述金手指数据接口与所述J-Link仿真器导通时,所述微控制单元通过所述金手指获取所述J-Link仿真器中的所述引导程序并存储。
6.根据权利要求4所述的方法,其特征在于,所述软件程序设备包括J-Link仿真器和第一外接设备,且所述J-Link仿真器与所述第一外接设备导通,所述方法还包括:
在所述微控制单元中的SWD时钟接口和SWD数据接口分别与所述金手指时钟接口和所述金手指数据接口导通,且所述金手指时钟接口和所述金手指数据接口与所述J-Link仿真器导通时,所述微控制单元通过所述金手指和所述J-Link仿真器获取所述第一外接设备中的所述引导程序并存储。
7.根据权利要求4所述的方法,其特征在于,所述运行所述引导程序以禁用所述SWD时钟接口和所述SWD数据接口之后,还包括:
在所述微控制单元中的I2C时钟接口和I2C数据接口分别与所述金手指时钟接口和所述金手指数据接口导通,且所述金手指时钟接口和所述金手指数据接口与第二外接设备导通时,所述微控制单元通过所述金手指获取所述第二外接设备中的固件程序并存储。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述微控制单元通过所述金手指获取所述第二外接设备中的复位程序并存储。
9.根据权利要求8所述的方法,其特征在于,所述微控制单元通过所述金手指获取所述第二外接设备中的复位程序并存储之后,还包括:
通过所述金手指接收所述第二外接设备发送的复位指令;
响应于所述复位指令,运行所述复位程序以复位所述SWD时钟接口和所述SWD数据接口,以使所述微控制单元中的SWD时钟接口和SWD数据接口分别与所述金手指时钟接口和所述金手指数据接口导通,并能够通过所述金手指与所述软件程序设备进行数据传输。
10.根据权利要求9所述的方法,其特征在于,所述运行所述复位程序以复位所述SWD时钟接口和所述SWD数据接口之后,还包括:
通过所述金手指接收所述软件程序设备发送的程序更新指令;
响应于所述程序更新指令,更新所述引导程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110485219.5A CN113076274B (zh) | 2021-04-30 | 2021-04-30 | 一种光模块以及软件程序获取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110485219.5A CN113076274B (zh) | 2021-04-30 | 2021-04-30 | 一种光模块以及软件程序获取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113076274A true CN113076274A (zh) | 2021-07-06 |
CN113076274B CN113076274B (zh) | 2022-08-09 |
Family
ID=76616603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110485219.5A Active CN113076274B (zh) | 2021-04-30 | 2021-04-30 | 一种光模块以及软件程序获取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113076274B (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN204731586U (zh) * | 2015-07-01 | 2015-10-28 | 四川泰瑞创通讯技术有限公司 | 具备c2调试模式和正常工作模式下切换操作的光模块 |
CN107608692A (zh) * | 2017-09-01 | 2018-01-19 | 江苏钜芯集成电路技术股份有限公司 | 无线烧录装置 |
CN207732773U (zh) * | 2018-02-01 | 2018-08-14 | 四川泰瑞创通讯技术股份有限公司 | 基于i2c接口访问的光模块性能的测试装置 |
US20190068285A1 (en) * | 2017-08-25 | 2019-02-28 | Source Photonics (Chengdu) Company, Ltd. | Optical Module, Optical Module System and Monitor Method Using the Same |
CN109818677A (zh) * | 2019-03-20 | 2019-05-28 | 青岛海信宽带多媒体技术有限公司 | 光模块及光网络装置 |
US20190227907A1 (en) * | 2018-01-19 | 2019-07-25 | Samsung Electronics Co., Ltd. | Storage device and debugging system thereof |
CN209373536U (zh) * | 2018-12-19 | 2019-09-10 | 常州硬功馆科技有限公司 | 人体工程学双指输入人机交互装置 |
US20190278912A1 (en) * | 2018-03-06 | 2019-09-12 | Faraday Technology Corp. | Method and apparatus for performing firmware programming on microcontroller chip, and associated microcontroller chip |
CN110515633A (zh) * | 2019-08-30 | 2019-11-29 | 深圳市汇顶科技股份有限公司 | 烧录装置及*** |
CN209708166U (zh) * | 2019-06-10 | 2019-11-29 | 江苏恒宝智能***技术有限公司 | 一种蓝牙卡 |
CN110531998A (zh) * | 2019-09-04 | 2019-12-03 | 青岛海信宽带多媒体技术有限公司 | 一种光模块及光模块的固件烧写方法 |
CN110729265A (zh) * | 2019-10-21 | 2020-01-24 | 青岛海信宽带多媒体技术有限公司 | 一种光模块及光网络装置 |
CN111045930A (zh) * | 2019-11-18 | 2020-04-21 | 武汉光谷信息光电子创新中心有限公司 | 一种光模块代码下载调试的方法和*** |
US20200162164A1 (en) * | 2018-11-21 | 2020-05-21 | Sumitomo Electric Industries, Ltd. | Optical transceiver |
CN210776245U (zh) * | 2019-08-23 | 2020-06-16 | 深圳市欧深特信息技术有限公司 | 一种光模块 |
US20200335141A1 (en) * | 2019-04-19 | 2020-10-22 | Samsung Electronics Co., Ltd. | Power management integrated circuits and semiconductor memory modules including power management integrated circuits |
CN214756745U (zh) * | 2021-02-01 | 2021-11-16 | 瑞泰(威海)电子科技有限公司 | 光模块电路 |
-
2021
- 2021-04-30 CN CN202110485219.5A patent/CN113076274B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN204731586U (zh) * | 2015-07-01 | 2015-10-28 | 四川泰瑞创通讯技术有限公司 | 具备c2调试模式和正常工作模式下切换操作的光模块 |
US20190068285A1 (en) * | 2017-08-25 | 2019-02-28 | Source Photonics (Chengdu) Company, Ltd. | Optical Module, Optical Module System and Monitor Method Using the Same |
CN107608692A (zh) * | 2017-09-01 | 2018-01-19 | 江苏钜芯集成电路技术股份有限公司 | 无线烧录装置 |
US20190227907A1 (en) * | 2018-01-19 | 2019-07-25 | Samsung Electronics Co., Ltd. | Storage device and debugging system thereof |
CN207732773U (zh) * | 2018-02-01 | 2018-08-14 | 四川泰瑞创通讯技术股份有限公司 | 基于i2c接口访问的光模块性能的测试装置 |
US20190278912A1 (en) * | 2018-03-06 | 2019-09-12 | Faraday Technology Corp. | Method and apparatus for performing firmware programming on microcontroller chip, and associated microcontroller chip |
US20200162164A1 (en) * | 2018-11-21 | 2020-05-21 | Sumitomo Electric Industries, Ltd. | Optical transceiver |
CN209373536U (zh) * | 2018-12-19 | 2019-09-10 | 常州硬功馆科技有限公司 | 人体工程学双指输入人机交互装置 |
CN109818677A (zh) * | 2019-03-20 | 2019-05-28 | 青岛海信宽带多媒体技术有限公司 | 光模块及光网络装置 |
US20200335141A1 (en) * | 2019-04-19 | 2020-10-22 | Samsung Electronics Co., Ltd. | Power management integrated circuits and semiconductor memory modules including power management integrated circuits |
CN209708166U (zh) * | 2019-06-10 | 2019-11-29 | 江苏恒宝智能***技术有限公司 | 一种蓝牙卡 |
CN210776245U (zh) * | 2019-08-23 | 2020-06-16 | 深圳市欧深特信息技术有限公司 | 一种光模块 |
CN110515633A (zh) * | 2019-08-30 | 2019-11-29 | 深圳市汇顶科技股份有限公司 | 烧录装置及*** |
CN110531998A (zh) * | 2019-09-04 | 2019-12-03 | 青岛海信宽带多媒体技术有限公司 | 一种光模块及光模块的固件烧写方法 |
CN110729265A (zh) * | 2019-10-21 | 2020-01-24 | 青岛海信宽带多媒体技术有限公司 | 一种光模块及光网络装置 |
CN111045930A (zh) * | 2019-11-18 | 2020-04-21 | 武汉光谷信息光电子创新中心有限公司 | 一种光模块代码下载调试的方法和*** |
CN214756745U (zh) * | 2021-02-01 | 2021-11-16 | 瑞泰(威海)电子科技有限公司 | 光模块电路 |
Non-Patent Citations (2)
Title |
---|
YAGO HANSEN: ""The Hacker"s hardware Toolkit"", 《HTTPS://GITHUB.COM/YADOX666/THE-HACKERS-HARDWARE-TOOLKIT》 * |
张臣: ""10G可调谐SFP PLUS光通信模块的设计与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113076274B (zh) | 2022-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8275599B2 (en) | Embedded bus emulation | |
CN110531998B (zh) | 一种光模块及光模块的固件烧写方法 | |
US8397053B2 (en) | Multi-motherboard server system | |
CN114003538B (zh) | 一种智能网卡的识别方法及智能网卡 | |
US9405717B2 (en) | Memory device debugging on host platforms | |
CN113609045B (zh) | 一种智能网卡bmc通信结构及方法 | |
CN101739322A (zh) | 嵌入式***的测试装置及方法 | |
CN113076274B (zh) | 一种光模块以及软件程序获取方法 | |
US20150317279A1 (en) | Semiconductor device and mobile terminal device | |
CN116032746A (zh) | 资源池的信息处理方法及装置、存储介质及电子装置 | |
CN110750475A (zh) | 多cpu共用一物理串口方法及装置、嵌入式设备、介质 | |
CN115599191A (zh) | 智能网卡的上电方法及上电装置 | |
CN213365381U (zh) | 主板 | |
EP3182295A1 (en) | Communication system with serial ports for automatically identifying device types and communication protocols and method thereof | |
US10120828B2 (en) | Bridge for bus-powered peripheral device power management | |
US9465765B2 (en) | All-in-one SATA interface storage device | |
CN111026428A (zh) | 能同时远程在线更新多个板卡中fpga固件程序的***及方法 | |
CN115422110B (zh) | 电子设备和PCIE Switch芯片的端口配置方法 | |
US20220405233A1 (en) | Processor chip, dongle device, and operation method | |
CN114579381B (zh) | 磁盘阵列远程调试方法、***、终端及存储介质 | |
CN116028409B (zh) | 转接卡、主板、计算机、数据传输方法、设备和介质 | |
CN110955629B (zh) | 计算装置 | |
CN115454748A (zh) | 一种测试板卡,一种节点选择方法及组件 | |
CN115801711A (zh) | 一种光口测试芯片及装置 | |
US7607044B2 (en) | Monitoring of a program execution by the processor of an electronic circuit |
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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: An optical module and software program acquisition method Effective date of registration: 20230104 Granted publication date: 20220809 Pledgee: Chengdu SME financing Company Limited by Guarantee Pledgor: Chengdu youbochuang Communication Technology Co.,Ltd. Registration number: Y2023990000005 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |