梁啟權
(深圳市匯頂科技股份有限公司,廣東深圳 518048)
主動筆書寫時,屏檢測主動筆在屏中的坐標,同時接收來自主動筆的筆尖壓力信息,智能終端結合主動筆的坐標信息和壓力信息輸出筆跡,實現(xiàn)主動筆在屏中劃線或書寫。藍牙傳輸壓力會有延時,如圖1為傳輸延時的示意圖,筆觸屏時,筆檢測的實際壓力從無到有,再逐漸增大;當?shù)趎周期筆檢測到壓力時,通過無線方式將當前的壓力信息傳輸給屏,由于傳輸延時,屏在第(n+m)周期才收到筆在第n幀檢測的壓力信息,即延時了m幀。此壓力傳輸延時,會導致主動筆書寫下筆的首筆漏輸出和抬筆拖尾現(xiàn)象,影響書寫體驗。蘋果的Apple pencil和華為的M-Pencil也是通過藍牙通信傳輸壓力,同樣存在藍牙傳輸壓力延時的問題。為了解決此問題,其通過判斷觸摸屏接收主動筆下行打碼信號的幅值進行提前出壓力,即當觸摸屏檢測到主動筆下行信號幅值大于閾值,則提前出壓力。但屏幕檢測筆信號存在不均勻問題,如屏幕遠端檢測到筆的信號較近端較?。煌瑫r主動筆由于結構原因,筆豎直和傾斜時,其在觸摸屏同一位置的幅值也不一致。此不一致導致選取正確的下行幅值閾值存在困難,閾值太大,可能導致部分屏區(qū)域劃線斷線,閾值太小,則出現(xiàn)快寫時因筆尖離屏太近而連筆。本文提出的通過增加指示是否有壓力編碼位的方案很好的解決上述問題。
如圖2,電容筆由以下幾部分組成:
筆尖:其將高壓打碼信號輸出給屏,用于觸摸屏檢測筆尖坐標位置,同時筆尖直接和壓力傳感器接觸,將主動筆書寫過程中筆尖感應到的壓力傳導給壓力傳感器。
壓力檢測電路:其包含壓力傳感器及壓感信號放大電路,用于檢測筆尖壓力信息。
主處理器:對壓力進行采樣和處理,根據(jù)主動筆協(xié)議產(chǎn)生電容筆低壓打碼邏輯信號,響應gsensor、按鍵等外部事件,并對整筆的低功耗進行管理。

圖1 藍牙傳輸延時示意圖
低功耗藍牙:接收來自主機的命令,并將主動筆的壓力等信息傳給主機。
升壓電路:根據(jù)主動筆協(xié)議的要求,將主處理的低壓打碼邏輯進行升壓,一般升壓電壓在16V~40V之間。
如圖3所示,觸摸屏感應層包含了驅動通道Y和感應通道X。當觸摸屏檢測主動筆的坐標時,由筆尖電極發(fā)出信號,主動筆與驅動通道與感應通道之間都會有存在耦合電容,信號經(jīng)過耦合電容耦合到通道上,再由觸摸控制器的感應電路來檢測信號量,此時觸摸屏的驅動通道與感應通道都會連接到觸摸控制器的感應電路上。在此檢測過程中,觸摸控制器只接收信號,不發(fā)出驅動信號。觸摸屏檢測到的筆端信號,可以實現(xiàn)坐標定位。主動筆發(fā)送信號可以為方波、正弦波或三角波等,實際使用的頻率可以為幾十KHz到幾百KHz之間[1]。

圖2 電容筆的硬件組成

圖3 觸摸屏檢測原理圖
觸摸屏檢測到主動筆的坐標可以實現(xiàn)筆尖定位,當主動筆傳給觸摸屏的壓力為非0時,則在屏上出現(xiàn)筆跡,即出現(xiàn)筆跡的條件是觸摸屏檢測到筆的坐標且筆尖有壓力[2]。
圖4為主動筆數(shù)據(jù)流的示意圖,觸摸屏對主動筆筆尖高壓打碼信號進行檢測得到主動筆坐標,坐標經(jīng)觸摸屏驅動、系統(tǒng)后由主動筆APP獲取。主動筆對壓力數(shù)據(jù)進行處理得到壓力等級,主動筆通過藍牙將壓力數(shù)據(jù)發(fā)送給屛端藍牙,經(jīng)屏藍牙驅動、系統(tǒng)后由主動筆APP獲取。
主動筆書寫時,屏在筆靠近一定距離即可檢測到坐標,當主動筆壓力為非零,則輸出筆跡。藍牙傳輸壓力過程中,屛端藍牙芯片解析壓力數(shù)據(jù)、驅動上報壓力數(shù)據(jù)和系統(tǒng)處理壓力數(shù)據(jù)都有延時,導致主動筆APP獲取的壓力信息較筆尖實際感應的壓力有延時。當壓力傳輸延時大于坐標傳輸延時,會有首筆漏輸出和尾筆拖尾問題。
圖5為屏筆時序圖,屏在筆打碼的beacon時序上進行TX和RX兩個方向的坐標采樣,得到屏的二維坐標。屏在Ink的時序上進行采樣,主動筆在筆尖無壓力時不對Ink段打碼,此時屏檢測到的Ink信號較??;主動筆在筆尖有壓力時進行Ink段打碼,此時屏檢測到的Ink信號較大。

圖4 主動筆數(shù)據(jù)流

圖5 屏筆時序
當Ink信號大于閾值時,表示筆尖有壓力,此時觸摸屏在給系統(tǒng)上報坐標額的同時上報Ink事件,告知系統(tǒng)當前筆尖有壓力。同時主動筆實時的通過藍牙將筆尖的壓力等級傳給屏。

圖6 壓力顯示邏輯

圖7 首筆壓力狀態(tài)圖
如圖6壓力顯示的邏輯,當藍牙傳輸?shù)膶嶋H壓力等級為0,而有Ink事件,表示筆尖從無壓力到有壓力狀態(tài)變化,此時由于藍牙傳輸延時而有首筆漏輸出問題,系統(tǒng)在此時顯示一個較小的模擬壓力進行修改,避免首筆漏輸出;當藍牙傳輸?shù)膶嶋H壓力等級為非0,而無Ink事件,表示筆尖從有壓力到到壓力狀態(tài)變化,此時由于藍牙傳輸延時而有抬筆拖尾的現(xiàn)象,系統(tǒng)在此時按無壓力顯示,解決抬筆拖尾的問題。
采用壓力標記標示提前顯示下筆壓力和提前結束抬筆壓力顯示,會造成筆跡不連貫和筆鋒效果差的問題。故需在主動筆APP端對首筆和尾筆進行筆跡修正,以達到很好的筆鋒效果。
(1)首筆修正:如圖7,第n周期筆尖觸屏,主動筆即檢測到有壓力,其在第n+1周期開始的打碼中輸出Ink打碼段,此時屏可以檢測到Ink段的幅值大于閾值,并報Ink事件給系統(tǒng)。一旦收到Ink事件,APP即可顯示修正壓力;由于藍牙傳輸延時,第n+m周期時,系統(tǒng)才收到主動筆在第n周期輸出的有壓力數(shù)據(jù),此時系統(tǒng)開始顯示實際壓力。
首筆修正壓力按式(1)進行取值:

其中:i為Ink事件開始的周期序號,Pm為Ink事件后系統(tǒng)收到的第一個藍牙壓力值,n為壓力修正周期數(shù)。
(2)尾筆修正:為了對尾筆筆跡進行修正,需APP通過先進先出的方式存儲待修正的坐標和壓力值。假設壓力傳輸較坐標傳輸有60ms的延時,同時主動筆的坐標和壓力上報周期為15ms,則APP至少存儲最新的4個周期坐標和壓力值用于筆跡修正。
如圖8,筆正在劃線,此時筆打碼信號含Ink脈沖段,同時APP收到藍牙發(fā)送的壓力值為非零值;在第n+m周期筆尖離屏,并在打碼中不輸出Ink脈沖段,屏檢測到Ink段的幅值小于閾值,并報無Ink事件給系統(tǒng)。此時將存儲的壓力值,進行修正之后再輸出。
尾筆修正壓力按式(2)進行取值:

其中:i為無Ink事件向有Ink事件方向的周期序號,Pm為抬筆時藍牙收到的實際壓力,n為壓力修正周期數(shù),P1(i)為藍牙發(fā)送的實際壓力。

圖8 尾筆壓力狀態(tài)圖
本文介紹了電容筆的硬件結構,分析了主動筆坐標和壓力在系統(tǒng)中的數(shù)據(jù)流向,進而分析藍牙傳輸壓力的延時原因和原理。為了解決藍牙傳輸壓力延時導致的首筆漏輸出和尾筆拖尾問題,提出了采用在主動筆下行打碼中增加指示壓力編碼位的方案,并給出首筆和尾筆筆跡修正的思路。實際體驗表明,該方案可以有效解決首筆漏輸出和尾筆拖尾的問題,同時通過筆跡修正,可以保證書寫過程中首尾筆的筆鋒效果。