当前位置:首页 > 嵌入式 > 嵌入式硬件

触控应用在导航机、触控萤幕键盘、手机、Tablet平板电脑、笔电TouchPad、电子、电子书、MID行动上网装置处处可见。相对于以往PC/NB滑鼠的操控,手势(Gesture)更是当今触控应用上的主流操控模式,日后也可能应用在电视、视讯会议或上导入,成为新一代人机界面的互动模式。

手势是触控应用的操控关键

在触控萤幕上常看到的手势(Gesture),简单的说是以使用者的手指藉由点、按、拖曳或移动的各种先后姿势顺序,来定义各种不同操作行为。由于使用中不需透过校准就能得到精确的触控位置,也能做到多点触控的操作,并达到拖曳(drag)与手势(gesture)辨识的追踪与互动。目前支援手势辨识的作业系统/软体平台有: OS、Windows Phone 7、Palm webOS、Android、OSX (trackpad)、OSX ( )、Microsoft Windows 7、Wacom Bamboo、GestureWorks ()、Microsoft Surface等。

绝大多数触控系统支援的核心手势( Gesture)有点击(Tap)、双点击(Double Tap)、拖曳(Drag)、调小/缩小(Pinch)、拉开/放大(Spread)、按( )、弹指轻拂(Flick)、按住与点击( & Tag)、旋转(Rotate)与掌按(palm)等。

若进一步深究,手势又可分为主要使用功能群,如选择的(Tap)手势、开启档案时用双击(Doubel Tap)、以及代表变换模式的长按()手势;物件相关功能群,如按着与点击(Press & Tag)、旋转(Rotate);删除动作有拖曳(Drag)、画面比例调整则有调小/缩小(Pinch)、拉开/放大(Spread);复制动作则可用点击( Tap)手势,而捆绑功能则运用按着移动(Press & Tag)加上拖曳(Drag)的复合手势,物件移动上则是按(Press)加上按着移动(Press & Tag)两个手势的组合。

移动功能群的手势则有旋转(Rotate)、拖曳(Drag)、两指拖曳移动(2F-drag);调整画面大小的则有两指向中心移动的捏(Pinch)的手势代表缩小,两指从中心往外开的扩散(Spread)手势代表放大;卷动视窗画面的手势有弹指轻拂(Flick)、点击(Tap)、按(Press)、拖曳(Drag)、两指拖曳移动(2F-drag) 、双击(Double Tap);利用往返的手指拖曳(Drag),代表擦拭或擦掉画面的手势。

支援快速手势辨识可简化应用程式介面开发

在导入绝对座标的电容式触控萤幕/触控板系统下,触控板由单层或多层的样式化(patterned)的ITO导电玻璃层来形成行、列交错的感测单元(sensing element)矩阵;触控系统藉由藉由背景手势软体函式库的建立,当手指接触触控板或触控萤幕时,造成静电场的改变来进行侦测;并藉由计算压下手指点与点的座标位置,以及按下的时间与移动的方式下,计算出对映的手势。使用中不需透过校准就能得到精确的触控位置,也能做到多点触控的操作,并可以达到拖曳(drag)与手势(gesture)辨识的追踪与互动,侦测记录及分辨出单点与多点的触控行为。

升达Gesture手势产生器晶片,可在两点触控萤幕下,模拟出多点触控的效果;内建101种各种触控萤幕通用的操控手势与相关演算法,直接以硬体IC计算方式回馈算出手势ID码。其优点在于:1.降低CPU/MCU 负载loading,CPU/MCU不再需要时时记录各按下点的绝对座标,以及浪费太多时间做计算手势的动作。 2.以往使用者若划下错误的手势码,由于先前按下的点仍然被输入、侦测,形同CPU/MCU仍浪费了一大圈执行时间计算之后,才发觉出不正确的杂讯或不良的手势,占用了宝贵的CPU/MCU计算资源;若以硬体解码方式,则当使用者写下正确的手势时,硬体才会侦测出并回馈丢出手势ID码,形同协助MCU/CPU过滤掉不正常杂讯与不良的手势,不造成额外的CPU/MCU的负担。 3.多个手势ID码可组合出更复杂的操控手势,简化程式撰写方式,省略掉反覆的记录与计算,记忆体资源比较节省,也相对的降低整体系统的耗电量。

张协理以数据为例,若以绝对座标来计算手势,一个手势需要约80个画面页框()计算与处理,每个页框处理约6ms,因此一个完整的手势辨识须花费480ms的时间,若是以一颗 MCU来说,每一秒钟就有480ms时间在处理手势运算,花了48%的执行资源,负担实在太重;即使用 MCU/CPU,每一秒仍需要花4.8 ms来处理手势运算,浪费近0.5%的执行资源。

若导入硬体手势ID辨识,仅花8个画面页框就能产生出一个手势ID码,以PS/2介面回应速度12.5ms计算,仅12.5ms * 8==0.1秒即可求出一个手势ID码,一秒钟可产生10个手势ID码;若导入 MCU/CPU,约200个指令处理一个手势ID码,则处理时间约为1/ * 200 () = 500ns,每一秒钟要处理的总时间为10 * 500ns = 5us。

以硬体辨识手势ID码跟座标辨识演算法来看,其CPU占用时间比为5us : (5us+4.8ms)≒1:1000;即使用的MCU/CPU,其CPU占用时间比一样为500us : (500us+480ms) ≒1:1000。由此可见硬体辨识手势ID码所节省的执行时间效益,以及在记忆体节省与功耗上的优势。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用

嵌入式开发是一种专门针对特定硬件平台设计和实现软件系统的工程实践,它涵盖了从需求分析、系统设计、编程实现、调试测试直到产品部署及维护的全过程。本文将深入探讨嵌入式开发的主要阶段,分解其流程并阐述每个步骤的关键要点,以便于...

关键字: 嵌入式开发 嵌入式软件
关闭
关闭