一种实现电口模块PHY芯片的外接SPIFlash初始化的方法

文档序号:35986975发布日期:2023-11-10 10:36阅读:118来源:国知局
一种实现电口模块PHY芯片的外接SPIFlash初始化的方法

本发明涉及电口模块连接领域,尤其涉及一种实现电口模块phy芯片的外接spiflash初始化的方法。


背景技术:

1、随着互联网的不断发展,以太网交换机作为网络设备的连接枢纽也在不断地发展。万兆交换机根据模块传输介质的不同分为两种:以光纤为传输载体的光模块;以网线为传输载体的电模块。电口模块具有功耗低、性能高、设计紧凑的特点。电口模块可以直接用现有的铜缆布线系统实现速率是10g的数据传输。

2、万兆电口模块其核心器件为phy芯片,用于实现数据链路层到物理媒介的收发。在万兆电口模块内部还需要使用一个mcu通过mdio接口对phy芯片的数据进行采集,并负责与上位机的通讯。由于phy芯片内没有rom或flash用于保存phy芯片的数据,phy芯片若要正常工作需要将上电数据存放在外接的flash之中,芯片会在上电时从flash之中读取该数据,并对芯片内部进行初始化。

3、一般phy芯片厂商都会提供一个初始化image,电口模块生产商就需要在模块正常工作之前将映像写入flash之中。目前对于flash数据的编辑一般使用spi flash编程器。而在image文件烧录出错或phy芯片初始化image版本更新的情况下,假如要向flash中重新写入数据,那么就需要对flash进行拆卸,然后再使用flash编程器,极为不便。


技术实现思路

1、有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是现有的电口模块phy芯片外接spi flash初始化时,当image文件烧录出错或phy芯片初始化image版本更新时,要向flash中重新写入数据,则需要对flash进行拆卸,然后再使用flash编程器,无法反复初始化。本发明提供了一种实现电口模块phy芯片的外接spi flash初始化的方法,在万兆电口模块之中无需拆解即可反复更新spi flash数据,实现电口模块phy芯片外接spiflash反复初始化的功能。

2、为实现上述目的,本发明提供了一种实现电口模块phy芯片的外接spi flash初始化的方法,包括以下步骤:

3、步骤一、上位机发送初始化指令,使得上位机从normal转入wait_ready状态;

4、步骤二、mcu读取初始化指令,从normal转入init_prep状态,开始初始化前期准备;

5、步骤三、mcu前期准备结束,从init_prep转入req_image状态,等待上位机传入image数据;

6、步骤四、上位机接收到mcu请求image的指令,从wait_ready状态转入send_image状态,开始将一组image数据传入mcu之中;

7、步骤五、上位机image数据传输完毕,从send_image状态转入wait_req状态,等待mcu再次请求数据;

8、步骤六、mcu收到一组数据传输完毕的指令,从req_image状态转入write_image状态,开始将一组数据从mcu之中写入phy芯片,并由phy芯片写入spi flash;

9、步骤七、mcu已将一组数据写入完毕,当未接收到上位机发送的本组是最后一组的指令时,从write_image转入req_image状态,等待上位机传入image数据,然后循环步骤四至步骤七之间的过程;当接收到上位机发送的本组是最后一组的指令时,从write_image转入ver_image状态,对写入spi flash之中的数据进行校验;

10、步骤八、上位机接收到mcu发送的开始校验的指令,从wait_req状态转入wait_ver状态,等待mcu校验结果;

11、步骤九、mcu校验结束,从ver_image状态转入normal状态,mcu开始正常工作;

12、步骤十、上位机接收到mcu发送的校验结束的指令,从wait_ver转入normal状态,上位机显示初始化成功,至此电口模块phy芯片的外接spi flash初始化完成。

13、进一步地,上位机完成初始化所使用的状态机,包括以下状态:normal、wait_ready、send_image、wait_req、wait_ver、error。

14、进一步地,mcu完成初始化所使用的状态机,包括以下状态:normal、init_prep、req_image、write_image、ver_image、error。

15、进一步地,包括上位机、mcu、phy芯片和spi flash,上位机用于与用户进行交互,接收用户开始或停止初始化的指令,并根据指令做出各种操作,上位机内设有一个状态机,上位机状态机用于初始化spi flash,并且在初始化时配合mcu中的状态机一起完成初始化过程;其中,所述上位机与所述mcu通过i2c接口进行通讯,由上位机控制mcu;所述mcu与所述phy芯片通过mdio接口进行通讯,由mcu控制phy芯片;所述phy芯片与所spi flash通过spi接口进行通讯,由phy芯片控制spi flash;开始初始化的时候,上位机下发初始化指令、传递初始化数据,这些指令和初始化数据经由mcu、phy芯片,依次传递到flash之中。

16、进一步地,mcu用于接收上位机下发的各种指令,并根据指令做出各种操作;mcu内设置有一个mcu状态机,用于初始化spi flash,且在初始化的时候配合上位机之中的状态机一起完成初始化的过程。

17、进一步地,mcu包括两个通信接口i2c、mdio,通过i2c与上位机进行通信,通过mdio与phy芯片通信。

18、进一步地,mcu包括状态和控制寄存器,用于存储此时的mcu的状态,以供上位机读取,或使用寄存器接收上位机的控制命令。

19、进一步地,mcu内部定义的flash初始化映像的状态和控制寄存器说明表,上位机通过mcu中实现的三个寄存器分别来判断mcu的状态、上位机向mcu下发指令、mcu判断数据是否完成传输。

20、进一步地,mcu中实现的三个寄存器包括:init_state_control、mcu_init_state、image_ready;其中,init_state_control寄存器用于控制mcu是否开始初始化;mcu_init_state寄存器用于表示mcu此时的初始化状态;image_ready寄存器用于表示上位机是否将映像文传入mcu之中。

21、进一步地,还包括错误码的设计,具体为mcu_init_state寄存器之中的几个特殊值;在初始化期间假如mcu运行出现错误,mcu检测到之后会在mcu_init_state寄存器之中设置这些值,上位机在mcu_init_state寄存器之中读取到这些值之后就会中断初始化流程,并向用户反应错误信息。

22、技术效果

23、本发明提供了一种实现电口模块phy芯片的外接spi flash初始化的方法,将初始化映像存储在上位机之中,不需要再mcu之中额外占据存储空间去存储映像数据;并且能够在电口模块不拆卸的条件下进行映像的初始化与更新。除特殊情况下(如文件出错、断电、初始化期间拔出等)都可以成功完成初始化;在光模块已经组装完毕的情况下,通过其i2c接口来进行初始化,不需要将flash拆卸下来。

24、以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1