CN110673894B - 一种家庭网关bob模块ed自动加载方法 - Google Patents

一种家庭网关bob模块ed自动加载方法 Download PDF

Info

Publication number
CN110673894B
CN110673894B CN201910920247.8A CN201910920247A CN110673894B CN 110673894 B CN110673894 B CN 110673894B CN 201910920247 A CN201910920247 A CN 201910920247A CN 110673894 B CN110673894 B CN 110673894B
Authority
CN
China
Prior art keywords
eeprom
bob
writing
chip
reading
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
CN201910920247.8A
Other languages
English (en)
Other versions
CN110673894A (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.)
Sichuan Tianyi Comheart Telecom Co Ltd
Original Assignee
Sichuan Tianyi Comheart Telecom 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 Sichuan Tianyi Comheart Telecom Co Ltd filed Critical Sichuan Tianyi Comheart Telecom Co Ltd
Priority to CN201910920247.8A priority Critical patent/CN110673894B/zh
Publication of CN110673894A publication Critical patent/CN110673894A/zh
Application granted granted Critical
Publication of CN110673894B publication Critical patent/CN110673894B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Abstract

本发明公开了一种家庭网关BOB模块ED自动加载方法,包括如下步骤:步骤一:EEPROM通过挂在BUS上接入ONU系统;步骤二:ONU系统的驱动程序通过I2C接口对EEPROM实现读取和写入;步骤三:自动加载应用程序再通过驱动程序提供的IO接口对EEPROM写入、读取和保存;步骤四:BOB芯片通过读取EEPROM完成对寄存器的配置。根据本发明,可以省掉写EEPROM生产工序并节省生产时间。

Description

一种家庭网关BOB模块ED自动加载方法
技术领域
本发明涉及通信设备领域,具体是一种家庭网关BOB模块ED自动加载方法。
背景技术
家庭网关在生产过程中,有着很多不同的工序,完成每道工序都需要一定的时间。然而在生产过程中总会想办法提高生产效率并提高产品质量,这样才能给产品带来更多的竞争优势。读写BOB EEPROM DATA作为工厂生产的一环,以前都是在线上将BOB正常工作所需要的参数写入EEPROM,然后再根据需要进行调试,它的缺点是耗费一定时间并且还要占用一道工序。
发明内容
本发明的目的在于克服现有技术的不足,提供一种家庭网关BOB模块ED自动加载方法,包括如下步骤:
步骤一:EEPROM通过挂在BUS上接入ONU系统;
步骤二:ONU系统的驱动程序通过I2C接口对EEPROM实现读取和写入;
步骤三:自动加载应用程序再通过驱动程序提供的IO接口对EEPROM写入、读取和保存;
步骤四:BOB芯片通过读取EEPROM完成对寄存器的配置。
进一步的,所述步骤一中的EEPROM通过挂在BUS上接入ONU系统,接入系统后先判断EEPROM是否已经写过配置,通过判断EEPROM标志位上是否全是0xFF,若是,则未写过配置;否则,不对该EEPROM进行配置写入。
进一步的,所述步骤二中驱动程序用于分别连接自动加载应用程序和EEPROM,用于对EEPROM同时进行多字节的读或写。
进一步的,在两次读或写之间设有延时,所述的延时用于驱动程序完成对EEPROM的多字节读或写。
进一步的,所述的多字节的写入长度不能超过32字节。
进一步的,所述步骤三中的自动加载应用程序再通过驱动程序提供的IO接口对EEPROM写入、读取和保存,具体的是通过宏控制来选择BOB芯片的型号,加载对应BOB芯片型号的配置信息到EEPROM。
进一步的,自动加载应用程序在对EEPROM进行BOB芯片的配置信息写入时,需先获取对EEPROM的读写权限,包括如下过程,首先判断EEPROM是否是第一次写入,若是,则其默认读写权限密码为默认密码,通过默认密码获取读写权限,并将BOB芯片的配置信息写入,同时更改EEPROM的读写权限密码为写入的BOB芯片的配置信息的密码;否则,自动加载应用程序无法获取对EEPROM的读写权限。
本发明的有益效果是:将写EEPROM的工序放在ONU初次启动完成后自动加载,因为ONU系统启动完成后一段时间都是空闲时间,ONU利用这段时间加载配置,省掉写EEPROM生产工序并节省生产时间。
附图说明
图1为一种家庭网关BOB模块ED自动加载方法的流程图;
图2为一种家庭网关BOB模块ED自动加载的加载示意图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
如图1所示,为了省掉写EEPROM生产工序节省生产时间,将写EEPROM的工序放在ONU初次启动完成后自动加载,因为ONU系统启动完成后一段时间都是空闲时间,ONU利用这段时间加载配置,然后在进入产线之前还可以根据指示灯的提示来预先判断ONU的PON部分是否存在问题。
EEPROM通过挂在BUS上接入系统,ONU的驱动程序会通过I2C接口对EEPROM实现读取和写入,自动加载应用程序再通过驱动程序提供的IO接口对EEPROM写入、读取和保存,最后BOB芯片通过读取EEPROM完成对寄存器的配置。
驱动程序是实现自动加载的关键,它是自动加载应用程序和EEPROM的中间桥梁,驱动需实现对EEPROM同时多字节的读写,在两次读或写之间需有一定延时保证每次读写都能成功。但多字节写入也存在失败问题,当写入的长度大于32字节时可能会出现只能写进一部分数据,所以在实际使用中时要求写入的长度不能超过32字节。
驱动程序对挂入BUS上的EEPROM可以通用,应用层程序只需要传入设备的基地址及偏移地址就可以实现对不同EEPROM的访问。
自动加载程序也有一个缺点,不同BOB驱动芯片它可能需要的配置不一样,但EEPROM里原始信息为空,所以无法判断所使用的BOB驱动芯片型号,而在现实应用中驱动芯片会有多种方案。在这种情况下,软件不能通用,在编译软件时候可以通过一个宏控制选择相应的芯片型号,在软件自动命名上并将其型号加以区分。
在判断是否已经对EEPROM写过配置时,方法是在EEPROM相应的位置写入标志位,在系统启动的时候读取它的值是否一致来判断。但这种判断方法会存在问题,当EEPROM中的数据因为某种原因可能导致标志位发生改变,这样在系统启动后会不断的向EEPROM写入默认配置,这种情况会将已经调试通过的BOB配置全部打乱。为了避免这种问题发生,由于EEPROM的初始值都是0xFF,所以通过判断标志位上是否全是0xFF来判断,把这种情况发生的机率降到最低。
在应用层可以向驱动程序传入两次对EEPROM操作之间的时延,一般来说如果两次操作间隔太短有可能会出现操作失败,加以适当的时延可以有效避免问题发生。但时延也不能太长,当写入的参数比较多时这会很费时,所以选择适当的时延很重要,可以选择50ms~100ms。
为了保护EEPROM数据不受外界影响,需先获取读写权限。不同的BOB方案的所需要的配置存在一定的差异,如果所有的BOB方案使用同一套密码的话在实际中可能会出现误操作,就是将其它BOB方案的配置误写入。采用不同的密码的话,由于密码不正确就没有读写权限。
具体的,本发明包括如下、EEPROM通过挂在BUS上接入ONU系统;ONU系统的驱动程序通过I2C接口对EEPROM实现读取和写入;自动加载应用程序再通过驱动程序提供的IO接口对EEPROM写入、读取和保存;BOB芯片通过读取EEPROM完成对寄存器的配置。
EEPROM通过挂在BUS上接入ONU系统,接入系统后先判断EEPROM是否已经写过配置,通过判断EEPROM标志位上是否全是0xFF,若是,则未写过配置;否则,不对该EEPROM进行配置写入。
驱动程序用于分别连接自动加载应用程序和EEPROM,用于对EEPROM同时进行多字节的读或写。在两次读或写之间设有延时,所述的延时用于驱动程序完成对EEPROM的多字节读或写。多字节的写入长度不能超过32字节。
自动加载应用程序再通过驱动程序提供的IO接口对EEPROM写入、读取和保存,具体的是通过宏控制来选择BOB芯片的型号,加载对应BOB芯片型号的配置信息到EEPROM。自动加载应用程序在对EEPROM进行BOB芯片的配置信息写入时,需先获取对EEPROM的读写权限,包括如下过程,EEPROM如果是第一次写入时,其默认密码都是0xFF 0xFF 0xFF 0xFF,通过该密码获取写入权限,并将BOB芯片的所有配置信息写入,其中包括对BOB设置新的密码,如果没有获取写入权限,自动加载应用程序将会返回失败。
实际应用中用得最多的BOB驱动芯片型号是semtech的25L95,25L95在自动加载程序中的特点是读写简单,所需代码较少。在程序编译的时候会把可能使用的芯片型号罗列出来,比如:25L95_EPON、25L95_GPON、UX3320_EPON、UX3320_GPON,选定一个型号后会根据选定的型号定义一个宏比如DMP_25L95_EPON或者DMP_25L95_GPON或者DMP_UX3320_EPON或者DMP_UX3320_GPON,编译的时候只会编译其中一个已定义宏控制的代码,这样实现根据编译选择芯片型号编译适应不同型号芯片的软件。
软件启动后,会启动一个定时器,根据需要决定自动加载在什么时间开始。比如设定在系统启动完成后将定时器设置成60S,它将在启动完成后60S去加载所有配置。在加载之前通过去读取25L95的已写标志(该标志存是放在table0的0x14到0x17的四个字符,比如SCTY)来判断EEPROM是否已写过,由于EEPROM在初始状态读出来的0x14~0x17都是0xFF,所以我们通过判断读出来的标志是否全是0xFF来判断是否已经写过,如果全是0xFF则说明EEPROM未写过,则开始将配置写入EEPROM。通过比较是否全是0xFF而不是其它方式比较的原因是BOB可能会受到外界影响,那么标志位读出来可能会有不是全0xFF的情况,不同BOB方案采用不同密码也是出于这个原因,避免在实际操作中误操作,使已经调试好的设备再次自动加载。
不管是25L95或者是UX3320,都需要在每一个读写操作之间做适当延时,比如25L95在写入的时候是通过一个for循环每8字节不间断的写入,如果不加延时两次写入间隔会非常的短,每一次写入都需要消耗一定时间,如果不加以延时,第二次写入可能失败,所以在保证加载时间在合适范围的情况下加以适当延时。
在写之前25L95有写保护需要将写保护关闭,待配置写入完成后关掉写保护以防误操作。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (3)

1.一种家庭网关BOB模块ED自动加载方法,其特征在于,包括如下步骤:
步骤一:EEPROM通过挂在BUS上接入ONU系统;接入系统后先判断EEPROM是否已经写过配置,通过判断EEPROM标志位上是否是0xFF,若是,则未写过配置;否则,不对该EEPROM进行配置写入;
步骤二:ONU系统的驱动程序通过I2C接口对EEPROM实现读取和写入;驱动程序用于分别连接自动加载应用程序和EEPROM,用于对EEPROM同时进行多字节的读或写;
步骤三:自动加载应用程序再通过驱动程序提供的IO接口对EEPROM写入、读取和保存;通过宏控制来选择BOB芯片的型号,加载对应BOB芯片型号的配置信息到EEPROM;自动加载应用程序在对EEPROM进行BOB芯片的配置信息写入时,需先获取对EEPROM的读写权限,包括如下过程,首先判断EEPROM是否是第一次写入,若是,则其默认读写权限密码为默认密码,通过默认密码获取读写权限,并将BOB芯片的配置信息写入,同时更改EEPROM的读写权限密码为写入的BOB芯片的配置信息的密码;否则,自动加载应用程序无法获取对EEPROM的读写权限;
步骤四:BOB芯片通过读取EEPROM完成对寄存器的配置。
2.根据权利要求1所述的一种家庭网关BOB模块ED自动加载方法,其特征在于,在两次读或写之间设有延时,所述的延时用于驱动程序完成对EEPROM的多字节读或写。
3.根据权利要求1所述的一种家庭网关BOB模块ED自动加载方法,其特征在于,所述的多字节的写入长度不超过32字节。
CN201910920247.8A 2019-09-26 2019-09-26 一种家庭网关bob模块ed自动加载方法 Active CN110673894B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910920247.8A CN110673894B (zh) 2019-09-26 2019-09-26 一种家庭网关bob模块ed自动加载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910920247.8A CN110673894B (zh) 2019-09-26 2019-09-26 一种家庭网关bob模块ed自动加载方法

Publications (2)

Publication Number Publication Date
CN110673894A CN110673894A (zh) 2020-01-10
CN110673894B true CN110673894B (zh) 2021-03-26

Family

ID=69079476

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910920247.8A Active CN110673894B (zh) 2019-09-26 2019-09-26 一种家庭网关bob模块ed自动加载方法

Country Status (1)

Country Link
CN (1) CN110673894B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111399945B (zh) * 2020-03-20 2023-08-18 太仓市同维电子有限公司 一种基于10g pon bob设备的校准及配置管理方法
CN116801143B (zh) * 2023-08-23 2023-12-01 宜宾市华迅光通信有限公司 一种fttr主网关下行光口使用bob的方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103108262A (zh) * 2013-03-07 2013-05-15 烽火通信科技股份有限公司 Gpon系统中光网络单元配置文件升级的方法
US8938166B2 (en) * 2012-12-19 2015-01-20 Alcatel Lucent Smart small form-factor pluggable transceiver for data networks
CN204242180U (zh) * 2014-07-22 2015-04-01 杭州晟元芯片技术有限公司 一种基于安全触控屏控制芯片的安全密码输入系统
US10021000B2 (en) * 2015-06-05 2018-07-10 Arris Enterprises Llc Provisioning in support of an embedded cable modem MAC address

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5773387B2 (ja) * 2011-10-06 2015-09-02 沖電気工業株式会社 伝送制御装置、伝送制御プログラム及び終端装置
CN102833794A (zh) * 2012-08-02 2012-12-19 广州市花都区中山大学国光电子与通信研究院 利用智能终端配置瘦客户机设备无线网络设置的方法
CN107306151A (zh) * 2017-02-14 2017-10-31 深圳市双翼科技股份有限公司 一种bob设备的校准方法及其装置
CN109698981A (zh) * 2017-10-23 2019-04-30 深圳市中兴微电子技术有限公司 无源光网络的配置方法、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8938166B2 (en) * 2012-12-19 2015-01-20 Alcatel Lucent Smart small form-factor pluggable transceiver for data networks
CN103108262A (zh) * 2013-03-07 2013-05-15 烽火通信科技股份有限公司 Gpon系统中光网络单元配置文件升级的方法
CN204242180U (zh) * 2014-07-22 2015-04-01 杭州晟元芯片技术有限公司 一种基于安全触控屏控制芯片的安全密码输入系统
US10021000B2 (en) * 2015-06-05 2018-07-10 Arris Enterprises Llc Provisioning in support of an embedded cable modem MAC address

Also Published As

Publication number Publication date
CN110673894A (zh) 2020-01-10

Similar Documents

Publication Publication Date Title
CN101699402B (zh) 一种多模式启动的嵌入式系统
CN111737173B (zh) I2c总线通信控制方法、装置、系统及可读存储介质
CN110673894B (zh) 一种家庭网关bob模块ed自动加载方法
CN104658612A (zh) 存取快闪存储器中储存单元的方法以及使用该方法的装置
CN110765032A (zh) 基于系统管理总线接口对i2c存储器进行读写的方法
US5819108A (en) Programming of software into programmable memory within a peripheral device
CN102169463A (zh) 一种基于iic总线的制造信息的获取方法和设备
US10387361B2 (en) Serial device with configuration mode for changing device behavior
CN104184454A (zh) 适用多种类型存储的sfp芯片电路连接及其检测方法
US7788454B2 (en) Controller including electrically rewritable nonvolatile memory
CN101667133A (zh) 固件更新方法和使用该方法更新固件的芯片
JP3681323B2 (ja) メモリカード
US7043597B2 (en) System and method for updating firmware in a non-volatile memory without using a processor
JPH0320778B2 (zh)
US20050099833A1 (en) Memory device accessible with different communication protocols
CN107168650B (zh) 一种对bios的存储器中的数据的处理方法及装置
CN110209433B (zh) 一种识别不同型号集中器的方法
CN110990260B (zh) 一种Extended APIC选项功能的自动化验证方法及系统
CN112331252A (zh) Nand闪存自动坏块标记方法、装置、存储介质和终端
CN113326215B (zh) 一种spi nor及nand闪存传输模式识别方法
EP3557422A1 (en) Method for accessing code sram, and electronic device
KR100316584B1 (ko) 시스템에서 부팅 및 수행 프로그램을 공유하는 플래시메모리 및 그 메모리 갱신 방법
CN113641595A (zh) 独立块保护模式的spi flash在brom阶段的类型识别方法及系统
CN113467842B (zh) 适用于工业级应用场景的嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质
CN117573155B (zh) 产品信息处理方法及芯片

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