Olt业务主板上通讯设备驱动的实现方法及通讯设备的制造方法

文档序号:9601218阅读:1098来源:国知局
Olt业务主板上通讯设备驱动的实现方法及通讯设备的制造方法
【技术领域】
[0001]本发明涉及通信领域,尤其涉及一种0LT业务主板上通讯设备驱动的实现方法及通讯设备。
【背景技术】
[0002]OLT (Optical Line Terminal,光线路终端)设备是重要的局端设备,可以与前端(汇聚层)交换机用网线相连,转化成光信号,用单根光纤与用户端的分光器互联;实现对用户端设备ONU(Optical Network Unit,光网络单元)的控制、管理、测距;并和0NU设备一样,是光电一体的设备。如图1所示,其为0LT设备的结构示意图。0LT设备包括上联板、ΕΡ0Ν业务板、主控板以及GP0N业务板,其中上联板上设置有上联端口,ΕΡ0Ν业务板和GP0N业务板上设置有OLT Ρ0Ν端口。
[0003]在现有技术中,0LT设备中的主控板在用户空间的进程中,需要单独对通讯设备进行初始化,即通讯设备的实现没有模块化。这种初始化方式不能将业务板与其它软件完全隔离,因此目前亟待一种模块化的通讯设备以解决该问题。

【发明内容】

[0004]鉴于上述问题,本申请记载了一种0LT业务主板上通讯设备驱动的实现方法,所述方法包括:
[0005]获取所述通讯设备的设备参数;
[0006]判断所述设备参数是否与所述通讯设备的驱动相匹配;
[0007]若所述设备参数与所述通讯设备的驱动相匹配,判断是否对所述通讯设备进行初始化处理;
[0008]若所述设备参数与所述通讯设备的驱动不匹配,不做任何处理。
[0009]较佳的,所述设备参数包括设备名和/或设备编号和/或LINUX设备结构体。
[0010]较佳的,判断是否对所述通讯设备进行初始化处理的过程包括步骤:
[0011 ] 获取所述通讯设备的变量初始值;
[0012]判断所述变量初始值是true还是false ;
[0013]若所述变量初始值是ture,驱动加载时自动对所述通讯设备进行初始化,建立通讯通道;
[0014]若所述变量初始值是false,驱动加载时不对所述通讯设备进行初始化。
[0015]较佳的,对所述通讯设备进行初始化的过程包括步骤:
[0016]加载所述通讯设备的驱动;
[0017]配置所述通讯设备端口的工作模式;
[0018]初始化地址学习表和/或vlan表和/或统计表。
[0019]较佳的,所述工作模式包括速率和/或速度。
[0020]较佳的,对所述通讯设备初始化后,所述通讯设备与Ρ0Ν模块进行交互。
[0021]本发明还提供了一种通讯设备,设置于业务板的主CPU与若干个PON模块之间,其特征在于,所述通讯设备包括:
[0022]设备参数获取模块,用以获取所述通讯设备的设备参数;
[0023]判断模块,与所述设备参数获取模块相连,用以判断所述设备参数是否与所述通讯设备的驱动相匹配;
[0024]初始化模块,与所述判断模块相连,用以对所述通信设备进行初始化处理。
[0025]较佳的,所述初始化模块包括:
[0026]变量初始值获取单元,与所述判断模块相连,用以获取所述通讯设备的变量初始值;
[0027]初始值判定单元,与所述变量初始值获取单元相连,用以判断所述变量初始值是true 还是 false ;
[0028]初始化单元,与所述初始值判定单元相连,用以当所述变量初始值为true时对所述通讯设备进行初始化。
[0029]较佳的,所述初始化单元包括:
[0030]加载子单元,与所述初始值判定单元相连,用以加载所述通讯设备的驱动;
[0031 ] 配置子单元,与所述加载子单元相连,用以配置所述通讯设备端口的工作模式;
[0032]地址学习表初始子单元,与所述配置子单元相连,用以初始化地址学习表;
[0033]vlan表初始子单元,与所述配置子单元相连,用以初始化vlan表;
[0034]统计表初始子单元,与所述配置子单元相连,用以初始化统计表。
[0035]较佳的,所述通讯设备通过Platform总线挂载在主CPU的MD10接口上。
[0036]上述技术方案具有如下优点或有益效果:本发明中将通讯设备驱动作为一个独立的模块、无需用户空间程序配置对设备自动初始化、符合Linux设备模型的驱动实现方法。所述方法将通讯设备驱动作为一个独立的模块,自行加载,自行完成初始化,软件结构上更加清晰合理;采用LINUX设备模型设计,基本不需要用户空间程序的干涉,提供的交互接口干净简洁,符合LINUX规范。
【附图说明】
[0037]参考所附附图,以更加充分的描述本发明的实施例。然而,所附附图仅用于说明和阐述,并不构成对本发明范围的限制。
[0038]图1为现有技术中0LT设备的结构示意图;
[0039]图2为本发明一种0LT业务主板上通讯设备驱动的实现方法的流程图一;
[0040]图3为本发明一种0LT业务主板上通讯设备驱动的实现方法的流程图二 ;
[0041]图4为本发明一种0LT业务主板上通讯设备驱动的实现方法的流程图三;
[0042]图5为本发明通讯设备的结构示意图一;
[0043]图6为本发明通讯设备的结构示意图二。
【具体实施方式】
[0044]下面结合附图和具体实施例对本发明0LT业务主板上通讯设备驱动的实现方法及通讯设备进行详细说明。
[0045]实施例一
[0046]如图2所示,一种0LT业务主板上通讯设备驱动的实现方法,包括步骤:
[0047]获取所述通讯设备的设备参数;
[0048]判断所述设备参数是否与所述通讯设备的驱动相匹配;
[0049]如果所述设备参数与所述通讯设备的驱动相匹配,对所述通讯设备进行初始化处理;
[0050]如果所述设备参数与所述通讯设备的驱动不匹配,不做任何处理。
[0051]具体来说,为了让主CPU能管理多个PON模块,一般需要一个类似交换芯片的通讯设备来连接主CPU与多个所述Ρ0Ν模块,即所述通讯设备连接在业务板的主CPU上。当需要初始化所述通讯设备,打通主CPU与所述Ρ0Ν模块之间的物理通道时,首先要对所述通讯设备的设备厂家及型号进行判断,判断其是否与所述通讯设备的驱动相匹配。值得指出的是,这里的驱动是指对所述通讯设备的驱动程序,驱动的作用就是初始化所述通讯,以打通主CPU与所述Ρ0Ν模块之间的物理通道。所述设备参数包括设备名、设备编号以及LINUX设备结构体。
[0052]其中,所述业务板指的是用于承载0LT数据业务的板卡,有独立的CPU (即主CPU)。通常含有多个Ρ0Ν子卡/模块,每个Ρ0Ν子卡有多个Ρ0Ν端口 ;这种结构是为了在一个0LT插槽上,提供更大级别数量用户的接入能力,从而使整个0LT具有更大级别数量用户的接入能力。
[0053]Ρ0Ν子卡/模块指的是OLT Ρ0Ν模块,是一个提供接入0NU的独立系统,包含Ρ0Ν模块(包含CPU与PON MAC),软件载体(存储器件)和运行在它上面的Firmware (实现Ρ0Ν模块功能的软件)。
[0054]为了与让主CPU能管理多个Ρ0Ν模块,一般需要一个类似交换芯片的设备来连接主CPU与多个Ρ0Ν模块。主CPU与Ρ0Ν模块的通讯设备驱动就是指对这个通讯设备的驱动程序,驱动的作用是,初始化这个通讯模块,打通主CPU与Ρ0Ν模块之间的物理通道。
[0055]当所述设备厂家、型号与所述通讯设备的驱动相匹配,就需要判断是否需要对所述通讯设备进行初始化处理,如果需要再进行初始化。如图3所示,其中,对所述通讯设备进行初始化处理的过程具体包括步骤:
[0056]获取所述通讯设备的变量初始值;
[0057]判断所述变量初始值是true还是false ;
[0058]若所述变量初始值为true,驱动加载时自动对所述通讯设备进行初始化,建立通讯通道;
[0059]若所述变量初始值为false,驱动加载时不对所述通讯设备进行初始化处理。
[0060]值得指出的是,模块参数是LINUX设备驱动提供的一种机制,可以在加载驱动时,一起提供相应的参数的值,这些参数的值将覆盖驱动程序中参数的默认值,以共驱动程序使用。其中,所述变量初始值属于所述模块参数。
[0061]如图4所示,其中,对所述通讯设备进行初始化处理的过程还包括步骤:
[0062]加载所述通讯设备的驱动;
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1