新闻中心

EEPW首页 > 测试测量 > 设计应用 > 基于S3C2410的氢气浓度监测系统设计

基于S3C2410的氢气浓度监测系统设计

作者: 时间:2010-06-25 来源:网络 收藏

Linux内核中,每个设备驱动程序都对应一个file_operations数据结构。在file_operations数据结构中,定义了一些与此设备相关的打开、关闭、读/写、控制等功能函数,当用户进行系统调用时,将自动使用驱动程序中特定的函数来实现具体的操作。实际上,编写设备驱动程序的过程也就是实现struct file_operations结构中的部分所需函数的过程。
3.2 应用程序设计
有了设备驱动程序提供底层硬件与应用程序的接口,Linux系统访问底层设备就像访问普通文件一样。例如,打开设备使用系统调用open(),关闭设备使用系统调用close(),读/写设备使用系统调用read()和write()等。应用程序流程如图4所示。首先系统上电复位,程序初始化,然后扫描键盘值,看是否有键值按下。若有,则进行按键处理并按输入步骤设置程序;若无,则开中断并启动A/D转换,等待转换完成产生中断,进入中断服务程序。中断服务程序流程如图5所示。首先关闭中断,读取A/D采集数据,调用适用于缓变信号的中值滤波算法处理转换结果,将连续采样的5次采样值按大小排序,取中间值为本次有效值。然后,存储处理后的数据并送显示器显示。最后,从中断返回到主程序中,再判断当前数据是否超过设定的临界值。若大于临界值,作报警处理;否则就开中断,等待下一次转换结束。依此循环处理。

本文引用地址:https://www.eepw.com.cn/article/195385.htm

4 实验
在容积约70 m3的密闭实验室中,利用化学制氢法制取约40 ml,再用该系统来检测环境中浓度值,实验界面如图6所示。在界面中,显示了当前时间、当前环境浓度值、超限与否提示、当前通道以及1 h内的浓度变化曲线。系统的准确度、灵敏度、实时性等各项指标基本达到设计要求。

结语
本文介绍了信号的前端调理电路,为微处理器移植了嵌入式Linux操作系统,并在该系统下完成了设备驱动程序和应用程序的设计;利用软件算法对A/D转换后的信号进行了数值处理,最后介绍了图形用户界面,可动态显示当前浓度值。该系统较好地满足了对现场环境中氢气浓度的实时动态要求,系统体积小,功耗低,成本低;还可根据需求灵活配置,适合便携式移动应用的场合,且具有良好的准确性、实时性和稳定性。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭