触摸屏作为人机界面应用于气相色谱仪控制系统,在彩色 LCD 的配合下可实现可视化控制。本系统是基于 S3C44B0 嵌入式开发平台,但是此处理器无 SPI 总线接口寄存器,只能通过软件模拟 SPI,实现与 ADS7846 通信。文中给出了触摸屏数据采集的流程和用 C 语言实现的模拟 SPI 通信程序。
1 引言
气相色谱仪是应用面极广,数量较大的分析仪器中重要的一大类科学仪器。在石油、天然气、精细化工、冶金、电力、医学、卫生、粮油、食品、环保、气体、技术监督和国防科研等领域中,几乎成为现代分析化学实验室所需的分析仪器之一。随着气相色谱仪的普及,客户对系统的要求逐步提高,不仅要求其有良好的运转性能,而且需要实时、直观地显示工作状态,要求操作人员根据实际情况方便地调整系统的工作参数,数据的采集、分析、判断、参数显示。为此,我们设计开发了可视化的控制系统,能够可视化地显示系统状态、提供完全图形化的操作方法,而且成本较低。
2 气相色谱仪原理及系统结构
色相色谱仪技术的基本原理是(如图 1):当气 体样品通过一定的进样方式送入色谱系统后,样品中混合物的各组分在流动相(载气)的带动下,通过称为色谱柱的固定相,利用各组分在流动相中具有不同的吸附能力,当二相作相对运动时,样品中各组分就会在二相中反复多次(103~106)受到上述各种作用 力的作用,从而使混合物中各组分获得分离,被分离后的单一组分随载气进入检测器的系统,获得非电量转换,将化学成分转变成与其浓度成正比的电信号,然后通过这些电信号的不同来分析样品成分。
如图1 所示,该气相色谱仪的控制系统主要由嵌 入式控制系统(MCU)、一个温度检测器、一个载气流量检测控制器和一个样品流量检测控制、再加一个高阻抗放大器(带光电隔离器)组成,其主要特点是 MCU 外接了带触摸屏的彩色 LCD作为人机界面。本系统的工作原理是首先通过触摸屏上不同的触点使 MCU 分别向载气和样品流量控制器发送参数设定指令,为了达到可靠性,此命令通过 RS485 串口总线发送;启动这个检测系统后,可以通过触摸屏实时的发送查询各检测器状态的指令,当温度检测器,流量检测控制器收到指令后,符合自己的,则把自己的状态信息也通过 RS485 串口总线发送到 MCU,MCU收到数据后在彩色 LCD 显示相应的信息,如温度曲线、流量曲线等;色谱仪的检测器把检测到的信息通过高阻抗放大器变化以后把检测到的结果显示在 LCD 上,直观的查看样品的成分。同时,MCU 通过以太网把收到的数据传到 PC 机上,做备份;PC 终端也可通过 MCU 对系统进行参数设定。为了协调 MCU 和各检测控制器的通信,我们自己制定了一套内部通信协议。整个系统都是按照 LCD 上的提示,通过触摸屏来控制的。
3 硬件实现
我们开发了 ARM7 开发板(处理器为 SAMSUNG 公司的 ARM7TDMI 内核的 S3C44B0,数据位宽是32 位,主频可达 66MHZ)作为中低端嵌入式系统的硬件平台。此处理器内建了 LCD 控制器(最大支持 256 色 STN,使用专用 DMA);2 个异步串口控制器(支持 IrDA1.0,16 字节的 FIFO);提供复合功能的 71 个通用I/O 端口,供我们外接其他设备。
本系统的触摸屏采用了 AMD 公司的电阻式触摸屏 AMT 9502 型,该电阻触摸屏的屏体部分是一块与显示器表面非常配合的多层复合薄膜,由一层有机玻璃作为基层,表面涂有一层透明的导电层,上面再盖有一层外表面硬化处理、光滑防刮的塑料层,它的内表面涂有一层透明导电层,在两层导电层之间有许多细小(小于 1/1000 英寸)的透明隔离点把它们隔开绝缘。当笔触摸屏幕时,两层导电层在触摸点位置就有了接触,电阻发生变化,在 X 和 Y 两个方向上产生信号,然后送触摸屏控制器,计算出(X,Y)的位置。
触摸屏控制芯片采用的是 TI 公司的模数转换芯片 ADS7846,此芯片是一种典型的 12 位取样的逐步近似寄存器(SAR)A/D 转换器。除了基本的触摸点位置的测量外,还可进行触摸压力的测量。芯片内部提供的 2.5v 参考电压可用于辅助输入,电池监控器和温度测量。其自动节电功能可进而保证很低的功率损耗,对于低功耗的嵌入式系统电路非常适合。本文只应用其作为触摸屏控制器的基本功能。
ADS7846 经过 A/D 把坐标值传给 MCU,MCU 经过处理后在 LCD 上显示相应的信息或通过RS485 发出相应的指令;ADS7846 同时能接收 MCU 发来的命令并加以执行。ADS7846 和外部进行数据交换是使用 SPI 总线,而 S3C44B0 没有 SPI 总线接口,所以只能采用通用 I/O 口软件模拟 SPI,详细硬件接线如图 2。

4 软件实现
为了获得一个坐标值,ADS7846 与 MCU 之间需经过 3 个 SPI 的时钟传送(见图 4)。第一次从 DIN 向 ADS7846 发送测量命令字(见表 1,设置见表 2)。当 ADS7846 接收到命令字的前五位后,A/D 转换器进入采样阶段。控制字节输入完毕后,等待 BUSY 为低后,在每个 DCLK的下降沿,A/D 转换的坐标值从高位到低位逐位从 DOUT 引脚向 MCU 输出。12 位的 A/D 转换结果数据在第 13 个 DCLK 时钟传送完毕。因此,有效数据是前 12 位,后面 4 位补0。




由于笔与触摸屏接触的压力大小、时间长短,会导致触点的抖动,这对于采集正确的触点位置值有一定的影响。本文采用两次采样的方法来消除触点的抖动,在程序中定义了一个计数器count,计算采样次数,当读取两次后跳出采样程序。得到两次坐标值分别为(fisrt.x,first.y)、(second.x,second.y),然后比较其差值,如果小于一定的值,则有效,并取其平均值;否则判为采样错误,重新采样。通过触摸屏和 LCD 的配合,此种方法取得了较好的实际效果,基本上消除了触点抖动的影响。
5 总结
本文所介绍的程序已经在 S3C44B0 平台上经过实际验证,并与彩色 LCD 相配合,可提供可视化的人机界面。本系统应用到了气相色谱仪工作站上,操作者可以直观的查看温度检测器、流量控制器的运行状况,同时可以实时地修改控制参数,系统稳定性良好。
2 气相色谱仪原理及系统结构 

