随着手机、PDA等便携式电子产品的普及,人们需要更小的产品尺寸和更大的LCD显示屏。受到整机重量和机械设计的限制,人机输入接口开始由传统的机械按键向电阻式触摸屏过渡。2007年iPhone面世并取得了巨大成功,它采用的电容式触摸屏提供了更高的透光性和新颖的多点触摸功能,开始成为便携式产品的新热点,并显现出成为主流输入接口方式的趋势。
Cypress PSoC 技术将可编程模拟 / 数字资源集成在单颗芯片上,为感应电容式触摸屏提供了TrueTouch™解决方案,它涵盖了从单点触摸、多点触摸识别手势到多点触摸识别位置的全部领域。配合高效灵活的PSoC Designer 5.0 开发环境,Cypress TrueTouch™方案正在业界获得广泛的应用。
图1是Cypress TrueTouch™方案中经常使用的轴坐标式感应单元矩阵的图形,类似于触摸板,将独立的ITO 感应单元串联在一起可以组成Y 轴或X 轴的一个感应单元,行感应单元组成Y 轴,列感应单元组成X 轴,行和列在分开的不同层上。多点触摸识别位置方法是基于互电容的触摸检测方法(行单元上加驱动激励信号,列单元上进行感应,有别于激励和感应的是同一感应单元的自电容方式),可以应用于任何触摸手势的检测,包括识别双手的10 个手指同时触摸的位置(图2)。它通过互电容检测的方式可以完全消除“鬼点”,当有多个触摸点时,仅当某个触摸点所在的行感应单元被驱动,列感应单元被检测时,才会有电容变化检测值,这样就可以检测出多个行 / 列交*处触摸点的绝对位置。
图1 轴坐标式感应单元矩阵的图形
图2 Cypress TrueTouch 多点触摸识别位置
方案同时显示了5 个手指触摸点的位置。
图3显示了Cypress TrueTouch™方案的不同应用领域,包括触摸按键,图像的两手指手势操作,以及同时识别多点触摸位置和控制多个目标。
图3 Cypress TrueTouch™ 电容触摸屏方案
二、Cypress TrueTouch™电容触摸屏的通讯接口
Cypress TrueTouch™电容触摸屏主要通过TX /I2C/SPI/USB与主机实现物理通信,TrueTouch™芯片可以直接报告一些基本手势(如两点触摸的平移 / 缩放 / 旋转),也可以提供专用的API 给用户,用户端获得多点坐标后通过API 运算识别更多的或者自定义的手势。API 使用标准C 语言编写,可以运行在51 / ARM 等多个平台,这大大简化了用户端软件开发的工作量。
1. TX 通信接口
Cypress Designer 5.0 提供了TX8SW用户模块,可以实现7 / 8位RS-232格式的软件串行接口,支持115200,57600,38400,19200,9600,4800,2400,and 1200 bps的传输速度。用户可以在代码中设定相应的I/O口,波特率,极性和停止位数。TX8SW接口不占用PSoC的数字 / 模拟模块资源,提供了从PSoC到主机的单向通信连接。
2. I2C 通信接口
Cypress Designer 5.0 提供了多个I2C通信的用户模块,包括I2CHW(允许多主机通信,可以设定为主机或从机,支持7位/10位寻址模式),EzI2Cs(工作为从机模式,占用ROM/RAM资源最少),I2Cm(工作为主机模式)和I2Cs(工作为从机模式)。这几种I2C模块都与Philips的工业标准I2C总线接口兼容,而且不占用PSoC的数字 / 模拟模块资源,提供了从PSoC到主机的100 kbps / 400 kbps速率双向通信连接。
PSoC 与主机I2C 通信时,通常是对所有的行 / 列感应单元触摸检测完成后,通过一个GPIO 报告中断给主机,主机响应中断并读出所需的数据。以下方法可以确保主机读出数据的完整性:
While(1) {
TSX_ScanAllSensors(); // TSX 是Cypress 互电容检测方式用户模块
TSX_UpdateAllBaselines(); // 更新感应单元Baseline
TSX_GetCentroids(); // 获得多点的位置
TSX_ReportINTwithOvertime(); // 向主机报告中断,有超时控制
// 检测EzI2Cs 用户模块的RAM 读/写计数器,等待直到主机读出全部数据
while (EzI2Cs_bRAM_RWcntr != sizeof(I2Cregs)) {};
…; // 运行其它用户代码
}
主机对I2C Structure 特定字节写入预定义数据后,可以通知PSoC 进入待机模式(定期工作模式 + 定期休眠模式)或 完全休眠模式。PSoC 在待机模式下主机可以进入休眠,PSoC 通过Sleep Timer 定期唤醒自己进入定期工作模式,检测部分感应单元(如仅扫描行单元)来获知是否有用户激活事件。如果有激活事件就通过中断唤醒主机并进入PSoC工作模式;没有就再次休眠并定期唤醒自己以降低功耗,实际的电流功耗是工作模式和休眠模式以时间加权的平均值,例如:一秒内唤醒PSoC 4 次进入工作模式检测,每次检测16ms@3.2mA,其它时间进入休眠模式@3uA,实际的电流功耗 = (16ms * 4 * 3.2mA + (1000ms – 16ms * 4) * 3uA ) / 1000ms ~= 0.208 mA。
PSoC Sleep mode 下将关闭Analog / Digital UM,使所有GPIO 不形成电流通路,使能I2C 通信引脚的外部中断唤醒,然后进入Sleep mode,主机随后可以调用一次I2C 读或写事件来唤醒PSoC。
随着手机、PDA等便携式电子产品的普及,人们需要更小的产品尺寸和更大的LCD显示屏。受到整机重量和机械设计的限制,人机输入接口开始由传统的机械按键向电阻式触摸屏过渡。2007年iPhone面世并取得了巨大成功,它采用的电容式触摸屏提供了更高的透光性和新颖的多点触摸功能,开始成为便携式产品的新热点,并显现出成为主流输入接口方式的趋势。
一、 Cypress TrueTouch™电容触摸屏方案介绍
Cypress PSoC 技术将可编程模拟 / 数字资源集成在单颗芯片上,为感应电容式触摸屏提供了TrueTouch™解决方案,它涵盖了从单点触摸、多点触摸识别手势到多点触摸识别位置的全部领域。配合高效灵活的PSoC Designer 5.0 开发环境,Cypress TrueTouch™方案正在业界获得广泛的应用。
图1是Cypress TrueTouch™方案中经常使用的轴坐标式感应单元矩阵的图形,类似于触摸板,将独立的ITO 感应单元串联在一起可以组成Y 轴或X 轴的一个感应单元,行感应单元组成Y 轴,列感应单元组成X 轴,行和列在分开的不同层上。多点触摸识别位置方法是基于互电容的触摸检测方法(行单元上加驱动激励信号,列单元上进行感应,有别于激励和感应的是同一感应单元的自电容方式),可以应用于任何触摸手势的检测,包括识别双手的10 个手指同时触摸的位置(图2)。它通过互电容检测的方式可以完全消除“鬼点”,当有多个触摸点时,仅当某个触摸点所在的行感应单元被驱动,列感应单元被检测时,才会有电容变化检测值,这样就可以检测出多个行 / 列交*处触摸点的绝对位置。
图1 轴坐标式感应单元矩阵的图形
图2 Cypress TrueTouch 多点触摸识别位置
方案同时显示了5 个手指触摸点的位置。
图3显示了Cypress TrueTouch™方案的不同应用领域,包括触摸按键,图像的两手指手势操作,以及同时识别多点触摸位置和控制多个目标。
图3 Cypress TrueTouch™ 电容触摸屏方案
二、Cypress TrueTouch™电容触摸屏的通讯接口
Cypress TrueTouch™电容触摸屏主要通过TX / I2C / SPI / USB 与主机实现物理通信,TrueTouch™芯片可以直接报告一些基本手势(如两点触摸的平移 / 缩放 / 旋转),也可以提供专用的API 给用户,用户端获得多点坐标后通过API 运算识别更多的或者自定义的手势。API 使用标准C 语言编写,可以运行在51 / ARM 等多个平台,这大大简化了用户端软件开发的工作量。
1. TX 通信接口
Cypress Designer 5.0 提供了TX8SW用户模块,可以实现7 / 8位RS-232格式的软件串行接口,支持115200,57600,38400,19200,9600,4800,2400,and 1200 bps的传输速度。用户可以在代码中设定相应的I/O口,波特率,极性和停止位数。TX8SW接口不占用PSoC的数字 / 模拟模块资源,提供了从PSoC到主机的单向通信连接。
2. I2C 通信接口
Cypress Designer 5.0 提供了多个I2C通信的用户模块,包括I2CHW(允许多主机通信,可以设定为主机或从机,支持7位/10位寻址模式),EzI2Cs(工作为从机模式,占用ROM/RAM资源最少),I2Cm(工作为主机模式)和I2Cs(工作为从机模式)。这几种I2C模块都与Philips的工业标准I2C总线接口兼容,而且不占用PSoC的数字 / 模拟模块资源,提供了从PSoC到主机的100 kbps / 400 kbps速率双向通信连接。
PSoC 与主机I2C 通信时,通常是对所有的行 / 列感应单元触摸检测完成后,通过一个GPIO 报告中断给主机,主机响应中断并读出所需的数据。以下方法可以确保主机读出数据的完整性:
While(1) {
TSX_ScanAllSensors(); // TSX 是Cypress 互电容检测方式用户模块
TSX_UpdateAllBaselines(); // 更新感应单元Baseline
TSX_GetCentroids(); // 获得多点的位置
TSX_ReportINTwithOvertime(); // 向主机报告中断,有超时控制
// 检测EzI2Cs 用户模块的RAM 读/写计数器,等待直到主机读出全部数据
while (EzI2Cs_bRAM_RWcntr != sizeof(I2Cregs)) {};
…; // 运行其它用户代码
}
主机对I2C Structure 特定字节写入预定义数据后,可以通知PSoC 进入待机模式(定期工作模式 + 定期休眠模式)或 完全休眠模式。PSoC 在待机模式下主机可以进入休眠,PSoC 通过Sleep Timer 定期唤醒自己进入定期工作模式,检测部分感应单元(如仅扫描行单元)来获知是否有用户激活事件。如果有激活事件就通过中断唤醒主机并进入PSoC工作模式;没有就再次休眠并定期唤醒自己以降低功耗,实际的电流功耗是工作模式和休眠模式以时间加权的平均值,例如:一秒内唤醒PSoC 4 次进入工作模式检测,每次检测16ms@3.2mA,其它时间进入休眠模式@3uA,实际的电流功耗 = (16ms * 4 * 3.2mA + (1000ms – 16ms * 4) * 3uA ) / 1000ms ~= 0.208 mA。
PSoC Sleep mode 下将关闭Analog / Digital UM,使所有GPIO 不形成电流通路,使能I2C 通信引脚的外部中断唤醒,然后进入Sleep mode,主机随后可以调用一次I2C 读或写事件来唤醒PSoC。
3. SPI 通信接口
Cypress Designer 5.0 提供了SPIM(设定为主机模式),和SPIS(设定为从机模式) UM。它们使用Tx Buffer / Rx Buffer,Control / Shift寄存器和Digital通信模块,实现了8bit全双工同步通讯。用户可以选择SCLK(由SPI主机产生来设定通信bps)频率和极性,LSB First等属性以支持SPI mode 0,1,2和3(见表1)。
表1 SPI 模式选择
4. USB 通信接口
Cypress Designer 5.0 提供了USBUART(使用USB接口来模拟一个COM口),和USBFS UM。
USBUART使用时在PSoC端和PC端就像使用串行口一样方便,用户在设定VendorID /ProductID / VendorString / ProductString / SerialNumberType /SerialNumberString / DevicePower / MaxPower这些参数后,编译项目就可以自动生成INF文件。当PSoC与PC连接后,PC安装这个INF文件,双方就可以进行双向通信。
USBFS支持Control / Interrupt / Bulk / Isochronous 传输,提供了USB IN / OUT控制节点的底层驱动模式,解释来自USB Host的请求并分配给相应的函数。通过USBFS Setup Wizard可以很方便的配置器件描述符,用户还可以将USB配置成HID(Human Interface Devices)器件或通用USB器件。
USBUART和USBFS接口都不占用PSoC的数字 / 模拟模块资源,提供了从PSoC到主机的USBFull Speed双向连接。
三、Cypress TrueTouch™电容触摸屏不同通讯接口的选择
选用Cypress TrueTouch™触摸屏解决方案时,可以根据具体应用的需要灵活选择通讯接口(见表2)。
表2
电容式触摸屏的优点正在被广泛认可,其增强的耐用性、优雅的人机界面带给消费者全新的操作体验。随着电容式触摸屏市场的逐渐扩大,灵活的通讯接口选择将有助于Cypress TrueTouch™电容触摸屏方案更好的为用户服务。