[发明专利]一种基于Linux系统读写光模块寄存器的方法有效
申请号: | 201610086835.2 | 申请日: | 2016-02-16 |
公开(公告)号: | CN105760318B | 公开(公告)日: | 2019-03-08 |
发明(设计)人: | 聂建平;程思;赵伟;王志军 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | G06F13/16 | 分类号: | G06F13/16 |
代理公司: | 北京捷诚信通专利事务所(普通合伙) 11221 | 代理人: | 王卫东 |
地址: | 430074 湖北省*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 linux 系统 读写 模块 寄存器 方法 | ||
本发明公开了一种基于Linux系统读写光模块寄存器的方法,包括:发消息到内核,内核将信息存在proc文件;若消息格式解析不正确,则异常返回并结束,否则判断是否读取DDMI信息,若是则获取DDMI信息寄存器值,确定I2C访问的寄存器,发消息给I2C总线读写寄存器值并结束;否则,判断是否读写寄存器值,若否,异常返回并结束,否则切换I2C访问的寄存器,循环读写并调整字节序,发消息给I2C总线读写寄存器值。本发明,内核和用户空间层采用proc文件系统交互方式,针对不同光模块信号批量读写A0、A2寄存器,应用层可移植性强,可屏蔽读写寄存器应用接口的差异,使光模块调试更简单和高效,提升工厂生产效率。
技术领域
本发明涉及家庭网关领域,具体涉及一种基于Linux系统读写光模块寄存器的方法。
背景技术
在光纤入户(FTTH)以及三网融合的背景下,光纤铺设范围和速度迅速发展,ONU(Optical Network Unit,光网络单元)作为光纤接入网用户终端设备进入千家万户,光纤接入网设备与传统宽带接入网设备最主要的区别是光纤接入网设备包含光模块,具有光电转换,即将光信号转换为电信号,然后传送给用户的功能。对光模块的检测和监控是光纤接入设备工厂生产测试中的一项重要环节,通过读写光模块寄存器A0、A2的值可实现对光模块关键参数的监控,这些关键参数包括:发送光功率、接收光功率、工作电压、偏置电流以及光模块温度等。
现阶段读写寄存器的方法主要采用ioctl封装驱动层,应用层以命令的形式或者在其它模块中直接调用的方式实现,由于不同芯片方案光模块查看DDMI(数字诊断光模块)接口信息和读写寄存器应用层封装千差万别,因此现有方法过于复杂且通用性差。
有鉴于此,急需设计一种读写光模块寄存器的新方法,能够使光模块的调试更加简单和高效。
发明内容
本发明所要解决的技术问题是设计一种读写光模块寄存器的新方法,能够使光模块的调试更加简单和高效。
为了解决上述技术问题,本发明所采用的技术方案是提供一种基于Linux系统读写光模块寄存器的方法,包括以下步骤:
S201、应用层通过echo或cat命令发送消息到Linux内核,Linux内核将处理完消息获取的信息存储在proc文件中;
S202、判断应用层传递的消息格式解析是否正确,如果正确,转S204;否则,转S203;
S203、异常打印返回,并结束;
S204、判断是否读取DDMI信息,如果是,转S205;否则,转S207;
S205、获取对应的DDMI信息寄存器值,并进行数模转换,转S206;
S206、确定I2C访问的寄存器地址为A0或A2,发送消息给I2C总线读写寄存器值,并结束;
S207、判断是否读写寄存器值,如果是,转S208;否则,转S203;
S208、切换I2C访问的寄存器地址,循环读写并调整字节序,转S209;
S209、发送消息给I2C总线读写寄存器值,并结束。
在上述技术方案中,proc文件系统的初始化具体包括以下步骤:
proc文件系统启动过程中,所述应用层动态加载ko文件到所述Linux内核中;
调用i2c_add_driver函数注册I2C设备驱动;
所述Linux内核创建所述proc文件;
所述proc文件系统关联回调函数;
用户空间层生成所述proc文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610086835.2/2.html,转载请声明来源钻瓜专利网。