- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
labview 构建SFP
介绍了一种利用LabVIEW构建SFP(Small Form-factor Pluggable)光模块测试平台的方法。测试平台通过读写计算机并口来映射地址上的数据,控制并口端口的逻辑电平实现计算机并口模拟I2C总线。计算机利用模拟的I2C总线与SFP光模块实现通信。分析了生产者/消费者结构队列状态机并用于设计中,该设计模式可以及时响应前面板动作或外部事件,并且使得状态机的状态变换更加灵活多变。关键词: SFP光模块; 生产者/消费者结构队列状态机; 计算机并口模拟I2C总线
?? ?随着近几年光通信的迅速发展,光通信接入网对实现光电、电光转换的光收发模块的要求越来越高,光收发模块的测试也越来越复杂。早期一般使用Visual Basic、Visual C++开发测试软件,存在开发周期长、测试效率低等问题,本文提出了使用LabVIEW虚拟仪器技术来完成测试工作的方法,解决了测试成本高、测试效率低、测试系统松散等问题,同时它还具备远程测试以及仪器定制或自制等特点。虚拟仪器技术已经深远地影响着测试测量领域,是企业和科研单位的测试工作的重要解决方案之一。本文正是利用此项技术解决了SFP光模块测试平台开发的几个关键问题。1 SFP光模块测试软件的设计1.1软件结构 软件由四个界面构成,实时监控界面、阈值设置界面、校准界面和光模块信息设置界面。实时监控界面是软件的主界面,它显示数字诊断功能[1]中的五个模拟量与其Alarm和Warning标志;阈值设置界面的功能是设定Alarm与Warning阈值,当实时监控值不在阈值内时会出现工作异常警示;校准界面主要是解决数据漂移,从而保证测得数据准确;模块信息设置界面是完成光模块在出厂前信息设置。软件运行的过程中用到的数据库是由Access数据库构成。如图1所示为软件结构图。
1.2计算机并口模拟I2C总线?? ?I2C总线由四种信号组成:开始信号、停止信号、响应信号和数据发送。在计算机并口产生这些信号就要对数据地址、状态地址和控制地址进行程序设计和控制。在LPT1端口中,它们对应的地址分别为0x378、0x379和0x37A。计算机并口中的8个数据端口分别对应0x378中的B7~B0;5个状态端口分别对应0x379中的B7~B3;4个控制端口分别对应0x37A中的B3~B0。如果在以上地址的某一位上写1,计算机并口的对应端口就会产生逻辑电平高。I2C总线的SDA和SCL分别需要并口的两个端口模拟,这是因为计算机并口的特性,对地址中的数据的操作要么一直读操作要么一直写操作。??? 对LPT1端口地址操作要使用LabVIEW函数库中的Out Port函数和In Port函数。Out Port函数和In Port函数是在指定的16位I/O端口地址读取和写入带符号的整数。读操作要先利用In Port函数读取LPT1端口地址上的整数数据,再转化为无符号数据并求出特定位的布尔量,最后得到该位对应端口的逻辑电平。写操作就是先利用In Port函数读取LPT1端口地址上的整数数据,再转化为无符号数据并修改其中某一位的值,最后利用Out Port函数把修改后的数据转化为整数数据并写入LPT1端口地址,从而改变对应端口的逻辑电平。??? I2C总线的四种信号通过SDA和SCL的组合形式如下:(1)开始信号:在SCL高电平期间,SDA由高变为低,将产生一个开始信号;(2)停止信号:在SCL高电平期间,SDA由低变高,将产生一个停止信号;(3)应答信号:传输一个字节后的第9个时钟,若从设备把SDA拉低,表明有应答信号,反之则无;(4)数据传输:数据传输过程中,数据的改变都必须在SCL低电平期间,在SCL为高电平期间必须保持SDA信号的稳定[2]。?? ?按照时序要求依次可以编写出I2C start、I2C send、I2C ack和I2C stop四种I2C总线信号的vi,其中I2C send这个vi既能发送地址又能发送数据。最后由这些vi组成如图2所示的完整I2C总线数据传输。
1.3 生产者/消费者结构队列状态机??? 设计模式是在解决问题的过程中,由一些良好思路的经验集成的。在LabVIEW中,它包括结构、函数、控件和错误处理的布局,它形成了一个通用的结构来完成一些常见的任务。设计模式可实现模块重用,并提高软件生产效率和质量[3]。??? 生产者/消费者结构是一种常用的设计模式,它主要用于数据采集系统。一般的数据采集系统包括数据采集、数据分析和结果显示三个步骤。如果将这三个步骤按照常规的顺序执行,则数据分析导致的时间延迟会增大数据采集的周期。采用生产者/消费者结构的数据采集系统,它通过并行的方式实现多个循环,可以很好地解决这一问题。一个循环不断地采集数据(生产者),另一个循环不断地处理数据(消
文档评论(0)