基于uClinux的测井仪器调试台架前端机软件设计探究

2014-02-17 02:02史俊莉
电子测试 2014年18期
关键词:驱动程序台架测井

史俊莉

(河南工业职业技术学院,473000)

基于uClinux的测井仪器调试台架前端机软件设计探究

史俊莉

(河南工业职业技术学院,473000)

文章介绍了一种基于uClinux的系统平台测井仪器调试台架前端机软件设计方法。实际应用表明,该软件设计满足了调试工作的需要,不仅有利于这些仪器设备的研制,还能够提高这些仪器设备的维护效率,将来在测井仪器调试台架中值得进一步推广和应用。

uClinux;测井仪器;调试台架;软件设计

在实际工作中,要想促进高端成像测井仪器更好的运用和工作,就必须重视对它的调试和维护工作。而进行调试和维护的过程中,测井仪器调试台架是不可缺少的组成部分,在具体应用中有着重要的作用。笔者根据具体工作的需要,考虑系统前端机硬件平台的具体情况,介绍基于uClinux的测井仪器调试台架前端机软件设计方法。

1 基于uClinux的测井仪器调试台架概述

1.1 系统整体结构。在结构体系的选择上,为了提高使用效果,满足实际工作的需要,采用通过以太网互联的先进体系结构,为实现上位机与前端机的通讯,在二者联系方式的选择上,考虑具体工作的需要,设计中采用的是基于连接的客户端/服务器工作模式,系统的主要结构包括主控电路板、下井仪、遥传测试板、部件调试接口等等,不同的组成部分发挥不同的作用,统一于系统中,促进整个软件正常运行和工作。

1.2 具体结构构成。就前端机来说,它的具体构成部分包括AMR7核心电路板、遥传测试板、人机交互功能板、各种板级/部件级调试接口板等。对于遥传测试板的结构来说,它拥有2路CAN和1路DTB,这些构成部件的主要功能是用于仪器的整体调校,从而确保系统处于良好的运行状态。CAN是指控制局域网总线,具体指EILog06系统井下仪器总线。DTB总线指斯伦贝谢CTS系统兼容的井下仪器总线,为EILog05系统井下仪器使用。外接通用下井仪器电源通过核心板RS232口程控操作。该台架系统还设置板级/部件级调试接口,将其配接不同的仪器功能电路板,或配接部件测试板卡构成测井仪器调试台架,以满足实际工作的需要,促进整个系统的运行和工作。

2 基于uClinux的测井仪器调试台架嵌入式前端软件架构设计

2.1 具体架构设计。在仪器调试台架结构设计上,采用的是前后台设计的方式方法,该设计形式具有自身显著的优点,主要表现为方便上位机的工作,上位机在日常运行中,只需要进行测试命令下发,以及测试数据的分析和处理即可。而为了提高工作效率,实现数据分析和传递的实时性,对于CAN/DTB总线通讯、仪器子功能电路、部件测试等任务,则需要前端机来完成。仪器调试台架的主要功能是测试各种仪器整机、部件等,为了促进这些功能的顺利实现,需要考虑的关键工作是采取相应的措施,实现前端机与上位机高速以太网通讯,也就是在具体工作中,应该采取相应的策略,实现TCP/IP协议。开源的Linux系统包含完整的TCP/IP网络协议。前端机采用的是基于ARM7TDMI的S3C44B0,

在构成部件的内部,没有存储管理单元MMU,因此,由于缺乏这个单元的支持,在实际使用过程中,系统不能运行Linux,但是,系统能够运行uClinux系统。uClinux系统运行的环境要求相对较低,事实上,它是针对没有MMU的微处理器设计的,是从Linux2.0/2.4内核当中派生出来的。尽管uClinux没有Linux所有的功能,但是它仍然具备Linux的绝大部分特征,在很多方面仍然具有相似性。同时,uClinux系统体积小、移植性能好、网络功能优良等等。正是具备上述特点和优势,满足了软件系统平台的实际需要,在软件设计的时候基于uClinux进行设计。

2.2 系统平台实现。前端软件在系统平台上的实现,包括两个方面的内容:驱动程序和应用程序。就驱动程序来说,它在实际应用中,主要实现CAN/DTB实时高速通讯、键盘键值读取等,任务完成的实时性要求较高,对系统的要求也较高。而应用程序没有这方面的要求,任务的实时性要求不高。就具体的结构构成图来看,嵌入端测控软件架构如图1所示,从结构图可以得知,主要的结构包括硬件层、系统层、应用层,采用的是模块结构形式,不同的模块层具有不同的特点,发挥不同的功能。网络通讯模块:实现ARM端与PC端以太网socket连接。命令响应及板卡接口模块:响应PC机下传命令,对调试板卡进行操作控制。驱动接口:与驱动程序的异步消息接口,进行数据交换。界面显示及键值处理:进行前端机本地人机交互。LCD接口模块:完成图形绘制,文字显示。整个前端机软件设计的时候,为了提高设计水平,采用的是模块化的设计方式,这样不仅能够为各种调试板卡提供程序接口,还便利了将来功能的扩展,有利于系统的升级,对整个系统设计和运用具有积极的意义。

图1 嵌入端测控软件架构

3 基于uClinux的测井仪器调试台架前端机驱动程序设计

3.1 解决设计的关键和难点问题。就uClinux设备结构类型来看,它分为字符、网络、块设备三种不同的类型。在该软件驱动程序设计的时候,采用的是字符型设备,通过合理的设计,实现系统功能的实时驱动,包括遥传测试板上的两路CAN、一路DTB仪器端、一路DTB遥测端、键盘等的实时驱动。设计的难点如下:实现大量通讯数据快速实时收发,实现驱动与应用程序数据和信息的快速交换。为实现总线实时高速数据收发,驱动程序设计中为每路CAN和DTB分别设计4KB的系统缓存和专门的中断处理。驱动程序在中断驱动下对数据缓存自动操作,完成仪器数据帧收发。数据帧收发完成后驱动程序向应用程序发出异步通知,应用程序收到通知只需提供或读取仪器数据帧即可。通过这样的运行方式,不能能够促进通讯速率的提高,还能够促进整个程序运行效率的提高。

3.2 驱动程序运行流程图。先对CAN、DTB、键盘相关硬件初始化,然后使用函数注册驱动程序,将中断处理函数装载入内核,最后驱动程序开放中断,进入休眠状态。当进入休眠状态后,只有在两种情况下,程序才会开始工作,包括应用程序调用、设定的中断产生。如果出现中断的情况,驱动程序会发生相应的指令,对键盘、CAN、DTB仪器端、DTB遥测端依次进行判断,执行操作并保持中断标志,向应用程序发出SIGIO异步信号。

3.3 数据交换与加载方式。应用程序和驱动程序处于不同的内存空间,不能直接交换数据。数据交换的实现是通过copy-touser和copy-from-user完成的。另外,在加载方式上,驱动程序有两种不同的方式,包括直接编译入内核和动态加载,二者各有自己的特点和操作方法,其中动态加载的方式操作简单,也便于调试和修改程序,在实际工作更值得采用。

4 基于uClinux的测井仪器调试台架前端机应用程序设计

4.1 运行流程。应用程序具体的运行流程如图4所示。启动应用软件,对LCD进行初始化,调用setitimer函数和signal函数,初始化硬件驱动程序,调用sigaction函数,初始化网络socket,连接PC主机,进入命令接收和网络状态检测循环。

4.2 中断处理。实际运行中,如果出现中断现象,由驱动程序进行检测并作出处理,保存当前中断状态,向应用程序发出SIGIO异步信号。收到异步信号中断当前操作,进行处理。运行中如果键盘中断,应用程序取回当前按键值,显示按键标志,返回主程序。

4.3 模块设置。应用程序采用的是模块化的设置方式,分为

主模块和测试板驱动模块。各模块又包括相应的子模块,两大模块采用的是分开编译的方式,不仅便利了不同板卡驱动模块的添加,还方便了对程序的维护,有利于促进应用程序更好的运行。

5 基于uClinux的测井仪器调试台架前端机软件的应用

5.1 具体应用。当驱动程序和应用程序设计完成,在软件具体运用之前,还需要将它们设置为开机自主运行方式,从而将软件运用到实际工作当中,满足具体工作的需要。应用程序和驱动程序程序编译完成,拷贝至已经编译好的uClinux操作系统可执行文件romfs in 目录下,在启动配置文件vendors samsung 44b0x rc中,用 insmod 指令加载驱动程序,将启动应用程序命令加入该文件末尾,用make romfs和make image命令,从而能够生成系统镜像文件,满足具体工作的需要。而将该镜像文件写入FLASH当中,就能够实现开机的自主运行,从而方便运用和操作,满足实际工作的需要。

5.2 应用效果。整体设计完成,并且设置为开机自主运行之后,将该软件运用到微电阻率扫描、阵列感应、多极阵列声波等调试台架中。结果表明,该软件设计不仅满足了这些仪器的使用需要,还方便了对仪器的研制,有利于提高对这些仪器的维护效率,取得了令人满意的效果,将来在具体工作中值得推广和应用该软件。

6 结论及展望

综上所述,文章结合仪器调试台架硬件架构的特点,考虑具体工作的需要,设计前端机软件。在软件的具体设计工作中,运用的是模块化的设计方式;在具体的功能设计方面,主要实现了异步中断处理、本地人机交互、与上位机异步网络通讯等多种功能,这些功能的实现,不仅方便了对软件的操作,还有利于提高系统的工作效率,取得更好的效果。此外,该软件还提供了板卡驱动扩展接口,方便对系统的操作,也有利于功能的拓展和系统的完善。通过将该软件进行实际运用表明,该软件满足了微电阻率扫描、阵列感应、多极阵列声波等调试台架具体工作的需要,在实际运用具有良好的效果,今后在具体工作中应该进一步推广和应用该软件。

[1] 门百永,鞠晓东.基于嵌入式架构的阵列感应成像测井仪调试台架设计[J].科学技术与工程,2011(11),2450-2454

[2] 李俊.嵌入式Linux设备驱动程序开发详解[M].北京:人民邮电出版社,2008 、

[3]吴文河,鞠晓东.基于uClinux的测井仪器调试台架前端机软件设计[J].中国石油大学学报(自然科学版), 2011(3),63-67

[4] 刘峥嵘,张智超,许振山.嵌入式Linux应用开发详解[M].北京:机械工业出版社,2006

[5] 吴文河.基于NiosII的随钻声波测井仪器调试台架系统设计[J].测井技术,2013(3),306-309

Logging instrument of uClinux test bench front-end machine software design research based on

Shi Junli
(Henan Polytechnic Institute,473000)

This paper introduces front-end machine software design method for ogging instrument debugging bench based on uClinux system platform. The application shows that the software designed meet the needs of commissioning work,not only conducive to the development of these equipment,but also to improve maintenance efficiency.It is worthy of further promotion and application in debug logging equipment gantry.

uClinux;logging instrument;Debugging bench;software designe

猜你喜欢
驱动程序台架测井
本期广告索引
某电动车铝转向节台架失效分析及优化
发动机台架排放测试影响因素
可变进气歧管(VIS)切换点的台架标定方法研究
阻止Windows Update更新驱动程序
计算机硬件设备驱动程序分析
锥形齿PDC钻头台架试验研究
基于测井响应评价煤岩结构特征
随钻电阻率测井的固定探测深度合成方法
中石油首个全国测井行业标准发布