梁?jiǎn)?quán)
(深圳市匯頂科技股份有限公司,廣東深圳 518048)
主動(dòng)筆書寫時(shí),屏檢測(cè)主動(dòng)筆在屏中的坐標(biāo),同時(shí)接收來(lái)自主動(dòng)筆的筆尖壓力信息,智能終端結(jié)合主動(dòng)筆的坐標(biāo)信息和壓力信息輸出筆跡,實(shí)現(xiàn)主動(dòng)筆在屏中劃線或書寫。藍(lán)牙傳輸壓力會(huì)有延時(shí),如圖1為傳輸延時(shí)的示意圖,筆觸屏?xí)r,筆檢測(cè)的實(shí)際壓力從無(wú)到有,再逐漸增大;當(dāng)?shù)趎周期筆檢測(cè)到壓力時(shí),通過(guò)無(wú)線方式將當(dāng)前的壓力信息傳輸給屏,由于傳輸延時(shí),屏在第(n+m)周期才收到筆在第n幀檢測(cè)的壓力信息,即延時(shí)了m幀。此壓力傳輸延時(shí),會(huì)導(dǎo)致主動(dòng)筆書寫下筆的首筆漏輸出和抬筆拖尾現(xiàn)象,影響書寫體驗(yàn)。蘋果的Apple pencil和華為的M-Pencil也是通過(guò)藍(lán)牙通信傳輸壓力,同樣存在藍(lán)牙傳輸壓力延時(shí)的問(wèn)題。為了解決此問(wèn)題,其通過(guò)判斷觸摸屏接收主動(dòng)筆下行打碼信號(hào)的幅值進(jìn)行提前出壓力,即當(dāng)觸摸屏檢測(cè)到主動(dòng)筆下行信號(hào)幅值大于閾值,則提前出壓力。但屏幕檢測(cè)筆信號(hào)存在不均勻問(wèn)題,如屏幕遠(yuǎn)端檢測(cè)到筆的信號(hào)較近端較??;同時(shí)主動(dòng)筆由于結(jié)構(gòu)原因,筆豎直和傾斜時(shí),其在觸摸屏同一位置的幅值也不一致。此不一致導(dǎo)致選取正確的下行幅值閾值存在困難,閾值太大,可能導(dǎo)致部分屏區(qū)域劃線斷線,閾值太小,則出現(xiàn)快寫時(shí)因筆尖離屏太近而連筆。本文提出的通過(guò)增加指示是否有壓力編碼位的方案很好的解決上述問(wèn)題。
如圖2,電容筆由以下幾部分組成:
筆尖:其將高壓打碼信號(hào)輸出給屏,用于觸摸屏檢測(cè)筆尖坐標(biāo)位置,同時(shí)筆尖直接和壓力傳感器接觸,將主動(dòng)筆書寫過(guò)程中筆尖感應(yīng)到的壓力傳導(dǎo)給壓力傳感器。
壓力檢測(cè)電路:其包含壓力傳感器及壓感信號(hào)放大電路,用于檢測(cè)筆尖壓力信息。
主處理器:對(duì)壓力進(jìn)行采樣和處理,根據(jù)主動(dòng)筆協(xié)議產(chǎn)生電容筆低壓打碼邏輯信號(hào),響應(yīng)gsensor、按鍵等外部事件,并對(duì)整筆的低功耗進(jìn)行管理。
圖1 藍(lán)牙傳輸延時(shí)示意圖
低功耗藍(lán)牙:接收來(lái)自主機(jī)的命令,并將主動(dòng)筆的壓力等信息傳給主機(jī)。
升壓電路:根據(jù)主動(dòng)筆協(xié)議的要求,將主處理的低壓打碼邏輯進(jìn)行升壓,一般升壓電壓在16V~40V之間。
如圖3所示,觸摸屏感應(yīng)層包含了驅(qū)動(dòng)通道Y和感應(yīng)通道X。當(dāng)觸摸屏檢測(cè)主動(dòng)筆的坐標(biāo)時(shí),由筆尖電極發(fā)出信號(hào),主動(dòng)筆與驅(qū)動(dòng)通道與感應(yīng)通道之間都會(huì)有存在耦合電容,信號(hào)經(jīng)過(guò)耦合電容耦合到通道上,再由觸摸控制器的感應(yīng)電路來(lái)檢測(cè)信號(hào)量,此時(shí)觸摸屏的驅(qū)動(dòng)通道與感應(yīng)通道都會(huì)連接到觸摸控制器的感應(yīng)電路上。在此檢測(cè)過(guò)程中,觸摸控制器只接收信號(hào),不發(fā)出驅(qū)動(dòng)信號(hào)。觸摸屏檢測(cè)到的筆端信號(hào),可以實(shí)現(xiàn)坐標(biāo)定位。主動(dòng)筆發(fā)送信號(hào)可以為方波、正弦波或三角波等,實(shí)際使用的頻率可以為幾十KHz到幾百KHz之間[1]。
圖2 電容筆的硬件組成
圖3 觸摸屏檢測(cè)原理圖
觸摸屏檢測(cè)到主動(dòng)筆的坐標(biāo)可以實(shí)現(xiàn)筆尖定位,當(dāng)主動(dòng)筆傳給觸摸屏的壓力為非0時(shí),則在屏上出現(xiàn)筆跡,即出現(xiàn)筆跡的條件是觸摸屏檢測(cè)到筆的坐標(biāo)且筆尖有壓力[2]。
圖4為主動(dòng)筆數(shù)據(jù)流的示意圖,觸摸屏對(duì)主動(dòng)筆筆尖高壓打碼信號(hào)進(jìn)行檢測(cè)得到主動(dòng)筆坐標(biāo),坐標(biāo)經(jīng)觸摸屏驅(qū)動(dòng)、系統(tǒng)后由主動(dòng)筆APP獲取。主動(dòng)筆對(duì)壓力數(shù)據(jù)進(jìn)行處理得到壓力等級(jí),主動(dòng)筆通過(guò)藍(lán)牙將壓力數(shù)據(jù)發(fā)送給屛端藍(lán)牙,經(jīng)屏藍(lán)牙驅(qū)動(dòng)、系統(tǒng)后由主動(dòng)筆APP獲取。
主動(dòng)筆書寫時(shí),屏在筆靠近一定距離即可檢測(cè)到坐標(biāo),當(dāng)主動(dòng)筆壓力為非零,則輸出筆跡。藍(lán)牙傳輸壓力過(guò)程中,屛端藍(lán)牙芯片解析壓力數(shù)據(jù)、驅(qū)動(dòng)上報(bào)壓力數(shù)據(jù)和系統(tǒng)處理壓力數(shù)據(jù)都有延時(shí),導(dǎo)致主動(dòng)筆APP獲取的壓力信息較筆尖實(shí)際感應(yīng)的壓力有延時(shí)。當(dāng)壓力傳輸延時(shí)大于坐標(biāo)傳輸延時(shí),會(huì)有首筆漏輸出和尾筆拖尾問(wèn)題。
圖5為屏筆時(shí)序圖,屏在筆打碼的beacon時(shí)序上進(jìn)行TX和RX兩個(gè)方向的坐標(biāo)采樣,得到屏的二維坐標(biāo)。屏在Ink的時(shí)序上進(jìn)行采樣,主動(dòng)筆在筆尖無(wú)壓力時(shí)不對(duì)Ink段打碼,此時(shí)屏檢測(cè)到的Ink信號(hào)較小;主動(dòng)筆在筆尖有壓力時(shí)進(jìn)行Ink段打碼,此時(shí)屏檢測(cè)到的Ink信號(hào)較大。
圖4 主動(dòng)筆數(shù)據(jù)流
圖5 屏筆時(shí)序
當(dāng)Ink信號(hào)大于閾值時(shí),表示筆尖有壓力,此時(shí)觸摸屏在給系統(tǒng)上報(bào)坐標(biāo)額的同時(shí)上報(bào)Ink事件,告知系統(tǒng)當(dāng)前筆尖有壓力。同時(shí)主動(dòng)筆實(shí)時(shí)的通過(guò)藍(lán)牙將筆尖的壓力等級(jí)傳給屏。
圖6 壓力顯示邏輯
圖7 首筆壓力狀態(tài)圖
如圖6壓力顯示的邏輯,當(dāng)藍(lán)牙傳輸?shù)膶?shí)際壓力等級(jí)為0,而有Ink事件,表示筆尖從無(wú)壓力到有壓力狀態(tài)變化,此時(shí)由于藍(lán)牙傳輸延時(shí)而有首筆漏輸出問(wèn)題,系統(tǒng)在此時(shí)顯示一個(gè)較小的模擬壓力進(jìn)行修改,避免首筆漏輸出;當(dāng)藍(lán)牙傳輸?shù)膶?shí)際壓力等級(jí)為非0,而無(wú)Ink事件,表示筆尖從有壓力到到壓力狀態(tài)變化,此時(shí)由于藍(lán)牙傳輸延時(shí)而有抬筆拖尾的現(xiàn)象,系統(tǒng)在此時(shí)按無(wú)壓力顯示,解決抬筆拖尾的問(wèn)題。
采用壓力標(biāo)記標(biāo)示提前顯示下筆壓力和提前結(jié)束抬筆壓力顯示,會(huì)造成筆跡不連貫和筆鋒效果差的問(wèn)題。故需在主動(dòng)筆APP端對(duì)首筆和尾筆進(jìn)行筆跡修正,以達(dá)到很好的筆鋒效果。
(1)首筆修正:如圖7,第n周期筆尖觸屏,主動(dòng)筆即檢測(cè)到有壓力,其在第n+1周期開(kāi)始的打碼中輸出Ink打碼段,此時(shí)屏可以檢測(cè)到Ink段的幅值大于閾值,并報(bào)Ink事件給系統(tǒng)。一旦收到Ink事件,APP即可顯示修正壓力;由于藍(lán)牙傳輸延時(shí),第n+m周期時(shí),系統(tǒng)才收到主動(dòng)筆在第n周期輸出的有壓力數(shù)據(jù),此時(shí)系統(tǒng)開(kāi)始顯示實(shí)際壓力。
首筆修正壓力按式(1)進(jìn)行取值:
其中:i為Ink事件開(kāi)始的周期序號(hào),Pm為Ink事件后系統(tǒng)收到的第一個(gè)藍(lán)牙壓力值,n為壓力修正周期數(shù)。
(2)尾筆修正:為了對(duì)尾筆筆跡進(jìn)行修正,需APP通過(guò)先進(jìn)先出的方式存儲(chǔ)待修正的坐標(biāo)和壓力值。假設(shè)壓力傳輸較坐標(biāo)傳輸有60ms的延時(shí),同時(shí)主動(dòng)筆的坐標(biāo)和壓力上報(bào)周期為15ms,則APP至少存儲(chǔ)最新的4個(gè)周期坐標(biāo)和壓力值用于筆跡修正。
如圖8,筆正在劃線,此時(shí)筆打碼信號(hào)含Ink脈沖段,同時(shí)APP收到藍(lán)牙發(fā)送的壓力值為非零值;在第n+m周期筆尖離屏,并在打碼中不輸出Ink脈沖段,屏檢測(cè)到Ink段的幅值小于閾值,并報(bào)無(wú)Ink事件給系統(tǒng)。此時(shí)將存儲(chǔ)的壓力值,進(jìn)行修正之后再輸出。
尾筆修正壓力按式(2)進(jìn)行取值:
其中:i為無(wú)Ink事件向有Ink事件方向的周期序號(hào),Pm為抬筆時(shí)藍(lán)牙收到的實(shí)際壓力,n為壓力修正周期數(shù),P1(i)為藍(lán)牙發(fā)送的實(shí)際壓力。
圖8 尾筆壓力狀態(tài)圖
本文介紹了電容筆的硬件結(jié)構(gòu),分析了主動(dòng)筆坐標(biāo)和壓力在系統(tǒng)中的數(shù)據(jù)流向,進(jìn)而分析藍(lán)牙傳輸壓力的延時(shí)原因和原理。為了解決藍(lán)牙傳輸壓力延時(shí)導(dǎo)致的首筆漏輸出和尾筆拖尾問(wèn)題,提出了采用在主動(dòng)筆下行打碼中增加指示壓力編碼位的方案,并給出首筆和尾筆筆跡修正的思路。實(shí)際體驗(yàn)表明,該方案可以有效解決首筆漏輸出和尾筆拖尾的問(wèn)題,同時(shí)通過(guò)筆跡修正,可以保證書寫過(guò)程中首尾筆的筆鋒效果。