新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于ARM的油田单井油罐太阳能加温控制器的研制

基于ARM的油田单井油罐太阳能加温控制器的研制

作者:时间:2012-12-29来源:网络收藏

  2.2 存储器接口硬件设计

  S3C2410A在片内具有独立的SDRAM刷新控制逻辑,可方便地与SDRAM接口。油田油罐终端采用了2片16位数据宽度的HY57V561620芯片并联构建成32位的SDRAM存储器系统,共有64 MB的SDRAM空间。S3C2410A处理器支持从NAND Flash启动,NAND Flash具有容量大、比NOR Flash价格低等特点。系统采用NAND Flash与SDRAM组合,可以获得非常高的性价比。该系统采用了一片型号为K9F1208UOM、容量为64 MB的NAND Flash芯片。NAND Flash中存放bootloader代码和WINCE操作系统的镜像文件。同时设置OM[1:0]=00,即处理器从NAND Flash启动。NAND Flash和处理器的接口框图如图3所示。

  2.3 液晶屏接口电路的设计

  S3C2410A自带 1个LCD控制器,支持STN和TFT带有触摸屏的液晶显示屏,本设计采用3.5英寸的TFT液晶屏。S3C2410A自带触摸接口电路,包括4个控制信号线(nYPON,YMON,nXPON,XMON)和模拟输入引脚AIN、AIN,分别控制X坐标和Y坐标的转换。

  2.4 温度采集卡的设计

  自行设计的温度采集卡实现了多路信号的采集、预处理及传送功能。系统的采集点为10路热敏电阻,热电阻采用RTC公司的负阻温度传感器,实现10路温度的循环采集。在电路的结构设计上,采用惠更斯电桥进行传感器电压信号的采集。为了提高测量精度,为电桥提供电压的芯片选用TI公司的精密电压源芯片REF102,其输出参考电压为10 V,电压的波动为±2.5 mV,输出精度远远大于常用的10 V线性稳压模块,输出电流为10 mA,满足输出功率的要求,温漂系数为2.5 ppm/℃,有效地减少了由于环境温度变化而引起的测量误差。温度电桥电路采用ADI公司提供的仪器放大器AD620.采用该放大器,由于其具有高输入阻抗,实现了采集电路和控制电路的阻抗隔离,提高了测量精度。经过运算放大器以后,其输出电压的变化范围为0 V~3.3 V,满足 AD模块对输入电压的要求(0 V~3.3 V),并且电压的大小也在AD620的线性工作区范围内。由于采集节点为10路(RT1-RT10),而自带8路10 bit ADC,其中AIN5、AIN7要用作触摸屏的输入,因此本系统设计采用TI公司提供的16路模拟开关MPC506进行循环采样。其模拟信号输入电压的范围是±15 V,功率耗散为7.5 mW,满足系统的设计要求。采集卡一路信号采集的电路图如图4所示。

  3 软件设计

  3.1 操作系统的移植

  太阳能的触摸屏采用3.5英寸的TFT液晶屏,将WINCE操作系统移植到处理器,基于WINCE开发用户界面,从而实现人机交互式控制与显示。信号处理平台采用ARM9核心的S3C2410处理器,因此,可以通过克隆SMDK2410的BSP来完成大部分的OAL层的移植工作。此外,还需要移植显示驱动程序、触摸屏驱动程序、GPIO驱动程序以及A/D采集驱动程序。在WINCE中,显示驱动程序、触摸屏驱动程序属于分层驱动程序。移植相关示例驱动程序的代码时,只需要对PDD层的代码进行修改。A/D采集驱动程序和GPIO驱动程序采用标准流接口驱动的方式实现,即实现ADC_Init、ADC_Deinit、ADC_Open、ADC_Close、ADC_Read、ADC_Write、ADC_Seek、ADC_IOControl、ADC_Power-Up、ADC_PowerDown这几个流接口函数。

  3.2 应用程序的开发

  在WinCE下,应用程序开发是针对驱动和内核而言的。在WinCE下开发应用程序大致可分为3个步骤:(1)安装合适的SDK;(2)编写代码和调试;(3)发布应用程序。本设计选择采用Visual Studio 2008开发工具,应用程序采用MFC编程接口,用基于对话框的模型来开发。

  因为基于ARM的太阳能需要对10路热敏电阻进行实时循环的采集,同时还需要通过触摸屏设置系统的工作参数,显示系统故障、事故报警、系统运行状态等信息;ARM控制器根据采集到的温度值和设置的工作参数对执行机构做出判断。因此,应用程序中使用了多线程方式来保证程序的实时、高效运行。在窗体主线程中建立了3个子线程:ADC采集子线程、触摸屏设置显示子线程和系统控制子线程。系统控制程序流程如图5所示。



评论


相关推荐

技术专区

关闭