本发明涉及光通信技术领域,尤其涉及一种dsp固件加载电路及方法、光模块。
背景技术:
pam4是pam(pulseamplitudemodulation,脉冲幅度调制)调制技术的一种。pam信号是继nrz(non-return-to-zero)后的热门信号传输技术,也是多阶调制技术的代表,可以有效提升带宽利用效率,当前已被广泛应用在高速信号互连领域。nrz信号采用高、低两种信号电平表示数字逻辑信号的1、0,每个时钟周期可以传输1bit的逻辑信息。pam4信号采用4个不同的信号电平进行信号传输,每个时钟周期可以传输2bit的逻辑信息,即00、01、10、11。因此,在同样波特率条件下,pam4信号比特速率是nrz信号的2倍,传输效率提高一倍,同时还可有效降低成本。
现有pam4光模块,主要采用如下两种方法加载dsp固件:
方法1、采用外挂eeprom芯片,用来存储dsp的固件程序,在eeprom芯片贴片前,先通过烧录器把dsp固件烧录进eeprom芯片,每次上电mcu启动时,会通过控制dsp去加载eeprom的固件。
方法2、采用外挂eeprom芯片,用来存储dsp的固件程序,模块制作好后,先烧录mcu的程序,然后通过控制命令,mcu把dsp固件烧录进入eeprom芯片,后续每次上电mcu启动时,会通过控制dsp去加载eeprom的固件。
然而,这两种加载方法均存在以下缺陷:
(1)不管哪种方式,都需要外挂eeprom芯片,还需要增加外围电路,不仅成本较高,而且占用较大装配空间,不利于pcb布板和散热。
特别是sfp56pam4光模块,板子空间非常有限,基本放不下外挂eeprom芯片,而且会大大影响光模块的稳定性。
(2)为完成固件加载,需要应用烧录器或专业编程器烧录2次程序,dsp一次,mcu一次,不仅操作复杂,而且烧录器或专业编程器价格昂贵,不易操作,若操作不规范,甚至会破坏光模块。
技术实现要素:
本发明的目的在于提供一种dsp固件加载电路及方法、光模块,解决现有技术存在的成本高、操作复杂以及影响光模块性能的问题。
为达此目的,本发明采用以下技术方案:
一种dsp固件加载电路,包括mcu和dsp单元;
所述mcu,包括存储器;所述存储器,包括用于存储dsp固件程序的dsp固件存储区、用于存储mcu固件的mcu固件存储区以及用于存储bootloader控制程序的bootloader程序存储区;
所述mcu和所述dsp单元均包括gpio接口、smi接口和spi接口;所述mcu分别通过所述gpio接口、所述smi接口和所述spi接口与所述dsp连接;
在所述gpio接口输出低电平时,所述dsp单元的spi接口处于高阻态输出;在所述gpio接口输出高电平时,所述mcu通过所述spi接口向所述dsp单元加载dsp固件。
可选的,所述mcu的smi接口和所述dsp单元的smi接口,通过双线电源转换芯片连接。
可选的,所述存储器的存储空间为256kbyte;所述dsp固件存储区为128kbyte,所述mcu固件存储区为127kbyte,所述bootloader程序存储区为1kbyte。
可选的,所述spi接口包括:主设备数据输入接口,主设备数据输出接口,时钟接口以及片选接口。
一种dsp固件加载方法,应用于如上所述的dsp固件加载电路,包括步骤:
在设备上电后,mcu先通过所述gpio接口控制所述dsp单元进入非工作模式再进行初始化;
完成初始化后,所述mcu通过所述gpio接口控制所述dsp单元进入工作模式;
进入工作模式后,所述dsp单元通过所述spi接口向所述mcu发送加载控制指令;
接收到所述加载控制指令后,所述mcu将其存储的dsp固件通过所述spi接口发送至所述dsp单元,实现dsp固件加载。
可选的,还包括:在所述dsp固件加载完成后,所述mcu停止与所述dsp单元的spi通信,并通过smi接口对所述dsp单元进行初始化配置。
可选的,还包括:在接收到dsp固件升级指令时,所述mcu通过bootloader控制程序更新存储区中的dsp固件。
可选的,还包括:在家接收到dsp固件升级指令和mcu固件升级指令时,所述mcu通过bootloader控制程序同时更新存储区中的dsp固件和mcu固件。
一种光模块,所述光模块包括如上任一所述的dsp固件加载电路。
一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行如上任一项所述的dsp固件加载方法中的步骤。
与现有技术相比,本发明实施例具有以下有益效果:
不同于采用外挂eeprom芯片的方式,本发明实施例将dsp固件存储于mcu自带的存储器中,mcu可直接控制dsp单元实现dsp固件加载,不仅减少了外挂eeprom芯片和外围电路的使用,降低了实现成本,还大大节省了装配空间,利于产品散热,保证了产品性能的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的dsp固件加载电路原理图;
图2为本发明实施例提供的mcu内部程序在flash的分布示意图;
图3为本发明实施例提供的dsp固件加载方法流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明实施例一部分的实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
本发明实施例的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,本发明实施例提供了一种dsp固件加载电路,包括mcu(microcontrollerunit,微控制单元)和dsp(digitalsignalprocessing,数字信号处理)单元。
mcu和dsp单元,均包括:gpio(general-purposeinput/output,通用输入输出)接口,smi接口(serialmanagementinterface,串行管理接口),spi接口(serialperipheralinterface,串行外设接口)。
gpio接口可以通过软件配置,本实施例中gpio接口被配置为控制信号接口。
smi接口,包括mdc接口和mdio接口。mdio接口是一个dsp的管理接口,用来读/写dsp的寄存器,以控制dsp的行为或获取dsp的状态,mdc接口为mdio提供时钟。
spi接口采用4线通信,包括:miso(主设备数据输入)接口、mosi(主设备数据输出)接口、sclk(时钟)接口、cs(片选)接口。
mcu分别通过gpio接口、smi接口和spi接口与dsp单元连接。dsp作为master(主)端,mcu作为slave(从)端,mcu通过gpio接口控制dsp进行工作。
mcu,包括存储器;如图2所示,该存储器包括:用于存储dsp固件程序的dsp固件存储区、用于存储mcu固件的mcu固件存储区以及用于存储bootloader控制程序的bootloader程序存储区。
示例性的,选用的存储器的存储空间为256kbyte时,可按照以下方式划分:dsp固件存储区为128kbyte,mcu固件存储区为127kbyte,bootloader程序存储区为1kbyte。当然,根据不同的存储器类型以及不同的使用需求,可以灵活调整各个存储区间的大小,本发明不作限制。
本实施例的dsp固件加载电路中,在gpio接口输出低电平时,dsp单元的spi接口处于高阻态输出,mcu与dsp单元不能进行spi通信;在gpio接口输出高电平时,dsp单元的spi接口处于低阻态输出,mcu与dsp可进行正常的spi通信,mcu可通过spi接口将其内部存储的dsp固件发送至所述dsp单元,实现dsp固件的加载。
另外,由于dsp单元工作的典型电压是1.8v,mcu是3.3v,本实施例中mcu的spi接口与dsp单元的spi接口之间,通过双线电源转换芯片连接,以实现电压转换处理,保证dsp单元与mcu两者的正常运行。
本实施例还提供了一种dsp固件加载方法,应用于上述dsp固件加载电路,具体包括:
步骤101、在设备上电后,mcu先通过gpio接口控制dsp单元进入非工作模式,再进行初始化。
本步骤中,mcu控制gpio接口输出低电平,即可让dsp单元进入非工作模式,此时dsp的spi四根线处于高阻态输出,这样dsp单元和mcu之间不通信。
步骤102、完成初始化后,mcu通过gpio接口控制dsp单元进入工作模式。
mcu控制gpio接口输出高电平,即可让dsp单元进入工作模式。
步骤103、进入工作模式后,dsp单元通过spi接口向mcu发送加载控制指令。
步骤104、接收到加载控制指令后,mcu将其存储的dsp固件通过spi接口发送至dsp单元,实现dsp固件加载。
具体的,mcu收到加载控制指令后,会通过spi中断服务程序,把dsp固件程序,通过spi通信源源不断送入dsp单元;待发送完成后,mcu关闭中断服务程序,停止spi通信。
步骤105、mcu通过smi接口对dsp单元进行初始化配置,以使得dsp单元所有功能都正常工作。
此后,mcu进行一些其他的常规初始化操作,让整个设备进入正常工作模式。
不同于采用外挂eeprom芯片的方式,本实施例将dsp固件存储于mcu自带的存储器中,并通过简单的控制即可实现dsp固件加载,不仅减少了外挂eeprom芯片和外围电路的使用,降低了实现成本,还大大节省了装配空间,利于设备散热。
bootloader控制程序在首次烧录至mcu后,在falsh中固化不动的,一般情况下不会去更改。基于此,当mcu固件程序需要升级时,可通过bootloader控制程序会根据mcu固件升级控制指令,更新falsh中mcu固件。
同样的,当dsp固件需要升级时,也可通过bootloader控制程序根据dsp固件升级控制指令,更新falsh中dsp固件。
当然,若需要对dsp固件和mcu固件都进行升级,可通过bootloader控制程序来同时更新falsh中的dsp固件和mcu固件。
在传统的采用外挂eeprom芯片的实现方式时,若后续需要对dsp固件升级,则需要先拆开设备外壳,再通过烧录器连接eeprom芯片的spi接口进行烧录,才能将eeprom芯片中的dsp固件升级,整个升级操作非常麻烦。与传统方式相比,本实施例的通过过bootloader控制程序来实现dsp固件升级的方式,明显简单快速,解决了设备后续的生产和维护问题。
本实施例还提供了一种光模块,其包括上述的dsp固件加载电路。通过该dsp固件加载电路,该光模块可实现简单可靠的dsp固件加载,且保证了性能稳定性,极大地提升了市场竞争力。
本领域普通技术人员可以理解,上述dsp固件加载方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例还提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的低功耗控制方法中的步骤。
其中,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
1.一种dsp固件加载电路,其特征在于,包括mcu和dsp单元;
所述mcu,包括存储器;所述存储器,包括用于存储dsp固件程序的dsp固件存储区、用于存储mcu固件的mcu固件存储区以及用于存储bootloader控制程序的bootloader程序存储区;
所述mcu和所述dsp单元均包括gpio接口、smi接口和spi接口;所述mcu分别通过所述gpio接口、所述smi接口和所述spi接口与所述dsp连接;
在所述gpio接口输出低电平时,所述dsp单元的spi接口处于高阻态输出;在所述gpio接口输出高电平时,所述mcu通过所述spi接口向所述dsp单元加载dsp固件。
2.根据权利要求1所述的dsp固件加载电路,其特征在于,所述mcu的smi接口和所述dsp单元的smi接口,通过双线电源转换芯片连接。
3.根据权利要求1所述的dsp固件加载电路,其特征在于,所述存储器的存储空间为256kbyte;所述dsp固件存储区为128kbyte,所述mcu固件存储区为127kbyte,所述bootloader程序存储区为1kbyte。
4.根据权利要求1所述的dsp固件加载电路,其特征在于,所述spi接口包括:主设备数据输入接口,主设备数据输出接口,时钟接口以及片选接口。
5.一种dsp固件加载方法,其特征在于,应用于权利要求1所述的dsp固件加载电路,包括步骤:
在设备上电后,mcu先通过所述gpio接口控制所述dsp单元进入非工作模式再进行初始化;
完成初始化后,所述mcu通过所述gpio接口控制所述dsp单元进入工作模式;
进入工作模式后,所述dsp单元通过所述spi接口向所述mcu发送加载控制指令;
接收到所述加载控制指令后,所述mcu将其存储的dsp固件通过所述spi接口发送至所述dsp单元,实现dsp固件加载。
6.根据权利要求5所述的dsp固件加载方法,其特征在于,还包括:
在所述dsp固件加载完成后,所述mcu停止与所述dsp单元的spi通信,并通过smi接口对所述dsp单元进行初始化配置。
7.根据权利要求5所述的dsp固件加载方法,其特征在于,还包括:在接收到dsp固件升级指令时,所述mcu通过bootloader控制程序更新存储区中的dsp固件。
8.根据权利要求5所述的dsp固件加载方法,其特征在于,还包括:在家接收到dsp固件升级指令和mcu固件升级指令时,所述mcu通过bootloader控制程序同时更新存储区中的dsp固件和mcu固件。
9.一种光模块,其特征在于,所述光模块包括如权利要求1至4任一所述的dsp固件加载电路。
10.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求5至8任一项所述的dsp固件加载方法中的步骤。
技术总结