CN107533390B - 用于触笔和触笔传感器控制器之间双向通信的系统和方法 - Google Patents

用于触笔和触笔传感器控制器之间双向通信的系统和方法 Download PDF

Info

Publication number
CN107533390B
CN107533390B CN201680022752.5A CN201680022752A CN107533390B CN 107533390 B CN107533390 B CN 107533390B CN 201680022752 A CN201680022752 A CN 201680022752A CN 107533390 B CN107533390 B CN 107533390B
Authority
CN
China
Prior art keywords
stylus
sensor controller
active stylus
active
attributes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680022752.5A
Other languages
English (en)
Other versions
CN107533390A (zh
Inventor
大卫·查尔斯·弗莱克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wacom Co Ltd
Original Assignee
Wacom Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wacom Co Ltd filed Critical Wacom Co Ltd
Priority to CN202010710055.7A priority Critical patent/CN111913606A/zh
Publication of CN107533390A publication Critical patent/CN107533390A/zh
Application granted granted Critical
Publication of CN107533390B publication Critical patent/CN107533390B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • G06F3/0383Signal control means within the pointing device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/04162Control or interface arrangements specially adapted for digitisers for exchanging data with external devices, e.g. smart pens, via the digitiser sensing hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • G06F3/0442Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means using active external devices, e.g. active pens, for transmitting changes in electrical potential to be received by the digitiser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • G06F3/0446Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means using a grid-like structure of electrodes in at least two directions, e.g. using row and column electrodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0383Remote input, i.e. interface arrangements in which the signals generated by a pointing device are transmitted to a PC at a remote location, e.g. to a PC in a LAN
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Abstract

提供了一种用于在传感器控制器和主机处理器之间通信的方法,其中传感器控制器耦合到被配置为与有源触笔交互的传感器。传感器控制器支持定义的触笔属性集的缺省描述符,并将缺省描述符发送到主机处理器。传感器控制器当与能够报告所定义的触笔属性集的第一子集的第一触笔耦合时,向主机处理器发送第一触笔报告,该第一笔触笔报告具有填充有从第一触笔报告的值的第一子集的字段。传感器控制器当与能够报告所定义的触笔属性集的第二子集的第二触笔耦合时,向主机处理器发送第二触笔报告,该第二触笔报告具有填充有从第二触笔报告的值的第二子集的字段。

Description

用于触笔和触笔传感器控制器之间双向通信的系统和方法
相关申请的交叉引用
本申请要求于2015年4月20日提交的题为“Position Input Method,PositionInput System,Sensor Controller and Stylus(位置输入方法、位置输入系统、传感器控制器和触笔)”的美国临时专利申请No.62/149,907;于2015年5月15日提交的题为“Position Input Method,Position Input System,Sensor Controller and Stylus(位置输入方法、位置输入系统、传感器控制器和触笔)”的美国临时专利申请No.62/162,527;于2015年10月19日提交的题为“Position Input Method,Position Input System,SensorController and Stylus(位置输入方法、位置输入系统、传感器控制器和触笔)”的美国临时专利申请No.62/243,427;于2016年2月4日提交的题为“System and Method forBidirectional Communication of Stylus and Stylus Sensor Controller(用于触笔和触笔传感器控制器之间双向通信的系统和方法)”的美国临时专利申请No.62/291,373;于2015年4月25日提交的题为“Position Input Method and Position Input System(位置输入方法和位置输入系统)”的美国临时专利申请No.62/152,870;于2015年7月13日提交的题为“Position Input Method and Position Input System(位置输入方法和位置输入系统)”的美国临时专利申请No.62/191,913;于2015年10月13日提交的题为“Position InputMethod and Position Input System(位置输入方法和位置输入系统)”的美国临时专利申请No.62/240,984;以及于2016年2月4日提交的题为“Position Input Method andPosition Input System(位置输入方法和位置输入系统)”的美国临时专利申请No.62/291,356的优先权,其全部内容通过引用并入本文。
技术领域
本申请涉及有源触笔、用于触笔传感器的传感器控制器、要耦合到触笔传感器的主机处理器,以及基于这种触笔、传感器控制器和主机处理器的位置输入系统和方法;并且更具体地涉及一种利用触笔和传感器控制器之间以及传感器控制器和主机处理器之间的双向通信协议的位置输入系统和方法。
背景技术
各种类型的触笔可用于允许用户在诸如平板电脑、智能电话等的电子设备的触笔敏感屏幕(传感器)上手写文本和图形。例如,有源静电(电容式)触笔包括电源和信号处理器,并且通过向设置在触笔的笔尖处的电极提供与发送信号相对应的电荷来发送信号,从而引起由笔尖指示(指向)的位置处或其附近的电场的变化。电子设备的触笔敏感屏幕(传感器)包括X电极和Y电极的矩阵,并且由触笔笔尖产生的上述电场的变化引起在触笔笔尖处或其附近的矩阵电极中的电荷的相应变化。耦合到电子设备的传感器和/或主机处理器的传感器控制器检测矩阵电极中的电荷的这种变化,从而检测来自触笔的发送信号。传感器控制器和/或主机处理器基于检测到发送信号的矩阵电极的位置确定传感器上的触笔指示的位置。
不同类型的有源触笔具有不同的触笔能力或功能,诸如笔(触笔)笔尖压力检测能力、可以检测到多少不同的等级的笔(笔尖)压力、包括笔扭转(旋转)检测能力和笔倾斜检测能力的笔定向检测能力、在触笔等上提供的不同数量和种类的笔筒按钮(开关)等。通常,用于从触笔到传感器控制器的通信中使用的数据格式在给定的触笔传感器系统中被刚性地配置,并且不能支持触笔能力和功能的不同和扩大的变化。
虽然每个触笔都可以在每次触笔与传感器控制器一起使用(即进入传感器控制器的感测区域)时将其整个能力信息发送到传感器控制器,但这种整个能力信息的发送将占用在给定的通信协议中的多个时隙或可用的帧。在一个或多个触笔不断进入和离开传感器控制器的感测区域的典型情况下,传感器控制器可能不能快速获取每个进入触笔的能力信息,以便以适合于触笔的特殊能力的方式开始与触笔通信。这可能导致传感器控制器的响应时间慢,从而延迟建立传感器控制器和有源触笔之间的通信。例如,传感器控制器可能不能及时从触笔接收笔定向数据,即使在触笔完全能够发送这种定向数据时,这仅仅是因为传感器控制器不能快速地确定触笔的定向检测能力。
发明内容
本公开提供了一种技术解决方案,其允许传感器控制器快速地确定进入感测区域的一个或多个有源触笔的能力信息,从而开始与触笔的双向通信。本公开提供了通用触笔传感器控制器接口,其支持具有不同能力信息的不同的有源触笔。本公开还提供了传感器控制器-主机处理器接口,其支持可以耦合到主机处理器的不同类型的传感器控制器,并因此支持与各种传感器控制器一起使用的不同类型的有源触笔。
根据一个方面,提供了一种用于在传感器控制器和主机处理器之间的通信的方法,其中所述传感器控制器耦合到配置为与有源触笔交互的传感器。该方法通常包括三个步骤。首先,当传感器控制器和主机处理器之间的连接被建立时,支持定义的触笔属性集的缺省描述符的传感器控制器将缺省描述符发送到主机处理器。定义的触笔属性集包括可能由不同类型的有源触笔支持的所有(可能的)触笔属性。第二,传感器控制器当与能够报告所定义的触笔属性集的第一子集的第一有源触笔耦合时,向主机处理器发送由缺省描述符定义并且具有填充有从第一有源触笔报告的值的触笔属性的第一子集的字段的第一触笔报告。第三,传感器控制器当与能够报告不同于第一子集的所定义的触笔属性集的第二子集的第二有源触笔耦合时,向主机处理器发送由缺省描述符定义并且具有填充有从第二有源触笔报告的值的触笔属性的第二子集的字段的第二触笔报告。
根据该方法,当主机处理器连接到传感器控制器时,主机处理器接收所定义的触笔属性集的缺省描述符。因此,无论传感器控制器随后使用什么类型的有源触笔,主机处理器可以经由传感器控制器接收并处理来自不同有源触笔的不同类型的触笔报告。例如,如果第一有源触笔能够报告属性的第一子集(例如,位置和笔压力),并且第二有源触笔能够报告属性的第二子集(例如,位置、笔压力、笔定向和笔开关状态),主机处理器可以接收并处理具有填充有从第一有源触笔报告的值的触笔属性的第一子集的字段的第一触笔报告或具有填充有从第二有源触笔报告的值的触笔属性的第二子集的字段的第二触笔报告,因为第一和第二触笔报告两者均由主机处理器从传感器控制器接收的缺省描述符支持。
根据一个方面,传感器控制器和主机处理器被配置为经由通用串行总线(USB)接口、内部集成电路(I2C)总线或串行外设接口(SPI)总线连接。
根据一个方面,对于没有从第一或第二有源触笔报告的触笔属性,传感器控制器使用缺省值填充第一或第二触笔报告中的字段。
根据另一方面,传感器控制器对从第一有源触笔报告的触笔属性的第一子集或从第二有源触笔报告的触笔属性的第二子集应用诸如子采样、超采样、内插或外插的平滑算法来填充第一或第二触笔报告中的字段。
根据一个方面,包括在缺省描述符中的定义的触笔属性集包括:i)触笔坐标值;ii)触笔压力值,其包括笔尖压力值和笔筒压力值中的至少一个;iii)触笔开关值,其包括笔尖开关值、第一笔筒开关值和第二开关值中的至少一个;iv)触笔反转指示器值;v)触笔擦除器指示器;vi)触笔定向值,其包括X倾斜值、Y倾斜值、扭转值、高度值、方位角值、加速度计值、陀螺仪值和磁力计值中的至少一个;(vii)触笔电池状态值;(viii)触笔ID;(ix)触笔优选颜色值;(x)触笔优选线宽值;和(xi)触笔优选线型值。
根据另一方面,提供了一种用于传感器控制器和主机处理器之间的通信的方法,其中传感器控制器耦合到配置为与有源触笔交互的传感器。该方法通常包括三个步骤。首先,当传感器控制器和主机处理器之间的连接被建立时,支持缺省描述符的传感器控制器将缺省描述符发送到主机处理器,缺省描述符包括定义的触笔属性集的第一描述和定义的触笔属性集的子集的第二描述。第二,传感器控制器当与能够报告大致所定义的触笔属性集的第一有源触笔耦合时,向主机处理器发送由第一描述定义并且具有填充有从第一有源触笔报告的值的大致定义的触笔属性集的字段的第一触笔报告。第三,传感器控制器当与能够报告大致触笔属性的子集的第二有源触笔耦合时,向主机处理器发送由第二描述定义并且具有填充有从第二有源触笔报告的值的大致的触笔属性的子集的字段的第二触笔报告。
根据该方法,取决于用于发送触笔报告的有源触笔的类型,由定义的触笔属性集的第一描述定义的第一触笔报告或由定义的触笔属性集的子集的第二描述定义的第二触笔报告由主机处理器接收。已经接收到包括来自传感器控制器的第一和第二描述两者的缺省描述符,主机处理器可以接收和处理第一触笔报告或第二触笔报告。通常,第一触笔报告具有比第二触笔报告大的数据大小。
根据另一方面,传感器控制器被提供以耦合到传感器,所述传感器将与有源触笔交互。传感器控制器包括处理电路,其在操作中支持定义的触笔属性集的缺省描述符。传感器控制器还包括耦合到处理电路的发送电路,其中当传感器控制器和主机处理器之间的连接被建立时,在操作中的发送电路将缺省描述符发送到主机处理器。当传感器控制器与能够报告定义的触笔属性集的第一子集的第一有源触笔耦合时,发送电路向主机处理器发送由缺省描述符定义并且具有填充有从第一有源触笔报告的值的触笔属性的第一子集的字段的第一触笔报告。当传感器控制器与能够报告不同于第一子集的定义的触笔属性集的第二子集的第二触笔耦合时,发送电路向主机处理器发送由缺省描述符定义并且具有填充有从第二有源触笔报告的值的触笔属性的第二子集的字段的第二触笔报告。
根据另一方面,提供一种主机处理器。主机处理器包括接收电路,其在操作中当主机处理器和传感器控制器之间的连接被建立时,从传感器控制器接收缺省描述符,其中缺省描述符包括定义的触笔属性集。主机处理器还包括耦合到接收电路的处理电路。处理电路当传感器控制器与能够报告所定义的触笔属性集的第一子集的第一有源触笔耦合时,从传感器控制器接收由缺省描述符定义并且具有填充有从第一有源触笔报告的值的触笔属性的第一子集的字段的第一触笔报告。处理电路当传感器控制器与能够报告不同于第一子集的所定义的触笔属性集的第二子集的第二触笔耦合时,从传感器控制器接收由缺省描述符定义并且具有填充有从第二有源触笔报告的值的触笔属性的第二子集的字段的第二触笔报告。
根据另一方面,提供了一种系统,其包括:(a)被配置为与传感器交互的有源触笔,(b)耦合到传感器的传感器控制器,以及(c)主机处理器。传感器控制器(b)包括:传感器处理电路,其在操作中支持定义的触笔属性集的缺省描述符;传感器发送电路,其耦合到传感器处理电路。主机处理器(c)包括:主机接收电路,其在操作中从传感器控制器接收缺省描述符;和主机处理电路,其耦合到主机接收电路。当传感器控制器和主机处理器之间的连接被建立时,传感器控制器的传感器发送电路将缺省描述符发送到主机处理器。当传感器控制器与能够报告定义的触笔属性集的第一子集的第一有源触笔耦合时,传感器控制器的传感器发送电路向主机处理器发送由缺省描述符定义并且具有填充有从第一有源触笔报告的值的触笔属性的第一子集的字段的第一触笔报告。当传感器控制器与能够报告不同于第一子集的定义的触笔属性集的第二子集的第二触笔耦合时,传感器控制器的传感器发送电路向主机处理器发送由缺省描述符定义并且具有填充有从第二有源触笔报告的值的触笔属性的第二子集的字段的第二触笔报告。
根据一个方面,提供了一种用于经由传感器控制器在主机处理器和有源触笔之间进行通信的方法,其中传感器控制器耦合到配置为与有源触笔交互的传感器。该方法通常包括三个步骤。首先,主机处理器发送从在主机处理器上操作的应用接收的命令。第二,传感器控制器接收来自主机处理器的命令,并将命令转发到有源触笔。第三,响应于命令,有源触笔对命令进行操作,并向传感器控制器发送命令响应。
根据该方法,主机处理器、或更具体地在主机处理器(例如,绘图应用)上操作的应用可以将命令发送到有源触笔,例如,以查询有源触笔的状态或配置(设置)有源触笔的某些属性。
根据一个方面,传感器控制器将从有源触笔返回的命令响应存储在耦合到传感器控制器的存储器设备中。主机处理器随后请求从传感器控制器的存储器设备中检索命令响应。
根据一个方面,传感器控制器和主机处理器被配置为经由通用串行总线(USB)接口、内部集成电路(I2C)总线或串行外设接口(SPI)总线连接。
根据一个方面,命令是对有源触笔的请求命令。
根据一个方面,命令是用于识别有源触笔的属性的请求命令,属性诸如有源触笔的优选颜色值、优选线宽值或优选线型值。
根据另一方面,命令是用于设置有源触笔的属性的设置命令,属性诸如优选颜色值、优选线宽值或优选线型值。
根据一个方面,来自有源触笔的命令响应包括作为对该命令进行操作的结果导出的数据。
根据另一方面,提供传感器控制器以耦合到传感器和主机处理器,其中传感器包括用于从有源触笔接收信号并且向有源触笔发送信号的电极矩阵。传感器控制器包括接收电路,其在操作中从在主机处理器上操作的应用接收命令。传感器控制器还包括存储器设备和耦合到接收电路和存储器设备的处理电路。处理电路在操作中经由传感器的电极矩阵将接收到的命令转发到有源触笔。处理电路经由传感器的电极矩阵从有源触笔接收命令响应。处理电路将接收的命令响应存储在存储器设备中。
根据另一方面,提供一种主机处理器。主机处理器包括发送电路,其在操作中将来自在主机处理器上操作的应用的命令发送到耦合到配置为与有源触笔交互的传感器的传感器控制器。主机处理器还包括耦合到发送电路的处理电路。处理电路被配置为请求检索响应于该命令从有源触笔返回并存储在传感器控制器的存储器设备中的命令响应。主机处理器还包括接收电路,其在操作中接收从传感器控制器的存储器设备中检索的命令响应。
根据另一方面,提供了一种系统,其包括:(a)主机处理器,其被配置为发送来自在主机处理器上操作的应用的命令,(b)有源触笔,其被配置为与传感器交互,以及(c)传感器控制器,其耦合到传感器。传感器控制器(c)包括:传感器接收电路,其在操作中从主机处理器接收命令;存储器设备;以及传感器处理电路,其耦合到传感器接收电路和存储器设备,并且被配置为将所接收的命令转发到有源触笔。响应于该命令,有源触笔对命令进行操作,并向传感器控制器返回命令响应。
附图说明
图1是示出包括有源触笔和电子设备(例如,平板计算机)的整个系统的图,其中电子设备包括传感器、耦合到传感器的传感器控制器、以及耦合到传感器控制器的电子设备的主机处理器。
图2A是样本有源触笔的功能框图。
图2B是样本传感器控制器的功能框图。
图3是用于触笔和传感器控制器之间的双向通信的样本帧格式,其中该帧被分成十六(16)个时隙s0~s15。
图4A是列出有源触笔的触笔能力信息的样本类型的表,包括关于有源触笔的预定义(预配置)能力的能力信息,以及关于有源触笔的用户可调节设置的设置信息。
图4B是列出用于由有源触笔将有源触笔的能力信息发送到传感器控制器的样本数据格式的表。
图4C是列出用于由有源触笔用于发送关于有源触笔的定向检测能力的能力信息的样本定向代码的表。
图4D是列出能力信息、特别是有源触笔的定向检测能力的表的另一示例。
图4E描述了关于有源触笔的预定义能力的触笔能力信息的三个示例。
图5A是列出指示有源触笔的操作状态的样本操作数据的表,该样本操作数据根据由下行链路时隙分配设置的时间表从有源触笔发送到传感器控制器。
图5B是表示一种操作数据即IMU(惯性测量单元)数据的下行链路数据分组格式的表。
图5C是列出指示有源触笔的操作状态的样本操作数据的表,当由传感器控制器轮询(请求)时该样本操作数据被发送到传感器控制器。
图6是示出有源触笔的样本过程流的流程图。
图7是示出传感器控制器——特别是使用有源触笔进行配对操作——的样本流程的流程图,其中传感器控制器从有源触笔接收指示触笔能力信息(例如,设置信息)的哈希值,以及确定它是否识别接收的哈希值,如果是,则加速配对操作。
图8A和图8B示出了样本帧格式,其中传感器控制器向有源触笔发送信标信号(BS),并且有源触笔作为响应将包括触笔能力信息的信号(CP或Hash#1)发回到传感器控制器。
图9A-图9G示出七种不同的帧格式,其中有源触笔分别根据由传感器控制器指定的六种不同种类的下行链路时隙向传感器控制器发送分组。
图10是示出有源触笔和传感器控制器之间的样本配对操作的流程图,其中有源触笔发送指示其能力信息的哈希值,并且传感器控制器确定其是否识别接收的哈希值,如果是,加速配对操作。传感器控制器另外使用第二哈希值作为从先前配对的触笔接收的能力信息的进一步验证。
图11是示出包括有源触笔和电子设备的整个系统的图,其中电子设备包括传感器、耦合到传感器的传感器控制器、以及耦合到传感器控制器的电子设备的主机处理器,特别地示出传感器控制器和主机处理器之间的双向通信。
图12A是示出基于支持发送包括各种触笔属性集的触笔报告的缺省描述符在传感器控制器和主机处理器之间的通信的方法的流程图。
图12B是示出基于支持发送包括各种触笔属性集的触笔报告的缺省描述符在传感器控制器和主机处理器之间的通信的方法的另一流程图。
图12C是示出主机处理器之间的通信的方法的流程图,主机处理器将用于有源触笔的命令发送到传感器控制器,其将该命令转发到有源触笔并接收并存储从有源触笔返回的命令响应以供以后由主机处理器检索。
图13是包括定义的触笔属性集的样本缺省描述符。
图14是示出由缺省描述符的第一(完整)描述支持的完整报告中以及由图13的缺省描述符的第二(部分)描述支持的简短报告中包括的触笔属性的表格。
图15是样本部分描述,其作为图13的缺省描述符的一部分,包括定义的触笔属性集的子集。
图16是图12C的方法的序列图,其示出了主机处理器的交互操作,该主机处理器向传感器控制器发送命令,其将该命令转发到有源触笔,有源触笔然后返回命令响应。
具体实施方式
图1示出包括有源触笔100和电子设备(例如,PC、平板计算机、智能电话)3的整个系统。电子设备3包括传感器201、耦合到传感器201的传感器控制器200、以及耦合到传感器控制器200的电子设备3的主机处理器300。虽然图1示出了包括在电子设备3中的传感器控制器200和主机处理器300,但是在各种实施例中,主机处理器300可以被独立地提供以耦合到包括传感器控制器200的电子设备3(例如,平板电脑外围设备)。
诸如PC、平板计算机、智能电话等的电子设备3通常包括位于传感器201下方或上方的屏幕,并且用户操作有源触笔100以在屏幕上手写文本和图形。如本文所使用的,有源触笔是包括电子器件和电源105的触笔,电源105诸如电池或寄生能量导管。传感器201可以是本领域已知的任何合适的触笔敏感传感器,诸如电容式触摸/触笔传感器、电阻式触摸/触笔传感器、电磁谐振触笔传感器、光学触笔传感器、超声触笔传感器等。一些是触笔传感器,而另一些则是能够检测有源触笔和手指触摸两者的传感器。下面将参照图2B详细描述的传感器控制器200控制传感器201的操作,与有源触笔100进行双向通信,并与主机处理器300进行通信。例如,传感器控制器200处理来自有源触笔100的手写输入数据,以确定在传感器201上由有源触笔100指示(指向)的位置的(X,Y)坐标和颜色,并且将(X,Y)坐标和颜色信息转发到电子设备3的主机处理器300。主机处理器300通常是具有存储器等的控制器或CPU。传感器控制器200和主机处理器300经由诸如USB人机接口设备(HID)协议(PTCL)的合适接口连接。首先将主要参照图1至图10描述有源触笔100和传感器控制器200之间的通信,之后将主要参照图11至图16描述主机处理器300和传感器控制器200(其又与有源触笔100通信)之间的通信。
下面将参照图2A详细描述的有源触笔100包括触笔能力信息管理器110,其包括以表(TBL)的形式存储触笔的触笔能力信息的存储器/缓存。如下面将更全面地描述的那样,触笔能力信息可以包括关于触笔的预定义(例如,制造商配置的)能力的能力信息,其通常是不可更改的,以及关于触笔的用户可调节设置的设置信息。触笔能力信息管理器110在每次用户使用例如提供在触笔100上的开关(按钮)111改变触笔设置(诸如触笔颜色和触笔线宽)时更新设置信息。在图1中,示出了两个这样的按钮:一个尾部按钮111A和一个侧面按钮111B。有源触笔100还包括数据管理器112,其准备指示有源触笔的操作状态的操作数据,诸如触笔(笔)笔尖压力数据和触笔定向数据(例如,触笔相对于传感器表面扭转或倾斜多少)。
触笔能力信息管理器110和数据管理器112都耦合到包括发送(TX)和接收(RX)电路的通信模块130。通信模块130将有源触笔100的触笔能力信息和操作数据发送到传感器控制器200,并且从传感器控制器200接收各种命令和其它信息(在信标信号中),如下面将更全面地描述的。在这种双向通信协议中,传感器控制器200是主设备,并且有源触笔100是从设备。在本公开中,从传感器控制器200到有源触笔100的发送方向被称为“上行链路”,并且从有源触笔100到传感器控制器200的发送方向被称为“下行链路”。
如图1中示意性所示,有源触笔100和传感器控制器200之间的典型的双向通信流程在向下箭头所示的笔向下操作期间以有源触笔100进入传感器控制器200的感测区域(SZ)开始。一旦有源触笔100在感测区域内,它可以检测经由传感器201从传感器控制器200周期性地发送的信标信号。在检测到信标信号时,有源触笔100发送响应信号,该响应信号包括从触笔能力信息管理器110检索到的触笔能力信息。如下面详细参考图10所描述的,有源触笔100的设置信息可以被哈希以产生固定(较小)大小(“Hash#1”)的哈希值,其可以有利地在一个时隙中发送到传感器控制器200。Hash#1具有固定大小(“Hash#2”)的相应哈希值。如果有源触笔100先前已经与传感器控制器200配对,则有源触笔100和传感器控制器200都具有Hash#1和Hash#2,它们在有源触笔100与传感器控制器200配对时根据有源触笔100的特定设置信息计算。因此,如果传感器控制器200识别接收到的Hash#1,则传感器控制器200知道它先前与有源触笔100配对,并且因此已经知道包括特定设置信息的有源触笔100的触笔能力信息。然后,传感器控制器200可以使用与先前分配给有源触笔100相同的下行链路时隙分配来开始与有源触笔100的双向通信。此外,传感器控制器200可以将Hash#2(其对应于所接收的Hash#1)返回到有源触笔100,以验证其已经正确地识别有源触笔100。如下面将更充分地描述的,使用Hash#1可以加速每次有源触笔100重新进入传感器控制器200的感测区域时有源触笔100和传感器控制器200之间的配对过程,当有源触笔100重复退出(参见“笔向上”箭头)并重新进入(参见“笔向下”箭头)感测区域时,这是特别有利的技术特征。
如本文所使用的,“配对”操作是指以发送来自有源触笔100的响应信号开始,有源触笔100已经检测到来自传感器控制器200的初始(发现)信标信号,并以发送来自传感器控制器200包括用于有源触笔100的下行链路时隙分配的另一个信标信号结束的过程。传感器控制器200根据有源触笔的触笔能力信息,确定给定有源触笔的下行链路时隙分配,从而建立唯一的通信链路,完全支持有源触笔的触笔能力。因此,在配对操作结束时,有源触笔可以使用新建立的唯一通信链路开始与传感器控制器的双向通信。
使用Hash#1对于实现“快速上墨”也是有利的。在应用程序能够开始绘制之前,需要知道要在屏幕上渲染的线的参数。这些参数包括例如线的颜色或刷子样式(喷枪、粉笔等)。使用Hash#1允许传感器控制器快速识别已经为已经进入感测区域的特定触笔缓存了这些参数,并使这些参数几乎立即可用于应用程序以开始绘制或“上墨”。
图2A是样本有源触笔100的功能框图。有源触笔100包括在其笔尖处的TX/RX电极115、耦合到TX/RX电极115的开关SW、接收电路117、发送电路119和微型控制器单元(MCU)120。MCU 120是包括内部ROM和RAM并被配置为根据定义的程序进行操作的微处理器。开关SW根据来自MCU 120的开关控制信号SWC的指示将TX/RX电极115耦合到接收端子R或发送端子T。最初开关SW将TX/RX电极115连接到接收端子R,同时有源触笔100监听来自传感器控制器200的信标信号。接收电路117包括从TX/RX电极115接收和处理信号并且以可由MCU 120使用的数字形式输出它们所必需的电子部件。当MCU 120检测到来自传感器控制器200的信标信号时,它与发送电路119合作准备响应信号(例如,ACK信号),并且还将开关控制信号SWC发送到开关SW以将TX/RX电极115连接到发送端子T以经由TX/RX电极115将响应信号发送到传感器控制器200。
发送电路119包括接收和处理来自MCU 120的信号所必需的电子部件,并将其输出以经由TX/RX电极115发送到传感器控制器200。例如,发送电路119以由MCU 120指定的频率产生载波信号,并且可以在不调制的情况下输出载波信号作为将由控制器200使用的“位置分组”,以确定(计算)由有源触笔100指示的位置。或者,发送电路119可以使用诸如PSK(相移键控)、D-BPSK(差分二进制PSK)、QAM(正交幅度调制)和DSSS(直接序列扩频)的任何适当的调制方案来利用诸如指示设置信息的Hash#1的有源触笔100的触笔能力信息调制载波信号。然后经由TX/RX电极115将利用触笔能力信息调制的信号发送到传感器控制器200。
发送电路119可以利用除了触笔能力信息之外的信息(诸如指示有源触笔100的操作状态的操作数据)来调制载波信号。操作数据可以包括例如触笔(笔)笔尖压力数据、触笔笔筒压力数据、触笔定向(例如扭转/倾斜)数据、触笔开关状态和触笔电池水平。为了生成这样的操作数据,有源触笔100包括一个或多个传感器122,诸如触笔(笔)笔尖压力传感器122a(例如,包括可变电容器),其被配置为感测施加到触笔笔尖的压力;笔筒压力传感器,其被配置为感测施加到触笔笔筒的压力,9轴或更少轴IMU(惯性测量单元)122b(由3轴陀螺仪、3轴加速度计和3轴磁力计中的一个或多个组合构成);扭转传感器122c,其被配置为感测有源触笔100关于其轴相对于传感器201的X电极(或Y电极)中的每一个的方向的扭转/旋转;倾斜传感器122d,其被配置为感测有源触笔100的轴相对于传感器201的表面等的X方向和Y方向倾斜。(除了触笔笔尖压力传感器122a之外的传感器122b-122d的示出被省略)。MCU120和发送电路119准备从这些传感器到“数据分组”的输出,以经由TX/RX电极115发送到传感器控制器200。为了将数据分组发送到传感器控制器200,MCU 120发送开关控制信号SWC以开关SW以将TX/RX电极115连接到发送端子T。
不同的有源触笔具有不同的感测能力;一些触笔完全配备有各种传感器,而其它触笔仅包括触笔笔尖压力传感器122a。如下面将更全面地描述的那样,本发明提出了一种双向通信协议,其允许传感器控制器200快速确定进入感测区域的给定有源触笔的特定能力,从而配置支持触笔的能力的独特的通信链路(基于特定的下行链路时隙分配)。
图2B是样本传感器控制器200的功能框图。传感器控制器200是电子设备3(参见图1)的一部分,并且耦合到包括X电极201X和Y电极201Y的矩阵的传感器201,在其上有源触笔100执行各种手写操作。传感器控制器200还耦合到电子设备3的主机处理器300。
传感器控制器200包括发送电路210、选择器220、接收电路230、逻辑单元235和MCU(微控制器单元)240。MCU 240是包括内部ROM和RAM并被配置为根据定义的程序操作的微处理器。MCU 240引导逻辑单元235发出控制信令(ctr、sTRx、sTRy、selX、selY等)以控制发送电路210、选择器220和接收电路230的操作。MCU 240处理从接收电路230接收的数字数据,以确定/计算由传感器201上的有源触笔100指示的点的X坐标和Y坐标、颜色、不透明度(黑度)等,并将计算的点数据输出到电子设备3的主机处理器300例如用于显示。
发送电路210包括接收和处理来自MCU 240的信号并输出它们以经由传感器201的矩阵电极发送到有源触笔100所需的电子部件。具体来说,在MCU 240的控制下,发送电路210产生周期性的信标信号以经由传感器201的矩阵电极发送到有源触笔100。如下面将更全面地描述的,信标信号由附近的有源触笔使用(检测)来发现传感器控制器200并用作定时参考以由有源触笔100与传感器控制器200同步。另外,信标信号可以包括Hash#2,已经从有源触笔100接收到Hash#1的传感器控制器200可以将其发送回到有源触笔100进行验证,如上所述。信标信号可以包括针对有源触笔确定的下行链路时隙分配,从而通知有源触笔要使用什么下行链路时隙以向传感器控制器发送什么类型的分组。另外,信标信号可以包括用于控制有源触笔100的操作的各种命令。例如,信标信号可以包括用于请求有源触笔100向传感器控制器200发送(附加的)触笔能力信息的读取命令,或者用于配置(写入)有源触笔100的能力信息的写入命令。信标信号还可以包括请求(轮询)有源触笔以将诸如有源触笔的电池水平的有源触笔的操作数据发送到传感器发送电路210的轮询命令。发送电路210可以使用任何合适的调制方案,诸如PSK、D-BPSK、QAM和DSSS,利用Hash#2、利用下行链路时隙分配或从MCU 240接收的这些各种命令来调制与Hash#2形成信标信号的载波信号。
接收电路230包括处理经由传感器201的矩阵电极从有源触笔100接收到的信号并以可由MCU 240使用的数字形式输出它们所必需的电子部件。例如,接收电路230处理从有源触笔100接收的响应信号(响应于信标信号)、数据分组(包括有源触笔的操作数据)和位置分组并输出到MCU 240。当传感器201能够检测手指触摸以及有源触笔100时,接收电路230经由传感器201的矩阵电极接收指示手指触摸的信号以及从有源触笔100发送的信号,并且将其处理并输出到MCU 240,其确定手指触摸位置以及由有源触笔100指示的位置。
选择器220基于来自逻辑单元235的控制信号,在发送模式和接收模式之间切换传感器201的操作模式。选择器220包括开关222x和222y以及电极选择电路224x和224y。基于来自逻辑单元235的控制信令sTRy和sTRx,开关222x、222y分别将传感器201的X电极201X和Y电极201Y连接到耦合到发送电路210的发送端子T或耦合到接收电路230的接收端子R。耦合到发送电路210的电极在发送模式下用于将信号发送到有源触笔100,并且耦合到接收电路230的电极在接收模式下用于从有源触笔100接收信号。此外,基于控制信令selX和selX,电极选择电路224x和224y分别选择X电极201X和Y电极201Y以向有源触笔100发送信号或从有源触笔100接收信号。逻辑单元235另外向发送电路210和接收电路230发送控制信令“ctr”,以按照MCU240的指示来控制它们的操作。
图3是用于有源触笔100和传感器控制器200之间的双向通信的样本帧格式,其中双向通信资源沿着时间轴被分为帧,并且沿着频率轴被分为不同的频率。每个帧沿着时间轴被进一步分为十六(16)个时隙s0~s15,其中每个时隙的大小适合于容纳高达20位(16个信息位加4个CRC位)。在一个示例中,帧长度为16毫秒,时隙长度为1毫秒。应当注意,帧可以被分为少于或多于16个时隙,并且本发明不限于在此所示的16个时隙示例。例如,16毫秒帧可以被分为64个时隙,其中每个时隙是250微秒长。
在示例性实施例中,传感器控制器200在“上行链路”中使用每个帧开始处的一个或多个时隙,以向有源触笔100发送周期性信标信号(BS)。因此,帧可以被认为是在两个连续的信标信号的开始之间的间隔。每个帧中的其它时隙由有源触笔100在“下行链路”中用于向传感器控制器200发送信号(例如,对信标信号的响应信号)、数据分组和位置分组,如下面将描述的图8A-图9G的各种示例所示。尽管未示出,但是可以在上行链路时隙(图3中的s0)和下行链路时隙(图3中的s1-s15)之间提供间隙时隙,在此期间没有调度上行链路或下行链路发送,以避免上行链路发送与下行链路发送之间的冲突。
信标信号是由传感器控制器200发送的周期性信号,以允许附近的有源触笔发现传感器控制器200,并且用作在传感器控制器200和有源触笔100之间的双向通信中使用的时隙的定时参考。因此,在典型实施例中,在所有频率上发送信标信号以使所有有源触笔可以检测。每个有源触笔100监听信标信号,并且在其检测到信标信号之后,基于信标信号设置其定时参考。由有源触笔100检测到以发现传感器控制器200的初始信标信号之后的信标信号可以包括各种信息,诸如用于验证有源触笔100之前与传感器控制器200配对的Hash#2,以及在配对操作期间和之后控制有源触笔100的操作的命令。包括Hash#2的信标信号或指向有源触笔100的命令通常包括有源触笔100的触笔ID,使得有源触笔100可以识别哪些信标信号指向有源触笔100(如果有的话,与其它有源触笔相反)。来自传感器控制器200的信标信号通常还包括传感器控制器200的传感器控制器ID。
根据各种实施例,传感器控制器200快速地确定正进入传感器控制器200的感测区域的每个有源触笔100的能力信息,并且基于确定的能力信息确定有源触笔100的下行链路时隙分配。有源触笔100然后根据支持有源触笔100的能力的所确定的下行链路时隙分配,通过向传感器控制器发送数据分组和/或定位分组,开始与传感器控制器的双向通信。例如,当传感器控制器200确定给定的有源触笔具有触笔定向检测能力时,传感器控制器200为有源触笔100分配下行链路时隙以将触笔定向数据发送到传感器控制器200,而传感器控制器200不将这样的下行链路时隙分配到没有触笔定向检测能力的有源触笔。因此,传感器控制器200可以根据有源触笔的能力信息,向有源触笔分配不同的下行链路时隙分配。因为在有源触笔位于传感器控制器200的感测区域之外时可以修改关于有源触笔的用户可调节设置的设置信息(例如,触笔线宽),所以即使有源触笔先前已经与传感器控制器配对,每次有源触笔重新进入感应区域时,传感器控制器需要确定当前设置信息。
图4A是列出有源触笔的触笔能力信息的样本类型的表,其包括能力信息和设置信息。能力信息涉及通常由触笔供应商(制造商)预先配置、并且通常不是用户可改变的的有源触笔的预定义功能。例如,提供在触笔上的笔筒开关的数量不是用户可改变的。能力信息还可以包括指示有源触笔遵循双向通信协议的哪个版本的版本号(4位)。能力信息还可以包括“优选颜色”(8位以指示140个CSS(级联样式表)颜色之一),其是将显示在传感器201的屏幕上的有源触笔的优选或缺省颜色。能力信息还可以涉及可由供应商为有源触笔配置的各种其它能力,如下面将参考图4B更充分地描述的。
图4A还描述了关于有源触笔的用户可调节设置的一些设置信息,诸如包括触笔线宽和触笔笔尖类型(例如,0=钢笔,1=擦除器,2=凿尖笔,3=喷枪,4=铅笔,5-7=为自定义/供应商特定的笔尖样式预留)和分配给有源触笔的尾部/笔筒按钮(开关)111A/111B的功能。例如,用户可以通过操作按钮(开关)或改变分配给按钮(开关)的功能来改变笔风格。设置信息可以涉及可以为有源触笔配置的其它用户可改变的设置。有源触笔的唯一识别号可以由用户通过位于有源触笔上的一个或多个开关来改变。例如,一起形成每个触笔的64位全局ID的供应商ID(8位)和序列号(56位)可以是用户可改变的。(在一些实施例中,全局ID不是用户可改变的)。另外,以上作为一种能力信息类型而被描述的有源触笔的“优选颜色”可以替代地是用户可调节的设置信息,并且用户可以例如使用按钮(开关)自由调整优选(缺省)颜色。如“优选颜色”的示例所指示,能力信息和设置信息之间的差异不是刚性的,并且可以从供应商到供应商或者从触笔到触笔而改变。此外,可能存在一些可由用户仅一次或非常不频繁设置的设置信息,使得它可被视为能力信息。
图4B是列出用于由有源触笔将其能力信息发送到传感器控制器200的样本数据格式的表。能力信息包括例如关于可以检测到多少不同级别(例如,256、512、1024等)的笔尖压力的信息;在有源触笔上提供的笔筒按钮(例如,111A/111B)的数量;检测笔筒压力的触笔能力(否或是,且如果是,可以检测到多少不同级别的笔筒压力);以及检测触笔定向(例如,触笔扭转和倾斜)的触笔能力,如下面将参考图4C更充分地描述的。
图4B的能力信息还可以包括关于是否为数据分组设置了自定义(客制化的)数据大小的信息(否或是),以及如果是,自定义数据字节的数量;可以检测触笔定向的定向分辨率(例如,0指示8位分辨率,1指示9位分辨率,并且2指示10位分辨率);可以检测笔尖压力所在的不同级别的客制化的编号(与缺省编号相反);有源触笔上提供的笔筒按钮的客制化的数量(与缺省数量相反);以及用于发送定向数据的数据字节的客制化的数量(与缺省数据字节相反)。
图4C是列出用于由有源触笔将关于触笔定向检测能力的能力信息发送到传感器控制器的样本定向代码的表。原始代码0指示有源触笔没有定向检测功能;1指示有源触笔可以检测X方向和Y方向两者上的倾斜,并且可以在每帧两个时隙中发送检测到的X倾斜和Y倾斜数据;2指示有源触笔可以检测X倾斜和Y倾斜加扭转(旋转)数据和在每帧3个时隙中发送;3指示有源触笔可以检测有源触笔相对于传感器表面的高度和方位角数据并在每帧2个时隙中发送;4指示有源触笔可以检测高度和方位角数据以及扭转(旋转)数据并在每帧3个时隙中发送;5指示有源触笔包括由3轴陀螺仪和3轴加速度计组合的6轴IMU(惯性测量单元),并且可以在每帧3个时隙中发送6轴IMU数据;6指示有源触笔包括由3轴陀螺仪、3轴加速度计和3轴磁力计的组合组成的9轴IMU,并且可以在每帧3个时隙中发送9轴IMU数据;并且7指示可以由有源触笔检测和发送的定向数据的客制化形式。
虽然图4C的定向代码表示出了对于不同类型的定向传感器的不同值0至7,但是替选方法是提供能力的位字段,如图4D所示,有源触笔可以使用位字段向传感器控制器通知其定向能力。在能力信息中设置的每个位指示触笔能够测量该项。如果在能力信息字段中设置笔筒压力位,其指示触笔具有笔筒压力指示。如果设置倾斜位,其指示触笔能够测量X和Y倾斜。如果设置扭转位,其指示触笔能够测量触笔轴向扭转。如果设置高度和方位角位,其指示触笔能够测量触笔的高度和方位角。如果设置IMUhasAccel位,其指示触笔具有三轴加速度计。如果设置IMUhasGyro标志,其指示触笔具有三轴陀螺仪。如果设置IMUhasMagnet位,其指示触笔具有三轴磁力计。设置这些位中的每一个指示需要为该数据分配时隙,尽管将如下所述,对于IMU可以将数据复用到单个时隙或时隙集中。
图4E描述了有源触笔的能力信息的三个示例。示例1是第一有源触笔的能力信息,其可以检测在1024个不同级别的触笔笔尖压力,具有1个笔筒按钮,没有切向(笔筒)压力感测能力,没有触笔定向感测能力,并且没有自定义能力。示例2是第二有源触笔的能力信息,其可以检测在2048个不同级别的触笔笔尖压力,具有2个笔筒按钮,具有切向(笔筒)压力感测能力,具有基于9轴IMU的触笔定向感测能力(图4C中的定向代码6),并且没有自定义能力。示例3是第三有源触笔的能力信息,其可以检测客制化的数量的不同级别的触笔笔尖压力,其中每个压力级别(值)以16位表示,没有笔筒按钮,并且没有切向(笔筒)压力感测能力,并且具有用于检测和报告有源触笔的高度和方位角数据以及扭转(旋转)数据的触笔定向感测能力(图4C中的定向代码4)。
图5A是列出可以根据由有源触笔的下行链路时隙分配设置的时间表从有源触笔发送到传感器控制器的指示有源触笔的操作状态的样本操作数据的表。在各种实施例中,根据时间表发送的操作数据是传感器控制器为了传感器控制器和有源触笔之间实现适当的交互操作需要的操作数据。这种操作数据包括例如笔尖压力数据、切向(笔筒)压力数据、每个笔筒按钮的状态(例如,每个笔筒按钮的开/关状态)、指示有源触笔是否从其预期定向反转的反转数据(即,触笔笔尖向上指向,意味着触笔尾部指向传感器表面并与传感器表面接触以用作例如“擦除器”)、触笔定向数据、以及任何其它指示有源触笔的一些操作状态的客制化的操作数据。
在某些情况下,触笔中来自传感器的操作数据量可能很大。IMU尤其如此。这些传感器可以具有以下中的任何或全部:具有一至三个轴的加速度计、具有一至三个轴的陀螺仪、以及具有一至三个轴的磁力计。这可能导致需要发送多达九轴数据。作为在专用类型的九个时隙中发送该数据(例如,加速度计的X、Y、Z轴;陀螺仪的X、Y、Z轴以及磁力计的X、Y、Z轴)的替代方案,数据可以被复用到一个或多个时隙中。
为了完成复用,IMU数据用标志(IMU标志)标记,以指示数据来自哪个传感器(加速度计、陀螺仪或磁力计)。图5B是用于发送IMU数据的数据分组(或报告)的示例。在图5B中,“IMU数据”字段包括IMU数据本身,“IMU标志”字段指示哪个传感器产生IMU数据。例如,如果IMU标志是0,其可以指示数据来自加速度计,如果IMU标志是1,其可以指示数据来自陀螺仪,并且如果IMU标志是2,其可以指示数据来自磁力计。IMU数据字段可以包括由IMU标志指示的传感器产生的X、Y、Z轴数据。
例如,数据的九个轴(例如,加速度计的X、Y、Z轴;陀螺仪的X、Y、Z轴;以及磁力计的X、Y、Z轴)可以被复用到共同报告格式(或数据分组)的三个时隙(或三个数据字段),以在三个不同的时间形成三个报告,如下所示:
(报告1)
传感器标签-“加速度计”
X轴数据字段-加速度计X轴数据
Y轴数据字段-加速度计Y轴数据
Z轴数据字段-加速度计Z轴数据
(报告2)
传感器标签-“陀螺仪”
X轴数据字段-陀螺仪X轴数据
Y轴数据字段-陀螺仪Y轴数据
Z轴数据字段-陀螺仪Z轴数据
(报告3)
传感器标签-“磁力计”
X轴数据字段-磁力计X轴数据
Y轴数据字段-磁力计Y轴数据
Z轴数据字段-磁力计Z轴数据
作为另一个示例,可以将数据的九个轴复用成共同报告格式的一个时隙(或一个数据字段),以在九个不同的时间形成九个报告:
(报告1)
传感器标签-“加速度计”
轴标签-“X”
数据字段-加速度计X轴数据
(报告2)
传感器标签-“加速度计”
轴标签-“Y”
数据字段-加速度计Y轴数据
(报告3)
传感器标签-“加速度计”
轴标签-“Z”
数据字段-加速度计Z轴数据
(报告4)
传感器标签-“陀螺仪”
轴标签-“X”
数据字段-陀螺仪X轴数据
(报告5)
传感器标签-“陀螺仪”
轴标签-“Y”
数据字段-陀螺仪Y轴数据
(报告6)
传感器标签-“陀螺仪”
轴标签-“Z”
数据字段-陀螺仪Z轴数据
(报告7)
传感器标签-“磁力计”
轴标签-“X”
数据字段-磁力计X轴数据
(报告8)
传感器标签-“磁力计”
轴标签-“Y”
数据字段-磁力计Y轴数据
(报告9)
传感器标签-“磁力计”
轴标签-“Z”
数据字段-磁力计Z轴数据
以这种方式将IMU数据复用到一个或多个时隙(一个或多个数据字段)具有减少每个报告中所需时隙数量的优点,代价是增加发送IMU数据所需的报告数量,减缓IMU的整体数据速率。
在一些实施例中,来自多个IMU传感器的数据可以在称为“传感器融合”的过程中组合以产生期望的位置和运动信息。例如,当期望确定有源触笔的哪个方向是“向下”时,可以从指示移动的加速度方向和重力的加速度方向两者的加速度计数据中减去指示移动方向的陀螺仪数据。减去的结果指示仅由于重力的加速度方向,即参考的“向下”帧。
在进行“传感器融合”时,来自各种IMU传感器的数据应该尽可能相对于彼此时间上接近地进行测量,以给出最准确的结果。图5B所示的“结束”位可以用于实现来自如下各种IMU传感器的数据之中的同步。在有源触笔中获取并缓冲多个IMU传感器的测量。在可用的IMU时隙分配中发送该缓冲数据,其中结束位清零(例如,“0”)。图9G显示了IMU数据分组和“结束位”的使用的示例。当最后缓冲数据元素被放置在时隙中时,设置结束位(例如,到“1”)以指示它是由多个IMU传感器同时或时间上接近地获得的IMU数据集中的最后一个。在传感器控制器中,接收到的结束位清零的任何IMU数据都被添加到缓冲区。当传感器控制器接收到设置结束位的IMU数据时,传感器控制器然后可以使用缓冲器中的数据作为来自多个IMU传感器的完整的IMU数据集,以便发送到主机处理器进行传感器融合。
图5C是列出指示有源触笔的操作状态的样本操作数据的表,诸如有源触笔的电池水平,当在由传感器控制器进行轮询(请求)时有源触笔将其发送到传感器控制器。因此,这种类型的操作数据仅不频繁地被发送到传感器控制器。
应该注意的是,上述参照图4A-图4E描述的触笔能力信息并且参照上述图5A-图5C描述的操作数据仅为示例,并且本发明不限于使用图4A-图5C中公开的具体示例。
图6是示出有源触笔的样本过程流的流程图。在步骤S601中,有源触笔确定其自己的触笔能力信息,例如存储在触笔能力信息管理器110(图1)的表TBL中。当在步骤S603中有源触笔检测用户操作以修改有源触笔的设置(例如,触笔线宽、颜色等)时,在步骤S605中,有源触笔相应地更新设置信息。如图6所示,步骤S601-S605通常发生在有源触笔100位于传感器控制器200的感测区域之外时。在步骤S611中,有源触笔监听来自传感器控制器200的信标信号,如果没有检测到信标信号,则返回到步骤S603,并根据需要继续更新设置信息,并监听信标信号。
在步骤S611中,在进入传感器控制器200的检测区域时,有源触笔检测来自传感器控制器200的信标信号。在步骤S613中,有源触笔使用检测到的信标信号作为定时参考将其帧/时隙配置与传感器控制器的帧/时隙配置同步。在步骤S615中,有源触笔使用单个下行链路时隙发送设置信息(Hash#1)的哈希值,以使传感器控制器确定传感器控制器是否已将有源触笔识别为传感器控制器先前已经配对的那一个。如果传感器控制器无法基于Hash#1识别有源触笔,则在步骤S617中,响应于从传感器控制器接收到的能力信息请求(读取)命令,有源触笔可能使用多个下行链路时隙将其(完整的)触笔能力信息发送到传感器控制器。另一方面,如果传感器控制器基于Hash#1识别有源触笔,则在步骤S619中,传感器控制器优选地使用单个上行时隙将设置信息(“Hash#2”)的哈希值发送到有源触笔用于验证。以下将参照图7和图10进一步描述使用Hash#1和Hash#2的有源触笔和传感器控制器之间的配对和“快速上墨”操作。
在步骤S617中发送未哈希的触笔能力信息或者在步骤S619中接收设置信息的Hash#2之后,在步骤S631中,有源触笔再次监听来自传感器控制器200的信标信号。此时检测到的信标信号包括下行链路时隙分配,传感器控制器基于有源触笔的触笔能力信息为有源触笔确定该下行链路时隙分配。当检测到包括下行链路时隙分配的信标信号时,在步骤S633中,有源触笔将计数器复位为0,并且在步骤S635中,开始根据在检测到的信标信号中包括的下行链路时隙分配设置的时间表向传感器控制器发送分组。要发送的分组可以是要由传感器控制器使用以确定有源触笔的位置的位置分组,和/或包括有源触笔的操作数据(例如,感测到的压力数据、检测到的定向数据等)的数据分组。此外,当在步骤S631中检测到的信标信号中或在任何随后检测到的信标信号(图6中未示出)中被传感器控制器轮询(请求)时,在步骤S637中,有源触笔根据下行链路时隙分配向传感器控制器发送包括轮询的操作数据的数据分组,诸如有源触笔的电池水平。例如,有源触笔可以使用在以上步骤S635中不用于发送调度的分组的任何时隙,以发送包括轮询的操作数据的数据分组。
在步骤S617中发送未哈希的触笔能力信息或者在步骤S619中接收到设置信息的Hash#2之后,如果在步骤S631中有源触笔未检测到信标信号作为返回,则在步骤S641中,有源触笔确定计数器是否超过阈值,并且如果不是则在步骤S643中递增计数器值。如果在步骤S641中计数器超过阈值,则假设有源触笔已经退出传感器控制器200的感测区域(即,用户已经将有源触笔移离传感器201)并且超出了来自传感器控制器的信标信号所能达到的范围。因此,有源触笔返回到步骤S603、S605和S611,以根据需要继续更新设置信息,并监听(初始)信标信号。
图7是示出传感器控制器的样本过程流的流程图。图7还示出了传感器控制器和有源触笔之间的样本配对操作,其中传感器控制器从有源触笔接收指示触笔能力信息(例如,设置信息)的哈希值(“Hash#1”)。如果传感器控制器识别接收到的Hash#1,其可以加速配对操作。
在步骤S711中,传感器控制器诸如在第一时隙“s0”中的每个帧的开始时隙中发送信标信号。在步骤S714中,传感器控制器从来自已经检测到信标信号的有源触笔返回的响应(例如,ACK)信号中提取触笔能力信息的哈希值(Hash#1)。Hash#1可以是包括能力信息和设置信息两者的完整形式的触笔能力信息,或者可以是设置信息的哈希值。
在步骤S715中,传感器控制器确定所提取的Hash#1是否对应于在传感器控制器中缓存的触笔能力信息(例如,设置信息)的哈希值(Hash#1)。本质上,步骤S715是传感器控制器确定它是否将有源触笔识别为传感器控制器先前已经配对的触笔的步骤;如果是这样,则传感器控制器已经具有有源触笔的完整触笔能力信息。
如果传感器控制器在步骤S715中不识别Hash#1,则在步骤S717中,传感器控制器发送包括读取命令的信标信号,以请求有源触笔发送其触笔能力信息。或者或另外地,传感器控制器可以发送包括写入命令的信标信号,以强制地配置(设置)有源触笔的某个设置。例如,传感器控制器可以发出写入命令来为有源触笔设置某个缺省颜色。
在步骤S719中,传感器控制器确认其具有有源触笔的触笔能力信息,传感器控制器已经使用多个下行链路时隙以完整的形式接收到该触笔能力信息(见图6中的步骤S617)或已基于Hash#1确认为该触笔能力信息已经缓存在传感器控制器中。然后,传感器控制器基于触笔能力信息确定有源触笔的下行链路时隙分配。下行链路时隙分配指定帧中的哪些下行链路时隙被分配给有源触笔,并且还可以指定在什么下行链路时隙中有源触笔应该发送什么类型的分组(例如,数据分组或位置分组)。传感器控制器基于有源触笔的特定能力信息,确定每个有源触笔的下行链路时隙分配。例如,对于除了触笔笔尖压力传感器之外包括触笔定向和笔筒压力传感器的有源触笔,与仅包括触笔笔尖压力传感器的有源触笔相比,传感器控制器可以分配更多的下行链路时隙以发送指示来自这些各种传感器的输出的操作数据。当传感器控制器使用各种能力和设置的多个有源触笔时,传感器控制器确定每个有源触笔的下行链路时隙分配,同时避免多个有源触笔之中的下行链路时隙冲突。也就是说,在一些实施例中,每个时隙被分配给一个有源触笔,并且不被多个触笔共享。在其它实施例中,传感器控制器将特定频率分配给每个有源触笔作为有源触笔的下行链路时隙分配的一部分。然后,可以将相同的时隙分配给被分配多个频率的多个有源触笔。下面将参考图8A-图9G描述下行链路时隙分配的各种示例。
返回参考图7,在步骤S731中,传感器控制器将包括所确定的下行链路时隙分配的信标信号发送回已经发送了ACK信号的有源触笔。然后,在步骤S732中,传感器控制器根据下行链路时隙分配来监听要从有源触笔发送的分组。如果传感器控制器检测到来自有源触笔的分组,则在步骤S733中,传感器控制器将计数器复位为0,并且在步骤S735中,传感器控制器根据由下行时隙分配设置的时间表继续接收分组(位置分组和/或包括操作数据的数据分组)。此外,当传感器控制器在任何信标信号中轮询有源触笔以报告诸如有源触笔的电池水平的某些操作数据时,在步骤S737中,传感器控制器从有源触笔接收包括轮询的操作数据的数据分组。
在步骤S731中发送包括下行链路时隙分配的信标信号之后,如果传感器控制器在步骤S732中没有检测到在所分配的下行链路时隙中返回的任何分组,则在步骤S741中,传感器控制器确定计数器是否已超过阈值,如果不是,则在步骤S743中递增计数器值。如果在步骤S741中计数器超过阈值,则假设有源触笔已经退出传感器控制器200的感测区域(即,用户已经将有源触笔移离传感器201)并且超出了来自传感器控制器的信标信号所能达到的范围。因此,传感器控制器返回到步骤S711和S713,并且继续发送周期性的信标信号并等待来自有源触笔的响应信号。
图8A和图8B示出了样本帧格式,其中传感器控制器向有源触笔发送信标信号(BS),并且有源触笔将包括触笔能力信息(CP或Hash#1)的响应信号发送回传感器控制器。在图8A中,在第一帧Fn的时隙s0中,传感器控制器发送信标信号,并且在下一时隙s1中,已经检测到信标信号的有源触笔返回包括有源触笔的未哈希的触笔能力信息的响应信号(“CP1”)。在该示例中,有源触笔先前没有与传感器控制器配对,因此不识别传感器控制器(图6的步骤S615中的“否”)。因此,有源触笔取决于完整的触笔能力信息的大小可能在多个帧上在时隙s1中发送完整(未哈希)的触笔能力信息。图8A示出了有源触笔在至少两个帧Fn和Fn+1的时隙s1中将未哈希的触笔能力信息作为CP1和CP2发送。
在图8B中,有源触笔先前已经与传感器控制器配对并因此识别传感器控制器(图6的步骤S615中的“是”)。因此,有源触笔在时隙s1中发送的响应信号中发送其设置信息(“Hash#1”)的哈希值。有利地,设置信息的哈希值是固定的数据大小,其通常为20位或更少,并且可以在单个时隙中发送。因此,与上述图8A的示例不同,可以使用单个帧(Fn)的时隙s1将代表有源触笔的设置信息的Hash#1快速发送到传感器控制器。
传感器控制器在接收和识别Hash#1(图7的步骤S715中的“是”)时,意识到其已经具有有源触笔的触笔能力信息,并且因此具有有源触笔的下行链路时隙分配。因此,在下一帧Fn+1的时隙s0中,传感器控制器发送信标信号,其包括要由有源触笔使用的下行链路时隙分配,以将分组发送到传感器控制器。
传感器控制器可以以各种方式通知有源触笔下行链路时隙分配。例如,在识别从有源触笔发送的Hash#1之后,传感器控制器可以将对应于Hash#1的Hash#2发送回有源触笔。当有源触笔确认从传感器控制器发送的Hash#2对应于存储在有源触笔中的Hash#2(其中基于相同设置信息计算Hash#2和Hash#1)时,有源触笔确定它可以使用与当其先前与传感器控制器配对时使用的相同的下行链路时隙分配。因此,在该示例中,传感器控制器响应于接收到Hash#1,通过在信标信号中发送Hash#2来向有源触笔发送下行链路时隙分配。在另一示例中,传感器控制器可以将指示特定下行链路时隙分配的预定义代码发送到有源触笔,其中传感器控制器和有源触笔共享预定义代码的列表以及每个代码指示什么下行链路时隙分配。在该示例中,传感器控制器通过在信标信号中发送预定义的代码之一来将下行链路时隙分配发送到有源触笔。作为另一示例,传感器控制器可以通过发送例如指定每帧分配给有源触笔的下行链路时隙的位置的偏移值和间隔值来发送下行链路时隙分配,如下面参考图9A-图9G将更完整地描述的。在该示例中,传感器控制器通过例如在信标信号中发送偏移值和间隔值,将下行链路时隙分配发送到有源触笔。
在图8B中,帧Fn+1的时隙s0中的信标信号包括为有源触笔确定的下行链路时隙分配。因此,有源触笔读取信标信号以确定下行链路时隙分配,并且根据确定的下行链路时隙分配开始在帧Fn+1的时隙s2中发送包括触笔的操作数据的数据分组(DP)。
图9A-图9G示出了七种不同的帧格式,其中有源触笔分别根据由传感器控制器指定的七种不同种类的下行链路时隙分配向传感器控制器发送分组。在图9A-图9G中的每一个中,帧Fn+1的时隙s0中的信标信号包括为有源触笔确定的下行链路时隙分配,因此有源触笔可以根据确定的下行链路时隙分配在帧Fn+1的时隙s1处开始向传感器控制器发送分组(数据分组和/或位置分组)。
在图9A中,下行链路时隙分配指定有源触笔将以四(4)个时隙的相等间隔(T)在帧Fn+1的时隙s2处开始发送包括操作数据(例如,14位)的数据分组,即在帧Fn+1中的时隙s6、s10和s14中以及帧Fn+2中的时隙s2、s6、s10和s14中等等。在这种情况下,传感器控制器可以通过指定以下来定义下行链路时隙分配:i)指示用于由有源触笔发送分组的开始时隙的偏移值,以及ii)指示分配到以开始时隙开始的有源触笔的时隙之间的间隔的间隔值。例如,可以通过指示开始时隙是s2的“2”的偏移、和指示有源触笔将使用四(4)个时隙的相等间隔(T)的后续时隙的间隔值“4”,来指定图9A的示例的下行链路时隙分配。传感器控制器可以在信标信号中编码这些值(偏移:2,间隔:4),从而将下行链路时隙分配发送到有源触笔。下行链路时隙分配可以另外指定例如要发送的分组的总数(例如,在图9A的示例中,“5”(DP1~DP5))和/或分组的数据格式(例如,每分组一共有多少位,其中多少位指示笔压力数据,以及多少位指示笔筒压力数据等)。
图9A还示出了每帧Fn+1、Fn+2等的时隙s1被保留作为有源触笔的下行链路时隙,以可选地向传感器控制器发送其触笔能力信息(CP)。例如,当在与传感器控制器的双向通信会话期间用户调整有源触笔的设置(例如,用户改变触笔线宽)时,有源触笔可以在后续帧的时隙s1中将调整的设置信息发送到传感器控制器。附加地或替代地,当来自传感器控制器的信标信号包括请求有源触笔的触笔能力信息的读取命令时,作为响应有源触笔在后续帧的时隙s1中包括所请求的能力和/或设置信息。
图9A进一步示出了帧Fn+1的时隙s15被保留作为下行链路时隙,用于有源触笔发送包括在来自传感器控制器的先前信标信号中轮询(请求)的操作数据的数据分组。例如,当帧Fn+1的时隙s0中的信标信号请求有源触笔报告其电池水平时,作为响应有源触笔在帧Fn+1的时隙s15中发送包括轮询的操作数据(“轮询DP”)的数据分组。
在图9B中,下行链路时隙分配指定有源触笔将以四(4)个时隙的相等间隔(T)从帧Fn+1的时隙s3开始,即在帧Fn+1中的时隙s7、s11和s15以及帧Fn+2中的时隙s3、s7、s11和s15等等中,发送包括操作数据(例如,14位)的数据分组。类似于上述图9A的示例,可以通过指示开始时隙是s3的偏移“3”、以及指示要使用的后续时隙是4个时隙的相等间隔(T)的间隔值“4”来指定图9B的示例的下行链路时隙分配。图9B还示出了每个帧Fn+1、Fn+2等的时隙s1被保留作为用于有源触笔的下行链路时隙,以可选地向传感器控制器发送触笔能力信息(CP)。此外,当帧Fn+1的时隙s0中的信标信号轮询(请求)有源触笔以报告诸如触笔的电池水平的有源触笔的某些操作数据时,作为响应有源触笔在帧Fn+1的时隙s1中发送包括轮询的操作数据(“轮询DP”)的数据分组。
在各种实施例中,每个帧中的信标信号时隙(s0)之后的一个或多个时隙(例如,s1)被保留用于有源触笔发送响应信号(例如,ACK信号)以确认在前一时隙(s0)中接收到信标信号。因此,如本文所使用的“响应信号”不限于在有源触笔进入传感器控制器的感测区域之后响应于初始(发现)信标信号发送的第一响应信号。相反,响应信号可以包括有源触笔响应于包括各种命令或涉及有源触笔的其它信息的后续信标信号而发送的后续响应信号。例如,有源触笔可以响应于包括新的下行链路时隙分配的后续信标信号而发送响应信号,由于有源触笔的设置被改变在双向通信会话期间由传感器控制器更新该新的下行链路时隙分配。作为另一示例,当后续信标信号包括请求有源触笔发送触笔能力信息的读取命令时,有源触笔发送包括所请求的触笔能力信息的响应信号(参见图9A,其中在帧Fn+1和Fn+2的时隙s1中发送的“CP”可以被认为是包括所请求的触笔能力信息的响应信号)。作为另一示例,当后续信标信号包括请求有源触笔发送有源触笔的某些操作数据(例如,触笔电池水平)的轮询命令时,有源触笔发送包括轮询的操作数据的响应信号(参见图9B,其中在帧Fn+1的时隙s1中发送的“轮询DP”可以被认为是包括被轮询的操作数据的响应信号)。
在图9C中,下行链路时隙分配指定有源触笔将以四(4)个时隙的相等间隔(T),以两(2)个时隙为单位,从帧Fn+1的时隙s2开始,即在帧Fn+1、帧Fn+2中的时隙[s2/s3]、[s6/s7]、[s10/s11]和[s14/s15]中等,发送相对较大的数据分组(例如,超过14位)。可以由指示开始时隙是s2的偏移“2”、指示要使用的后续时隙是处于4个时隙的相等间隔(T)的间隔值“4”,以及附加地由指示使用2个时隙为单位来形成每个数据分组(DP1、DP2、DP3、DP4、DP5等)的单元大小值“2”,来指定图9C的示例的下行链路时隙分配。单位大小值“2”可以被认为是要由有源触笔使用的分组长度。可能需要这样的相对大的数据分组,例如,以将有源触笔的客制化的操作数据(CD)发送到传感器控制器。
如图9A和图9B,图9C还示出了每个帧Fn+1、Fn+2等的时隙s1被保留作为用于有源触笔的下行链路时隙以可选地向传感器控制器发送触笔能力信息(CP)。图9C进一步示出当帧Fn+1的时隙s0中的信标信号轮询(请求)有源触笔报告某些操作数据(例如,触笔电池水平)时,作为响应有源触笔在帧Fn+1的时隙s1中发送包括轮询的操作数据(“轮询DP”)的数据分组。
图9D示出了将频率f0分配给第一有源触笔的第一下行链路时隙分配和将与频率f0不同的频率f1分配给与第一有源触笔不同的第二有源触笔的第二下行链路时隙分配的组合。
第一下行链路时隙分配指定以频率f0操作的第一有源触笔以八(8)个时隙的相等间隔(T),以三(3)个时隙为单位,从帧Fn+1的时隙s2开始,即在帧Fn+1、帧Fn+2的时隙[s2/s3/s4]和[s10/s11/s12]中等等,发送相对较大的数据分组(例如,包括每帧占用两个时隙的触笔定向数据(OR)的数据分组:参见在图4C中的ORC 1或3)。可以由指示开始时隙是s2的偏移“2”、指示要使用的后续时隙是处于8个时隙的相等间隔(T)的间隔值“8”、以及指示使用3个时隙为单位来形成每个数据分组(DP1、DP2、DP3等)的单位大小值(或分组长度)“3”来指定第一下行链路时隙分配。
第二下行链路时隙分配指定以频率f1操作的第一有源触笔以八(8)个时隙的相等间隔(T),以四(4)个时隙为单位,从帧Fn+1的时隙s2开始,即在帧Fn+1、帧Fn+2的时隙[s2/s3/s4/s5]和[s10/s11/s12/s13]中等等,也要发送相对较大的数据分组(例如,包括每帧占用三个时隙的触笔定向数据(OR)的数据分组:参见在图4C中的ORC 2或4)。可以由指示开始时隙是s2的偏移“2”、指示要使用的后续时隙是处于8个时隙的相等间隔(T)的间隔值“8”、以及指示使用4个时隙为单位来形成每个数据分组(DP1、DP2、DP3等)的单位大小值(或分组长度)“4”来指定第二下行链路时隙分配。
如在前面示例中,在图9D中,每个帧Fn+1、Fn+2等的时隙s1被保留作为在频率f0操作的第一有源触笔和在频率f1操作的第二有源触笔两者的下行链路时隙,以可选地向传感器控制器发送触笔能力信息(CP)。图9D还示出当帧Fn+1的时隙s0中的信标信号轮询(请求)第一或第二有源触笔中的任一个以报告某些操作数据(例如,触笔电池水平)时,作为响应轮询的有源触笔在帧Fn+1的时隙s15中发送包括轮询的操作数据(“轮询DP”)的数据分组。在图9D的示例中,帧Fn+1的时隙s0中的信标信号轮询在频率f0操作的第一有源触笔,因此第一有源触笔通过在帧Fn+1的时隙s15中发送包括轮询的操作数据(“轮询DP”)的数据分组进行响应。
一旦传感器控制器将特定频率(例如,f0、f1)分配给多个有源触笔中的每一个,则传感器控制器可以仅在分配给该有源触笔的信标信号的频率部分中包括指向特定有源触笔的命令。
在与图9A类似的图9E中,下行链路时隙分配指定有源触笔将以四(4)个时隙的相等间隔(T),从帧Fn+1的时隙s2开始,即在帧Fn+1中的时隙s6、s10和s14中和帧Fn+2中的时隙s2、s6、s10和s14中等等,发送包括操作数据(16位)的数据分组。可以由指示开始时隙是s2的偏移量“2”、以及指示要使用的后续时隙是处于4个时隙的相等间隔(T)的间隔值“4”来指定该示例的下行链路时隙分配。图9E还示出了每个帧Fn+1、Fn+2等的时隙s1被保留作为用于有源触笔可选地向传感器控制器发送触笔能力信息(CP)的下行链路时隙。图9E还示出当帧Fn+1的时隙s0中的信标信号轮询(请求)有源触笔报告某些操作数据(例如,触笔电池水平)时,作为响应有源触笔在帧Fn+1的时隙s15中发送包括轮询的操作数据的数据分组(“轮询DP”)。
图9A-图9E的下行链路时隙分配示例都指定包括有源触笔的操作数据的数据分组(DP1、DP2、DP3、DP4、DP5等)的下行链路发送。另一方面,图9F的下行链路时隙分配不仅指定帧中要使用哪个下行链路时隙,而且还指定有源触笔在哪个下行链路时隙中应该发送什么类型的分组(数据分组(DP)或位置分组(XY))。
具体地,图9F的下行链路时隙分配指定有源触笔将以四(4)个时隙的相等间隔(T),在帧Fn+1的时隙s2处,即在每个帧的时隙s2、s6、s10和s14中,发送位置分组(XY),其由传感器控制器使用以确定有源触笔指向传感器201上的位置。下行链路时隙分配进一步指定紧跟每个位置分组(XY)在每个帧的时隙s3、s7、s11和s15中发送数据分组(DP1、DP2、DP3、DP4、DP5等)。因此,使用两个时隙的单位[s2/s3]、[s6/s7]、[s10/s11]和[s14/s15]来发送位置分组(XY)和数据分组(DP)。可以通过指示开始时隙是s2的偏移“2”,指示要使用的后续时隙是处于4个时隙的相等间隔(T)的间隔值“4”,指示使用2个时隙的单位来连续地发送位置分组(XY)和数据分组(DP)的单位大小值“2”,以及指示在每个单元中发送哪种类型的分组的分组类型值来指定图9F的示例的下行链路时隙分配。例如,分组类型值0可以指示仅在每个单元中发送数据分组(DP/DP),1可以指示仅在每个单元中发送位置分组(XY/XY),2可以指示如图9F的示例那样在每个单元中发送数据分组紧随位置分组(XY/DP),并且3可以指示在每个单元中发送位置分组紧随数据分组(DP/XY)。
如在下行链路时隙分配的先前示例中,图9F还示出了每个帧Fn+1、Fn+2等的时隙s1被保留作为用于有源触笔的下行链路时隙,以可选地向传感器控制器发送触笔能力信息(CP)。
应当注意,图8A-图9G的下行链路时隙分配仅是示例,且本发明不限于使用图8A-图9G的具体示例。
在主机控制器300侧运行的操作系统和应用经常对由传感器控制器200提供的数据使用平滑处理。这包括对由传感器控制器200产生的坐标数据以及诸如压力或倾斜的触笔数据进行平滑处理。在许多情况下,应用的算法假设在应用平滑时,以相等间隔的时间间隔测量数据。可能存在传感器控制器200不能提供提供相等间隔的位置分组或相等间隔的数据分组的时隙分配的情况。在这些情况下,传感器控制器200可能必须进行子采样、超采样、内插、外插或通过某种方式调整数据,使得数据以相等间隔的时间间隔出现。
当由于时隙分配而以不同的速率测量坐标和/或操作数据时,该技术也适用。从传感器控制器200到主机处理器300的数据分组没有办法指示丢失的数据,因此需要如上所述(例如,通过子采样、超采样、内插、外插等)来生成丢失的数据以利用有效数据填充这些中间分组。例如,如果定向数据在坐标数据的速率的一半可用,则定向数据需要被超采样或外插至数据速率的两倍以与坐标数据速率相匹配。
图10是示出有源触笔和传感器控制器之间的样本配对操作(和“快速上墨”操作)的流程图,其中有源触笔将指示其设置信息的哈希值(“Hash#1”)发送到传感器控制器。传感器控制器在识别接收到的Hash#1之后,向有源触笔返回第二哈希值(“Hash#2”),作为它已经正确地将有源触笔识别为先前配对的触笔的进一步验证。
如果传感器控制器识别接收到的Hash#1(意味着传感器控制器已经先前与该有源触笔配对),则传感器控制器可以使用已经缓存在传感器控制器中的有源触笔的触笔能力信息和/或下行链路时隙分配来加速配对操作。
在步骤S301中,有源触笔对其设置信息进行哈希操作,例如计算固定大小(例如,16位)的哈希值(“Hash#1”),该哈希值可以在通常最多可容纳20位的单个时隙中发送。在步骤S302中,有源触笔计算对应于Hash#1且由此可以用于验证Hash#1的第二哈希值(“Hash#2”),如下面将更完整地描述的。可以在上电时、以及在发生影响哈希值的改变的任何时间——诸如当用户改变有源触笔的设置(例如,触笔线宽)时——计算Hash#1和Hash#2。可以使用任何合适的哈希操作来计算Hash#1和Hash#2。例如,本领域已知的MurmurHash3TM算法可以用于基于任何长度的能力信息来计算32位哈希值。然后,哈希值的16个LSB可以用作Hash#1,并且哈希值的16个MSB可以用作Hash#2。计算的Hash#1和Hash#2存储在有源触笔中,例如在触笔能力信息管理器110的表(TBL)中(见图1)。
哈希操作可以应用于有源触笔的触笔能力信息的一些或全部。例如,为了减少其中针对两个有源触笔或者针对一个有源触笔的两个不同的设置计算相同的哈希值的哈希冲突的可能性,可能需要从哈希计算中排除能力信息,因为能力信息可能在由相同供应商制造的多个有源触笔中是共同的。因此,在各种示例性实施例中,有源触笔基于有源触笔的触笔能力信息的设置信息部分和有源触笔的全局ID来计算Hash#1和Hash#2,以创建有源触笔的不可能与另一个有源触笔或具有不同设置的相同有源触笔的哈希ID冲突的唯一“哈希ID”。在本发明的一些实施例中,可以分别使用两个哈希函数来计算Hash#1和Hash#2,以进一步减少哈希冲突的可能性。例如,可以使用算法1对触笔能力信息计算Hash#1,诸如被调整以产生13位哈希值的CRC(循环冗余校验)的变化,并且可以使用算法2对触笔能力信息计算Hash#2,诸如被调整以产生16位哈希值的FNV(Fowler-Noll-Vo)的变化。
在步骤S401中,传感器控制器发送信标信号(BS)。在步骤S303中,当有源触笔检测到信标信号时,在步骤S304中,有源触笔将上述步骤S301中计算出的Hash#1发送给传感器控制器作为响应信号的一部分。
在步骤S403中,当传感器控制器检测到来自有源触笔的响应信号时,在步骤S405中,传感器控制器确定响应信号中包括的Hash#1是否已被缓存在传感器控制器中。如果不是,则在步骤S407中,传感器控制器在后续信标信号中发送读取命令,以请求有源触笔发送其完整(非哈希)触笔能力信息(CP)。在步骤S305中,有源触笔响应于来自传感器控制器的读取命令将所请求的触笔能力信息(CP)发送到传感器控制器。在步骤S409中,传感器控制器基于接收到的触笔能力信息(CP)计算Hash#1和Hash#2,并将其存储在缓存中以供将来使用。或者,在步骤S409中,传感器控制器仅计算Hash#2和与上述步骤S405中接收和评估的Hash#1一起存储所计算的Hash#2。在步骤S409中,传感器控制器使用相同的哈希操作来计算如由有源触笔在步骤S301和S302中使用的Hash#1和Hash#2。
返回步骤S405,如果传感器控制器确定来自有源触笔的响应信号中包括的Hash#1已经被缓存在传感器控制器中,则对应于Hash#1的Hash#2也被缓存在传感器控制器中(参见步骤S409)。因此,在步骤S411中,传感器控制器将与Hash#1相对应的Hash#2发送回有源触笔用于验证目的。具体地说,在步骤S307中,有源触笔确定从传感器控制器返回的Hash#2是否与缓存在有源触笔中的Hash#2相匹配,其对应于有源触笔在上面的步骤S304中已经发送的Hash#1。如果是,则有源触笔确认传感器控制器已经正确地将该有源触笔识别为传感器控制器先前与之配对的有源触笔。然后,在步骤S309中,有源触笔向传感器控制器发送响应信号,以验证传感器控制器是否已经具有触笔能力信息(包括设置信息)和/或有源触笔的下行链路时隙分配。在步骤S413中,传感器控制器接收来自有源触笔的响应信号,并结束验证过程。在这一点上,有源触笔和传感器控制器两者都准备好使用在它们先前配对时使用的相同的下行链路时隙分配来开始双向通信。也在此时,传感器控制器可以立即开始“上墨”操作,因为它具有应用程序需要开始绘制由有源触笔形成的线的有源触笔的所有设置信息(例如,刷子风格、线宽、线颜色等)。
如果在步骤S307中,有源触笔确定从传感器控制器接收到的Hash#2不对应于存储在有源触笔中的Hash#2,则在步骤S311中,有源触笔向传感器控制器发送失败消息(FAIL)以指示验证失败,并且返回到步骤S303以恢复监听来自传感器控制器的信标信号。
在步骤S413中,通过接收从有源触笔发送的故障消息(FAIL)(S311)或通过未接收到来自有源触笔的指示成功验证的响应信号,传感器控制器被通知验证失败(步骤S309)。当验证失败时,传感器控制器返回到步骤S407,以请求有源触笔发送其完整(未哈希)触笔能力信息(CP)。
图11是与图1类似的图,示出了包括有源触笔100和电子设备(例如,PC、平板计算机、智能电话)3的整个系统。图11特别示出了电子设备3内的传感器控制器200和主机处理器300之间的双向通信。
传感器控制器200包括处理电路202、其耦合到的传感器接收(RX)电路、传感器发送(TX)电路、和存储器设备。主机处理器300包括耦合到主机接收(RX)电路和主机发送(TX)电路的处理电路301。在一个方向从主机发送(TX)电路到传感器接收(RX)电路、以及在另一个方向从传感器发送(TX)电路到主机接收(RX)电路的双向通信可以由通用串行总线(USB)接口(USB HID-PTCL)或内部集成电路(I2C)总线、串行外围接口(SPI)总线或其它合适的硬件接口支持。
另外参考图12A,传感器控制器200和主机处理器300之间的通信方法通常包括三个步骤。首先,在步骤S1202中,支持定义的触笔属性集的缺省描述符的传感器控制器将缺省描述符发送到主机处理器300。缺省描述符由传感器控制器200的处理电路202指定和支持。简单地,缺省描述符定义由传感器控制器200发送给主机处理器300的HID(人机接口设备)类报告的格式。换句话说,缺省描述符定义在这种报告中以什么格式包括什么信息。在各种实施例中,缺省描述符中定义的触笔属性集包括可由不同类型的有源触笔支持的所有(可能的)触笔属性。如将在下面更完整地描述的,这允许新发现的触笔100根据有源触笔的能力和偏好来提供由缺省描述符支持的所有可能的触笔属性的最小集或全部范围。
图13是用于从传感器控制器200发送到主机处理器300的触笔报告的样本缺省描述符。触笔报告包括从有源触笔100报告的触笔属性,诸如触笔的位置、笔尖压力值、笔筒压力值、触笔定向值(例如,倾斜和旋转)等。图14是包括在图13的缺省描述符中的触笔属性的表。如图14所示,触笔属性包括:触笔坐标值(“X,Y”);当触笔位于传感器感测区域的范围内时分配给每个触笔的触笔本地ID(“换能器索引”);包括笔尖压力值(“笔尖压力”)和笔筒压力值(“笔筒压力”)中的至少一个的触笔压力值;触笔开关(开关状态)值,其包括笔尖开关值(“笔尖开关”)、第一笔筒开关值(“笔筒开关”)和第二开关值(“辅笔筒开关”)中的至少一个;触笔反转指示器值(“反转”),其指示触笔是否从其预期定向反转(即,触笔笔尖向上指向);触笔擦除器指示器(“擦除”),其指示是否触笔的一个尖端(例如,反转的尖端)用作擦除器;触笔在范围内值(“在范围内”),其指示触笔是否在传感器表面的感测区域内;触笔定向值,其包括X倾斜值(“X倾斜”)、Y倾斜值(“Y倾斜”)、扭转值(“扭转”)、高度值、方位角值、加速度计值、陀螺仪值和磁力计值中的至少一个;触笔电池状态值(“电池强度”);触笔全局ID(“换能器序列号”);触笔优选颜色值(“优选颜色”),其指示在有源触笔的存储器中设置的原始颜色(其可以随后由触笔用户或由传感器控制器/主机处理器改变,如下所述);触笔优选线宽值,其指示有源触笔倾向于呈现什么线宽;触笔优选线型值,其指示有源触笔倾向于呈现什么样式(例如,上墨笔、铅笔、荧光笔、凿尖标记、刷子等);以及可由有源触笔供应商/制造商设置的自定义属性(“供应商使用”)。
引入优选颜色值、优选线宽值和优选线型值以设置在有源触笔100中在技术上是有利的,其可以在有源触笔100中自由设置和改变(例如,由用户操作在有源触笔100上提供的开关之一)。在现有技术中,这些值通常仅由在主机处理器300上操作的应用302(例如,绘图应用)控制。在现有技术中,因此,有源触笔100主要用作输入位置坐标和压力数据并且不允许规定其颜色、线宽、线型等的设备。随着触笔变得越来越普遍,在多个应用或多个系统中使用相同的触笔的可能性更大。当在应用或系统之间移动时,如果虚拟屏幕上的墨水在这些应用和系统之间是一致的,则对于用户而言将是更直观的。本发明的实施例通过允许有源触笔100指示其属性,诸如其优选颜色、线宽和/或线型,便于在主机处理器300上操作的应用302根据用户的偏好一致地呈现虚拟屏幕上的墨水。根据本发明的各种实施例,影响虚拟屏幕上的墨水的外观的这些值可以基于在有源触笔100上的用户操作或基于来自在主机处理器300上操作的应用的命令而在有源触笔100中自由设置和调整302,如下所述。
下面列出了根据一个特定示例在缺省描述符中定义的十七(17)个触笔属性的进一步细节。
1.报告ID:
·报告ID可以根据需要改变为其它ID。
2.坐标(使用(X)和使用(Y))
·由于传感器控制器200具有附接的传感器的完整知识,所以物理最大值、单位和单位指数应该被改变以反映传感器的实际物理尺寸和分辨率。
·此外,逻辑最大值应指示传感器的传感器控制器200输出的真实最大值。
·如果逻辑最大值大于65535,则可能会增加报告大小,如有必要,可添加填充。
3.换能器索引(使用(换能器索引)):
·当同时跟踪多个触笔时,换能器索引指示哪个触笔100产生报告。
·当触笔100被检测到并持续到它离开范围时,唯一换能器索引被分配到触笔100。
·换能器索引是任意的。值可以重复使用。
4.笔尖压力(TiP)(使用(笔尖压力)):
·触笔100输出的笔尖压力值为12位值。
5.笔筒压力(使用(笔筒压力)):
·由触笔100输出的笔筒压力值为12位值。
·如果触笔100不支持笔筒压力,则报告的值设置为最大值(4095)。
·基本原理:笔筒压力用于改变刷子动态,诸如不透明度。通过将笔筒压力设置为最大值,应用刷子动态的全部效果。
6.笔尖开关(使用(笔尖开关)):
·传感器控制器200,而不是触笔100,以下列方式产生笔尖开关位。
·基本原理:为了消除触笔100发送笔尖开关位的需要,传感器控制器200:
i).如果触笔100报告的笔尖压力为零,则将笔尖开关设置为0;否则将笔尖开关设置为1。
ii).如果设置了反转位,则不设置笔尖开关(而是在报告的笔尖压力不为零时设置擦除器位)。
7.笔筒开关(BB)(使用(笔筒开关)和使用(辅笔筒开关)):
·如果一个笔筒开关专用于擦除器能力,则它不会被触笔100报告为笔筒开关。相反,它被报告为反转位。这在触笔100中完成。
·辅笔筒开关是相对较新的HID使用,可能在操作系统提供的数据解析器中不支持此功能。
8.反转(Inv)(使用(反转)):
·触笔100提供反转位,而不是传感器控制器200。当使用擦除器可供性时,该位被设置,意味着触笔100的尾端最靠近表面(如果有擦除器开关和传感器在尾部)或专用于擦除的笔筒按钮被按下。
9.擦除器(使用(擦除器))
·传感器控制器200而不是触笔100处理以下功能。
·基本原理:为了消除触笔100发送擦除器位的需要,传感器控制器200:
i).如果将反转位设置为0,则将擦除器位设置为0。
ii).如果将反转位设置为1,并且触笔100报告的笔尖压力为零,则将擦除器位设置为0;
iii).如果将反转位设置为1,并且触笔100报告的笔尖压力不为零,则将擦除器位设置为1。
10.在范围内(使用(在范围内)):
·传感器控制器200产生在范围内位。
·在传感器控制器200检测到触笔100之后,传感器控制器200设置报告中的在范围内位。
·从触笔100接收数据时的所有后续报告都将设置在范围内。
·当不再检测到触笔100时,可能会发送至少一个报告,其中在范围内被清除。
11.定向(OR)(使用(X倾斜),使用(Y倾斜)和使用(扭转))
·触笔100不支持的任何定向值都报告为零。
·如果来自触笔100的定向被报告为高度和方位角,则它们由传感器控制器200转换为X倾斜和Y倾斜。
·IMU值将由传感器控制器200转换为倾斜和扭转值。
·倾斜值的物理范围从-90到90度,尽管如果需要,它们可以以弧度报告。
·扭转值的物理范围为0至360度,尽管如果需要,它们可能以弧度报告。
·物理和逻辑范围可能使得存在两个小数位的度数的分辨率,或四位小数位的弧度。
12.电池水平(BL)(使用(电池强度)):
·电池水平以百分比完整报告。
·触笔100报告的等级可能有16个等级,可能需要进行缩放。
·电池水平计算如下:电池强度=触笔100等级*(100/16)。
13.序列号(SN)(使用(换能器序列号)):
·序列号是来自触笔100的56位序列号,其中来自触笔100的8位供应商ID被预先设置以制造64位值。
·序列号是操作系统提供的数据解析器可能不支持的相对新的HID使用。
14.优选颜色(Col)(使用(优选颜色)):
·来自触笔100能力的优选颜色被放置在优选颜色(Col)中。如果触笔100没有优选颜色,则使用0xFF(无偏好)填充。
·由于从触笔向上到触笔向下优选颜色不会频繁更改,因此该信息优选包括在“完整报告”(图14)中,并且不包括在简短报告中(图14)。
15.优选线宽:
·这可以是触笔笔尖的物理宽度的指示。描述符预计包括逻辑和物理最小值和最大值。推荐的物理分辨率为0.1mm。零线宽可以指示最小可能的宽度(诸如,在任何缩放因子下的一个像素宽度)。
16.优选线型:
·指示触笔优选呈现什么线型的指示。这可能是触笔的物理特征的指示。
17.供应商定义的数据和使用(使用页面(供应商定义的使用页面1)使用(供应商使用2)):
·从触笔100接收到的一个或两个自定义字节在报告结尾放入供应商定义的使用。
·任何未使用的字节设置为零。
返回参考图12A,在步骤S1202中,传感器控制器202经由传感器TX电路将缺省描述符经由主机RX电路发送到主机处理器300。在各种示例性实施例中,当建立传感器控制器200和主机处理器300之间的连接时,发生缺省描述符到主机处理器300的发送。已经接收到缺省描述符的主机处理器300此后可以处理和接收由缺省描述符支持并从传感器控制器200发送的各种触笔报告。
在步骤S1203中,传感器控制器200当与能够报告包括在缺省描述符中的定义的触笔属性集的第一子集的第一有源触笔100A(参见图11)耦合时,将由缺省描述符定义并且具有填充有从第一有源触笔100A报告的值113A的触笔属性的第一子集的字段的第一触笔报告发送到主机处理器300。在步骤S1204中,传感器控制器200当与能够报告与第一子集不同的所定义的触笔属性集的第二子集的第二有源触笔100B耦合时,将由缺省描述符定义并且具有填充有从第二有源触笔100B报告的值113B的触笔属性的第二子集的字段的第二触笔报告发送到主机处理器300。例如,第一有源触笔100A可以能够报告缺省描述符中定义的几乎全部触笔属性,而第二有源触笔100B可以只能报告几个触笔属性(例如,位置和笔压力)。触笔属性的第一和第二子集分别在包括在第一和第二子集中的触笔属性的类型和/或分别包括在第一和第二子集中的触笔属性的数量方面不同。无论与传感器控制器200一起使用的有源触笔的能力如何,传感器控制器200可以基于从特定有源触笔100报告的触笔属性来准备触笔报告,并将触笔报告发送到主机处理器300。由于从传感器控制器200发送的所有触笔报告都由缺省描述符支持,尽管一些报告包括从触笔报告的触笔属性比其它报告更多的触笔属性,但是已经接收到缺省描述符的主机处理器300可以解读和处理所有这样的触笔报告。
在某些情况下,有源触笔100可以能够报告在缺省描述符中定义的整个触笔属性。在这种情况下,触笔属性的子集等于包括在缺省描述符中的定义的触笔属性集。在其它情况下,不同的有源触笔(100A,100B)分别支持触笔属性的不同子集,其均小于缺省描述符中包括的定义的触笔属性集。
图12B是示出了基于支持包括各种触笔属性集的触笔报告的发送的缺省描述符在控制器200和主机处理器300之间的通信方法的另一流程图。在步骤S1211中,传感器控制器200将定义的触笔属性集的缺省描述符发送到主机处理器300。在步骤S1212中,传感器控制器200从有源触笔100接收触笔属性。在步骤S1213中,传感器控制器200确定已经接收到触笔属性的什么(哪个)子集。如果已经接收到触笔属性的第一子集,则在步骤S1214中,传感器控制器200生成由缺省描述符支持并填充有触笔属性的第一子集的接收值的第一触笔报告。另一方面,如果已经接收到触笔属性(与第一子集不同)的第二子集,则在步骤S1216中,传感器控制器200生成由缺省描述符支持并且填充有触笔属性的第二子集的接收值的第二触笔报告。在任一种情况下,在步骤S1215或步骤S1217中,可选地,传感器控制器200可以通过使用缺省值填充报告中未从有源触笔100报告触笔属性的任何字段,和/或通过应用适当的平滑算法以使用“平滑”数据填充这些(未报告)字段来完成报告,如下面将更完整地描述的。在步骤S1218中,可选地填充有缺省和/或平滑数据的生成的第一或第二触笔报告被发送到主机处理器300。
当传感器控制器200与不能报告由缺省描述符定义的所有定义的触笔属性集的有源触笔耦合时,传感器控制器200在创建触笔报告时可以对于没有从有源触笔报告的触笔属性在报告中的字段中填充缺省值。缺省值可以是预定义的,或者根据预定义的算法来计算。例如,当缺省描述符中定义的触笔属性中的任何不被特定有源触笔支持、且因此不从特定的有源触笔报告时,这些触笔属性的报告字段可以使用缺省值(例如,最大值)填充以指示特定的触笔属性不被有源触笔支持/报告。作为另一具体示例,如果有源触笔没有优选颜色,则可以将优选颜色的报告字段设置为指示不存在优选颜色的缺省值。
在各种示例性实施例中,传感器控制器200对从有源触笔100报告的触笔属性应用平滑算法来在触笔报告中填充字段。例如,传感器控制器200可以对从有源触笔100报告的触笔属性应用子采样、超采样、内插或外插处理中的一个或多个。这种平滑包括基于来自有源触笔100的信号以及从有源触笔100报告的触笔属性对由传感器控制器200产生的坐标数据进行平滑。在主机处理器300上操作的操作系统和应用(图11中的302)通常假设经由传感器控制器200从有源触笔100报告的数据以相等的时间间隔发生。因此,如果传感器控制器200没有以相等的间隔接收触笔属性,则传感器控制器200可以应用合适的平滑算法来生成丢失的数据,使得报告给主机处理器300的数据将以相等间隔的时间间隔出现。在其它实施例中,替选地或附加地可以由在主机控制器300上运行的应用(图11中的302)应用平滑算法。
传感器控制器200当创建触笔报告时可以将从有源触笔100报告的任何触笔属性的格式转换成适合于包括在触笔报告中的格式。例如,当以第一格式(例如,指示65536个RBG565格式颜色之一的16位)报告有源触笔100的优选颜色(图13中的1300)时,传感器控制器200可将其转换为适合于触笔报告的第二格式(指示140个CSS(级联样式表)颜色之一的8位)。然后,传感器控制器200可以在触笔报告中包括要发送到主机处理器300的第二格式的优选颜色。
返回参考图14,在另一个实施例中,缺省描述符可以包括支持“完整报告”的定义的触笔属性集的第一描述,以及支持“简短报告”的定义的触笔属性集的子集的第二描述。图15是支持简短报告的图13的缺省描述符中的定义的触笔属性集的子集的样本第二描述。如图所示,第二描述包括较少数量的触笔属性。在图14中,“X”表示特定的触笔属性包括在完整报告和/或简短报告中,示出了与“完整报告”相比,简短报告中包括较少数量的触笔属性。因此,在各种示例性实施例中,简短报告具有比完整报告小的数据大小。如果有源触笔100仅提供包括在简短报告中的触笔属性,则传感器控制器200可以生成并发送具有较小数据大小的简短报告而不是完整报告。如果有源触笔100提供了未包括在简短报告中的任何触笔属性,则传感器控制器200生成并发送完整报告。
在使用完整报告和简短报告的实施例中,传感器控制器200当与能够报告大致所定义的触笔属性集的第一有源触笔100A耦合时,将由包括在缺省描述符中的第一描述定义的并且具有填充有从第一有源触笔100B报告的值的大致触笔属性集的字段的完整报告发送到主机处理器300。传感器控制器200当与能够报告大致触笔属性的子集的第二有源触笔100B耦合时,将由缺省描述符中包括的第二描述定义并且具有填充从第二有源触笔100B报告的值的大致触笔属性的子集的字段的简短报告发送到主机处理器300。如本文所使用的,报告“大致”属性集意味着报告属性集中的所有或大致所有。例如,在图14中,完整报告包括18个触笔属性,并且简短报告包括10个触笔属性。当有源触笔支持所有10个简短报告属性和至少一个附加属性时,传感器控制器200生成包括11到18个属性的有源触笔的完整报告。也就是说,即使有源触笔仅支持11个属性,也会生成完整报告,并且被认为包括“大致”定义的属性集。根据实施例,根据特定有源触笔100的能力,传感器控制器200生成完整报告或简短报告,其中适用于大致报告从有源触笔报告的触笔属性。也在这个实施例中,由于不是完整报告或简短报告中包括的所有触笔属性都从有源触笔报告,所以传感器控制器200可以对于未从有源触笔报告的触笔属性在所选择的报告中的字段中填充缺省值。此外,传感器控制器200可以向从有源触笔报告的触笔属性应用平滑算法(子采样、超采样、内插、外插等)以填充所选报告中的字段。传感器控制器200可以使用指示从有源触笔100报告的有源触笔100所支持的属性的触笔能力信息,以选择要使用的完整报告或简短报告中的哪一个。(参见图11中的114)。
参见图11、图12C和图16,描述了主机处理器300和传感器控制器200之间通信的另一方法,其通常包括五个步骤。在图12C的步骤S1205中,主机处理器300将由主机处理器300上运行的应用(图11的302)发出的命令121发送到传感器控制器200。在步骤S1206中,传感器控制器200接收并转发命令121到有源触笔100。例如,传感器控制器200可以在传感器控制器200向有源触笔100发送的任何信号(例如,信标信号)中包括命令。在步骤S1207中,有源触笔100响应于命令121对命令121进行操作,并将命令响应123发送到传感器控制器200。例如,有源触笔100可以在向传感器控制器200发送的任何信号(例如,响应信号)中包括有源触笔100的命令响应。在步骤S1208中,传感器控制器200将命令响应123存储在其存储器中。在步骤S1209中,主机处理器300请求从传感器控制器200的存储器检索命令响应123。该方法另外在图16的序列图中示出。主机处理器300和传感器控制器200之间的命令121和命令响应123的交换由诸如通用串行总线(USB)接口或互连集成电路(I2C)总线、串行外设接口(SPI)总线或其它合适的硬件接口的任何合适的接口来支持。
该方法允许在主机处理器300上操作的应用302向触笔100发出命令并从其接收结果。传感器控制器200将从主机处理器300接收的命令转发到有源触笔100,而不解释命令的内容,并且接收并存储从有源触笔100返回的命令响应以便随后由在主机处理器300上操作的应用302检索。在各种实施例中,传感器控制器200将从主机处理器300接收的命令“原样”转发到有源触笔100。例如,当传感器控制器200从主机处理器300接收到N位的命令时,传感器控制器200在没有任何修改或添加的情况下将该N位的命令转发到有源触笔100。这在技术上有利于允许在主机处理器300上操作的应用302发出各种注释,而不考虑传感器控制器200代表有源触笔100来解释/处理命令的能力(例如,固件)。在这些实施例,命令100仅需要由有源触笔100可操作/可动作。这可能导致设计应用302可能采用的各种(附加)命令的自由,以及将应用302可以利用的各种(附加)属性/特征引入有源触笔100的自由。
各种类型的命令可以从在主机处理器300上操作的应用302发送到传感器控制器200,以被转发到有源触笔100上。
命令121可以是用于识别有源触笔的属性的请求(或读取)命令。例如,该命令可以请求有源触笔100识别其优选颜色值、优选线宽值或优选线型值。来自有源触笔100的命令响应123然后包括有源触笔优选颜色值、优选线宽值或优选线型值。命令响应123然后可以存储在传感器控制器200的存储器中。在主机处理器300上操作的应用302之后可以从传感器控制器200的存储器中检索所存储的属性(例如,有源触笔100的优选颜色、优选线宽和/或优选线型)。随着触笔变得越来越普及,在多个应用或多个系统中使用相同的触笔的可能性越大。当在应用或系统之间移动时,如果虚拟屏幕上的墨水在这些应用和系统之间是一致的,则对于用户而言将是更直观的。本发明的实施例通过允许有源触笔100指示其属性,诸如其优选颜色、线宽和/或线型,有助于在主机处理器300上操作的应用302根据用户的偏好一致地呈现虚拟屏幕上的墨水。作为进一步的示例,请求命令121可以请求有源触笔100识别其电池水平、固件版本、触笔版本等。有源触笔100返回包括表示其电池水平、固件版本、触笔版本等的数据的命令响应123,其被存储在传感器控制器200的存储器中以供主机处理器300检索。
在一些实施例中,诸如其优选颜色、优选线宽和/或线型的有源触笔的属性是只读的,并且不能由传感器控制器200改变。这可能是例如当有源触笔具有具有与优选颜色匹配的颜色的物理墨水,或者当用户使用选择器开关设置优选颜色时。
在其它实施例中,有源触笔的属性可以由传感器控制器200(强制性地)设置或配置。为此,传感器控制器200可以发送设置命令121来设置有源触笔的属性,诸如其优选颜色值、优选线宽值或优选线型值。在主机处理器300上操作的应用302向传感器控制器200发出设置命令121,其然后被转发到有源触笔100。有源触笔100在接收到设置命令121时根据设置命令121设置其属性,并且发送包括指示已成功执行由设置命令121请求的操作(即,已成功设置优选颜色、优选线宽和/或优选线型)的标志的命令响应123。
在另外的实施例中,在主机处理器300上操作的应用302可以发出命令121,其请求有源触笔100以定义的格式发送下行链路信号(例如,包括触笔属性)。所定义的格式可以规定发送频率和发送时间长度中的至少一个,以供有源触笔100发送下行链路信号。传感器控制器200将这样的命令121转发到有源触笔100,其以命令121所指定的格式发送下行链路信号,作为命令响应123的一部分或者在命令响应123之外。例如,有源触笔100使用由命令121指定的发送频率和/或发送时长(持续时间)发送下行链路信号。
在另外的实施例中,在主机处理器300上操作的应用302可以发出命令121,其请求有源触笔100执行导出数据的定义的操作。例如,命令121可以请求有源触笔100运行诊断测试。这种“诊断”命令可以被认为是一种“请求”命令。有源触笔100在接收到这样的命令121时运行所请求的诊断测试,并将测试结果数据作为命令响应123的一部分或在命令响应123之外返回给传感器控制器200。然后将返回的数据存储在传感器控制器200中,以供稍后通过在主机处理器300上操作的应用302检索。
在另外的实施例中,在主机处理器300上操作的应用302可以发出命令121,其指示有源触笔100调整其压力曲线以更紧密地遵循传统标记工具(例如,铅笔、滚珠笔)的力响应曲线,其具有有源触笔100被配置为模拟的线型。
由触笔100报告的笔尖压力数据是由力传感器测量的施加到触笔笔尖的力的结果。被称为“压力曲线”的施加力与报告压力值之间的关系本质上通常是线性或对数的。
使用传统的标记工具,诸如铅笔或滚珠笔,所施加的力与视觉结果之间存在一种关系,称为“力响应曲线”。每个标记工具的力响应曲线不同,并且可能不同于被配置为模拟标记工具(例如,铅笔,滚珠笔)的特定样式的触笔的压力曲线。例如,铅笔具有更线性的力响应曲线,其使用较浅和较暗的线响应于施加力的范围,而滚珠笔具有非常陡峭的力响应曲线,其中附加的施加力对所绘制的线几乎没有影响。因此,技术上有利的是,可以改变触笔的压力曲线,以更好地匹配触笔配置为模拟的传统标记工具的力响应曲线。
为了将触笔压力曲线与传统标记工具的力响应曲线相匹配,有必要知道用户期望使用什么标记工具。由于根据本发明的各种实施例引入了优选线型值,如上所述,所以在主机处理器300上操作的应用302可以确定用户对于有源触笔100意在的特定线型。例如,应用302可以发送请求命令121以请求有源触笔100返回在有源触笔100中(例如由用户)设置的线型值。或者,应用302可以发送设置命令(线型命令)121,以强制设置有源触笔100中的特定线型值。在各种示例性实施例中,基于在线型命令121中指定的标记工具,有源触笔(自动地)调整压力曲线以更接近近似于与指定线型值对应的标记工具的力响应曲线。例如,当有源触笔100的线型值被设置为“铅笔”时,有源触笔100被引导以调整其压力曲线以更紧密地遵循铅笔的力响应曲线。在这些实施例中,为有源触笔100(强制地)设置特定线型值的单个命令可另外引导有源触笔100调整其压力曲线以遵循与设置线型值对应的力响应曲线。
可以组合上述各种实施例以提供其它实施例,并且可以基于上述详细描述来修改实施例的各方面。通常,在所附权利要求中,所使用的术语不应被解释为将权利要求限制于说明书和权利要求书中公开的具体实施例,而应被解释为包括所有可能的实施例以及权利要求涉及的等同物的全部范围。

Claims (25)

1.一种在传感器控制器和主机处理器之间通信的方法,所述传感器控制器耦合到被配置为与有源触笔交互的传感器,所述方法包括:
所述传感器控制器在与任何有源触笔耦合之前并且当在所述传感器控制器和所述主机处理器之间的连接被建立时,将缺省描述符发送到所述主机处理器,所述缺省描述符包括触笔属性的列表和所述触笔属性中的每个的报告字段大小,所述触笔属性包括至少触笔坐标值(X、Y)和触笔优选颜色值;
所述传感器控制器当与具有报告所述触笔属性的第一子集的第一能力集的第一有源触笔耦合时,向所述主机处理器发送第一有源触笔报告,其中所述第一子集包括所述触笔优选颜色值,所述第一有源触笔报告由所述缺省描述符定义并且具有填充有从所述第一有源触笔报告的值的、包括所述触笔优选颜色值的触笔属性的所述第一子集的字段;
所述传感器控制器当与具有报告所述触笔属性的第二子集的、与所述第一能力集不同的第二能力集的第二有源触笔耦合时,向所述主机处理器发送第二有源触笔报告,所述第二有源触笔报告由所述缺省描述符定义并且具有填充有从所述第二有源触笔报告的值的、触笔属性的所述第二子集的字段,所述第二子集与所述第一子集不同并且不包括所述优选颜色值;和
所述传感器控制器在用于所述第二有源触笔报告中的所述触笔优选颜色值的字段中填充缺省值,代替未从所述第二有源触笔报告的所述触笔优选颜色值,所述字段的报告字段大小由所述缺省描述符指示。
2.根据权利要求1所述的方法,其中,所述传感器控制器和所述主机处理器被配置为经由通用串行总线(USB)接口连接。
3.根据权利要求1所述的方法,其中,所述传感器控制器和所述主机处理器被配置为经由内部集成电路(I2C)总线或串行外设接口(SPI)总线连接。
4.根据权利要求1所述的方法,还包括:
所述传感器控制器对从所述第一有源触笔报告的触笔属性的所述第一子集或从所述第二有源触笔报告的触笔属性的所述第二子集应用平滑算法来填充所述第一有源触笔报告或所述第二有源触笔报告中的字段。
5.根据权利要求4所述的方法,其中,所述平滑算法包括从所述第一有源触笔或所述第二有源触笔报告的所述触笔属性的子采样、超采样、内插或外插中的一个或多个。
6.根据权利要求1所述的方法,其中,触笔属性的所述第一子集和所述第二子集分别关于所述第一子集和所述第二子集中包括的触笔属性的类型不同,和/或触笔属性的所述第一子集和所述第二子集分别关于在所述第一子集和所述第二子集中包括的触笔属性的数量不同。
7.根据权利要求1所述的方法,其中,触笔属性的所述第一子集或所述第二子集等于所述缺省描述符中的所述触笔属性。
8.根据权利要求1所述的方法,还包括:
所述传感器控制器从所述第一有源触笔或所述第二有源触笔接收指示由所述第一有源触笔或所述第二有源触笔支持的属性的触笔能力信息。
9.根据权利要求1所述的方法,其中,所述触笔属性包括:i)所述触笔坐标值(X、Y);ii)触笔压力值,所述触笔压力值包括笔尖压力值和笔筒压力值中的至少一个;iii)触笔开关值,所述触笔开关值包括笔尖开关值、第一笔筒开关值、和第二开关值中的至少一个;iv)触笔反转指示器值;v)触笔擦除器指示器;vi)触笔定向值,所述触笔定向值包括X倾斜值、Y倾斜值、扭转值、高度值、方位角值、加速度计值、陀螺仪值和磁力计值中的至少一个;(vii)触笔电池状态值;(viii)触笔ID;(ix)所述触笔优选颜色值;(x)触笔优选线宽值;和(xi)触笔优选线型值。
10.根据权利要求1所述的方法,其中,所述触笔属性包括:i)所述触笔坐标值(X、Y);ii)触笔压力值;iii)触笔开关值;iv)触笔定向值;v)所述触笔优选颜色值;vi)触笔优选线宽值;和vii)触笔优选线型值。
11.根据权利要求10所述的方法,还包括:
所述传感器控制器在从所述第一有源触笔接收到第一格式的所述触笔优选颜色值之后,将所述第一格式的所述触笔优选颜色值转换为第二格式,并且在所述第一有源触笔报告中包括所述第二格式的所述触笔优选颜色值。
12.根据权利要求10所述的方法,其中,所述触笔优选颜色值指示在所述第一有源触笔的易失性存储器中设置的原始颜色。
13.一种在传感器控制器和主机处理器之间通信的方法,所述传感器控制器耦合到被配置为与有源触笔交互的传感器,所述方法包括:
所述传感器控制器在与任何有源触笔耦合之前并且当所述传感器控制器和所述主机处理器之间的连接被建立时,将缺省描述符发送到所述主机处理器,所述缺省描述符包括具有触笔属性的列表和所述触笔属性中的每个的报告字段大小的第一描述和所述触笔属性的子集的第二描述,所述触笔属性包括至少触笔坐标值(X、Y)和触笔优选颜色值;
所述传感器控制器当与具有报告包括所述触笔优选颜色值的大致所有所述触笔属性的第一能力集的第一有源触笔耦合时,向所述主机处理器发送第一有源触笔报告,所述第一有源触笔报告由所述第一描述定义并且具有填充有从所述第一有源触笔报告的值的、包括所述触笔优选颜色值的大致所有所述触笔属性的字段;
所述传感器控制器当与具有报告不包括所述触笔优选颜色值的大致触笔属性的所述子集的、与所述第一能力集不同的第二能力集的第二有源触笔耦合时,向所述主机处理器发送第二有源触笔报告,所述第二有源触笔报告由所述第二描述定义并且具有填充有从所述第二有源触笔报告的值的、大致触笔属性的所述子集的字段;和
所述传感器控制器在用于所述第二有源触笔报告中的所述触笔优选颜色值的字段中填充缺省值,代替未从所述第二有源触笔报告的所述触笔优选颜色值,所述字段的报告字段大小由所述缺省描述符指示,
其中,所述第二有源触笔报告具有比所述第一有源触笔报告小的数据大小。
14.根据权利要求13所述的方法,还包括:
所述传感器控制器对从所述第一有源触笔或所述第二有源触笔报告的所述触笔属性应用平滑算法来填充所述第一有源触笔报告或所述第二有源触笔报告中的字段。
15.根据权利要求13所述的方法,还包括:
所述传感器控制器从所述第一有源触笔或所述第二有源触笔接收指示由所述第一有源触笔或所述第二有源触笔支持的属性的触笔能力信息;和
所述传感器控制器基于所述触笔能力信息来确定要发送所述第一有源触笔报告或所述第二有源触笔报告中的哪一个。
16.一种要耦合到传感器的传感器控制器,所述传感器将与有源触笔交互,所述传感器控制器包括:
处理电路,所述处理电路在操作中支持缺省描述符,所述缺省描述符包括触笔属性的列表和所述触笔属性中的每个的报告字段大小,所述触笔属性包括至少触笔坐标值(X、Y)和触笔优选颜色值;和
耦合到所述处理电路的发送电路,其中,所述发送电路在与任何有源触笔耦合之前并且当在所述传感器控制器和主机处理器之间的连接被建立时,将所述缺省描述符发送到所述主机处理器;
其中,
当所述传感器控制器与具有报告所述触笔属性的第一子集的第一能力集的第一有源触笔耦合时,所述发送电路向所述主机处理器发送第一有源触笔报告,其中所述第一子集包括所述触笔优选颜色值,所述第一有源触笔报告由所述缺省描述符定义并且具有填充有从所述第一有源触笔报告的值的、包括所述触笔优选颜色值的触笔属性的所述第一子集的字段;
当所述传感器控制器与具有报告所述触笔属性的第二子集的、与所述第一能力集不同的第二能力集的第二有源触笔耦合时,所述发送电路向所述主机处理器发送第二有源触笔报告,所述第二有源触笔报告由所述缺省描述符定义并且具有填充有从所述第二有源触笔报告的值的、触笔属性的所述第二子集的字段,所述第二子集不同于所述第一子集并且不包括所述触笔优选颜色值;和
所述处理电路在操作中在用于所述第二有源触笔报告中的所述触笔优选颜色值的字段中填充缺省值,代替未从所述第二有源触笔报告的所述触笔优选颜色值,所述字段的报告字段大小由所述缺省描述符指示。
17.根据权利要求16所述的传感器控制器,其中,
所述处理电路在操作中对从所述第一有源触笔报告的触笔属性的所述第一子集或者从所述第二有源触笔报告的触笔属性的所述第二子集应用平滑算法来填充所述第一有源触笔报告或所述第二有源触笔报告中的字段。
18.根据权利要求16所述的传感器控制器,其中,
所述处理电路在操作中从所述第一有源触笔或所述第二有源触笔接收指示由所述第一有源触笔或所述第二有源触笔支持的属性的触笔能力信息。
19.根据权利要求16所述的传感器控制器,其中,所述触笔属性包括:i)所述触笔坐标值(X、Y);ii)触笔压力值;iii)触笔开关值;iv)触笔定向值;v)所述触笔优选颜色值;vi)触笔优选线宽值;和vii)触笔优选线型值。
20.根据权利要求19所述的传感器控制器,其中,
所述处理电路在从所述第一有源触笔接收到第一格式的所述触笔优选颜色值之后,将所述第一格式的所述触笔优选颜色值转换为第二格式,并且在所述第一有源触笔报告中包括所述第二格式的所述触笔优选颜色值。
21.一种主机处理器,包括:
接收电路,当在所述主机处理器和传感器控制器之间的连接被建立时,所述接收电路在操作中从耦合到传感器的所述传感器控制器接收缺省描述符,所述传感器被配置为与有源触笔交互,其中,所述缺省描述符包括触笔属性的列表和所述触笔属性中的每个的报告字段大小,所述触笔属性包括至少触笔坐标值(X、Y)和触笔优选颜色值;和
耦合到所述接收电路的处理电路,其中,
当所述传感器控制器与具有报告所述触笔属性的第一子集的第一能力集的第一有源触笔耦合时,所述处理电路从所述传感器控制器接收第一有源触笔报告,其中所述第一子集包括所述触笔优选颜色值,所述第一有源触笔报告由所述缺省描述符定义并且具有填充有从所述第一有源触笔报告的值的、包括所述触笔优选颜色值的触笔属性的所述第一子集的字段;
当所述传感器控制器与具有报告所述触笔属性的第二子集的、与所述第一能力集不同的第二能力集的第二有源触笔耦合时,所述处理电路从所述传感器控制器接收第二有源触笔报告,所述第二有源触笔报告由所述缺省描述符定义并且具有填充有从所述第二有源触笔报告的值的、触笔属性的所述第二子集的字段,所述第二子集与所述第一子集不同并且不包括所述触笔优选颜色值;和
用于所述第二有源触笔报告中的所述触笔优选颜色值的字段被填充有缺省值,代替未从所述第二有源触笔报告的所述触笔优选颜色值,所述字段的报告字段大小由所述缺省描述符指示。
22.根据权利要求21所述的主机处理器,被配置为经由通用串行总线(USB)接口与所述传感器控制器连接。
23.根据权利要求21所述的主机处理器,被配置为经由内部集成电路(I2C)总线或串行外设接口(SPI)总线与所述传感器控制器连接。
24.根据权利要求21所述的主机处理器,其中,所述触笔属性包括:i)所述触笔坐标值(X、Y);ii)触笔压力值;iii)触笔开关值;iv)触笔定向值;v)所述触笔优选颜色值;vi)触笔优选线宽值;和vii)触笔优选线型值。
25.一种系统,包括:
(a)有源触笔,所述有源触笔被配置为与传感器交互,
(b)传感器控制器,所述传感器控制器耦合到传感器并且包括:
传感器处理电路,所述传感器处理电路在操作中支持缺省描述符,所述缺省描述符包括触笔属性的列表和所述触笔属性中的每个的报告字段大小,所述触笔属性包括至少触笔坐标值(X、Y)和触笔优选颜色值;和
传感器发送电路,所述传感器发送电路耦合到所述传感器处理电路,以及
(c)主机处理器,包括:
主机接收电路,所述主机接收电路在操作中从所述传感器控制器接收所述缺省描述符;和
主机处理电路,所述主机处理电路耦合到所述主机接收电路,其中,
所述传感器发送电路在与任何有源触笔耦合之前并且当所述传感器控制器和所述主机处理器之间的连接被建立时,将所述缺省描述符发送到所述主机处理器;
当所述传感器控制器与具有报告所述触笔属性的第一子集的第一能力集的第一有源触笔耦合时,所述传感器控制器的所述传感器发送电路向所述主机处理器发送第一有源触笔报告,其中所述第一子集包括所述触笔优选颜色值,所述第一有源触笔报告由所述缺省描述符定义并且具有填充有从所述第一有源触笔报告的值的、包括所述触笔优选颜色值的触笔属性的所述第一子集的字段;
当所述传感器控制器与具有报告所述触笔属性的第二子集的、与所述第一能力集不同的第二能力集的第二有源触笔耦合时,所述传感器控制器的所述传感器发送电路向所述主机处理器发送第二有源触笔报告,所述第二有源触笔报告由所述缺省描述符定义并且具有填充有从所述第二有源触笔报告的值的、触笔属性的所述第二子集的字段,所述第二子集不同于所述第一子集并且不包括所述触笔优选颜色值;和
所述传感器控制器的所述传感器处理电路在用于所述第二有源触笔报告中的所述触笔优选颜色值的字段中填充缺省值,代替未从所述第二有源触笔报告的所述触笔优选颜色值,所述字段的报告字段大小由所述缺省描述符指示。
CN201680022752.5A 2015-04-20 2016-04-20 用于触笔和触笔传感器控制器之间双向通信的系统和方法 Active CN107533390B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010710055.7A CN111913606A (zh) 2015-04-20 2016-04-20 传感器控制器、主机处理器、通信方法和系统

Applications Claiming Priority (17)

Application Number Priority Date Filing Date Title
US201562149907P 2015-04-20 2015-04-20
US62/149,907 2015-04-20
US201562152870P 2015-04-25 2015-04-25
US62/152,870 2015-04-25
US201562162527P 2015-05-15 2015-05-15
US62/162,527 2015-05-15
US201562191913P 2015-07-13 2015-07-13
US62/191,913 2015-07-13
US201562240984P 2015-10-13 2015-10-13
US62/240,984 2015-10-13
US201562243427P 2015-10-19 2015-10-19
US62/243,427 2015-10-19
US201662291356P 2016-02-04 2016-02-04
US201662291373P 2016-02-04 2016-02-04
US62/291,373 2016-02-04
US62/291,356 2016-02-04
PCT/US2016/028472 WO2016172233A1 (en) 2015-04-20 2016-04-20 System and method for bidirectional communication between stylus and stylus sensor controller

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202010710055.7A Division CN111913606A (zh) 2015-04-20 2016-04-20 传感器控制器、主机处理器、通信方法和系统

Publications (2)

Publication Number Publication Date
CN107533390A CN107533390A (zh) 2018-01-02
CN107533390B true CN107533390B (zh) 2021-05-28

Family

ID=57129815

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010710055.7A Pending CN111913606A (zh) 2015-04-20 2016-04-20 传感器控制器、主机处理器、通信方法和系统
CN201680022752.5A Active CN107533390B (zh) 2015-04-20 2016-04-20 用于触笔和触笔传感器控制器之间双向通信的系统和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202010710055.7A Pending CN111913606A (zh) 2015-04-20 2016-04-20 传感器控制器、主机处理器、通信方法和系统

Country Status (6)

Country Link
US (3) US10372245B2 (zh)
EP (2) EP3286625B1 (zh)
JP (2) JP6764868B2 (zh)
KR (1) KR102447009B1 (zh)
CN (2) CN111913606A (zh)
WO (1) WO2016172233A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3786769B1 (en) * 2014-01-22 2022-12-14 Wacom Co., Ltd. Position indicator, position detecting device, position detecting circuit, and position detecting method
EP3286625B1 (en) * 2015-04-20 2022-08-24 Wacom Co., Ltd. System and method for bidirectional communication between stylus and stylus sensor controller
US10305671B2 (en) * 2015-05-21 2019-05-28 Cirrus Logic, Inc. Synchronous differential signaling protocol
CN110058782B (zh) * 2016-02-22 2020-11-24 广州视睿电子科技有限公司 基于交互式电子白板的触摸操作方法及其系统
US10254857B2 (en) 2016-03-06 2019-04-09 Microsoft Technology Licensing, Llc Soft touch detection of a stylus
US10514803B2 (en) * 2016-03-06 2019-12-24 Microsoft Technology Licensing, Llc Pen in field force sensing calibration
CN112416149A (zh) * 2016-03-08 2021-02-26 禾瑞亚科技股份有限公司 侦测触控笔的倾斜角的触控控制装置与其控制方法
US9898102B2 (en) * 2016-03-11 2018-02-20 Microsoft Technology Licensing, Llc Broadcast packet based stylus pairing
KR102523154B1 (ko) * 2016-04-22 2023-04-21 삼성전자주식회사 터치 스크린 장치, 입력 장치 및 그 제어 방법
US10379670B1 (en) 2017-04-27 2019-08-13 Microsoft Technology Licensing, Llc Increasing low-force accuracy at a device
US10459538B2 (en) 2017-05-15 2019-10-29 Microsoft Technology Licensing, Llc Pressure sensitive stylus
KR102324210B1 (ko) * 2017-06-30 2021-11-08 엘지디스플레이 주식회사 터치 표시 장치, 펜, 터치 시스템, 터치 회로 및 펜 인식 방법
EP4283444A3 (en) * 2017-09-15 2024-01-31 Wacom Co., Ltd. Active pen and sensor controller
US10719142B2 (en) 2017-11-22 2020-07-21 Microsoft Technology Licensing, Llc Multi-functional stylus
JP7080068B2 (ja) * 2018-02-16 2022-06-03 日本電産サンキョー株式会社 ロボットの位置情報復元方法
CN108550349A (zh) * 2018-03-12 2018-09-18 深圳市昂米科技有限公司 一种液晶电子写字板
JP7097722B2 (ja) * 2018-03-20 2022-07-08 日本電産サンキョー株式会社 ロボットの位置情報復元方法
JP6887060B2 (ja) * 2018-05-18 2021-06-16 株式会社ワコム 位置指示装置及び情報処理装置
US10877578B2 (en) * 2018-07-18 2020-12-29 Wacom Co., Ltd. Sensor controller and active pen
US10817083B2 (en) 2018-09-07 2020-10-27 Microsoft Technology Licensing, Llc Detection of pen location relative to an electronic device
US11248939B2 (en) * 2018-09-12 2022-02-15 Keysight Technologies, Inc. Methods, systems, and computer readable media for calibration testing and traceability using a distributed ledger
KR20200082447A (ko) 2018-12-28 2020-07-08 삼성전자주식회사 복수의 입력 버튼들이 구비된 펜 입력 장치와 통신을 수행하는 전자 장치 및 그 제어 방법
CN111367432B (zh) * 2020-02-28 2023-09-22 北京硬壳科技有限公司 支持主动笔的方法及系统、触控转接板及系统芯片
TWI731650B (zh) * 2020-04-15 2021-06-21 宏碁股份有限公司 觸控筆、觸控電子裝置與觸控系統
TWI768734B (zh) * 2021-02-26 2022-06-21 奕力科技股份有限公司 觸控裝置以及其觸控筆
KR20230129127A (ko) 2022-02-28 2023-09-06 삼성디스플레이 주식회사 펜 아날로그 프론트 엔드 및 이를 이용한 펜 통신방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102317899A (zh) * 2011-08-02 2012-01-11 华为终端有限公司 一种信息生成和处理方法、装置以及终端设备
CN103389812A (zh) * 2012-05-09 2013-11-13 精工爱普生株式会社 图像显示系统
CN103760993A (zh) * 2008-10-02 2014-04-30 株式会社和冠 输入系统、位置指示器及传感器控制单元

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0769769B2 (ja) * 1991-10-31 1995-07-31 株式会社ニューソフトウェアエージ 表示兼入力ボード
JP3421416B2 (ja) * 1994-03-18 2003-06-30 株式会社ワコム 位置検出装置及びその位置指示器
EP0967566A3 (en) 1998-06-22 2002-03-13 Wacom Co., Ltd. Coordinate input system
US6832717B1 (en) * 1999-05-25 2004-12-21 Silverbrook Research Pty Ltd Computer system interface surface
AU772145B2 (en) 1999-10-25 2004-04-08 Silverbrook Research Pty Ltd Electronically controllable pen
JP2002163070A (ja) * 2000-11-27 2002-06-07 Matsushita Electric Ind Co Ltd 電子黒板
CN100440309C (zh) * 2002-08-29 2008-12-03 N-特莱格有限公司 透明数字化器和被动型电子笔
JP2005149140A (ja) 2003-11-14 2005-06-09 Wacom Co Ltd 位置検出装置及び位置指示器
JP4860625B2 (ja) 2004-10-08 2012-01-25 イマージョン コーポレーション タッチ式入力装置におけるボタンおよびスクロール動作シミュレーション用の触覚フィードバック
US20080169132A1 (en) * 2007-01-03 2008-07-17 Yao Ding Multiple styli annotation system
TW200925942A (en) * 2007-12-10 2009-06-16 Mitac Int Corp Stylus device with multi-color switching
JP2010026586A (ja) 2008-07-15 2010-02-04 Newcom Inc 指示具及び位置検出装置
GB2466566B (en) * 2008-12-22 2010-12-22 N trig ltd Digitizer, stylus and method of synchronization therewith
JP5430339B2 (ja) * 2009-10-19 2014-02-26 株式会社ワコム 位置検出装置及び位置指示器
US8482539B2 (en) * 2010-01-12 2013-07-09 Panasonic Corporation Electronic pen system
JP5442479B2 (ja) * 2010-02-05 2014-03-12 株式会社ワコム 指示体、位置検出装置及び位置検出方法
US9176630B2 (en) * 2010-08-30 2015-11-03 Perceptive Pixel, Inc. Localizing an electrostatic stylus within a capacitive touch sensor
WO2012127471A2 (en) * 2011-03-21 2012-09-27 N-Trig Ltd. System and method for authentication with a computer stylus
JP5870575B2 (ja) 2011-09-21 2016-03-01 Smk株式会社 静電容量式タッチパネル
US9262000B2 (en) 2011-10-26 2016-02-16 Intel Corporation Multi-touch interface schemes
US20130106709A1 (en) * 2011-10-28 2013-05-02 Martin John Simmons Touch Sensor With User Identification
US10725563B2 (en) * 2011-10-28 2020-07-28 Wacom Co., Ltd. Data transfer from active stylus to configure a device or application
US9280218B2 (en) * 2011-10-28 2016-03-08 Atmel Corporation Modulating drive signal for communication between active stylus and touch-sensor device
US9946408B2 (en) 2011-10-28 2018-04-17 Atmel Corporation Communication between a master active stylus and a slave touch-sensor device
US9323348B2 (en) * 2011-11-09 2016-04-26 Crayola Llc Stylus having sensing and transmitting capabilities
CA2858418C (en) * 2012-01-10 2017-02-14 Neonode Inc. Combined radio-frequency identification and touch input for a touch screen
EP2657820B1 (en) * 2012-04-26 2019-07-17 BlackBerry Limited Method and apparatus for drawing tool selection
US8803850B2 (en) * 2012-06-15 2014-08-12 Blackberry Limited Stylus with control ring user interface
EP2687950A1 (en) * 2012-07-20 2014-01-22 BlackBerry Limited Orientation sensing stylus
KR102101818B1 (ko) * 2012-07-30 2020-04-17 삼성전자주식회사 단말기의 데이터전송 제어장치 및 방법
US9563304B2 (en) * 2012-08-15 2017-02-07 Atmel Corporation Active stylus with passive mutual measurements
JP5362092B1 (ja) * 2012-10-31 2013-12-11 株式会社東芝 電子機器および描画方法
US9250721B2 (en) * 2012-12-17 2016-02-02 Disney Enterprises, Inc. Wireless stylus device with interchangeable tips and eraser
JP6158947B2 (ja) * 2012-12-29 2017-07-05 アップル インコーポレイテッド タッチ入力からディスプレイ出力への関係間を遷移するためのデバイス、方法及びグラフィカルユーザインタフェース
US9785259B2 (en) 2013-03-11 2017-10-10 Barnes & Noble College Booksellers, Llc Stylus-based slider functionality for UI control of computing device
US20140256250A1 (en) * 2013-03-11 2014-09-11 Barnesandnoble.Com Llc Peer-to-peer data transfer using near field communication (nfc)-enabled styluses
US20140253462A1 (en) * 2013-03-11 2014-09-11 Barnesandnoble.Com Llc Sync system for storing/restoring stylus customizations
TWI557646B (zh) * 2013-03-25 2016-11-11 鴻海精密工業股份有限公司 電子白板系統、電子書寫筆及電子書寫方法
KR102087392B1 (ko) 2013-05-13 2020-04-14 삼성전자주식회사 동작 방법 및 그 전자 장치
US10845901B2 (en) * 2013-07-31 2020-11-24 Apple Inc. Touch controller architecture
US9086749B2 (en) * 2013-08-30 2015-07-21 Qualcomm Incorporated System and method for improved processing of touch sensor data
JP5852631B2 (ja) 2013-12-03 2016-02-03 株式会社ワコム 位置指示器
EP3786769B1 (en) 2014-01-22 2022-12-14 Wacom Co., Ltd. Position indicator, position detecting device, position detecting circuit, and position detecting method
US9703946B2 (en) * 2014-03-31 2017-07-11 Stmicroelectronics Asia Pacific Pte Ltd Secure pairing method, circuit and system for an intelligent input device and an electronic device
US9632597B2 (en) * 2014-06-12 2017-04-25 Amazon Technologies, Inc. Configurable active stylus devices
CN106462289B (zh) * 2014-06-16 2019-11-05 微软技术许可有限责任公司 用于使用启用触摸的设备的数据传输的方法和系统
CN104484063B (zh) 2014-12-10 2017-11-24 北京汉王鹏泰科技有限公司 主动式电容笔及触控装置
CN113534982B (zh) * 2015-03-02 2023-10-10 株式会社和冠 主动式触控笔
EP3286625B1 (en) * 2015-04-20 2022-08-24 Wacom Co., Ltd. System and method for bidirectional communication between stylus and stylus sensor controller
US9785262B2 (en) * 2015-04-20 2017-10-10 Wacom Co., Ltd. System and method for bidirectional communication between stylus and stylus sensor controller
US9448646B1 (en) * 2015-04-20 2016-09-20 Wacom Co., Ltd. System and method for bidirectional communication between stylus and stylus sensor controller

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103760993A (zh) * 2008-10-02 2014-04-30 株式会社和冠 输入系统、位置指示器及传感器控制单元
CN102317899A (zh) * 2011-08-02 2012-01-11 华为终端有限公司 一种信息生成和处理方法、装置以及终端设备
CN103389812A (zh) * 2012-05-09 2013-11-13 精工爱普生株式会社 图像显示系统

Also Published As

Publication number Publication date
US9921667B2 (en) 2018-03-20
US20160306444A1 (en) 2016-10-20
JP2020198137A (ja) 2020-12-10
CN111913606A (zh) 2020-11-10
EP3286625A4 (en) 2018-12-05
JP7004781B2 (ja) 2022-01-21
WO2016172233A1 (en) 2016-10-27
EP3286625B1 (en) 2022-08-24
KR102447009B1 (ko) 2022-09-23
KR20170139113A (ko) 2017-12-18
EP3286625A1 (en) 2018-02-28
US10613651B2 (en) 2020-04-07
CN107533390A (zh) 2018-01-02
US20190354203A1 (en) 2019-11-21
JP6764868B2 (ja) 2020-10-07
JP2018514010A (ja) 2018-05-31
US20160306445A1 (en) 2016-10-20
EP4109224A1 (en) 2022-12-28
US10372245B2 (en) 2019-08-06

Similar Documents

Publication Publication Date Title
CN107533390B (zh) 用于触笔和触笔传感器控制器之间双向通信的系统和方法
JP7271770B2 (ja) アクティブスタイラスとセンサコントローラとの間の双方向通信に供される方法およびアクティブスタイラス
US9448646B1 (en) System and method for bidirectional communication between stylus and stylus sensor controller

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant