Atmel QTouch Library用户指南:电容式触摸解决方案的全面解析

电子说

1.4w人已加入

描述

Atmel QTouch Library用户指南:电容式触摸解决方案的全面解析

在当今的电子设备设计中,电容式触摸技术因其便捷性和直观性,已经成为了众多产品的标配。Atmel QTouch Library为开发者提供了一套强大的软件库,用于在标准AVR和SAM微控制器上开发触摸应用。本文将深入探讨Atmel QTouch Library的各个方面,帮助电子工程师更好地理解和应用这一技术。

文件下载:ATAVRTS2080A.pdf

一、概述

Atmel QTouch Library是一个免版税的软件库,支持GCC和IAR编译器工具链。它可以帮助开发者在AVR和SAM微控制器上实现触摸感应功能,可用于开发具有触摸感应能力的单芯片解决方案,或者与其他主机或控制设备接口的独立触摸感应解决方案。

二、关键特性

2.1 技术支持

  • 电容式触摸感应:采用专利的电荷转移信号采集技术,实现强大的感应能力。
  • 广泛的设备支持:支持多种8位和32位AVR微控制器,以及32位ARM微控制器,还支持具有2K字节闪存的8位tiny AVR。
  • 多种采集方法:支持QTouch和QMatrix采集方法,以及UC3L的自主触摸功能。
  • 丰富的触摸功能:提供灵活的触摸感应功能选择,包括按键、滑块和滚轮等多种组合。
  • AKS技术:包含相邻键抑制(AKS)技术,可明确检测按键事件。

2.2 特性对比

不同类型的QTouch库在技术、支持的功能和参数上存在差异。例如,通用库和特定设备库在转子/滑块支持、滤波器回调、库状态标志等方面有所不同。具体对比可参考文档中的表格。

三、采集方法

3.1 QTouch采集方法

QTouch采集方法通过将未知电容的电极充电到已知电位,然后将电荷转移到测量电容(Cs)中。当手指触摸表面时,会引入外部电容,减少达到特定电压所需的电荷转移周期数。该方法具有高信噪比、良好的低功耗性能和简单的传感器布局等优点。

3.2 QMatrix采集方法

QMatrix设备通过扫描电极集的无源矩阵来检测触摸。每个通道使用一对感应电极,一个发射电极和一个接收电极。当手指触摸面板时,电场耦合发生变化,从而检测到触摸。QMatrix电路具有良好的防潮性、极端温度稳定性、出色的低功耗特性和小尺寸IC封装等优点。

四、配置参数

4.1 全局设置

  • 重新校准阈值:定义自动重新校准的触发水平,以检测阈值的百分比表示。
  • 检测积分:用于确认检测结果,抑制由电气噪声等杂散事件引起的误检测。
  • 漂移保持时间:限制在一个或多个传感器激活时所有传感器的漂移。
  • 最大导通时间:监测触摸检测的持续时间,超过设定时间则自动重新校准传感器。
  • 正负漂移:用于补偿传感器物理特性随时间和温度的变化。
  • 正重新校准延迟:当传感器信号大幅下降且持续超过设定时间时,进行自动重新校准。

4.2 传感器特定设置

  • 检测阈值:定义传感器信号必须低于参考水平的程度,以确定是否检测到触摸。
  • 滞后:以检测阈值的百分比表示,用于避免传感器在检测阈值附近抖动。
  • 位置分辨率:用于设置转子或滑块的位置分辨率。
  • 位置滞后:在QMatrix中,用于设置转子或滑块的位置滞后。

五、API使用

5.1 类型定义和枚举

库中定义了多种类型和枚举,如传感器类型、AKS组、通道号等,方便开发者进行传感器配置和状态判断。

5.2 数据结构

包含多个数据结构,用于存储传感器状态、设置和诊断信息,如qt_touch_status_tqt_touch_lib_config_data_t等。

5.3 公共函数

提供了一系列公共函数,用于初始化、配置和操作传感器,如qt_set_parametersqt_enable_keyqt_measure_sensors等。

六、设备特定库

6.1 AT32UC3L设备

支持QMatrix和QTouch方法采集,具有多种特性,如支持1 - 136个触摸通道、可独立配置QTouch组A和B、支持自主QTouch传感器等。还提供了详细的API和状态机,方便开发者进行传感器配置和操作。

6.2 ATtiny20和ATtiny40设备

支持QTouch方法采集,可配置1 - 5个触摸按钮(ATtiny20)或1 - 12个触摸按钮(ATtiny40),并可配置传感器阈值、滞后和全局采集参数等。

七、集成与使用

7.1 目录结构

QTouch库的目录结构清晰,包含头文件、配置文件、汇编例程和库文件等,方便开发者进行集成。

7.2 集成步骤

  • 选择库变体:根据设备、采集方法、通道数量、转子/滑块支持等要求选择合适的库变体。
  • 定义常量和符号:在主机应用文件中定义必要的常量和符号,如_QTOUCH_QT_NUM_CHANNELS等。
  • 使用API添加触摸功能:创建、初始化和配置传感器,设置通道配置参数,调用qt_init_sensing触发传感器初始化,提供QTouch库操作的时间。
  • 添加源文件:根据设备类型添加必要的源文件,如touch_api.hqt_asm_avr.h等。

7.3 示例项目

库中提供了多个示例项目,涵盖不同设备和配置,方便开发者参考和使用。开发者可以根据需要选择合适的配置,修改库配置参数,并使用示例项目作为基础进行开发。

八、总结

Atmel QTouch Library为电子工程师提供了一个强大而灵活的解决方案,用于在AVR和SAM微控制器上实现电容式触摸感应功能。通过深入理解库的特性、采集方法、配置参数和API使用,开发者可以更好地利用这一技术,开发出高质量的触摸应用。在实际应用中,开发者还需要注意一些细节,如中断处理、堆栈大小调整等,以确保系统的稳定性和性能。

希望本文能为电子工程师在使用Atmel QTouch Library时提供帮助,如果你在使用过程中遇到任何问题,欢迎在评论区留言讨论。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分