基于USB总线的嵌入式甲烷气体检测系统设计 |
|
|
数据以Matlab数组的格式存储。 三、测量系统单片机程序与温度校正模型 测量系统单片机程序主要完成甲烷气体浓度电压信号和温度电压信号的实时采集,温度校正、浓度和温度数值LCD显示,USB数据通信等测控任务,程序流程如图2所示。其中,USB数据通信采用USBXPRESS开发套件提供的基于Keil C51的API函数[4],利用这些函数可以快速高效地开发USB数据通信程序,实现USB 时钟初始化、USB初始化、USB使能,并通过USB中断方式实现数据通讯。 温度校正模型采用最小二乘数学模型[5]。在温度为时,甲烷气体浓度值C表示为传感器输出浓度电压的多项式函数。 多项式f、g分别为2次和3次多项式,多项式系数以数组的形式存储。多项式函数求值程序用循环实现,如图3所示,其中p为存储多项式系数的数组,n为多项式次数,x存储自变量,y存储多项式函数求值结果。 四、测量系统PC机程序结构 测量系统上位PC机程序主要实现USB数据通讯功能,并将数据以Matlab数组的格式存储为MAT数据文件。PC机程序与单片机程序配合,实现数据采集与存储功能。程序采用主从控制方式,以PC机为主机,单片机系统为从机。当两者通过USB接口连接时,PC机程序完成一系列动作,实现USB设备的识别及相关数据通信操作,并完成数据存储,程序流程如图4所示。其中初始化部分主要包括注册设备通知,更新USB设备列表,注册设备通知使得程序可以响应USB设备的热插拔动作。当有USB设备插入或弹出时,会引发设备改变事件。通过读取USB芯片的产品描述信息,识别USB设备。当有USB设备改变时,更新USB设备列表。完成一次USB数据读写任务,需要选择USB设备,打开USB设备、发送读写命令、读写数据、关闭USB设备等步骤。获得实验数据后,应用Matlab下的外部API函数[6]实现数据存储。 五、结论 1.设计了基于C8051F340单片机的甲烷气体检测系统,实现了气体浓度的测量。该系统可根据温度实时测量值,应用最小二乘法对气体浓度测量值进行温度校正。 2.应用C8051F340单片机集成的USB控制器,实现了USB接口及通信程序,简化了系统,可上一页 [1] [2] [3] 下一页 |
|
|
|
上一个论文: 浅谈几种常用的防火材料 下一个论文: DH-800轮辋对焊机闷焊与提高生产效率的研究 |
|