触控屏中的位置信息计算方法和电子设备
文献发布时间:2023-06-19 18:32:25
技术领域
本申请涉及终端技术领域,尤其涉及一种触控屏中的位置信息计算方法和电子设备。
背景技术
目前,电子设备已经成为人们工作生活的一部分。电子设备通常包括有触控屏,电子设备可以接收用户对触控屏的触发操作,并根据被触发的位置执行对应的功能。
通常情况下,电子设备可以通过触控芯片采集触控屏的源数据。当触控屏被触发时,则触控芯片上的微处理单元MCU可以基于采集的源数据,计算用户触发触控屏的坐标。进而,中央处理单元CPU可以通过I2C总线读取计算得到的坐标。如此,CPU执行与坐标对应的功能。
可见,上述计算用户触发触控屏的坐标是在触控芯片中的MCU中进行的,而由于MCU的主频在200MHz~400MHz之间,运算速率慢。这样,导致电子设备基于用户的触发操作,执行与触发操作对应的功能的延时较大。
发明内容
本申请提供一种触控屏中的位置信息计算方法和电子设备,可以缩短电子设备基于用户的触发操作,执行与触发操作对应的功能的延时。
第一方面,本申请提供了一种触控屏中的位置信息计算方法,应用于电子设备。电子设备包括触控屏、触控芯片以及中央处理单元CPU。本申请提供的方法包括:在触控屏接收到触发操作时,触控芯片采样触控屏中由触发操作产生的源数据。触控芯片通过高速串行总线,向CPU传输源数据,其中,源数据用于指示触控芯片的电容大小。CPU基于源数据,计算触发操作在触控屏中的位置信息。
本申请实施例提供的触控屏中的位置信息计算方法,由于触控芯片是通过高速串行总线传输触发操作产生的源数据的,而高速串行总线传输速率较高。如此,可以使得触控芯片传输触发操作产生的源数据的第一时长t1较短。进一步地,由于计算触发操作在触控屏中的位置信息是在进行的,而由于CPU的主频较高,使得CPU的运算速率也高。如此,可以使得CPU计算用户触发触控屏的坐标的第二时长t2也较短。如此,可以使得第一时长t1与第二时长t2之和较小。
这样一来,由于从电子设备的触控屏接收到触发操作开始,到第三方应用执行位置信息处的控件对应的功能结束的延时t3,包括触控芯片向CPU传输源数据的第一时长t1及CPU计算触发操作在触控屏中的位置信息的第二时长t2之和。如此,在第一时长t1与第二时长t2之和较小的情况下,相当于缩短了从电子设备的触控屏接收到触发操作开始,到第三方应用执行位置信息处的控件对应的功能的延时t3。如此,可以提高用户的使用体验感。
在一种可能的实施方式中,电子设备还包括总线控制器、直接存储器访问DMA,触控芯片通过高速串行总线,向CPU传输源数据,包括:触控芯片控制CPU唤醒数据传输线程。CPU控制总线控制器对DMA标记标识。其中,标识用于指示DMA被总线控制器占用。总线控制器通过高速串行总线从触控芯片拷贝源数据至DMA。总线控制器控制CPU从DMA提取源数据。
在一种可能的实施方式中,在CPU中预设的用于指示唤醒数据传输线程的优先级高于CPU的其他待处理线程的优先级,在总线控制器中预设的用于指示占用DMA的线程的优先级高于总线控制器的其他待处理线程的优先级。
这样,可以进一步地缩短触控芯片传输触发操作产生的源数据的第一时长t1。进而,进一步地缩短了从电子设备的触控屏接收到触发操作开始,到第三方应用执行位置信息处的控件对应的功能的延时t3。
在一种可能的实施方式中,CPU控制所述总线控制器对所述DMA标记标识后,本申请提供的方法还包括:控制数据传输线程开始休眠。
总线控制器控制CPU从DMA提取源数据,包括:总线控制器控制CPU唤醒数据传输线程;CPU唤醒数据传输线程后,从DMA提取源数据。
这样,CPU还可以在数据传输线程休眠的过程中,处理其他待处理的线程。
在一种可能的实施方式中,触控芯片采样触控屏中由触发操作产生的源数据,包括:触控芯片按照预设的采样周期向触控屏发射采样脉冲序列,以采样触控屏中由触发操作产生的源数据。其中,触控芯片传输第N组采样脉冲序列采样的源数据,与触控芯片发射第N+1组采样脉冲序列同时执行,N为大于1的整数,采样周期小于预设的时长阈值。
假设脉冲序列保持的第四时长为t4,每两组采样脉冲序列之间的第五时长为t5。其中,第五时长t5等于采样周期T1与脉冲序列保持的第四时长t4的差值。可以理解地,在预设的采样周期小于预设的时长阈值且脉冲序列保持的第四时长t4不变的情况下,可以使得第五时长t5较短。如此,即使在用户对触控屏的触发操作的时刻在两组采样脉冲序列之间,第N组采样脉冲序列采样到用户对触控屏的触发操作的延时也被缩短。由于第五时长t5为上述的延时t3的一部分,在第五时长t5较短的情况下,这样可以进一步缩短从触控屏接收到触发操作开始,到第三方应用执行位置信息处的控件对应的功能的延时t3。
在一种可能的实施方式中,预设的时长阈值小于或等于2.5ms。
在一种可能的实施方式中,触控芯片采样触控屏中由触发操作产生的源数据,包括:触控芯片按照预设的采样周期向触控屏发射采样脉冲序列,以采样触控屏中由触发操作产生的源数据。其中,采样脉冲序列中的采样脉冲的数量小于30。
当采样脉冲序列中的采样脉冲的数量小于30时,可以使得脉冲序列保持的第四时长t4较短(即进一步地缩短了采样的时长)。在第四时长t4较短的情况下,可以进一步地缩短从触控屏接收到触发操作开始,到第三方应用执行位置信息处的控件对应的功能的延时t3(即缩短了采样延时)。
在一种可能的实施方式中,采样脉冲的采样电压大于3V。
这样,可以提高采样的源数据的可靠性。
在一种可能的实施方式中,本申请提供的方法还包括:CPU利用滤波算法对得到的源数据滤波。
这样,可以提高源数据的可靠性。
在一种可能的实施方式中,高速串行总线为串行外设接口SPI总线。
在SPI总线处于高速模式时,数据传输速率能够达到20Mbps。可见,SPI总线传输数据的速率较高。进而,可以使得上述的CPU从触控芯片读取源数据或者触控芯片向CPU写入源数据的第一时长t1较短。
在一种可能的实施方式中,在CPU基于源数据,计算触发操作在触控屏中的位置信息之后,本申请提供的方法还包括:CPU将位置信息透传到第三方应用,使得第三方应用执行位置信息处的控件对应的功能。
第二方面,本申请还提供的一种电子设备,包括触控屏、触控芯片以及中央处理单元CPU,在触控屏接收到触发操作时,电子设备执行如本申请第一方面提供的触控屏中的位置信息计算方法。
应当理解的是,本申请的第二方面本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为
图2为电子设备的触控屏被触发时,执行位置信息处的控件对应的功能的架构示意图;
图3为本申请实施例提供的电子设备的硬件架构示意图;
图4为本申请实施例提供的电子设备的软件架构示意图;
图5为本申请实施例提供的电子设备的触控屏被触发时,执行位置信息处的控件对应的功能的架构示意图;
图6为本申请实施例提供的触控屏中的位置信息计算方法的流程图;
图7为本申请实施例提供的计算位置信息的流程框图;
图8为本申请实施例提供的触控芯片基于预设的采样周期发射采样脉冲序列的示意图之一;
图9为本申请实施例提供的触控芯片基于预设的采样周期发射采样脉冲序列的示意图之二;
图10为本申请实施例提供的数据传输的调度方式的架构示意图;
图11为本申请实施例提供的触控屏被多指触发的界面示意图;
图12为触控屏被多指触发相对于被单指触发时,计算位置信息的时长的示意图之一;
图13为触控屏被多指触发相对于被单指触发时,计算位置信息的时长的示意图之二;
图14为本申请实施例提供的采用脉冲序列中的采样脉冲数量小于30个时,发射采样脉冲序列的示意图;
图15为本申请实施例提供的位置信息计算方法的框图;
图16为本申请实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一值和第二值仅仅是为了区分不同的值,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
目前,电子设备已经成为人们工作生活的一部分。电子设备通常包括有触控屏,电子设备可以接收用户对触控屏的触发操作,并根据被触发的位置执行相应的功能。可以理解地,电子设备基于用户的触发操作,执行与触发操作对应的功能的延时包括:触控芯片向CPU传输数据的第一时长t1和计算位置信息的第二时长t2。
例如,当电子设备的触控屏在显示图1中的a所示的
由于计算触发操作在触控屏中的位置信息的第二时长t2较长,这样一来,会导致第二时长t2与第一时长t1之和较大。例如,第二时长t2与第一时长t1之和可能是4.2ms。如此,最终会导致CPU根据位置信息控制触控屏切换到图1中的c所示的界面延时较长。
有鉴于此,本申请提供了一种触控屏中的位置信息计算方法,电子设备的触控芯片采样触控屏中由触发操作产生的源数据;电子设备的触控芯片通过串行外设接口高速串行总线,向CPU传输源数据。其中,源数据用于指示触控芯片的电容大小。电子设备的CPU基于源数据,计算触发操作在触控屏中的位置信息。由于触控芯片是通过高速串行总线传输触发操作产生的源数据的,而由于高速串行总线在高速模式下的传输速率大于预设的速率阈值。如此,可以使得触控芯片传输触发操作产生的源数据的第一时长t1较短。进一步地,由于计算触发操作在触控屏中的位置信息是在CPU中进行的,而由于CPU的主频较高,使得CPU的运算速率也高。如此,可以使得CPU计算用户触发触控屏的位置的第二时长t2也较短。进而,第一时长t1与第二时长t2之和也较小。这样一来,缩短了电子设备基于用户的触发操作,执行与触发操作对应的功能的延时。
可以理解的是,上述电子设备可以是终端,(terminal)、用户设备(userequipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对电子设备所采用的具体技术和具体设备形态不做限定。
为了能够更好地理解本申请实施例,下面对本申请实施例的电子设备的结构进行介绍。示例性的,图3为本申请实施例提供的一种电子设备的结构示意图。
为了能够更好地理解本申请实施例,下面对本申请实施例的电子设备的结构进行介绍。图3为本申请实施例适用的电子设备的一种结构示意图。如图3所示,该电子设备可以包括:中央处理单元(central processing unit,CPU)110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,串行外设接口(serialperipheral interface,SPI)总线131,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器180,按键190,马达191,摄像头193,触控屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195,触控芯片196等。可以理解的是,本实施例示意的结构并不构成对电子设备的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。
中央处理单元110可以是电子设备的神经中枢和指挥中心。处理器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。中央处理单元110中还可以设置存储器,用于存储指令和数据。在一些实施例中,中央处理单元110中的存储器为高速缓冲存储器。该存储器可以保存中央处理单元110用过或循环使用的指令或数据。如果中央处理单元110需要再次使用该指令或数据,可从存储器中直接调用。这就避免了重复存取,减少了中央处理单元110的等待时间,因而提高了电子设备的效率。
在一些实施例中,中央处理单元110可以包括一个或多个接口。接口可以包括集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse codemodulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口,以及SPI接口等。可以理解的是,本申请实施例示意的各模块间的接口连接关系为示意性说明,并不构成对电子设备的结构限定。在本申请另一些实施例中,电子设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
无线通信模块160可以提供应用在电子设备上的包括无线局域网(wirelesslocal area networks,WLAN),蓝牙,全球导航卫星系统(global navigation satellitesystem,GNSS),调频(frequency modulation,FM),NFC,红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到中央处理单元110。无线通信模块160还可以从中央处理单元110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
电子设备通过GPU,触控屏194,以及应用处理器等可以实现显示功能。应用处理器可以包括NPU、DPU。GPU为图像处理的微处理器,连接触控屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。中央处理单元110可包括一个或多个GPU,其执行指令以生成或改变显示信息。NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构。DPU也称为显示子系统(Display Sub-System,DSS),DPU用于对触控屏194的色彩进行调整,DPU可以通过三维查找表(3D look up table,3D LUT)对触控屏的色彩进行调整。
触控屏194用于显示图像,视频等。触控屏194包括显示面板。显示面板可以采用液晶触控屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个触控屏194,N为大于1的正整数。当触控屏194被触发时,触控屏194的电容会发生变化,且当触控屏194的不同位置触发时,触控屏194的电容发生的变化不同。
触控芯片196可以周期性的向触控屏194发射采样脉冲序列,以采集触控屏194产生的源数据。其中,源数据包括触控屏194的电压信号数据或电流信号数据。触控芯片196可以通过SPI总线131向中央处理单元110传输电压信号数据或电流信号数据。另外,触控芯片196中还集成有MCU,其中,MCU的主频在200MHz~400MHz之间,MCU可以用于对信号进行模/数转换等处理。
触控芯片196可以通过SPI总线向中央处理单元110传输电压信号数据或电流信号数据。其中,SPI总线131是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,节省了空间。
电子设备可以通过ISP,一个或多个摄像头193,视频编解码器,GPU,一个或多个触控屏194以及应用处理器等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口120与中央处理单元110通信,实现数据存储功能。
内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。中央处理单元110可以通过运行存储在内部存储器121的上述指令,从而使得电子设备执行各种功能应用以及数据处理等。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用程序(比如图库、联系人等)等。存储数据区可存储电子设备使用过程中所创建的数据(比如照片,联系人等)等。
电子设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,以及应用中央处理单元等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备可以通过扬声器170A收听音乐,或收听免提通话。收话器170B,用于将音频电信号转换成声音信号。当电子设备接听电话或语音信息时,可以通过将收话器170B靠近人耳接听语音。麦克风170C,用于将声音信号转换为电信号。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于触控屏194。陀螺仪传感器180B可以用于确定电子设备的运动姿态。气压传感器180C用于测量气压。磁传感器180D包括霍尔传感器。加速率传感器180E可检测电子设备在各个方向上(一般为三轴)加速率的大小。距离传感器180F,用于测量距离。接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。环境光传感器180L用于感知环境光亮度。指纹传感器180H用于采集指纹。温度传感器180J用于检测温度。触控传感器180K,也称“触控器件”。触控传感器180K可以设置于触控屏194,由触控传感器180K与触控屏194组成触控屏,也称“触控屏”。骨传导传感器180M可以获取振动信号。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触控式按键。电子设备可以接收按键输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。指示器192可以是指示灯,可以用于指示充电状态,电量变化等。
电子设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备的软件结构。图4为本申请实施例适用的电子设备的一种软件结构框图。分层架构将电子设备的软件系统分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可以将Android系统分为五层,分别为应用程序层(applications)、应用程序框架层(application framework)、安卓运行时(Android runtime)和系统库、硬件抽象层(hardware abstract layer,HAL)以及内核层(kernel)。
应用程序层可以包括一系列应用程序包,应用程序层通过调用应用程序框架层所提供的应用程序接口(application programming interface,API)运行应用程序。如图3所示,应用程序包可以包括微信,相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信等应用程序。
应用程序框架层为应用程序层的应用程序提供API和编程框架。应用程序框架层包括一些预先定义的函数。如图4所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
安卓运行时包括核心库和虚拟机。安卓运行时负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。系统库可以包括多个功能模块。
硬件抽象层,可以包含多个库模块,库模块如可以为摄像头库模块、马达库模块等。Android系统可以为设备硬件加载相应的库模块,进而实现应用程序框架层访问设备硬件的目的。
内核层是硬件和软件之间的层。内核层用于驱动硬件,使得硬件工作。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动,马达驱动等,本申请实施例对此不做限制。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以独立实现,也可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
下面,以电子设备为手机100、高速串行总线为SPI总线131为例,对本申请实施例提供的触控屏中的位置信息计算方法进行说明,该示例并不构成对本申请实施例的限定。下述实施例可以相互结合,对于相同或相似的概念或过程不再赘述。其中,如图5所示,手机100包括触控屏194、触控芯片196、SPI总线131以及CPU110。触控屏194与触控芯片196电连接,CPU110与触控芯片196通过SPI总线131通信连接。图6为本申请实施例提供的触控屏中的位置信息计算方法的流程示意图。如图6所示,本申请实施例提供的触控屏中的位置信息计算方法包括:
S601:手机100的触控屏194显示第一界面。
示例性地,仍如图1中的(b)所示,在本申请实施例中,第一界面可以为
另外,第一界面还可以是相机应用的拍照预览界面、游戏应用的界面、以及系统桌面等等,在此不作限定。
需要说明的是,触控屏194还可以处于熄灭状态。可以理解地,当触控屏194处于熄灭状态时,上述的S601可以忽略。
S602:手机100的触控屏194在接收到触发操作时,手机100触控芯片196采样触控屏194中由触发操作产生的源数据。
触控芯片196可以向触控屏194周期性的发射采样脉冲序列,以采集触控屏194产生的源数据,其中,源数据为触控屏194的电压信号或电流信号。可以理解地,源数据可以用于指示触控芯片的电容大小。
示例性地,基于上述的图1对应的实施例中,当手机100的触控屏194显示
S603:手机100的触控芯片196通过串行外设接口SPI总线131,向CPU110传输源数据。
其中,S603的具体实现包括但不限于以下两种方式:
第一种:CPU110通过SPI总线131从触控芯片196读取采样得到的源数据。具体地,S602中的采样脉冲序列包括多个采样脉冲,每个采样脉冲均会采样到触控屏194产生的一个子数据。触控芯片196在采样结束后,将采样得到的多个子数据进行处理打包成源数据。CPU110通过SPI总线131读取源数据。
第二种:触控芯片196通过SPI总线131向CPU110写入采样得到的源数据。具体地,S602中的采样脉冲序列包括多个采样脉冲,每个采样脉冲均会采样到触控屏194产生的一个子数据。触控芯片196在采样结束后,将采样得到的多个子数据进行处理打包成源数据。触控芯片196通过SPI总线131将源数据写入CPU110。
通常地,SPI总线131处于高速模式时,数据传输速率能够达到20Mbps。可见,SPI总线131传输数据的速率较高。进而,可以使得上述的CPU110从触控芯片196读取源数据或者触控芯片196向CPU110写入源数据的第一时长t1较短。通常地,第一时长t1小于1.5ms。
可以理解地,上述的触控芯片196采样得到的源数据为模拟信号,触控芯片196在向CPU110传输源数据之前,需要将模拟信号转换为数字信号,对数字信号进行格式处理,以便CPU110能够识别。
S604:手机100的CPU110基于源数据,计算触发操作在触控屏中的位置信息。
示例性地,如图7所示,手机100检测数据形式为数字信号的源数据的变化量(如电流信号变化量或电压信号的变化量),以初步确定被用户的手指触发产生的信号。手机100对初步确定的被用户触发产生的信号进行区域分割,得到各个区域对应的子信号。手机100分别进一步校验各个区域对应的子信号是否为被用户的手指触发产生的信号,如果是,则手机100根据每个子区域中的信号分布,确定子区域被用户的手指触发时的质心坐标(即图1对应的实施例中的
可见,上述计算触发操作在触控屏中的位置信息的过程比较复杂,而CPU110的主频通常大于1.5GZ。可以理解地,当CPU110的主频越高时,CPU110的时钟频率也越高,即CPU110的运算能力越强,计算触发操作在触控屏中的位置信息的速率也越快。进而CPU110计算触发操作在触控屏中的位置信息的第二时长t2也较短。通常地,第二时长t2小于1ms。
S605:手机100的CPU110将位置信息透传到第一界面101对应的第三方应用,使得第三方应用执行位置信息处的控件对应的功能。
示例性地,在图1对应的实施例的基础上,可以理解地,第一界面101对应的第三方应用为
基于上述的S601-S605,可以理解地,从手机100的触控屏194接收到触发操作开始,到第三方应用执行位置信息处的控件对应的功能结束的延时t3,包括触控芯片196向CPU110传输源数据的第一时长t1及CPU110计算触发操作在触控屏中的位置信息的第二时长t2之和。
基于上述,本申请实施例提供的触控屏中的位置信息计算方法,由于触控芯片196是通过SPI总线131传输触发操作产生的源数据的,而SPI总线131传输速率较高。如此,可以使得触控芯片196传输触发操作产生的源数据的第一时长t1较短。进一步地,由于计算触发操作在触控屏中的位置信息是在进行的,而由于CPU110的主频较高,使得CPU110的运算速率也高。如此,可以使得CPU110计算用户触发触控屏194的坐标的第二时长t2也较短。如此,可以使得第一时长t1与第二时长t2之和较小。
这样一来,由于从手机100的触控屏194接收到触发操作开始,到第三方应用执行位置信息处的控件对应的功能结束的延时t3,包括触控芯片196向CPU110传输源数据的第一时长t1及CPU110计算触发操作在触控屏中的位置信息的第二时长t2之和。如此,在第一时长t1与第二时长t2之和较小的情况下,相当于缩短了从手机100的触控屏194接收到触发操作开始,到第三方应用执行位置信息处的控件对应的功能的延时t3。如此,可以提高用户的使用体验感。
可以理解地,在上述实施例中,是以如何缩短第一时长t1与第二时长t2之和为例说明,如何缩短从手机100的触控屏194接收到触发操作开始,到第三方应用执行位置信息处的控件对应的功能的延时t3的。下面结合图8,说明如何在缩短第一时长t1与第二时长t2之和的基础上,再缩短采样周期T1,以进一步地缩短从手机100的触控屏194接收到触发操作开始,到第三方应用执行位置信息处的控件对应的功能的延时t3。
如图8所示,上述的触控芯片196可以每隔预设的采样周期T1向触控屏194发射采样脉冲序列801。触控芯片196预设的向CPU110传输第N组采样脉冲序列801采样的源数据的起始时刻S1可以为:触控芯片196向触控屏194发射第N+1组采样脉冲序列801的起始时刻。其中,N为大于1的整数。如此,仍如图8所示,在预设采样周期T1大于第一时长t1与第二时长t2之和的情况下,可以使得触控芯片196向触控屏194发射第N+1组采样脉冲序列801,与触控芯片196通过SPI总线131向CPU110传输源数据以及CPU110计算位置信息并行处理,以作为缩短采样周期T1的前提。
基于上述,由于第一时长t1与第二时长t2之和较小,手机100预设的采样周期T1可以小于预设的时长阈值。示例性地,如图9所示,由于第一时长t1(小于1.5ms)与第二时长t2(小于1ms)之和较小,预设的采样周期T1也可以较小。如在第一时长t1与第二时长t2之和小于2.5ms时,采样周期T1也可以预设为小于2.5ms(即触控芯片196的采样率大于400HZ)。另外,采样周期T1也可以预设为2.5ms。
从图8中可以看出,脉冲序列保持的第四时长为t4,每两组采样脉冲序列801之间的第五时长为t5。其中,第五时长t5等于采样周期T1与脉冲序列保持的第四时长t4的差值。可以理解地,在手机100预设的采样周期T1小于预设的时长阈值且脉冲序列保持的第四时长t4不变的情况下,可以使得第五时长t5较短。如此,即使在用户对触控屏194的触发操作的时刻在两组采样脉冲序列801之间,第N组采样脉冲序列801采样到用户对触控屏194的触发操作的延时也被缩短。另外,从图8中可以看出,第五时长t5为上述的延时t3的一部分,在第五时长t5较短的情况下,这样可以缩短从手机100的触控屏194接收到触发操作开始,到第三方应用执行位置信息处的控件对应的功能的延时t3,进一步地提升了用户的体验感。
综上,对图8对应的实施例所述,当第一时长t1与第二时长t2(小于1ms)之和越小时,手机100预设的采样周期T1也可以越小,这样可以使得每两组采样脉冲序列之间的第五时长t5越小。进而,可以使得从手机100的触控屏194接收到触发操作开始,到第三方应用执行位置信息处的控件对应的功能的延时t3也越小。
另外,在上述的S602中,是依靠SPI总线131的性能,缩短触控芯片196向CPU110传输源数据的第一时长t1。在另一些实施例中,还可以基于数据传输的调度方式,进一步地缩短触控芯片196向CPU110传输源数据的第一时长t1。
示例性地,如图10所示,手机100还可以包括SPI控制器1001,其中,SPI总线131、SPI控制器1001以及CPU110依次通信连接。SPI控制器1001与CPU110可以集成于手机100内的系统级芯片1002(system on a Chip,SOC)。另外,SPI控制器1001还连接有DMA(DirectMemory Access,直接存储器访问)1003,DMA1003可以在SPI控制器1001和触控芯片196之间进行数据传输,在传输过程中不需要CPU110的参与。另外,在CPU110中预设的用于指示唤醒数据传输线程的优先级高于CPU110的其他待处理线程的优先级,在SPI控制器1001中预设的用于指示占用DMA1003的线程的优先级高于SPI控制器1001的其他待处理线程的优先级。
具体地,数据传输的调度方式包括如下步骤:Step1:触控芯片196向触控屏194发射采样脉冲序列以采样源数据。Step2:当触控芯片196在传输数据之前,可以将采样得到模拟信号转换数字信号,并将数字信号打包得到源数据。其中,源数据的大小通常在2kb-4kb之间。Step3:触控芯片196在打包完毕后向CPU110发送第一通知(第一通知即图10中的中断信号),第一通知用于指示CPU110唤醒数据传输线程。由于CPU110中预设的数据传输线程的用于指示优先级高于CPU110的其他待处理线程的优先级,则CPU110确定数据传输线程的优先级高于CPU110中其他待处理的线程,则CPU110无需等待其他待处理的线程处理完毕,即可唤醒数据传输线程,使得触控芯片196唤醒CPU110的数据传输线程的时长较小。Step4:CPU110唤醒数据传输线程后,向SPI控制器1001发送第二通知,其中,第二通知用于指示SPI控制器1001占用DMA1003。Step5:CPU110向SPI控制器1001发送第二通知后,控制数据传输线程开始休眠。如此,CPU110在数据传输线程休眠的过程中,还可以处理其他的待处理线程。
SPI控制器1001接收到第二通知后,对DMA标记标识,其中,标识用于指示DMA被SPI控制器1001占用。由于SPI控制器1001中预设的用于指示占用DMA1003的线程的优先级的标识高于优先级阈值,则确定占用DMA1003的线程的优先级高于SPI控制器1001中其他待处理的线程,则SPI控制器1001无需等待其他待处理的线程处理完毕,即占用DMA1003,使得占用DMA1003的时长也较小。进而,Step6:SPI控制器1001通过SPI总线131从触控芯片196开始拷贝源数据,并将拷贝的源数据暂存到DMA1003。Step7:在拷贝完毕后,SPI控制器1001向CPU110发送第三通知,第三通知用于指示CPU110提取源数据。由于CPU110中用于指示预设的数据传输线程的优先级高于SPI控制器1001的其他待处理线程的优先级,则CPU110确定数据传输线程的优先级高于CPU110中其他待处理的线程,则CPU110无需等待其他待处理的线程处理完毕,即可唤醒数据传输线程,又使得唤醒数据传输线程的时长较小。Step8:CPU110的数据传输线程被唤醒以后,从DMA1003提取拷贝的源数据。进而,实现了触控芯片196通过SPI总线131向CPU110传输源数据。
可见,在图10对应的实施例中,由于唤醒CPU110的数据传输线程的时长较小、占用DMA1003的时长也较小。如此,可以提高触控芯片196向CPU110传输源数据的速率,缩短触控芯片196向CPU110传输源数据的第一时长t1。这样,可以进一步缩短第一时长t1与第二时长t2之和。可以理解地,基于与上述的图8对应的实施例同样的原理,当第一时长t1与第二时长t2之和进一步较小时,采样周期T1也可以进一步较小,如此可以进一步地缩短从手机100的触控屏194接收到触发操作开始,到第三方应用执行位置信息处的控件对应的功能的延时t3。
需要说明的是,在上述的实施例中,是以触控屏194被用户单指触发时为例,说明如何使得采样周期T1较小的。下面结合图11-图13说明,当触控屏194被用户多指触发时如何使得采样周期T1较小的。
如图11中的(a)所示,触控屏194显示的第一界面为游戏应用的界面。游戏应用的界面中包括控件A、控件B、控件C、以及控件D。游戏界面中还包括游戏角色P1和游戏角色P2。当用户想要控制游戏角色P1重手攻击游戏角色P2时,如图11中的(b)所示,可以同时触发控件A、控件B、以及控件C。进而,触控芯片196采样到触控屏194被触发控件A、控件B、以及控件C时的源数据。可以理解地,当触控屏194被用户越多的手指触发时,触控芯片196采样到的源数据较多。触控芯片196将采样到的源数据通过SPI总线131传输到CPU110。手机100的CPU110基于源数据,计算触发操作在触控屏中的位置信息。可以理解地,CPU110基于源数据计算得到的位置信息包括用户的手指触发控件A的坐标、用户的手指触发控件B的坐标以及用户的手指触发控件C的坐标。进而,CPU110基于控件A的坐标、控件B的坐标以及控件C的坐标,控制游戏角色P1重手攻击游戏角色P2。
经发明人试验,在现有技术的方案中,如图12中的(a)所示,由于触控芯片196的MCU的主频较低,当需要处理的源数据越多时,MCU计算触发操作在触控屏中的位置信息的第二时长t2也更长。进而,在第二时长t2也越长时,会导致第一时长t1与第二时长t2之和也更长。这样一来,会导致采样周期T1也较长。如此,会使得用户从触发控件A、控件B、以及控件C,到控制游戏角色P1重手攻击游戏角色P2的延时t3更长。
而在本申请实施例中,如图12中的(b)所示,由于计算触发操作在触控屏中的位置信息是在CPU110进行的。而CPU110的主频较大,如此,当需要处理的源数据越多时,CPU110计算触发操作在触控屏中的位置信息的第二时长t2,也不会发生变化。如此,在本申请实施例中,第一时长t1与第二时长t2之和不会因为触控屏194被用户的手指增加而延长。这样,可以使得触控屏194被用户越多的手指触发时,采样周期T1也仍然可以保持较小。如此,会使得用户从触发控件A、控件B、以及控件C,到控制游戏角色P1重手攻击游戏角色P2的延时t3仍然保持较小。
在另一些实施例中,触控屏194还可能被用户的4根手指、5根手指以及6根手指等手指数量触发。如图13所示,在现有技术的方案中,当触控屏194被用户分别使用1根手指到10根手指触发时,采样周期T1需要从2.7ms逐渐增长到8ms。而本申请实施例中,当触控屏194被用户使用1根手指到10根手指触发时,采样周期T1可以保持2.5ms不变。基于上述,由于采样周期T1越小,可以使得从手机100的触控屏194接收到触发操作开始,到第三方应用执行位置信息处的控件对应的功能的延时t3也越小。可以理解地,从图13可以看出,当触控屏194被用户触发的手指的数量小于6的情况下,触控屏194被用户触发的手指越多,本申请实施例相对于现有技术方案延时t3被缩短的效果越明显。
可以理解地,在上述的实施例中,是以在缩短第一时长t1与第二时长t2之和的基础上缩短采样周期T1为例,说明如何进一步地缩短从手机100的触控屏194接收到触发操作开始,到第三方应用执行位置信息处的控件对应的功能的延时t3的。下面,以在缩短第一时长t1与第二时长t2之和的基础上,进一步缩短采样脉冲序列中的采样脉冲的数量为例,说明如何进一步地缩短从手机100的触控屏194接收到触发操作开始,到第三方应用执行位置信息处的控件对应的功能的延时t3的。
在另一实施例中,如图14所示,手机100的触控芯片196发射的采样脉冲序列801中的采样脉冲的数量可以小于预设的数量阈值。如,采样脉冲的数量可以小于30个。进一步地,采样脉冲的数量可以为18个、21个、以及24个等,在此不作限定。当采样脉冲序列801中的采样脉冲的数量小于预设的数量阈值时,可以使得脉冲序列保持的第四时长t4较短(即进一步地缩短了采样的时长)。另外,从图14中可以看出,第四时长t4为上述的延时t3的一部分。在第四时长t4较短的情况下,可以进一步地缩短从手机100的触控屏194接收到触发操作开始,到第三方应用执行位置信息处的控件对应的功能的延时t3(即缩短了采样延时),进一步地提升了用户的体验感。
进一步地,在图14对应的实施例的基础上,为了提高采样脉冲序列801采集的源数据的可靠性,手机100的触控芯片196发射的采样脉冲序列801中的采样脉冲的采样电压可以大于预设的电压阈值。示例地,采样脉冲的电压可以大于3V。如,采样脉冲的电压可以为4V、5V、6V、或者7V等,在此不作限定。可以理解地,当采样脉冲的电压越大时,采样脉冲序列801采集的源数据的可靠性越高。
另外,为了提高CPU110计算得到的位置信息的可靠性,如图15所示,CPU110在得到触控芯片196采样的源数据之后,需要利用滤波算法对得到的源数据滤波,以降低采集到的源数据中的噪声。进而,CPU110再根据滤波后的源数据,计算得到的位置信息的可靠性更高。
另外,上述的介绍本申请实施例提供的触控屏中的位置信息计算方法中,提到的触发操作可以包括:点击操作、长按操作、以及手势触发操作等,在此不做限定。
示例性的,图16为本申请实施例提供的一种电子设备的硬件结构示意图,如图16所示,该电子设备包括中央处理单元1601,高速串行总线1604、至少一个通信接口(图16中示例性的以通信接口1603为例进行说明)、触控芯片1606、以及触控屏1607。
中央处理单元1601可以是一个通用中央中央处理单元(central processingunit,CPU),微中央处理单元,特定应用集成电路(application-specific integratedcircuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
高速串行总线1604可包括在上述组件之间传送信息的电路。高速串行总线1604处于高速模式时,数据传输速率能够达到20Mbps。可见,高速串行总线1604传输数据的速率较高。其中,高速串行总线1604可以为SPI总线。
通信接口1603,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线局域网(wireless local area networks,WLAN)等。
可能的,该电子设备还可以包括存储器1602。
存储器1602可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过高速串行总线1604与中央处理单元相连接。存储器也可以和中央处理单元集成在一起。
其中,存储器1602用于存储执行本申请方案的计算机执行指令,并由中央处理单元1601来控制执行。中央处理单元1601用于执行存储器1602中存储的计算机执行指令,从而实现本申请实施例所提供的触控屏中的位置信息计算方法。
可能的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,中央处理单元1601可以包括一个或多个CPU,例如图16中的CPU0和CPU1。
在具体实现中,作为一种实施例,电子设备可以包括多个中央处理单元,例如图16中的中央处理单元1601和中央处理单元1605。这些中央处理单元中的每一个可以是一个单核(single-CPU)中央处理单元,也可以是一个多核(multi-CPU)中央处理单元。这里的中央处理单元可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
触控芯片1606可以周期性的向触控屏1607发射采样脉冲序列,以采集触控屏1607在接收到触发操作时,由触发操作产生的源数据。其中,源数据包括触控屏1607的电压信号数据或电流信号数据。触控芯片1606可以通过高速串行总线1604向中央处理单元1601传输电压信号数据或电流信号数据。另外,触控芯片1606中还集成有MCU,其中,MCU的主频在200MHz~400MHz之间,MCU可以用于对信号进行模/数转换等处理。
触控芯片1606可以通过高速串行总线1604向中央处理单元1605和中央处理单元1601传输电压信号数据或电流信号数据。
中央处理单元1605或中央处理单元1601基于源数据,计算触发操作在所述触控屏中的位置信息。
上述的组合也应包括在计算机可读介质的范围内。以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
- 一种柔性显示装置、触控位置确定方法以及电子设备
- 一种车载中控大屏触控方法、装置及计算机可读存储介质
- 一种触控屏中引线的制作方法、触控屏及电子设备
- 触控屏的触控信息处理方法、装置及电子设备