一、触摸屏PDA的设计
目前市场上的触摸屏主要有电阻式、电容式和红外式等几种。由于电阻式触摸屏能够承受恶劣的环境因素的干扰以及其表面经硬度、减少擦伤、刮伤及防化学处理,因此选用电阻式触摸屏作为本系统的人机交互的媒介。电阻式触摸屏的工作部分一般由三部分组成:两层透明的阻性导体层、两层导体之间的隔离层和电极。
触摸屏工作时,上下导体层相当于电阻网络。当某一层电极加上电压时,会在该网络上形成电压梯度。如有外力使得上下两层在某一点接触,则在电极未加电压的另一层可以测得接触点处的电压,从而知道接触点处的坐标。
比如,在顶层的电极(X+,X-)上加上电压,则在顶层导体层上形成电压梯度,当有外力使得上下两层在某一点接触,在底层就可以测得接触点处的电压,再根据该电压与电极(X+)之间的距离关系,知道该处的X坐标。然后,将电压切换到底层电极(Y+,Y-)上,并在顶层测量接触点处的电压,从而知道Y坐标。
为了实现这种快速的电压转换及其数据的采集,选用BB(Burr Brown)公司为掌上电脑生产的4线电阻式触摸屏专用的接口芯片ADS7843,因其内部结构很容易实现电极电压的切换,并能进行快速A/D转换,具有低功耗、高速率等特性,因此被广泛应用在各种嵌入式设备中。这是一个内置12位模数转换、低导通电阻模拟开关的串行接口芯片。供电电压217~5V,参考电压VREF为1V~+VCC,转换电压的输入范围为0~VREF,最高转换速率为125kHz。
触摸屏提供触摸屏电压。DIN为串行输入,其控制数据通过该引脚输入;DOUT为串行数据输出,用于输出转换后的触摸位置数据。
采用挪威NORDIC公司最新推出的单片无线收发一体芯片NRF401实现与上位机实现较远距离的准确的无线通讯。该芯片功耗极低,工作频率稳定可靠,外围元件少。
应当注意的是单片机和NRF401应该分别制板,NRF401板要在上下板尽量多铺铜。在本文中为了表达方便将二者连在一起。去耦电容应该分别放置在各电源输入端。打印机为可选的装置,通过I2C扩展的虚拟总线来通讯。ADS7843将采集的数据经过89C2051单片机的处理发送给无线收发芯片NRF401,然后通过内置天线将数据以射频信号传送到控制房中的ARM主机。
二、上位机的设计
上位机采用ARM公司授权的RISC 32位CPU处理器。ARM是英国全球著名的32位嵌入式RISC芯片内核的设计公司,也是ARM的产品商标,其产品ARM嵌入式内核已被全球各大芯片厂商采用,基于ARM的开发技术席卷了全球嵌入式市场,已成为嵌入式系统主流技术之一。选用三星公司生产的S3C2410,由于其强大简单的接口功能,可以省去价格不菲的扩展板,一块ARM芯片也只要几十到百元左右,所以大大降低了成本。S3C2410处理器是Samsung公司基于ARM公司的ARM 920T处理器核,采用0118Lm制造工艺的32位微控制器。该处理器拥有:独立的16kB指令Cache和16kB数据Cache,MMU,支持TFT的LCD控制器,NAND闪存控制器,3路UART,4路DMA,4路带PWM的Timer,I/O口,RTC,8路10位ADC,Touch Screen接口,I2CBus接口,I2SBus接口,2个USB主机,1个USB设备,SD主机和MMC接口,2路SPI。S3C2410处理器最高可运行在203MHz。通过移植Windows CE操作系统进行上位机程序设计。
三、程序设计
(一)下位机PDA的程序设计
当有触摸信号时,A/D的PENIRQ管脚产生低电平开始,单片机通过P112管脚先发送8位控制字到A/D的串行输入DIN,然后A/D进行相应的坐标转换,同时其BUSY管脚电平变高,转换完毕后,BUSY管脚电平变低,当单片机检测到“忙”信号由高变低后,从A/D的串行输出口DOUT读取12位的转换数值。若转换周期结束,又有触摸中断请求信号,则继续进行转换,若没有触摸中断请求信号,则A/D转换器进入低功耗模式,等待中断请求信号,单片机在接收到中断请求信号准备响应后,先置输出P111为低电平,即CS=0,启动A/D转换。无线通讯模块主要通过外部中断,将请求信号发送到上位机,同时接受上位机发出的响应信号后,开始将数据发送到上位机。
(二)上位机程序设计
1.无线通讯程序
考虑到ARM芯片很容易实现实时性操作系统的移植,当多机通讯时可以采用移植WindowsCE操作系统。上位机采用扫描方式来查询下位机有无请求信号发出,当接收到请求信号,便向下位机发出确认响应。然后将下位机发送来的信息存储起来。通过内部定时器产生中断后,开始执行加油程序。
2.加油程序
加油程序主要实现加油量信号的采集、各个管路电磁阀和电泵的开关控制、数据记录、打印报表等功能。由于加油现场存在着一定的干扰,要通过程序不断修正加油量,尽量降低加油的误差。