当目标是减少数据采集期间的触控板功耗时,有几大因素将影响设计决策。如果使用电容网络降低噪声,那么可透过增加面板关闭时间相对于面板打开时间的比例来实现更低的系统功耗。虽然更低电阻的面板在启动期间确实会消耗更多电流,但更低电阻的面板所需的设立时间也较短。
在典型的触控式屏幕应用中,用户需要精确的X、Y和Z坐标数据。精确的坐标数据需要每秒100到200个数据组。不过触控式屏幕控制器通常执行更高的采样率。例如,若触控式屏幕控制器的采样率是100ksps,那么触控式屏幕控制器最多每秒可采样5万个X/Y坐标组。
触控系统的数字接口
触控式屏幕控制器到主处理器的接口由一条串行数字总线(SPI或I2C)和一根中断讯号线组成。主处理器的外围配置通常决定了串行接口协议。如果主处理器具有I2C接口,系统具有多个I2C设备,那么你也可以选择I2C协议实现与触控式屏幕控制器的通讯。I2C使用的总线线数比较少,当有多个I2C设备共享主机I2C接口时,将具有更高的灵活性。
另一种串行接口是SPI。SPI协议的数据读写速度通常较I2C接口快。你的系统可能有未使用的SPI埠和频宽受限的I2C埠。在这种情况下,接口协议的最佳选择是SPI。
图5显示了在不同I2C接口速度下的功耗。从图5来看,大家可能会猜测降低数字接口速度意味着降低整体功耗。然而,更长的接口传输时间会让总线增加额外的装载时间。用400kHz总线速度发送数据所需的时间是100kHz总线速度的25%,用3.4MHz总线速度发送数据的时间仅是100kHz时的2.94%。因此,触控式屏幕系统的总线频率越高,平均功耗就越小。

图5:该图显示了在不同供电电压和I2C总线速度下提供电流的三个触控式屏幕控制器。
透过触控式屏幕控制器和主处理器之间的简单接口,可以立即将坐标数据发送给主处理器。触控式屏幕控制器利用这类接口检测面板中发生的事件,并向主处理器发送中断。在收到中断后,主处理器向触控式屏幕控制器发送通电命令,然后采样触压位置,将讯号转换为数字讯号,然后立即发送数据给主处理器。主处理器对这一过程进行控制。在这种环境中,主处理器可能需要多个采样值,以便用数字处理技术减少面板数据中的噪声。
触控式屏幕控制器还提供简单的数字滤波功能,可有效减少通过触控式屏幕控制器/主接口的转换数据封包数量。采用这种策略的触控式屏幕控制器将检测面板上的压力,采集每个坐标的多个样值,预处理坐标数据,然后将一组最终的坐标方案发给主处理器。这种方案显著减轻了主处理器原本需要执行的任务。
在数据发送之前,触控式屏幕控制器和主处理器之间很少通讯。虽然电阻/触控式屏幕网络的上升时间会引起模拟系统稳定性的延迟,但其它噪声源对转换精密度有更大的影响。为了减少这些噪声源,可能需要对多个样值进行平衡处理。
图6所示的结构图(正在申请专利)针对触控板数据组使用了三种简单但有效的滤波算法。

图6:你可以从一组触控式屏幕数据值中获得中间值(b)或平均值(a)。如果整合这两种运算,你可以舍弃数据组中的高值和低值(c),然后对中间数据进行平均。
在所有情况下,你首先必须将来自面板的数据降序排列。第二个可行的策略是根据资料组计算出中间值(图6b),并舍弃多余资料。可以对数据组稍微再做些处理,对数据组取平均值,并将结果发送给处理器(图6a)。另外一种方法是舍弃数据组中的大值和小值,然后对余下的值取平均值(图6c)。其它去弹跳算法还包括投票算法(voting),以及采用处理器实现的FIR滤波器。
预先过滤触控式屏幕数据
若想透过滤波减少ADC数据中的噪声,可以用主处理器软件达到这一目的。另一种方案是使用触控式屏幕控制器进行数据滤波。如果将滤波功能从主处理器移到触控式屏幕控制器上,将可大幅减少数据总线上的流量。这种改变可以降低数字接口的功率。
例如,一个I2C接口的写入周期需要18个I2C频率周期,一个读取周期则需要27个I2C频率周期。在例A中(表1),如果触控式屏幕控制器采集了7个12位样值,并把这些样值送给处理器,那么触控式屏幕控制器便需要7次读写。

表1:对两个范例系统中I2C频率总数和发送时间的比较。 |