如何測量觸控移動瀏覽延遲
本主題提供詳細的設定指示和程式,以根據 Windows 8.1 的硬體認證來測量觸控行動瀏覽延遲。 它假設讀者熟悉觸摸屏、瞭解觸摸屏延遲的概念,並且對電氣和軟體工程有基本的瞭解。
概述
延遲是觸控數位板系統中所經歷的時間延遲量值。 觸碰延遲 是手指或手寫筆(執行器)觸碰螢幕和主機操作系統接收聯繫人的時間(通常是透過 HID 報告)。 移動瀏覽延遲 稍微複雜一點,因為聯繫人正沿著連續路徑移動,但報告會以離散時間間隔抵達。 因此,移動瀏覽延遲只會以可用的報告觸控數據離散時間間隔來定義。 接著,測量移動瀏覽延遲會縮減為知道觸控實際發生的時間延遲,以及操作系統收到觸控事件的時間延遲。
方法
本主題描述使用步驟馬達和相片插斷器測量觸控硬體裝置移動瀏覽延遲的安裝和程式。 步驟馬達驅動機械臂驅動執行器,以模擬人類手指。 執行器會在測試的裝置上繪製一個圓圈,相片插斷器電路會在執行器處於特定控制點時偵測到。 這項資訊會使用微控制器傳送到主計算機,而測試應用程式會根據裝置報告觸控事件以及執行器實際接觸時計算延遲。 下圖顯示整體概念。
硬體需求
本節說明測量移動瀏覽延遲所需的硬體元件。
步驟馬達和相片插斷器
測量工具由步驟馬達、相片插斷器、旋轉臂和執行器以及控制箱組成,如下圖所示。
控制方塊有三個控制開關和一個電源開關。
馬達:開啟和關閉步驟馬達臂。
校正:不適用於移動瀏覽延遲 - 將其關閉。 (僅用於觸碰延遲。
模式:在Tach之間切換(指的是用於行動流覽延遲測量的相片插斷器)和 Mic(用於觸碰延遲測量的麥克風)。
針對移動瀏覽延遲測量,初始設定應如下所示:
切換名稱 | 州/省 |
---|---|
Power |
關閉 |
電機 |
關閉 |
校準 |
關閉 |
[模式] |
Tach |
將 USB 插入計算機之後,將控制方塊開機。 在控制箱上電源后插入USB,可能會導致微控制器無法預測的狀態。
逐步執行馬達設定
步進馬達可以程式設計為以各種方式運行。 根據預設,逐步執行馬達的程序設計為以 自動校正模式執行。 (本檔稍後的一節會更詳細地說明此模式。自動化校正模式的設計目的是透過手動校正將校正錯誤和延遲變化降到最低。
在收購和收集階段,電機以每秒0.75次革命的速度運行。 用於擷取和收集階段的逐步執行馬達設定如下所示:
AC (加速) = 0.167
DE (減速) = 0.167
VE (速度) = 0.75
藉由使用這些設定,步驟馬達會每隔 1.33 秒迴圈一次。
Arm 長度
角度速度會根據手臂的半徑而有所不同。 例如,如果圓形的半徑約為5公分,則速度為每秒 ~25 公分。 為了標準化測試程式,手臂長度的半徑應為5公分,以達到每秒25公分的速度。 允許±1的容錯:也就是每秒 24 到 26 公分。
如果較小的平板電腦大小高達 10'' 對角線顯示大小,建議的半徑為 3 公分,而不是 5 公分。
手臂定位
在理想情況下,您應該在畫面的不同部分執行多次測試,以盡可能涵蓋畫面的許多區域。 數位板的任何部分的延遲預期等於或低於目標延遲(15 毫秒)。
使用鍵盤測試裝置:如果您使用平板電腦裝置,則需要外部鍵盤來完成測試程式。
將測試裝置放在非滑落表面:將測試裝置置於測試期間不會移動的方式。 對於小型裝置,簡單的解決方案是將它放在非滑墊的頂端,如下圖所示。 另一種方法是有一個大括號來牢牢地按住裝置。
撫平測試裝置:執行器的設計目的是將撫平的效果降到最低,因此撫平不需要完美。 不過,您應該確保執行器表面(直徑約9毫米)會統一接觸裝置,而不會站在一邊。
從測試裝置關閉任何不必要的程序:由於您正在測量系統效能,請關閉測試裝置中任何不必要的程式。
軟體需求
標誌控制器和客戶端應該安裝並設定必要的軟體。 如果是以獨立身分執行,請將 stepmotor.exe、wlklogannotation.dll 和 WTTLog.dll 複製到本機資料夾。
Triex RA 工具的測試程式
測試程式包含三個步驟:校正、擷取和收集。 不過,開始測試之前,您必須對裝置進行撫平。 撫平點是將其與圓形旋轉的馬達水準對齊。 如果未正確調節,執行器不會與數位板產生良好的接觸,而步驟馬達繪製的圓圈將變得不規則,並將極大地影響最後的延遲數位。 如果裝置未正確撫平或對齊,則會包含驗證方法,讓測試失敗。
校準
當您啟動 stepmotor.exe 時,您會看到空白畫面。 按空格鍵以開始校正。 校正的目的是在發出相片插斷器信號時,找出觸控在可容忍的錯誤估計中報告的位置。 由於校正結果可能會大幅影響延遲數位,因此請務必仔細校正。
安裝程式
連線 微控制器到計算機。
開啟控制方塊的電源開關。
切換名稱 州/省 Power
另一
電機
關閉
校準
關閉
[模式]
Tach
請確定已關閉馬達開關。
請確定相片插斷器未發出訊號(照片插斷器光線關閉)。 磁碟的插槽應位於相片插斷器訊號梁的 2-3 公厘左右。
定位有兩個原因。 首先,當您打開馬達時,馬達臂會稍微抖動。 當它這樣做時,您不希望它越過梁,因此製作相片插斷器信號。 其次,當您執行自動校正腳本時,這是循環開始的位置,而且您想要確定迴圈的結尾(當校正開始時)正確地對齊在相片插斷器下。 如果您手動校正,這仍然是一個很好的位置,因此,您不需要變更任何專案。
在您進入校正階段之前,請勿移動或降低手臂。
執行 stepmotor.exe。 如果您是透過 Windows HLK 控制器執行程式,請選取電腦並移動瀏覽延遲測試以啟動測試。
下列文字訊息隨即出現:
按空格鍵以啟動校正程式。
按空格鍵。 校正一字會出現在螢幕上。
將執行器降低到螢幕表面。
測試步驟(自動化)
開啟馬達。 步進電機將在校正模式中執行九次。
在校正模式結束時,它會停止五秒。 請依照本主題的下載一節中的指示操作。
測試步驟 (手動)
慢慢地將手臂轉向與馬達開啟時移動的方向相同。
當針頭(或洞)通過光斷器時,幾乎將速度降低到完全停止點。 (請注意,最大速度不應超過下載/收集速度的1%,也就是說,如果擷取/收集速度為25釐米/秒,則當插槽通過相片插斷器時,校正速度應該小於0.25公分/秒。
小心地把手臂轉過來,通過照片插斷器。
重複步驟 1 到 2 至少六次。
當訊號中斷時,您應該會看到相片插斷器閃爍,而測試視窗會報告執行器正在接觸的螢幕確切位置。 以下是範例結果:
Touch Pointer Update count=0, x=508,y=110 Touch Pointer Update count=1, x=512,y=113
預期的結果
如果已成功執行校正,您將不會看到任何錯誤訊息。
收購
在擷取步驟期間,會計算步驟馬達的速度和圓形的形狀。
安裝程式
請確定位置盡可能遠離相片插斷器。
測試步驟
按空格鍵,同時開啟馬達開關。 畫面上的文字應該會變更為 ACQUISITION。
讓裝置執行大約十個迴圈。
再次按空格鍵進入 COLLECTION 模式。
預期的結果
畫面會顯示 COLLECTION 模式為使用中,並顯示下載數據。 它會顯示針對每個循環計算的時間和速度清單。 如果步驟馬達抖動並顯示不良結果,可能會略過前幾個迴圈。 範例文字如下所示:
[4]: t: 1.333 [s] v: 25.456 [cm/s]
這會向您指出:
[loop number]: t:<loop time in seconds> [s] v:<velocity> [cm/s]
收集
數據收集代表測試的最後一個步驟。
安裝程式
請確定 COLLECTION 一字會出現在畫面頂端。 如果您在按下空格鍵之後仍保留校正一字,就會發生錯誤。 您必須再次執行測試。
測試步驟
讓馬達運行約十個迴圈。
按空格鍵完成測試。
關閉馬達開關。
預期的結果
您會看到通過或失敗的結果。
ITRI RA 工具的測試程式
在 ITRI RA 工具上執行 Touch Panning Latency 工具的程式與使用 Triex RA 工具執行測試稍有不同。 測試本身會維持不變,且包含相同的校正、擷取和收集步驟集。 使用 ITRI 執行測試的步驟如下:
RA 底座
請注意,在ITRI RA工具的情況下,校正開關有三個位置:開啟、關閉和首頁,也就是中心位置。
若要開始,參數應該如下所示:
切換名稱 州/省 Power
另一
電機
關閉
校準
關閉 (關閉)
[模式]
移動瀏覽
將開關變更為下列專案,讓馬達旋轉 45 度,以零系統。 完成時,請將馬達關閉。
切換名稱 州/省 Power
另一
電機
關閉
校準
首頁 (中心)
[模式]
平移 (上)
將測試手指放下裝置,然後按空格鍵進入校正階段。 參數現在如下所示:
切換名稱 州/省 Power
另一
電機
另一
校準
On (upper)
[模式]
平移 (上)
允許測試超過 17 個計數,然後關閉馬達,然後關閉校正開關關閉 (最低位置):
切換名稱 州/省 Power
另一
電機
關閉
校準
關閉 (下)
[模式]
平移 (上)
按空格鍵,然後針對取得階段將馬達重新開啟。
屏幕顯示超過 1999 的計數值之後,請按空格鍵。 測試顯示會顯示馬達圈時間和速度。 等候收集階段中收集聯繫人資訊大約十個循環,然後按空格鍵。 此時,系統已完成。 再按一次空格鍵,關閉馬達。
分析和報告
分析
如果校正或擷取有任何失敗,測試將會失敗,而且您可以在報告中檢視失敗的詳細數據。 您會看到如下的錯誤:
Warning multiple touch devices present.
Calibration failed: x11err=3.71 y11err=1.14 x22err=9.14 y22err=1.71
Acquisition failed: Circles are showing variations in pixel= 9.70
[135] 581 451 739 602 [199556137598] > 18 48
報告
透過 Windows HLK 回報傳遞或失敗。 如果您手動執行測試,您可以在 WTT 或 記事本 中開啟 TabletDigitizerOPK.wtl 檔案。 平均移動瀏覽延遲會記錄在結尾。 目標延遲等於或小於 15 毫秒。
自動校正模式
自動校正模式是RA工具的預設模式。 當您執行腳本時,請先確定步驟馬達在 Q 程式設計人員設定中設定為每一革命 20000 個步驟。 您可以使用 ST Configurator 工具來設定此設定。 移至 [動作] 和 [I/O],然後移至 [脈衝和方向控制]。
請確定 [步驟/Rev] 設定顯示 20000。
右側的設定也應該顯示 目前為步驟馬達設定的步驟/Rev 。
如果設定正確,則自動化文稿會以循序順序以三種模式執行:
校正模式:當您第一次開啟馬達時,這是將執行的第一個模式。 在校正模式期間,步驟馬達從開始位置以每秒0.75次革命的速度執行(大約每迴圈1.33秒)。339度。 然後它停止0.5秒,然後以每秒0.0042革命的速度運行(步進馬達的最低可能速度)21度。 當步步器馬達以非常低的速度運行時,測試程式(stepmotor.exe)將照片插斷器束中斷時所報告觸控接觸器的位置和時間戳相互關聯。
下列範例是圓形外觀的螢幕快照。 箭號指向的弧線部分是步手馬達以慢速執行的位置,以及相片插斷器應發出訊號的位置。 請務必讓運算符正確對齊光碟的開始位置:也就是說,光碟上的位置應該比相片插斷器大約 2-3 公厘。
作為參考,下列描述此校正弧線的設計方式:
Q-Programmer 中的 VE 參數 0.0042 平均校正訊號弧線長度
1.85 釐米(根據 31.26 釐米周長)
平均校正訊號角度
0.37 弧度 (21.20 度
平均校正訊號時間
12.50 秒(包括變更速度時的等候時間0.5秒)
平均校正訊號速度
五秒的等待:經過九圈校正後,電機將停止五秒。 在此期間,操作員必須按空格鍵進入「取得」模式。
擷取/收集模式:經過五秒的等候,電機將無限地以每秒0.75次革命(每迴圈1.33秒)的速度運行。
疑難排解
校準
在校正期間,測試程式無法在發出相片插斷器訊號時計算觸控事件的確切位置。 因此,請務必不要透過旋轉手臂太快來引入延遲。 如果發生錯誤,您會在畫面上看到錯誤訊息。 例如:
Calibration failed: x11err=3.71 y11err=1.14 x22err=9.14 y22err=1.71.
在重新啟動測試之前停止並調查原因。 失敗有幾個常見原因。 它們之所以發生,是因為測試程式無法對觸控點進行良好的計算。 原因包括:
當照片插斷器發出信號時,你移動手指(執行器)太快了。
裝置已移動。
解決這些問題,然後再試一次,直到您得到良好的校正為止。 需要記住的其他事項包括:
永遠不要用另一種方式轉過手臂。
在通過相片插斷器時,請非常小心地移動手臂,以將您引入的錯誤和延遲降到最低。
當相片插斷器中斷時,應該一律有兩個訊號。 當光線通過邊緣結尾的插槽時,就會發生第一個訊號。 第二個訊號會在光線通過開啟插槽后被封鎖時發生。 索引計數是以零起始。 發生兩個事件之後,計數應該是奇數。 如果您剛開始校正,甚至沒有轉動手臂時看到下列訊息,則可能至少一次將手臂(因此磁碟)繞在相片插斷器周圍,導致它發出訊號。 這會自動導致校正失敗。 立即停止測試並重新啟動。
Touch Pointer Update count=0, x=0, y=0
收購
如果擷取失敗,您會看到類似下列其中一項的錯誤訊息:
ERROR: Acquisition failed: Loop times not consistent > 6.3
ERROR: Acquisition failed: Circles are showing too many variations in pixels Rcm_error=0.5 xPixelErr=20 yPixelErr=20
當循環時間之間的平均差異超過五毫秒時,會產生第一種類型的錯誤。 第二種錯誤類型是在圓形不是繪製為完美的圓形時發生,因此會產生大於五個像素的像素變化。 此行為的常見原因包括:
未正確撫平或不正確校正的裝置。
裝置已移動。
步驟馬達速度不一致。 (這不是一個可能的解釋,因為它是一個完善的,廣泛使用的裝置;然而,電機有可能在您的特定裝置上有缺陷。
收集
如果通過校正和擷取步驟,則收集期間應該沒有問題。 大部分的錯誤是由於外部因素,例如裝置正在移動、中斷測試程式的其他一些程式,或裝置本身失敗。 運算子可能會遇到下列三個常見問題:
問題 1:電磁場干擾
錯誤可能是由步進電機產生的電磁力影響所產生。 視裝置而定,這可以透過各種方式來顯示:例如,產生的准刪除觸控點。 解決問題的辦法是提供良好的基礎。
問題 2:其他進程中斷測試程式
當另一個進程中斷測試程式時,通常會因為對延遲數位造成負面影響而損毀測試結果。
您可以藉由比較相片插斷器訊號間隔來診斷此問題。 檢閱 csignal.txt 檔案,其中包含相片插斷器中的時間戳。 第二欄顯示系統時間戳,第三欄顯示微控制器的時間戳。 例如:
[ 0: 0] 431506434557 538485264317
[ 1: 10] 431506447610 538485343495
[ 2: 1333] 431508166028 538495929302
[ 3: 1343] 431508178968 538496008565
[ 4: 1797] 431508769804 538499651185
[ 5: 1803] 431508776386 538499652266
[ 6: 2665] 431509897168 538506594116
[ 7: 2675] 431509910127 538506673294
[ 8: 3998] 431511628522 538517258922
[ 9: 4008] 431511641481 538517338232
[10: 5331] 431513359910 538527923775
[11: 5342] 431513372973 538528003038
sfirst = 0
檔案中的最後一個項目會顯示第一個有效訊號序列的索引。 當系統變得穩定時,「有效的訊號序列」是指訊號序列的開頭。 在擷取和收集之間,測試程式會將擷取結果寫入記錄檔,而且視系統效能而定,可能需要一些時間才能變得穩定。 在上述範例中,第一個訊號是有效的,因此您可以開始比較時間戳間隔。
您可以藉由指出兩個偶數時間戳之間的差異來採用時間戳間隔;或範例,0、2、4、6 等。如下表所示,訊號 4 和 6 與其他訊號間隔大不相同。 因此,我們知道另一個進程在該時間中斷了測試。 在一般情況下,您應該會看到小於 1% 的差異。
索引 | 時間戳記 | 間隔 |
---|---|---|
0 |
431506434557 |
|
2 |
431492585219 |
1731471 |
4 |
431494316516 |
603776 |
6 |
431496047748 |
1127364 |
8 |
431497779297 |
1731354 |
10 |
431499509508 |
1731388 |
12 |
431501240620 |
1731288 |
問題 3:取樣率變更
如果裝置變更其取樣率,則會發生延遲結果的重大差異。 您可以藉由比較擷取率和收集取樣率來診斷此問題。
您可以使用外部工具來測量裝置開啟前後的取樣率。 另一種方法是分析 stepmotor.exe 所產生的記錄。
開啟 Acquisition.txt。
取得第一個和最後一個資料列的時間戳(最後一個數據行):
581 660 709 602 199501901480 581 805 512 602 199554132317
計算取得的取樣率,如下所示:
(Last timestamp - first timestamp) /number of samples (rows)
開啟 Collection.txt。
取得第一個和最後一個資料列的時間戳(最後一個數據行):
581 822 423 602 [199554407006] 581 288 164 602 [199594255626]
計算集合取樣率,如下所示:
(Last timestamp - first timestamp) /number of samples (rows)
如果您看到兩者之間超過 2% 的差異,則收集數據並不可靠,您應該調查原因。
其他支援
如果需要其他支援,請連絡下列其中一個經過認證的吉格廠商:
Triex Technologies, Inc.
+1 (206) 940-0943
工業技術研究所
+886 (03) 5743887