TW201303686A - 電容式觸控螢幕系統及其操作方法 - Google Patents
電容式觸控螢幕系統及其操作方法 Download PDFInfo
- Publication number
- TW201303686A TW201303686A TW101121129A TW101121129A TW201303686A TW 201303686 A TW201303686 A TW 201303686A TW 101121129 A TW101121129 A TW 101121129A TW 101121129 A TW101121129 A TW 101121129A TW 201303686 A TW201303686 A TW 201303686A
- Authority
- TW
- Taiwan
- Prior art keywords
- group
- button
- touch screen
- buttons
- touch
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0412—Digitisers structurally integrated in a display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/044—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
- G06F3/0446—Digitisers, 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一種電容式觸控螢幕系統及對應方法之各種實施例。一觸控螢幕控制器可操作地連接至複數個第一導電性驅動電極、複數個第二導電性感測電極及一主機處理器。該觸控螢幕控制器使複數個電腦可讀取之按鈕群組程式化指令及資料自該主機處理器載入至其一記憶體之第一部分中,該等電腦可讀取之按鈕群組程式化指令及資料包含用於感測及仲裁發生於複數個第一按鈕之間之觸控之步驟。韌體指令及資料係被載入至該觸控螢幕控制器之該記憶體之一第二部分中。該等第一按鈕於一觸控螢幕上排列成一第一群組,該第一群組位於該觸控螢幕之一第一部分中。
Description
本文所述本發明之各種實施例係關於觸控螢幕或觸控板系統、裝置、組件及方法等領域;具體而言,該等觸控螢幕或觸控板系統、裝置、組件及方法利用電容性感測技術來偵測一觸控螢幕或觸控板上之觸控。
在電容式觸控螢幕裝置中,存在一種風險,像是使用者可能會意外地且無意地觸發與該使用者所欲按壓或觸控的按鈕相鄰的一或多個按鈕。許多電容式觸控螢幕裝置為解決此種問題而採用的典型方法為:搜尋與最強觸控訊號相關聯的按鈕,並自動提高觸控門檻值或抑制相鄰按鈕上的按壓或觸控。然而,此方法需要知道每一個按鈕的位置以及每一個按鈕有哪些相鄰的按鈕,這有可能是一種對記憶體需求特別密集(memory-intensive)之方法,在這種情況下,位置資訊就必須嵌入於與該裝置相關聯之觸控螢幕控制器的有限記憶體中。
因此,此領域需要一種電容式觸控螢幕裝置及系統以及一種操作此系統之方法,此方法能夠於一個以上按鈕所形成之觸控之間進行準確辦別及仲裁。
根據一個實施例,提供一種操作一電容式觸控螢幕系統之方法。該電容式觸控螢幕系統包含一第一複數個第一導電性驅動電極及一第二複數個第二導電性感測電極、一驅動電路、一感測電
路及一觸控螢幕控制器。該等第一導電性驅動電極排列成複數個列或行。該等第二導電性感測電極則相對於該等第一導電性驅動電極之該等列或行成一角度排列成複數個列或行。在該等第一導電性驅動電極與該等第二導電性感測電極相交處具有該等第一導電性驅動電極與該等第二導電性感測電極之間之複數個互電容(mutual capacitances),當一使用者之一或多個手指或觸控觸控裝置靠近時,該等互電容發生變化。該驅動電路可操作地連接至該等第一導電性驅動電極。該感測電路可操作地連接至該等第二導電性感測電極且用以自該等第二導電性感測電極感測複數個輸入訊號。該觸控螢幕控制器可操作地連接至該等第一導電性驅動電極及該等第二導電性感測電極。該觸控螢幕控制器可操作地連接至一主機處理器。該方法包含:自該主機處理器下載複數個電腦可讀取之按鈕群組程式化指令及資料(computer-readable button group programming instructions and data)至該觸控螢幕控制器之一記憶體之一第一部分,該等電腦可讀取之按鈕群組程式化指令及資料包含用於感測及仲裁發生於複數個第一按鈕上及其內之間之觸控之步驟。該等第一按鈕於一觸控螢幕上被排列成一第一群組,該第一群組位於該觸控螢幕之一第一部分中(對發生於該觸控螢幕之複數個第二部分上及其內之觸控進行中之電容性感測之觸控係由韌體指令及資料來控制。該等第二部分係位於該觸控螢幕之該第一部分之外,該等韌體指令及資料係被載入至該觸控螢幕控制器之該記憶體之一第二部分中)。
根據另一實施例,提供一種電容式觸控螢幕系統,其包含複數個第一導電性驅動電極、複數個第二導電性感測電極、一驅動電
路、一感測電路及一觸控螢幕控制器。該等第一導電性驅動電極排列成複數個列或行。該等第二導電性感測電極則相對於該等第一導電性驅動電極之該等列或行成一角度排列成複數個列或行。在該等第一導電性驅動電極與該等第二導電性感測電極相交處具有該等第一導電性驅動電極與該等第二導電性感測電極之複數個互電容。當一使用者之一或多個手指或觸控裝置靠近時,該等互電容發生變化。該驅動電路可操作地連接至該等第一導電性驅動電極。該感測電路可操作地連接至該等第二導電性感測電極且用以自該等第二複數個導電性感測電極感測複數個輸入訊號。該觸控螢幕控制器可操作地連接至該等第一導電性驅動電極及該等第二導電性感測電極。該觸控螢幕控制器可操作地連接至一主機處理器。該觸控螢幕控制器使複數個電腦可讀取之按鈕群組程式化指令及資料自該主機處理器載入至該觸控螢幕控制器之一記憶體之一第一部分中。該等電腦可讀取之按鈕群組程式化指令及資料包含用於感測及仲裁發生於複數個第一按鈕上及其內之間之觸控之步驟。韌體指令及資料係被載入至該觸控螢幕控制器之該記憶體之一第二部分中,其中該等第一按鈕於一觸控螢幕上排列成一第一群組。該第一群組位於該觸控螢幕之一第一部分中,且對發生於該觸控螢幕之複數個第二部分上及其內之觸控之間之電容性感測之觸控係由該等韌體指令來控制。該等第二部分係位於該觸控螢幕之該第一部分之外。
本文將揭露其他實施例,或熟習此項技術者在閱讀並理解本說明書及其附圖之後,其他實施例將變得一目了然。
如第1圖所示,一電容式觸控螢幕系統110通常包含一下層LCD(或OLED)顯示器112、一上層觸控螢幕(或觸控感測面板)90、一設置於觸控螢幕90上方之介電板(或保護罩)95以及一觸控螢幕控制器100(或可為微處理器、特定功能積體電路(application specific integrated circuit;ASIC)、中央處理裝置(CPU))。須說明者,亦可於觸控螢幕90下方設置除LCD顯示器或OLED顯示器之外之其他影像顯示器。
第2圖顯示一觸控螢幕控制器100之一實施例之方塊圖。在一實施例中,觸控螢幕控制器100可為根據本文之教示內容而修改之Avago TechnologiesTM AMRI-5000 ASIC或晶片100。或者,觸控螢幕控制器100可為一Avago TechnologiesTM AMRI-5200 ASIC或晶片100,與其相關之一篇日期為2011年4月20日且名稱為「AMRI-5200低功率10-觸控控制器(AMRI-5200 Low-Power 10-Touch Controller)」之對應初步產品資料表(Preliminary Product Data Sheet)與本案之美國相應案在同一日期提交至美國專利暨商標局,且該初步產品資料表以引用方式全文併入本文中。在一實施例中,觸控螢幕控制器係為一低功率電容式觸控面板控制器,其被設計為一觸控螢幕系統具有高精確度之螢幕導航。
第3圖及第4圖所示之電容式觸控螢幕(或觸控面板)90可藉由對一介電板之一或多個表面塗敷例如氧化銦錫(Indium Tin Oxide;ITO)等導電材料而形成,該介電板通常包含玻璃、塑膠或其他適合的電絕緣材料且較佳情況為光學透射性材料,且該介
電板通常被構造成呈一電極網格(grid)之形狀。該網格之電容容納一電荷,且當使用手指觸控該面板時會出現通往使用者身體之一電路通道,此舉會引起該電容之一變化。
觸控螢幕控制器100感測並分析電容產生變化之座標。當觸控螢幕90固定至具有一圖形使用者介面之一顯示器時,可藉由追蹤該等觸控座標而達成螢幕導航。通常需要偵測多個觸控。該網格之尺寸取決於該等觸控所需之解析度。通常存在一額外介電板(保護罩)95來保護觸控螢幕90之頂部ITO層,進而形成一完整之觸控螢幕解決方案(例如,參見第1圖)。
觸控螢幕90之一種形成方式為僅於一介電板或基板之一側塗敷一ITO網格。當觸控螢幕90與一顯示器配合時,將不需要一額外之保護罩。這樣的好處在於製作了一種透射率獲得改良(>90%)具更薄的顯示系統,進而能夠達成更亮且更輕之手持式裝置。觸控螢幕控制器100之應用包括但不限於:智慧型電話(smart phone)、可攜式媒體播放器(portable media player)、行動網際網路裝置(Mobile Internet Device;MID)及全球定位系統(GPS)裝置。
現在參照第3圖及第4圖,在一實施例中,觸控螢幕控制器100包含一類比前端(analog front end),該類比前端具有16條驅動訊號線及9條感測線連接至一觸控螢幕上之一ITO網格。觸控螢幕控制器100對該等驅動電極施加一激發(excitation),例如一方波(square wave)、一彎折線訊號(meander signal)或其他適宜類型之驅動訊號,該等訊號之頻率介於約40千赫茲至約200千赫茲之
間。交流(Analog Current;AC)訊號經由互電容耦合至該等感測線。使用手指觸控觸控螢幕(或觸控面板)90會改變該觸控位置之電容。觸控螢幕控制器100可同時解析並追蹤多個觸控。高的更新率(refresh rate)容許主機無明顯延遲地追蹤快速觸控及任何另外之移動。內嵌式處理器對資料進行濾波、辨識觸控座標並將該等觸控座標報告至主機。可經由載入修補程式(patch)來更新所嵌入之韌體。當然,亦可考慮其他數目之驅動線及感測線,例如8×12陣列及12×20陣列。
觸控螢幕控制器100可具有功耗位準不同之多個運作模式。舉例而言,在休息模式中,觸控螢幕控制器100可由休息速率暫存器(register)所程式化之一速率來週期性地搜尋觸控。存在多個休息模式,依次具有較小之功耗。若於某一時間期間之內不存在觸控,則觸控螢幕控制器100可自動地變換至一更低之功耗之模式。然而,當功耗減小時,對觸控之響應時間可能會變長。
根據一實施例,如第4圖所示,觸控螢幕90上之一ITO網格或其他電極配置包含驅動行20a-20p及感測列10a-10i,其中驅動行20a-20p係可操作地連接至對應之驅動電路且感測列10a-10i係可操作地連接至對應之感測電路。第4圖繪示一種將來自驅動電極及感測電極之ITO線或其他線連至通往觸控螢幕控制器100之線之配置。
熟習此項技術者應可理解,在不背離本發明各實施例之範圍或精神之條件下,在電容式觸控螢幕系統110中除了採用經修改之AMRI-5000、AMRI-5200晶片或觸控螢幕控制器100以外,亦可
採用其他觸控螢幕控制器、微處理器、ASIC或CPU。此外,除本文明確所示者之外,亦可採用不同數目之驅動線及感測線與不同數目及不同配置之驅動電極及感測電極。
現在參照第5圖,其繪示一具有電容式觸控螢幕90及顯示器112之行動電話20。如上所述,存在一種風險:使用者可能會意外地且無意地觸發與該使用者所欲按壓或觸控之按鈕相鄰之一或多個按鈕。許多電容式觸控螢幕裝置為解決此種問題而採用之一種典型之方法係為搜尋與最強觸控訊號相關聯之按鈕,並自動提高觸控門檻值或抑制相鄰按鈕之按壓或觸控。然而,此方法需要知道每一個按鈕之位置以及每一個按鈕所相鄰之按鈕之位置。因此,必須將大量位置資訊嵌入於與該裝置相關聯之觸控螢幕控制器之有限記憶體中。舉例而言,第5圖所示鍵盤上所顯示之按鍵或觸控區域「5」需要知道其緊鄰按鍵或觸控區域為「2」、「4」、「8」及「6」,故當按鍵「5」被按壓時,按鍵或觸控區域「2」、「4」、「8」及「6」可被輕易地觸發。此外,按鍵或觸控區域「1」、「3」、「7」及「9」係位於對角線上之近鄰,故當按鍵「5」被按壓時,按鍵或觸控區域「1」、「3」、「7」及「9」亦可被輕易地觸發。
詳細說明如下文,可藉由界定在預定群組中彼此緊密靠近之按鍵或觸控區域(或「按鈕」)來解決上述問題,詳述如下。位於同一群組中之按鈕可被配置成:當該群組中之該等按鈕其中之一被按壓時,能自動地對該群組中之相鄰按鈕施加抑制。可將群組表示為與他群組相鄰,此亦可容許在一或多個鄰近群組中進行相鄰按鈕抑制。更可將群組表示為鄰近主觸控螢幕之邊緣,其使得當
群組中之一按鈕被按壓時,容許觸控螢幕之一邊緣區中之觸控被拒絕。藉由界定按鈕群組以及相鄰按鈕之屬性,僅需在觸控螢幕控制器100之記憶體中儲存極少之位置及配置參數或資料。可採用此等概念以節省觸控螢幕控制器100中之記憶體以及簡化裝置設計者之工作,原因在於僅需界定較少之參數及資料。
在下文之論述中,可參照名稱為「AMRI-5200低功率10-觸控控制器」之前述初步產品資料表來獲取另外之細節及資訊。
按鈕通常看起來像一個大的觸控板單元(touch pad cell)。在一實施例中提供一按鈕偵測演算法,其係為一具有滯後作用(hysteresis)之觸控強度(Z)門檻值演算法。多種能與按鈕相關聯之觸控演算法,將於下文更詳細說明。
複數個單元(cells)可被配置成:一被按壓按鈕及其相鄰按鈕暫存相同之「Z」,以回應一相同強度之觸控。可採用不同之方法來判斷哪一按鈕已暫存一觸控。第一種方法為根據「首先觸控」或「時間上最早」之觸控。第二種方法為根據相對觸控強度「Z」。第三種方法為報告所有觸控。第四種方法為決定哪一按鈕已被觸控或按壓之前,採用多數個訊框之寬限期。該寬限期方法容許在確定哪一個具有最大強度觸控之前,獲取多個具有不同觸控強度「Z」之觸控。
根據一實施例,位於同一群組中之按鈕彼此互斥。也就是說,若有一個按鈕被按壓,則會使該群組中之其他按鈕禁用
(disable)。各按鈕群組亦可被配置成具有相同或類似之門檻值以及鄰近(proximity)性質。
由於一按鈕群組內之一按鈕按壓會排斥其他按鈕按壓,故導航一般亦應排斥按鈕按壓。此「鄰近」特徵可用在按鈕觸控與導航螢幕觸控之間執行排斥(exclusion),反之亦然。按鈕設置可設定為客製化此種行為,包括選擇導航螢幕邊緣(北/南/東/西)以及選擇沿螢幕邊緣之範圍。
現在參照第6圖,其繪示電容式觸控螢幕90。電容式觸控螢幕90包含一導航螢幕以及電容式觸控螢幕90之專用於群組1(按鈕B1及B2)、群組2(按鈕B3)及群組3(按鈕B4)之部分。如第6圖所示,按鈕B1及B2位於群組1中。群組1被程式化為與群組2互斥,該導航螢幕之南邊緣被指定位於X1與X2之間。按鈕B3位於群組2中。群組2被程式化為與群組1及3互斥,該導航螢幕之東邊緣被指定位於Y2與Y3之間。按鈕B4位於群組3中。群組3被程式化為與群組2互斥,該導航螢幕之東邊緣被指定位於Y3與Y5之間。如第6圖所示,電容式觸控螢幕90之導航區域係為一20×12(或其他尺寸)訊框之專用於感測二維觸控之部分(例如,某些列可專用於按鈕,而某些列則可專用於滑動塊)。
根據一實施例,按鈕及滑動塊可被配置成容許指定某些屬性,例如觸控延遲(去除抖動週期(debounce period))、自動重複(auto-repeat)、持閉(hold-off)時間、按壓及釋放報告(相對於「僅按壓報告」)。在AMRI-5200控制器中,按鈕之配置係藉由將DOWNLOAD_CTL設置至「啟動按鈕配置(Initiate Button
Configuration)」而達成。請亦參見「暫存器輸入/輸出(Register I/O)」部分DOWNLOAD_CTL(暫存器0x0A)。按鈕設置可被儲存至快閃記憶體中。參見FLASH_CTL(暫存器0x27)。亦參見「移動報告」及「按鈕報告」中之輸入/輸出部分。
一滑動塊係為被指定為一群組之一排觸控單元,其用以沿一排單元在一個維度上感測觸控及位置資訊。根據一實施例,滑動塊倚賴一「Flying V」演算法來以內插技術定位觸控。該Flying V演算法係為一種可應用於二維中之一維演算法。該Flying V演算法藉由檢查一單元之最大值以及該單元之二鄰近單元之最大值而內插一觸控之位置。現在參照第7圖,參見觸控強度A、B及C。邏輯上,真實之中心位置應傾向於C。藉由測定較小鄰近強度(A)與最大強度(B)間之斜率而計算出此位置之一估計值。然後,將該陡峭的斜率應用於較大之鄰近強(C)。該二斜率相交處即為內插中心位置(X)。
一或多個滑動塊亦可與按鈕包含於同一群組中,且可被配置成具有與該群組之其他成員相同之屬性。於AMRI-5200控制器中,滑動塊之配置係藉由將DOWNLOAD_CTL設置至「啟動按鈕配置」而達成。滑動塊設置可被儲存至快閃記憶體。參見FLASH_CTL(暫存器0x27)。亦參見「移動報告」、「按鈕報告」及「滑動塊報告」中之輸入/輸出部分。
在移動報告中,控制器報告其偵測到的內容,通常每訊框報告一次。該移動報告有時被稱為「觸控報告」,但除觸控報告之外,該移動報告亦可包含關於按鈕、滑動塊、手勢及觸覺(haptics)之報告。AMRI-5200控制器能夠支援多達10個觸控點、12個按鈕及4個滑動塊。若韌體已設置STATUS_INT_MASK(暫存器0x05)位元為「移動資料就緒(SIM4)」,則一主機處理器(或主機控制器)120可被配置成當移動報告資料準備好供讀取時,接收一中斷(interrupt)。主機可藉由自MOTION_REPORT_DAT(暫存器0x1F)相繼地讀取位元組然後來讀取該移動報告。該移動報告內之資料並非固定的。主機可被配置為能改變其報告之內容順序並禁止或啟用該移動報告之各部分。並且,該報告內某些欄位之大小可取決於可供用於報告之資料量。當該移動報告之讀取已完成時,主機處理器應藉由設置MOTION_REPORT_CTL(暫存器0x1E)位元為MRC7而將移動報告標記為已被讀取。移動報告資料在內部被雙重緩衝,俾當一移動報告正被讀取時可執行導航。根據一實施例,移動報告緩衝區為92個位元組長。若超過此長度,則將丟失最後之資料。所用空間之總量係為:
1位元組狀態
9位元組/每觸控點+1
3位元組/每按鈕+1
5位元組/每滑動塊+1
對於手勢,8位元組+1
對於觸覺,4或9位元組+1
根據一實施例,當使用預設設定時,僅「觸控點(Touch points)」被啟用。因此,預設移動報告僅包含一位元組之狀態及觸控點報告:
觸控點、按鈕、滑動塊、手勢及觸覺皆可被啟用及禁用。在AMRI-5200控制器中,觸控點報告可藉由MOTION_REPORT_CTL(暫存器0x1E)位元「禁用觸控點以及懸浮(hover)觸控點報告」(MRC[5:4])而被禁用。按鈕及滑動塊報告可藉由BUTTON_CONTROL(暫存器0x78)位元BUTTONS/SLIDERS(BTNC0)而被啟用。手勢報告可個別地藉由GESTURE_SELECT(暫存器0x6C)位元(GSTS[7:0])而被啟用。觸覺報告可藉由HAPTIC(暫存器0X77)位元MODE(HAP7)以及REPORT_HAPTIC(HAP[6:5])而被啟用。
在所有欄位被啟用且使用預設報告順序之情況下,移動報告包含一狀態位元組,後面跟隨所有的報告。移動報告可被格式化為:
此等報告之順序能自預設值改變。此可藉由修改MOTION_REPORT_CONTROL(暫存器0x1E)位元REPORTING_ORDER(MRC[5:4])以及GESTURE_CONTROL(擴充暫存器0x27)位元GESTURES_FIRST(GSTC7)而達成。
於進入後續幾節對每一報告類型之格式進行論述之前,須注意者,術語「觸控強度」、「力」以及「Z」可在整個報告格式說明中互換使用。
根據一實施例,觸控點報告係由一觸控點標頭後面跟隨0至10個觸控點記錄(其取決於被報告之點數目)組成。亦須注意者,可根據MOTION_REPORT_CTL(暫存器0x1E)位元原始排序(MRC0)之設置,藉由ID(升序)或藉由力(Z)(降序)來對觸控點進行排序。
觸控點標頭:
一按鈕報告係由一按鈕標頭後面跟隨0至12個按鈕記錄(其取決於被報告之按鈕計數)組成。
按鈕標頭:
按鈕記錄(數目可隨按鈕計數變化):
滑動塊報告係由一滑動塊標頭後面跟隨0至4個滑動塊記錄(其取決於被報告之滑動塊計數)組成。
滑動塊標頭:
滑動塊記錄(數目可隨滑動塊計數而變化):
在AMRI-5200控制器之暫存器輸入輸出部分DOWNLOAD_CTL(暫存器0x0A)中,暫存器映射包含一輸入輸出下載埠,其每次下載一位元組至DOWNLOAD_DATA(暫存器0x0B)中。資料係被下載至隨機存取記憶體(RAM)區域中,該隨機存取記憶體區域為韌體預期找到該等資料之工作位置。在此區域中,資料為可變的且在電源被移除時丟棄。在使用者已確定資料有效且使資料保持為非可變之後,可設置一暫存器位元來使韌體將該等資料保存至一快閃記憶體或區域中,俾該等資料保持安全而不受電力損失之影響。在接通電源或重設(reset)時,韌體則自該快閃記憶體恢復所下載之隨機存取記憶體區域資料,俾該韌體可使用所下載之資料來為使用者產生所欲之操作行為。
下載機制遵循一類似過程。在一下載之期間,關閉監視器(Watchdog)。在AMRI-5200中,此係藉由設置WD_DISABLE(暫存器0x7D)以禁用監視器(0xAD)而達成。為取得一有效之配置檔案下載狀態,建議清除BOOT_STAT(暫存器0x03)位元至全部為0(0x00)。此時可選擇下載類型。此可藉由設置DOWNLOAD_CTL(暫存器0x0A)至所欲之輸入輸出下載類型而達成。亦參見DOWNLOAD_CTL(0x0A)。
一般而言,因在繼續運行之前採用1毫秒(millisecond)之延遲,故AMRI-5200控制器已準備好接收資料。此可藉由讀取DOWNLOAD_CTL(暫存器0x0A)並等待「下載不繁忙(Download Not Busy)」(DLC7=0)而達成。接著,在繼續運行並將資料位元組寫入至DOWNLOAD_DATA(暫存器0x0B)之前,採用100微
秒之一延遲。在每一位元組之間採用10微秒之一延遲。重複寫入資料位元組,直至完成為止。當輸入輸出下載完成時,檢查非配置檔案下載狀態。最終應出現BOOT_STAT(暫存器0x03)位元「配置檔案下載成功(Configuration File Download Successful)」(B_STAT6=1)。此時,可重新打開監視器定時器(Watchdog Timer)。此可藉由設置WD_DISABLE(暫存器0x7D)以啟用監視器(0x00)而達成。
在錯誤標識符暫存器中報告下載錯誤,以提供關於矯正所下載資料之順序或格式之回饋。在檢驗並驗證所下載之資料後,使用者可設置一暫存器以命令韌體保存資料表至快閃記憶體中。
ERROR_ID
資料類型:八位元數字
用途:錯誤ID。當出現一錯誤(如由STATUS暫存器位元[0]所指示)時,此暫存器顯示錯誤ID值。值在被讀取之後將自動清除。
所下載資料之類型(由DOWNLOAD_CTL選擇)可為各種格式或結構。
現在參照第8圖,其顯示群組按鈕圖式之另一實施例,在下文中將結合例示性實例來詳細說明該另一實施例。在第8圖中,群組0具有構成按鈕0x20以及相鄰群組1。群組1具有構成按鈕0x21-0x23、相鄰群組0及相鄰群組2、以及位於x值131與291(在畫素中)間之相關螢幕邊緣。群組2包含構成按鈕0x24以及構成滑動塊0x31,並具有群組編號為1-9之近鄰,群組編號表示在按鈕及滑動塊中所用之等效單元數目。
繼續參照第8圖,其顯示一觸控面板之一實例,該觸控面板被分成2個區域:一個用於觸控點追蹤之區域(導航觸控面板區域)以及一位於該導航觸控面板區域下方且用於各按鈕及一滑動塊之第二區域。作為一第一步驟,將觸控面板之該二區域在實體上佈置成使電容性單元呈上文所示之實例性排列形式。電容性觸控單元之技術細節不屬於本實例之範圍,且並於觸控面板佈局利用典型工業趨勢。
在第8圖所示之實例中,該導航觸控面板區域係由較小電容性單元以一規則之X-Y網格圖案形式排列成一網狀(mesh)而組成。群組0、1及2中之按鈕及滑動塊區域單元通常為較大之電容性單元,使用者藉由某些手段在視覺上能將該等較大之電容性單元辨
識為按鈕或滑動塊。此類手段可為例如利用絲網印刷標記來勾勒按鈕及滑動塊之輪廓或者使用螢幕圖形於電容性單元下面繪製圖符等等。自一設計者之觀點而言,第8圖所示實例中之按鈕及滑動塊係根據其與相鄰按鈕之相對高之接近度而被辨識為屬於3個群組。然而,第8圖所示分組無需對使用者可見。須注意者,在下文說明以及第8圖中,符號「0x」僅表示後續數字係採用十六進(基數為16)記法或格式。
群組0包含1個按鈕:ID=0x20,單元編號為1(等效單元)。群組1包含3個按鈕:ID=0x21、0x22、0x23,其單元編號為2、3、4。群組2包含1個按鈕(ID=0x24)以及1個滑動塊(ID=0x31)。按鈕ID 0x24使用單元5,而滑動塊ID 0x31使用單元6、7、8、9。須注意者,群組0非常接近群組1,故指定群組1為群組0之近鄰。群組1非常接近群組0、群組2以及一位於X=131與X=291(水平畫素位置)間之相關之底部觸控面板邊緣。群組1指定其近鄰為群組0及群組2,並指定與螢幕之底部邊緣相關聯之此等最小「螢幕」邊緣尺寸及最大「螢幕」邊緣尺寸。群組2僅非常接近群組1,故指定群組1為群組2之近鄰。在每一群組內,僅容許該群組之成員其中之一報告已受到按壓(甚至當觸控接觸發生於該群組中之多個成員上時亦如此)。
對於第8圖所示之實例性分組,存在大量觸控情景。一平常實例係為群組0被首先觸控,且在群組0仍被觸控之時間區間內排除群組1所辨識之一第二觸控。然而,即使群組0仍被觸控,亦
容許群組2中之一觸控。類似地,若群組2首先被觸控,亦會排除群組1中之一第二觸控,直至群組2中之該觸控被移除為止。群組2中之觸控不會排除群組0去識別並報告一觸控。因此,群組0與群組2可同時進行報告(只要其中之一在群組1之前被首先觸控)。此外,只要在群組0或群組2中仍維持該觸控,群組1便會被「阻止」進行報告。當群組0或群組2被觸控時,無螢幕邊緣被指定進行排斥,故當群組0或群組2被觸控時,使用者可預期導航觸控點區域上之任何觸控點始終報告此等觸控。群組1指定位於X=131與X=291間之觸控面板之螢幕邊緣在群組1被首先(且在導航觸控點區域之此部分上之任何觸控之前)觸控時不報告觸控。若群組1被首先觸控,則群組2、群組0及位於X=131與X=291間之螢幕邊緣皆不容許報告觸控,直至自群組1移除觸控接觸為止,包括各該其他群組中所指定之任何持閉(hold-off)期間。
使用者產生用於表示按鈕及滑動塊配置之一位元組下載表。在第8圖所示實例中,將詳述5個按鈕及1個滑動塊。預設之共享選擇標準(首先被按壓或最大訊號強度)可在索引0x08處之按鈕控制參數加以指定。亦可稍後在該表之外修改此參數,進而容許在不載入一不同之下載表之情況下改變選擇標準。此參數亦能達成所欲之「釋放」行為(在新按壓被識別出之前,對所需之所有成員及近鄰進行「靜態」釋放,或者在新按壓被識別出之前,對持閉時間加觸控延遲時間進行「動態」釋放)。「靜態」釋放通常
要求使用者之手指「抬」離螢幕,以便後續識別該群組或相鄰群組中之一按鈕或滑動塊按壓。「動態」釋放容許使用者在不抬起手指之情況下自一個按鈕滑動該手指至另一按鈕,且容許該下一按鈕在持閉延遲加觸控延遲之任何規定時間之後報告一觸控。
下文所示值係以十六進制位元組表示,而標記#之後則為註解。在一實際下載檔案中,在位元組串流下載至AMRI-5200控制器之下載暫存器之前,將首先除去註解、空行以及標記#。整個下載表顯示於AMRI-5200說明書,如下。下表中之索引0位於一前文區塊(pre-amble block)之後,該前文區塊係由命令位元組、保留旗標(reserve flag)位元組、下部位元組計數以及上部位元組計數組成:
2A #指示按鈕/滑動塊表下載之命令
00 #保留旗標位元組-始終為00
6E #自「2A」開始所下載之所有位元組之計數之低位元組
01 #所下載之所有位元組之計數(例如0x017A=378位元組)之高位元組
該表中之所有後續項皆為以下格式,自索引0x00開始:
按鈕/滑動塊配置表係由至多439個位元組(以十六進制表示時
為0x1B7個位元組)組成。所有位元組值應以十六進制(基數為16)格式表示。該等位元組其中之某些係為位元欄位,其中位元組之8個位元其中之每一者係為某一選項之一真/假選擇符(selector)或者被保留供將來使用(處於「0」狀態之一位元)。該等位元組其中之某些係為一2位元組欄位之一部分,該2位元組欄位被分解成一「低位元組」後面跟隨一「高位元組」。在此等情形中,當將值錄入表中時,一數值(例如十進制數291,其在被轉換為十六進制時為0x123(或在無十六進制指示符「0x」時為十六進制數123))將被分解成為一23之「低位元組」後面跟隨為01之「高位元組」。此表中之用語「裝置」係指「按鈕或滑動塊」。
填寫按鈕/滑動塊配置表之過程被分解為如下各部分或區塊:
1)通用設置區塊(14個位元組,索引00-0D)
2)裝置n區塊(128個位元組,索引0E-8D)
3)--填充(裝置n區塊之)未使用之位元組
4)群組裝置區塊(10個位元組,索引8E-97)
5)群組n區塊(200個位元組,索引98-15F)
6)--填充(群組n區塊之)未使用之位元組
7)滑動塊n區塊(88個位元組,索引160-1B7)
對於每一區塊,將深入研究與該區塊相關之暫存器說明,故再次參照此列表以及下表將有助於不會遺忘太多細節。
再次參照該表:
1)通用設置區塊(14個位元組,索引00-0D)
2)裝置n區塊(128個位元組,索引0E-8D)
3)--填充(裝置n區塊之)未使用之位元組
4)群組裝置區塊(10個位元組,索引8E-97)
5)群組n區塊(200個位元組,索引98-15F)
6)--填充(群組n區塊之)未使用之位元組
7)滑動塊n區塊(88個位元組,索引160-1B7)
##通用設置區塊(14個位元組,索引0x00至0x0D)
##現在我們輸入用於按鈕及滑動塊以及其行為之通用設定。
##此對應於針對實例3而填寫上表之前14個位元組,依序如下:
AB #有效按鈕保留簽名位元組-始終為AB
CE #有效按鈕保留簽名位元組-始終為CE
05 #按鈕最大數目-欲配置之按鈕數目(所有群組中總共5個按鈕)
01 #滑動塊最大數目-欲配置之滑動塊數目之計數(1個滑動
塊)
06 #裝置最大數目-按鈕+滑動塊之總數目(5+1=6)
03 #群組最大數目-欲配置之群組數目之計數(3個群組)
00 #感測按鈕滑動塊1保留位元組-保持為00
00 #感測按鈕滑動塊2保留位元組-保持為00
41 #按鈕控制--選擇標準:「最大Z」(參見下文之暫存器說明)
00 #按鈕控制--預設可選控制設置(參見下文之暫存器說明)
FF #保留--保持為FF
FE #按鈕計數空設置-保持為FE以禁用此特徵(參見暫存器)
00 #頰裝置啟用位元選項(參見頰位元暫存器之說明)
00 #按鈕選擇延遲「寬限期」選項(參見說明:寬限期暫存器)
以下係為各該暫存器之詳細定義:
資料類型:十六位元數字之較低八個位元[7:0];亦參見0x01。
資料類型:十六位元數字之較高八個位元[15:8]。
用途:此字圖案(word pattern)將輸入輸出下載資料標記為按鈕類型。此值必須為0xCEAB以供識別。
資料類型:八位元數字
用途:此暫存器包含將被配置之按鈕之數目。
資料類型:八位元數字
用途:此暫存器包含將被配置之滑動塊之數目。
資料類型:八位元數字
用途:此暫存器包含將被配置之裝置(按鈕+滑動塊)之數目。
資料類型:八位元數字
用途:此暫存器包含將被配置之群組之數目。
資料類型:位元欄
用途:用於配置按鈕行為設置。
資料類型:位元欄位
使用:用於配置按鈕行為設置。
資料類型:八位元數字
用途:具有觸控強度之按鈕之計數超過T2會使所有按鈕無效。值為0xFE時會禁用此特徵。
資料類型:位元欄位
用途:甚至在進行頰偵測(例如電話靠近耳朵)之情況下,我們有時亦欲容許某些按鈕被啟用(音量)。此位元欄位容許某些按鈕及一滑動塊在一頰偵測期間保持啟用。
資料類型:八位元數字
用途:主機為最大Z裝置選擇寬限期。此係為在決定報告哪一按鈕之前欲評估之訊框數目。報告在此期間具有最大Z之按鈕。值為0時會禁用此特徵。
再次參照該表:
1)通用設置區塊(14個位元組,索引00-0D)
2)裝置n區塊(索引0E-8D)
3)--填充(裝置n區塊之)未使用之位元組
4)群組裝置區塊(10個位元組,索引8E-97)
5)群組n區塊(200個位元組,索引98-15F)
6)--填充(群組n區塊之)未使用之位元組
7)滑動塊n區塊(88個位元組,索引160-1B7)
##裝置n區塊(每一按鈕或滑動塊8個位元組)
(整個部分包含16個「裝置」或16×8=128個位元組或十六進制80個位元組)
該表中之詞語「裝置(device)」係指「按鈕或滑動塊」。存在16個為8位元組之「裝置」,各該裝置被標記為「裝置n」,其中對於各該多達16個裝置(最多達12個按鈕加多達4個滑動塊),n係為一為自0至15之值。各該區塊構成1個按鈕或1個滑動塊。所有按鈕(若有)始終被列於任何滑動塊之前。在最後之按鈕區塊與第一滑動塊區塊(若有)之間不得存在任何空的區塊。各該「裝置」區塊具有一用於標識按鈕或滑動塊之ID值,例如十六進制值21後面跟隨一位元欄位位元組,其被稱為該按鈕或滑動塊之「裝置配置(Device Config)」。其餘之8位元組「裝置n」區塊將闡述於下文中被稱為「裝置n(Device n)」之單獨表中。須注意「單元數目(Cell Number)」或「單元計數(Cell Count)「位元組。若指定一按鈕,則此位元組表示對應於此按鈕之等效單元數目(參見本文獻末尾被稱為「等效單元數目(Equivalent Cell Number)」之說明)。若指定一滑動塊,則此位元組表示該滑動塊中之單元數目(該滑動塊中之「區段」或步驟之數目)。滑動塊之實際單元數目指定於下文「滑動塊n(Slider n)」區塊中。
##我們定義每一個別按鈕配置。每一按鈕或滑動塊之配置在此部分中需要8個位元組。倘若一「聯動按壓(tie in)」滿足選擇標準,則此列表中之按鈕及/或滑動塊之排序暗示一隱含之優先次序,例如倘若一「聯動按壓」係被首先按壓,則將選擇此列表中之最早者。聯動按壓一般較為罕見,乃因其意味著多於1個按鈕在同一精確樣本窗口(一般為6.7毫秒)中達到一門檻值。滑動塊在列表中跟隨於按鈕(若有)之後。
20 #第1按鈕之ID:有效項可為0x20-0x3F。當按鈕被釋放(解除斷定(de-asserted))時,該ID將在移動報告輸出中被返回。當按鈕被按壓(斷定)時,最高有效位元(MSB)被設置,因而ID值在移動報告中被顯示為0xA0。關於進一步之說明,請參見移動報告輸出。
42 #裝置配置或按鈕行為(參見Device_Config暫存器中之位元說明)
#該二位元係為僅有之欲設置之有效位元。「02」表示關於釋放之報告。
#位元「40」表示只要按鈕被按壓便存在之重複輸出;若此位元組係「02」而非「42」,則在按壓時僅形成1個輸出,且在按壓釋放時形成一第二輸出。
02 #觸控延遲-用於使按鈕按壓「去除抖動」之6.6毫秒訊框之數目
03 #持閉-在「釋放」之後,在可偵測到另一按壓事件之前需要經過之6.6毫秒訊框之數目-加至觸控延遲但僅在「釋放」時存在
00 #群組0(有效群組係為自0至9之值;0=「第一」群組)。群組0中僅有按鈕。
00 #保留位元組
01 #單元數目-此係為對面板陣列使用正常驅動/感測映射時按鈕所佔據(即使按鈕在實體上與面板陣列分離)之等效單元數目-參見下文中等效單元數目之公式。須注意者,「01」係為十六進制;例如,單元16將被顯示為「10」。
00 #保留位元組
##下一按鈕之不同點僅在於具有不同之ID、且屬於群組1以及
具有不同之單元數目:
21 #於釋放時顯示ID=「21」(參見第8圖);於按壓而輸出時顯示「A1」。
42 #Device_Config行為
02 #2×6.7毫秒之觸控延遲
03 #3×6.7毫秒之持閉延遲
01 #群組1(第2群組;群組1具有3個按鈕)
00 #保留位元組
02 #根據驅動/感測映射公式所確定之單元數目(等效)
00 #保留位元組
##下一按鈕之不同點僅在於具有不同之ID、屬於群組1以及具有不同之單元數目:
22 #於釋放時顯示ID=「22」(參見第8圖);於按壓而輸出時顯示「A2」。
42 #Device_Config行為
02 #觸控延遲
03 #持閉
01 #群組1(第2群組)
00 #保留位元組
03 #根據驅動/感測映射公式所確定之單元數目(等效)
00 #保留位元組
##下一按鈕之不同點僅在於具有不同之ID、屬於群組1以及具有不同之單元數目:
23 #於釋放時顯示ID=「23」(參見第8圖);於按壓而輸出時顯示「A3」。
42 #Device_Config行為
02 #觸控延遲
03 #持閉
01 #群組1(第2群組)
00 #保留位元組
04 #根據驅動/感測映射公式所確定之單元數目(等效)
00 #保留位元組
##下一按鈕之不同點僅在於具有不同之ID、屬於群組2以及具有不同之單元數目:
24 #於釋放時顯示ID=「24」(參見第8圖);於按壓而輸出時顯示「A4」。
42 #Device_Config行為
02 #觸控延遲
03 #持閉
02 #群組2(第3群組)與下文之滑動塊共享群組2。
00 #保留位元組
05 #根據驅動/感測映射公式所確定之單元數目(等效)
00 #保留位元組
##對於每一指定按鈕或滑動塊(對於本實施方式,最多為多達12個按鈕加多達4個滑動塊)重複上述8個位元組集合,儘管各該位元組之值對於不同按鈕可因個別所欲特性或與其他按鈕之關係(即群組數目)而有所不同。若欲指定少於12+4個滑動塊,則當欲指定後續配置資料(群組資料及/或滑動塊寬度及單元數目細節)時,需要用虛設值作為間隔物來填充其他未使用之8個位元組封包以將資料「填滿」。
31 #滑動塊之ID(參見第8圖)-我們指定上述1個滑動塊與1個按鈕。8位元組滑動塊封包(若指定)需要緊跟於上一個所宣告之按鈕封包(不應有填充或虛設位元組將所指定之按鈕與滑動塊分隔開)。在所有按鈕及滑動塊皆被宣告之後,任何其他8位元組封包皆需被填充以虛設值。例如參見下文。須注意者,此ID在移動報告輸出中在進行按壓指示時將具有高位元設置(在此種情形中,將顯示「B1」作為ID)。
40 #裝置配置或滑動塊行為(參見Device_Config暫存器中之位元說明)。
#此處,在按壓滑動塊時,僅留下重複位元設置以重複輸出至移動報告。「釋放」位元清楚地指示我們不希望看見「31」釋放輸出
ID,而僅希望看見「B1」按壓輸出事件。
03 #滑動塊之觸控延遲-3個6.6毫秒訊框之延遲以使滑動塊按壓去除抖動
02 #持閉-在容許重新斷定同一滑動塊上之一按壓(即使沿滑動塊處於一不同單元或位置)之前,必須經過2個6.6毫秒訊框之延遲。
02 #群組數目(與上述按鈕ID「24」共享同一群組2)
00 #保留位元組
04 #滑動塊中之單元數目(02至0A之有效值-A為10之十六進制數)。
#須注意者,此位元組用於滑動塊之方式不同於用於按鈕之方式-在用於按鈕時其指定等效單元數目。對於滑動塊,等效單元數目係於群組部分之後指定於下文中。如此分開係為了達成設計靈活性及保持8位元組配置封包尺寸在按鈕與滑動塊之間一致。
00 #保留位元組
以下係為上述裝置n區塊暫存器之詳細暫存器說明:
資料類型:位元欄位
用途:此暫存器指示按鈕ID。完整的值ID[5:0]將於移動報告中報告。須注意者,位元6及7必須為0,且對於任何按鈕或滑動塊,位元5必須設定為1。
資料類型:位元欄位
用途:用於按鈕或滑動塊之配置位元。
資料類型:八位元數字
用途:觸控延遲係為在斷定一按鈕觸控之前欲等待之訊框數目。觸控延遲亦可被視為「去除抖動」週期。
資料類型:八位元數字
用途:其係為在一按鈕被釋放之後且在該按鈕或其群組中之任何其他按鈕可被偵測之前欲等待之訊框數目。
資料類型:八位元數字
用途:此暫存器將按鈕分配給此編號群組。0xFF表示無群組。
資料類型:八位元數字
用途:若為一按鈕,則CELL_COUNT=MAX_CELLS內之單元數目;若為一滑動塊,則CELL_COUNT=位置(滑動塊中之單元數目)。
再次參照該表:
1)通用設置區塊(14個位元組,索引00-0D)
2)裝置n區塊(索引0E-8D)
3)--填充(裝置n區塊之)未使用之位元組
4)群組裝置區塊(10個位元組,索引8E-97)
5)群組n區塊(200個位元組,索引98-15F)
6)--填充(群組n區塊之)未使用之位元組
7)滑動塊n區塊(88個位元組,索引160-1B7)
##填充未使用之位元組:
##接著,用虛設值填充(裝置n區塊之)其餘8個位元組封包(總共多達16個)。為達成此目的,最簡單之方式係以虛設值之16個封包之一模板開始,在十六進制區塊中向上計數,例如:
00 #重複此行8次(一為8行之區塊-「00」用於追蹤此區塊)
11 #重複此行8次(「11」用於追蹤此區塊)
22 #重複此行8次(「22」用於追蹤此區塊)
33 #重複此行8次
44 #重複此行8次
55 #重複此行8次
66 #重複此行8次
77 #重複此行8次
88 #重複此行8次
99 #重複此行8次
AA #重複此行8次
BB #重複此行8次
CC #重複此行8次
DD #重複此行8次
EE #重複此行8次
FF #重複此行8次
##接著,用已設計好之指定按鈕及滑動塊依序填充各該8行區塊。因在此種設計中使用5個按鈕與1個滑動塊,故藉由上述配置應「消耗」區塊00-55中之各行。其餘係為用作佔位符(placeholder)之66-FF之「填充」區塊。
再次參照該表:
1)通用設置區塊(14個位元組,索引00-0D)
2)裝置n區塊(索引0E-8D)
3)--填充(裝置n區塊之)未使用之位元組
4)群組裝置區塊(10個位元組,索引8E-97)
5)群組n區塊(200個位元組,索引98-15F)
6)--填充(群組n區塊之)未使用之位元組
7)滑動塊n區塊(88個位元組,索引160-1B7)
##現在,準備填充每一群組(多達10個群組)之按鈕及滑動塊之數目。群組裝置僅僅係為該群組中按鈕及/或滑動塊之數目之計數。
01 #群組0中按鈕及滑動塊之數目(1個按鈕-參見第8圖)
03 #群組1中按鈕及滑動塊之數目(3個按鈕-參見第8圖)
02 #群組2中按鈕及滑動塊之數目(1個按鈕加1個滑動塊-參見第8圖)
00 #群組3中按鈕及滑動塊之數目
00 #群組4中按鈕及滑動塊之數目
00 #群組5中按鈕及滑動塊之數目
00 #群組6中按鈕及滑動塊之數目
00 #群組7中按鈕及滑動塊之數目
00 #群組8中按鈕及滑動塊之數目
00 #群組9中按鈕及滑動塊之數目
00 #群組10中按鈕及滑動塊之數目
資料類型:八位元數字
用途:每一群組內之裝置數目。
再次參照該表:
1)通用設置區塊(14個位元組,索引00-0D)
2)裝置n區塊(128個位元組,索引0E-8D)
3)--填充(裝置n區塊之)未使用之位元組
4)群組裝置區塊(10個位元組,索引8E-97)
5)群組n區塊(200個位元組,索引98-15F)
6)--填充(群組n區塊之)未使用之位元組
7)滑動塊n區塊(88個位元組,索引160-1B7)
##群組n區塊
##現在準備填充群組配置:
存在多達10個為20個位元組(在十六進制中為14)之群組,其被標記為「群組n」,其中對於各該多達10個群組,n係為一自0至9之值。參見標記為「群組n」之表。當少於10個群組(或甚至沒有群組)被指定時,其餘群組可被保持為未被指定或可被設定為「00」。每一群組區塊中之第9位元組係為被標記為「群組配置」之一位元欄位,其描述於下文「群組配置」說明中。
##群組0:
D4 #門檻值1之低位元組(釋放門檻值:0x3D4為十進制數980)
03 #門檻值1之高位元組(釋放門檻值:980個單位之訊號強度)
92 #門檻值2之低位元組(按壓門檻值:0x929為十進制數2345)
09 #門檻值2之高位元組(按壓門檻值:2345個單位之訊號強度)
00 #最小螢幕邊緣尺寸之低位元組(僅當存在下文設定之配置位元1時有效)
00 #最小螢幕邊緣尺寸之高位元組(僅當存在下文設定之配置位元1時有效)
00 #最大螢幕邊緣尺寸之低位元組(僅當存在下文設定之配置
位元1時有效)
00 #最大螢幕邊緣尺寸之高位元組(僅當存在下文設定之配置位元1時有效)
00 #群組之配置位元:位元1=邊緣檢查啟用;位元2:3=待檢查邊緣;位元3:2=>00=最小行;01=最大行;10=最小列;11=最大列。
位元4:1=使用預設門檻值;0=使用指定門檻值(Thresh1、Thresh2)
01 #近鄰-此群組之相鄰群組之計數
01 #第1相鄰群組數目(群組1)
0F #第2相鄰群組數目(對於未使用之群組可使用「0F」)
0F #第3相鄰群組數目
0F #第4相鄰群組數目
0F #第5相鄰群組數目
0F #第6相鄰群組數目
0F #第7相鄰群組數目
0F #第8相鄰群組數目
0F #第9相鄰群組數目
0F #第10相鄰群組數目
##群組1:
D4 #門檻值1之低位元組(釋放門檻值)
03 #門檻值1之高位元組(釋放門檻值)
92 #門檻值2之低位元組(按壓門檻值)
09 #門檻值2之高位元組(按壓門檻值)
83 #相關最小螢幕邊緣尺寸之低位元組(十六進制數83=十進制數131)
00 #相關最小螢幕邊緣尺寸之高位元組
23 #相關最大螢幕邊緣尺寸之低位元組(十六進制數0123=十進制數291)
01 #相關最大螢幕邊緣尺寸之高位元組(參見上文:0123之「01」)
06 #群組之配置位元:位元1=邊緣檢查啟用;位元2:3=待檢查邊緣;位元3:2=>00=最小行;01=最大行;10=最小列;11=最大列。
位元4:1=使用預設門檻值;0=使用指定門檻值(Thresh1、Thresh2)
此處,「06」指定邊緣檢查啟用及待檢查之最小列
02 #近鄰-鄰近此群組之相關群組之計數
00 #第1相鄰群組數目(群組0)
02 #第2相鄰群組數目(群組2)
0F #第3相鄰群組數目(對於未使用之群組可使用「0F」)
0F #第4相鄰群組數目
0F #第5相鄰群組數目
0F #第6相鄰群組數目
0F #第7相鄰群組數目
0F #第8相鄰群組數目
0F #第9相鄰群組數目
0F #第10相鄰群組數目
##群組2:
00 #門檻值1之低位元組(釋放門檻值)
00 #門檻值1之高位元組(釋放門檻值)
00 #門檻值2之低位元組(按壓門檻值)
00 #門檻值2之高位元組(按壓門檻值)
00 #相關最小螢幕邊緣尺寸之低位元組(十六進制數83=十進制數131)
00 #相關最小螢幕邊緣尺寸之高位元組
00 #相關最大螢幕邊緣尺寸之低位元組(十六進制數0123=十
進制數291)
00 #相關最大螢幕邊緣尺寸之高位元組(參見上文:0123之「01」)
08 #群組之配置位元:位元1=邊緣檢查啟用;位元2:3=待檢查邊緣;位元3:2=>00=最小行;01=最大行;10=最小列;11=最大列。
位元4:1=使用預設門檻值;0=使用指定門檻值(Thresh1、Thresh2)
此處,「08」指定對此組使用觸控面板預設門檻值
01 #近鄰-此群組之相鄰群組之計數
01 #第1相鄰群組數目(群組1)
0F #第2相鄰群組數目(對於未使用之群組可使用「0F」)
0F #第3相鄰群組數目
0F #第4相鄰群組數目
0F #第5相鄰群組數目
0F #第6相鄰群組數目
0F #第7相鄰群組數目
0F #第8相鄰群組數目
0F #第9相鄰群組數目
0F #第10相鄰群組數目
上述暫存器之詳細說明如下:
資料類型:十六位元數之較低八個位元[7:0];亦參見0x99。
資料類型:十六位元數之較高八個位元[15:8]
用途:此係為下文之用於釋放一按鈕觸控之觸控強度。
資料類型:十六位元數之較低八個位元[7:0];亦參見0x9B。
資料類型:十六位元數之較高八個位元[15:8]
用途:此係為用於暫存一按鈕觸控之觸控強度。
資料類型:十六位元數之較低八個位元[7:0];亦參見0x9D。
資料類型:十六位元數之較高八個位元[15:8]
用途:邊緣最小值係用於偵測一導航觸控是否發生於我們群組附近(「鄰近」)之值。根據GROUP_CONFIG(索引0x08)之邊緣檢查選擇(Edge Check Select)位元(GCFG[3:2])之值而定,此範圍端點可沿導航區域之四個邊緣其中之任一邊緣。
資料類型:十六位元數之較低八個位元[7:0];亦參見0x9F。
資料類型:十六位元數之較高八個位元[15:8]
用途:邊緣最大值係為用於偵測一導航觸控是否發生於我們群組附近(「鄰近」)之值。根據GROUP_CONFIG(索引0x08)之邊緣檢查選擇(Edge Check Select)位元(GCFG[3:2])之值而定,此範圍端點可沿導航區域之四個邊緣其中之任一邊緣。
資料類型:位元欄位
用途:用於按鈕或滑動塊群組之配置位元。
資料類型:八位元數字
用途:群組位置(Group Positions)係為鄰接此群組之按鈕/滑動塊群組之數目。
資料類型:八位元數字
用途:此係為鄰接此群組之各群組之一列表。若此按鈕/滑動塊群組具有一觸控,則鄰接此群組之各群組可被禁用或禁止報告一觸控。
再次參照該表:
1)通用設置區塊(14個位元組,索引00-0D)
2)裝置n區塊(128個位元組,索引0E-8D)
3)--填充(裝置n區塊之)未使用之位元組
4)群組裝置區塊(10個位元組,索引8E-97)
5)群組n區塊(200個位元組,索引98-15F)
6)--填充(群組n區塊之)未使用之位元組
7)滑動塊n區塊(88個位元組,索引160-1B7)
##填充未使用之位元組/區塊:
##接著,用虛設值填充其餘20位元組封包。為達成此目的,最簡單之方式係以虛設值之10個封包之一模板開始,在20位元組區塊中自0-9向上計數,例如:
00 #重複此行20次(一為20行之區塊)
11 #重複此行20次
22 #重複此行20次
33 #重複此行20次
44 #重複此行20次
55 #重複此行20次
66 #重複此行20次
77 #重複此行20次
88 #重複此行20次
99 #重複此行20次
##接著,用如上所述之指定群組依序填充各該20行區塊。因在此種設計中使用3個群組,故藉由上述群組配置應「消耗」區塊00-22中之各行。其餘係為用作佔位符之33-99之「填充」區塊。
再次參照該表:
1)通用設置區塊(14個位元組,索引00-0D)
2)裝置n區塊(索引0E-8D)
3)--填充(裝置n區塊之)未使用之位元組
4)群組裝置區塊(10個位元組,索引8E-97)
5)群組n區塊(200個位元組,索引98-15F)
6)--填充(群組n區塊之)未使用之位元組
7)滑動塊n區塊(88個位元組,索引160-1B7)
##滑動塊n區塊
##現在,準備填充最後之滑動塊細節:
存在4個為22位元組(在十六進制中為16)之區塊,其被標記為「滑動塊n」,其中對於各該多達4個可能滑動塊,n係為一自0至3之值。參見標記為「滑動塊n」之表。於此部分中輸入各該滑動塊n之單元。對於使用少於10個單元之滑動塊,其餘單元不需填入或可被設定為「00」。
##注意:每一填充位元組必須指定為「00」。若僅指定1個滑動塊,則無需填入其他滑動塊之虛設值。
## 另外,若該1個滑動塊使用少於所容許之最多10個單元,則無需填入其他單元之虛設值。
## 當所處理之位元組數目與標頭區塊中所列之計數匹配時,所下載之資料量將終止。
## 一終止位元組(0xEE)(參見下文)係為計數中所包含之最終位元組,用以確認不存在失配。
80 #Slider Record_Width_LO-畫素中之一滑動塊區段寬度之
低位元組
00 #Slider Record_Width_HI-滑動塊區段(亦稱為SRec_Width)之高位元組
06 #預期4個滑動塊單元數目其中之第一者:第8圖中之等效單元6
00 #填充位元組(始終為00)
07 #預期4個滑動塊單元數目其中之第二者:第8圖中之等效單元7
00 #填充位元組(始終為00)
08 #預期4個滑動塊單元數目其中之第三者:第8圖中之等效單元8
00 #填充位元組(始終為00)
09 #預期4個滑動塊單元數目其中之最後一者:第8圖中之等效單元9
00 #填充位元組(始終為00)
EE #終止位元組(始終為「EE」且始終為必需的)
上述滑動塊暫存器之詳細說明如下:
資料類型:亦稱為SRec_Width_Lo:一十六位元數字之較低八個位元[7:0];亦參見Record_Width_Hi。
資料類型:一十六位元數字之較高八個位元[15:8]
用途:亦稱為SRec_Width_Hi:記錄寬度(Record Width)係為在一滑動塊中內插於二相鄰單元間之畫素計數之數目。
資料類型:八位元數字
用途:CELL_*將單元列表分配給滑動塊。單元值係為該等單元其中之一之索引。滑動塊中單元之總數目分配於DEVICE n,CELL_COUNT(索引0x14+n*8)中。
為確定等效單元數目,自佈局中辨識哪一感測線與哪一驅動線相交於所關心按鈕「單元」或滑動塊區段單元處。舉例而言,使用編號自0至11(標記於AMRI-5200接腳圖上)之感測線及編號為1至19之驅動線(標記於AMRI-5200接腳圖上),並根據與按鈕「單元」之示意性連接而確定使用哪些感測線及驅動線。然後,使用以下公式:等效單元數目=SenseY*20+DriveX(其中SenseY有效值係為0至11,且DriveX有效值係為0至19)。
舉例而言,若感測線11及驅動線8相交於一按鈕單元,則等效單元數目為:11*20+8=220+8=228
對於此實例性按鈕,被轉換成十六進制數(「E4」)之單元228將被輸入至「按鈕區塊(BUTTON BLOCK)」中之「單元數目(CELL NUMBER)」中。
現在參照第9圖,其繪示根據一實施例之實例性移動報告資料
190,其中同一暫存器位置之位元祖係自左至右依序讀取。按鈕及滑動塊事件自AMRI-5200至主機處理器120觸發一中斷。對於觸控點事件或其他類型之事件係產生同一中斷。主機處理器120藉由自移動資料暫存器讀取移動報告之第一位元組(狀態位元組)來響應該中斷。狀態位元組中之位元告知主機處理器120已發生哪一類型之事件,並包含於移動報告中。主機可選擇讀取該移動報告之全部或一部分(或全不讀取),以獲得關於主機處理器120所關心之該(等)事件之進一步細節。藉由自移動資料暫存器重複地讀取而將移動報告以位元組串流之形式依序讀出(每一次讀取皆觸發下一位元組之資料被自動置於同一移動資料中,以供接下來被讀取存取)。當與按鈕及滑動塊事件相對應之位元在狀態位元組中被設置為真(高)時,按鈕及滑動塊事件被嵌入於移動報告中。在每一種類型之資料(按鈕、滑動塊、觸控點等等)之前皆具有此種類型資料之「封包」之一數目計數。在一實施例中,各按鈕封包分別包含3個位元組:ID及一2位元組之「Z」或訊號強度值,且各滑動塊封包分別包含5個位元組:ID,一2位元組之位置值以及一2位元組之「Z」或訊號強度值。位置值係以畫素表示,並使用客戶所下載之「SRec_Width」單元尺寸參數乘以滑動塊之單元數目來換算。
第10圖顯示一種方法200之一實施例,主機處理器120根據方法200來接收按鈕或滑動塊事件,方法200由其步驟201至231來表示。
第11圖顯示方法300之一實施例,主機處理器120根據方法300
而下載資料配置檔案至觸控螢幕控制器100(且尤其是一AMRI-5200觸控螢幕控制器)。在與第10圖之步驟301至323相對應之配置檔案下載程序中,AMRI-5200控制器需要實施一資料配置檔案下載來配置各按鈕及滑動塊。該配置檔案必須使用以下所示之暫存器位址而在啟動(Power On)後經由SPI或TWI匯流排來載入。應注意,在進行該程序之前,暫存器0x23(BOOT_STAT)位元0必須被設定,此表示AMRI-5200啟動完成。
1)將0xAD寫入至暫存器0x7D,進而禁用監視器。
2)將0x00寫入至暫存器0x03,以清除BOOT_STAT。此確保在步驟5中正確讀取。
3)將0x2A寫入至暫存器0x0A,以啟用下載程式(routine)。
4)將所有位元組button_slider配置檔案寫入至暫存器0x0B。在被寫入至該暫存器之各位元組之間維持10微秒或以上之最小延遲時間。此係為了容許AMRI-5200處理先前寫入之位元組。
5)讀取暫存器0x03,直至位元6被置位(但在逾時/出現錯誤時重新開始)。
6)將0x00寫入至暫存器0x7D,進而啟用監視器。
第12圖至第17圖係為對應於由一AMRI-5200控制器執行之不同過程及方法之流程圖,該AMRI-5200控制器已自一主機處理器接收程式化指令及資料以容許如上所述使用按鈕、滑動塊及群組。第12圖至第17圖之流程圖界定在一導航觸控控制器積體電路(即,一AMRI-5200觸控螢幕控制器)上運行之韌體狀態機。
該觸控螢幕控制器包含一整合式晶片上(on-chip)處理器及一定製之類比及數位前端介面,該整合式晶片上處理器用以處理韌體演算法,該定製之類比及數位前端介面用以對整合於一相連之觸控板中之一觸控單元陣列上之觸控實施管理、感測及定位。第12圖至第17圖之流程圖顯示演算法之各種實施例,該等演算法以一靈活方式處理按鈕感測及控制,以滿足設計者對彼此緊密相鄰及/或具有一導航觸控區域之按鈕及/或滑動塊實施定製及分組之需求。導航觸控區域上之觸控係由另一韌體感測並以一被稱為「移動報告」之報告格式經由一串列匯流排而報告至一晶片外(off-chip)主機處理器。在此等流程圖中所示之按鈕及滑動塊韌體運行之前,此種韌體已執行。因此,在用於辨識導航觸控區域上之觸控之韌體資料結構中已經具有資訊,包括2D陣列上之各觸控之X/Y位置。當需要排除與一按鈕或滑動塊緊密相鄰之觸控板邊緣上之某些觸控時,按鈕/滑動塊韌體可使用此資訊。若需要,按鈕/滑動塊韌體可隨後對此等觸控點其中之任意者設置一「禁止位元」,以使其不包含於移動報告中。
第12圖至第17圖之流程圖假定另一韌體已將按鈕/滑動塊配置指令及資料下載至RAM中。在處理按鈕及滑動塊功能時,嵌入於觸控螢幕控制器中之處理器操縱並剖析該表中之指令及資料以滿足設計者之具體要求。此外,韌體利用內建於控制器中之電容性感測硬體介面來輔助感測該等按鈕及滑動塊。
下載表已被設計成一專屬格式,以與韌體所期望之RAM記憶體中之內部資料結構之組織確切地匹配。此使韌體能夠在執行第12
圖至第17圖所示流程圖時剖析所下載之指令及資料。在本上下文中,所下載之指令係呈位元欄位及控制位元組之形式,韌體會剖析此等位元欄位及控制位元組以驅動此等流程圖中之決策點。
此外,該格式可根據設計複雜度而按比例縮放。此頗為方便,是因為它允許碼(code)能夠依序通過只有設計者所標識之有效按鈕、滑動塊及群組成員,而非通過包括所有可配置可能性之整個表。此種可按比例縮放之下載格式具有多種明顯之有益效果:1)對於設計者可選擇之各種按鈕/滑動塊安排,可按比例縮放之下載格式使韌體能夠高效地運作;2)倘若主機處理器僅需要可供利用之全部功能之一分集,則該按比例縮放之下載格式容許韌體更高效地運作,是因為韌體僅需要通過整個表之一子集;3)由於當需要較少之按鈕或滑動塊時主機處理器所下載之集合減小,因而主機處理器在利用一速度有限之串列匯流排(SPI或TWI)進行下載過程中所耗費之時間減少;4)下載表可後續被另一韌體輕易地複製至觸控螢幕控制器之快閃記憶體部分中以供永久儲存及在一加電循環後輕易地擷取,因此僅需一次下載過程(可在工廠中執行,以免除在客戶場所下載之需要);以及5)該下載格式節約控制器中之RAM空間(為保持低之控制器成本,RAM空間非常有限),乃因其係為一種使用最少數目之位元組之緊湊格式。
現在參照第12圖,其顯示一種對應於一頂層調度器(Top Level Dispatcher)之方法400之一實施例,方法400包含步驟410至421。若一資料簽名有效且按鈕/滑動塊已被啟用,則執行以下任務:
1)更新觸控資訊(步驟405)
2)對各按壓排序(步驟411)
3)查找Z最大之裝置(步驟413)
4)驗證群組情形(步驟417)
5)將有效事件發送至輸出(步驟49)
現在參照第13圖,其顯示一種對應於一按鈕/滑動塊更新觸控資訊過程之方法500之一實施例,方法500包含步驟501至523。方法500遍曆每一有效按鈕及滑動塊以檢查下述事項:
1)若按鈕控制(Button Control)發生變化,則重設所有觸控狀態資訊並退出所有任務(步驟503)
2)更新「Z」值及位置值(若為滑動塊),並經由一3狀態式中值濾波器處理之(步驟505)
3)若Z值低於門檻值且按壓持續時間短於觸控延遲(Touch Delay),則清除此按鈕或滑動塊之觸控狀態資訊(步驟507及509)
4)若為滑動塊(步驟513),則利用所下載單元寬度資訊
(Srec_Width)來計算沿滑動塊中各單元之內插位置(步驟515)
現在參照第14圖,其顯示一種對應於按鈕/滑動塊按壓排序之方法600之一實施例,方法600包含步驟601至641。方法600循環通過所有有效按鈕及滑動塊並執行以下任務:
1)判斷係使用群組門檻值及準則(步驟605)還是使用預設門檻值及準則(步驟641)
2)將「Z」值(訊號強度)與門檻值相比較,以判斷是否應設置釋放位元還是按壓位元(步驟609、639、611及613)
3)標記為輸出或不輸出或標記為是否為群組中之最佳候選者(步驟625及619)
4)若為最佳候選者,則對其他群組設置禁止旗標(步驟621)
5)若已輸出,則僅當設置重複位元時方再次輸出(步驟623)
現在參照第15圖,其顯示一種對應於按鈕/滑動塊查找Z最大之裝置之過程之方法700,方法700包含步驟701至737。對於每一群組,方法700:
1)辨識最佳候選者(步驟729),並標記其「至輸出(to Output)」位元(步驟735)
2)追蹤一ID是否已發送至輸出或者是否需要再次發送(重複位元)或者是否被釋放並作為一釋放報告而發送至輸出(步驟733)
3)當至少某些群組有效時,容許「自由的」非群組按鈕及滑動塊始終報告按壓或釋放(若恰當)
現在參照第16圖,其顯示一種對應於按鈕/滑動塊驗證群組情形之方法800之一實施例,方法800包含步驟801至837。在方法800中對於每一群組,若有一觸控板邊緣檢查被啟用,則將觸控點所報告X、Y位置與所下載最小及最大螢幕邊緣參數相比較,且若參數處於範圍內,則禁用各群組。對於每一群組,方法800皆循環通過該群組之所有成員。若所有成員皆已被「釋放」(無觸控),則去除該群組之禁用旗標。
現在參照第17圖,其顯示一種對應於按鈕/滑動塊發送至輸出過程之方法900之一實施例,方法900包含步驟901至923。對於每一按鈕或滑動塊,方法900皆檢查其「至輸出」位元,並且若該位元為真,則複製按鈕ID及Z值(或者若為一滑動塊,則複製滑動塊ID、Z值)並發送該值至移動報告輸出。方法900亦重設持續時間(age)及按壓位元狀態。若正在輸出一「釋放」,則將各單獨成員或該群組之釋放位元清除。由於下載資料格式之所需次序,所有按鈕(若存在)在移動報告輸出中始終先於滑動塊。
如上所述,本文所揭示之實施例之各種態樣使用於Avago Technologies® AMRI-5200控制器中。
除上文所揭示者外,亦可設想出本發明之各種實施例。上述實
施例應被視為本發明之實例,而非對本發明範圍之限制。除本發明之上述實施例外,在閱讀本詳細說明及附圖後將知,本發明亦存在其他實施例。因此,本文未明確闡述之本發明上述實施例之許多組合、排列、改變及潤飾將仍然歸屬於本發明範圍內。
20‧‧‧行動電話
90‧‧‧觸控螢幕
95‧‧‧介電板
100‧‧‧觸控螢幕控制器
110‧‧‧電容式觸控螢幕系統
112‧‧‧LCD顯示器
120‧‧‧主機處理器
190‧‧‧實例性移動報告資料
10a-10i‧‧‧感測列
20a-20h‧‧‧驅動行
20i-20p‧‧‧驅動行
A、B、C‧‧‧觸控強度
B1、B2、B3、B4‧‧‧按鈕
X‧‧‧內插中心位置
根據本說明書、圖式及申請專利範圍,各種實施例之不同態樣將變得一目了然,在附圖中:第1圖顯示一電容式觸控螢幕系統之一實施例之剖視圖;第2圖顯示一電容式觸控螢幕控制器之方塊圖;第3圖顯示一電容式觸控螢幕系統及一主機控制器之一實施例之方塊圖;第4圖顯示一電容式觸控螢幕系統之一實施例之示意性方塊圖;第5圖顯示一行動電話及其鍵盤之示意圖;第6圖顯示一按鈕群組之一實施例之示意圖;第7圖例示一Flying V演算法之一實施例之示意圖;第8圖顯示一按鈕群組之另一實施例之示意圖;第9圖顯示移動報告資料之一實施例之示意圖;第10圖顯示一種方法之一實施例,一主機處理器根據該方法接收按鈕或滑動塊事件之流程圖;第11圖顯示一種方法之一實施例,一主機處理器根據該方法下
載資料配置檔案至一觸控螢幕控制器之流程圖;以及第12圖至第17圖係為對應於由一觸控螢幕控制器執行之不同過程及方法之流程圖。
該等圖式未必按比例繪製。在所有圖式中,相同編號指示相同部件或步驟。
Claims (42)
- 一種操作一電容式觸控螢幕系統之方法,該電容式觸控螢幕系統包含複數個第一導電性驅動電極、複數個第二導電性感測電極、一驅動電路、一感測電路及一觸控螢幕控制器,該等第一導電性驅動電極排列成複數個列或行,該等第二導電性感測電極則相對於該等第一導電性驅動電極之該等列或行成一角度排列成複數個列或行,在該等第一導電性驅動電極與該等第二導電性感測電極相交處具有該等第一導電性驅動電極與該等第二導電性感測電極之間之複數個互電容(mutual capacitances),當一使用者之一或多個手指或觸控裝置靠近時,該等互電容發生變化,該驅動電路可操作地連接至該等第一導電性驅動電極,該感測電路可操作地連接至該等第二導電性感測電極且用以自該等第二導電性感測電極感測複數個輸入訊號,以及該觸控螢幕控制器可操作地連接至該等第一導電性驅動電極及該等第二導電性感測電極,該觸控螢幕控制器可操作地連接至一主機處理器,該方法包含:自該主機處理器下載複數個電腦可讀取之按鈕群組程式化指令及資料(computer-readable button group programming instructions and data)至該觸控螢幕控制器之一記憶體之一第一部分,該等電腦可讀取之按鈕群組程式化指令及資料包含用於感測及仲裁發生於複數個第一按鈕之間之觸控之步驟,該等第一按鈕於一觸控螢幕上排列成一第一群組,該第一群組位於該觸控螢幕之一第一部分中,對發生於該觸控螢幕之複數個第二部分上及其內之觸控進行電容性感測係由韌體指 令及資料來控制,該等第二部分係位於該觸控螢幕之該第一部分之外,該等韌體指令及資料係被載入至該觸控螢幕控制器之該記憶體之一第二部分中。
- 如請求項1所述之方法,更包含下列步驟:序連(concatenate)該等第一按鈕以形成一第一滑動塊(slider),該第一滑動塊係位於該觸控螢幕之該第一部分中。
- 如請求項2所述之方法,更包含下列步驟:藉由提供對應於一Flying V演算法之該等電腦可讀取之按鈕群組程式化指令及資料來實施(implement)該第一滑動塊。
- 如請求項1所述之方法,更包含下列步驟:配置該等電腦可讀取之按鈕群組程式化指令及資料,以感測及仲裁發生於該第一群組上及其內之觸控,該第一群組係沿該觸控螢幕之一第一邊緣設置。
- 如請求項1所述之方法,更包含下列步驟:配置該等電腦可讀取之按鈕群組程式化指令及資料,以感測及仲裁發生於複數個第二按鈕上及其內之觸控,該等第二按鈕排列成一第二群組,該第二群組係位於該觸控螢幕之該第一部分中。
- 如請求項5所述之方法,更包含下列步驟:序連該等第二按鈕以形成一第二滑動塊,該第二滑動塊位於該觸控螢幕之該第一部分中。
- 如請求項6所述之方法,更包含下列步驟:藉由提供對應於一Flying V演算法之該等電腦可讀取之 按鈕群組程式化指令及資料來實施該第二滑動塊。
- 如請求項5所述之方法,更包含下列步驟:配置該等電腦可讀取之按鈕群組程式化指令及資料,以感測及仲裁發生於該第二群組上及其內之觸控,該第二群組係沿該觸控螢幕之一第一邊緣或一第二邊緣設置。
- 如請求項5所述之方法,更包含下列步驟:設置該第一群組於該觸控螢幕之該第一部分中鄰近該第二群組。
- 如請求項5所述之方法,更包含下列步驟:配置該等電腦可讀取之按鈕群組程式化指令及資料,以感測及仲裁發生於複數個第三按鈕上及其內之觸控,該等第三按鈕排列成一第三群組,該第三群組係位於該觸控螢幕之該第一部分中。
- 如請求項10所述之方法,更包含下列步驟:序連該等第三按鈕以形成一第三滑動塊,該第三滑動塊係位於該觸控螢幕之該第一部分中。
- 如請求項10所述之方法,更包含下列步驟:藉由提供對應於一Flying V演算法之該等電腦可讀取之按鈕群組程式化指令及資料來實施該第三滑動塊。
- 如請求項10所述之方法,更包含下列步驟:設置該第三群組於該觸控螢幕之該第一部分中鄰近該第一群組與該第二群組至少其中之一。
- 如請求項1、5及10其中之任一項所述之方法,更包含下列步驟: 配置該等電腦可讀取之按鈕群組程式化指令及資料,以僅容許該等第一按鈕、該等第二按鈕或該等第三按鈕中之一單一按鈕產生一報告,該報告係為該單一按鈕已在一給定時間段或複數個相連時間段期間之內被一使用者觸控或按壓。
- 如請求項14所述之方法,更包含下列步驟:儘管該使用者已在該給定時間段或該等相連時間段期間之內觸控該等第一按鈕、該等第二按鈕或該等第三按鈕以外之其他按鈕,仍產生該報告。
- 如請求項14所述之方法,更包含下列步驟:使該報告基於該等第一按鈕、該等第二按鈕或該等第三按鈕中之哪一按鈕在該給定時間段或該等相連時間段期間之內首先被觸控。
- 如請求項14所述之方法,更包含下列步驟:使該報告基於該等第一按鈕、該等第二按鈕或該等第三按鈕中之哪一按鈕對應於在該給定時間段或該等相連時間段期間之內感測到之最大觸控強度。
- 如請求項14所述之方法,更包含下列步驟:使該報告基於與該等相連時間段相對應之一寬限期,並且該單一按鈕係基於在該等相連時間段期間之內所感測到之該最大觸控強度而自該等第一按鈕、該等第二按鈕或該等第三按鈕之中選出。
- 如請求項1所述之方法,更包含下列步驟:配置該等電腦可讀取之按鈕群組程式化指令及資料,以容許一使用者於該第一群組中之一按鈕上或該按鈕內之觸摸 靜態釋放。
- 如請求項1所述之方法,更包含下列步驟:配置該等電腦可讀取之按鈕群組程式化指令及資料,以容許一使用者於該第一群組中之一按鈕上或該按鈕內之觸摸動態釋放。
- 如請求項1所述之方法,更包含下列步驟:將該觸控螢幕之該等第二部分專用於導航。
- 一種電容式觸控螢幕系統,包含:複數個第一導電性驅動電極,該等第一導電性驅動電極排列成複數個列或行;複數個第二導電性感測電極,該等第二導電性感測電極相對於該等第一導電性驅動電極之該等列或行成一角度排列成複數個列或行,在該等第一導電性驅動電極與該等第二導電性感測電極相交處具有該等第一導電性驅動電極與該等第二導電性感測電極間之複數個互電容,當一使用者之一或多個手指或觸控裝置靠近時,該等互電容發生變化;一驅動電路,可操作地連接至該等第一導電性驅動電極;一感測電路,可操作地連接至該等第二導電性感測電極且用以自該等第二導電性感測電極感測複數個輸入訊號;以及一觸控螢幕控制器,可操作地連接至該等第一導電性驅動電極及該等第二導電性感測電極,該觸控螢幕控制器可操作地連接至一主機處理器,該觸控螢幕控制器使電腦可讀取之按鈕群組程式化指令及資料自該主機處理器載入至其一第 一記憶體部分中,該等電腦可讀取之按鈕群組程式化指令及資料包含用於感測及仲裁發生於複數個第一按鈕上及其內之觸控之步驟,韌體指令及資料係被載入至該觸控螢幕控制器之該記憶體之一第二部分中,其中該等第一按鈕於一觸控螢幕上排列成一第一群組,該第一群組係位於該觸控螢幕之一第一部分中,且對發生於該觸控螢幕之複數個第二部分上及其內之觸控進行電容性感測係由該等韌體指令來控制,該等第二部分係位於該觸控螢幕之該第一部分之外。
- 如請求項22所述之電容式觸控螢幕系統,其中該等第一按鈕被序連形成一第一滑動塊,該第一滑動塊係位於該觸控螢幕之該第一部分中。
- 如請求項23所述之電容式觸控螢幕系統,其中該第一滑動塊係由對應於一Flying V演算法之該等電腦可讀取之按鈕群組程式化指令及資料來實施。
- 如請求項22所述之電容式觸控螢幕系統,其中該等電腦可讀取之按鈕群組程式化指令及資料用以感測及仲裁發生於該第一群組上或其內之觸控,該第一群組係沿該觸控螢幕之一第一邊緣設置。
- 如請求項22所述之電容式觸控螢幕系統,其中該等電腦可讀取之按鈕群組程式化指令及資料更包含用以感測及仲裁發生於複數個第二按鈕上及其內之觸控之步驟,該等第二按鈕排列成一第二群組,該第二群組係位於該觸控螢幕之該第一部分中。
- 如請求項26所述之電容式觸控螢幕系統,其中該等第二按鈕被序連形成一第二滑動塊,該第二滑動塊係位於該觸控螢幕之該第一部分中。
- 如請求項27所述之電容式觸控螢幕系統,其中該第二滑動塊係由對應於一Flying V演算法之該等電腦可讀取之按鈕群組程式化指令及資料來實施。
- 如請求項26所述之電容式觸控螢幕系統,其中該等電腦可讀取之按鈕群組程式化指令及資料用以感測及仲裁發生於該第二群組上及其內之觸控,且該第二群組係沿該觸控螢幕之一第一邊緣或一第二邊緣設置。
- 如請求項26所述之電容式觸控螢幕系統,其中該第一群組係設置於該觸控螢幕之該第一部分中鄰近該第二群組。
- 如請求項26所述之電容式觸控螢幕系統,其中該等電腦可讀取之按鈕群組程式化指令及資料更包含用以感測及仲裁發生於複數個第三按鈕上及其內之觸控之步驟,該等第三按鈕排列成一第三群組,該第三群組係位於該觸控螢幕之該第一部分中。
- 如請求項31所述之電容式觸控螢幕系統,其中該等第三按鈕被序連形成一第三滑動塊,該第三滑動塊係位於該觸控螢幕之該第一部分中。
- 如請求項32所述之電容式觸控螢幕系統,其中該第三滑動塊係由對應於一Flying V演算法之該等電腦可讀取之按鈕群組程式化指令及資料來實施。
- 如請求項32所述之電容式觸控螢幕系統,其中該第三群組係 設置於該觸控螢幕之該第一部分中鄰近該第一群組與該第二群組至少其中之一。
- 如請求項22、26及31其中之任一項所述之電容式觸控螢幕系統,其中該等電腦可讀取之按鈕群組程式化指令及資料更包含被用以僅容許該等第一按鈕、該等第二按鈕或該等第三按鈕中之一單一按鈕產生一報告之步驟,該報告係為該單一按鈕已在一給定時間段或複數個相連時間段期間之內被一使用者觸控或按壓。
- 如請求項35所述之電容式觸控螢幕系統,其中儘管該使用者已在該給定時間段或該等相連時間段期間之內觸控該等第一按鈕、該等第二按鈕或該等第三按鈕以外之其他按鈕,仍產生該報告。
- 如請求項35所述之電容式觸控螢幕系統,其中該報告係基於該等第一按鈕、該等第二按鈕或該等第三按鈕中之哪一按鈕在該給定時間段或該等相連時間段期間之內被首先觸控。
- 如請求項35所述之電容式觸控螢幕系統,其中基於該等第一按鈕、該等第二按鈕或該等第三按鈕中之哪一按鈕對應於在該給定時間段或該等相連時間段期間之內所感測到之最大觸控強度。
- 如請求項35所述之電容式觸控螢幕系統,其中該報告係基於與該等相連時間段相對應之一寬限期,並且該單一按鈕係基於在該等相連時間段期間之內所感測到之該最大觸控強度而自該等第一按鈕、該等第二按鈕或該等第三按鈕之中選出。
- 如請求項22所述之電容式觸控螢幕系統,其中該等電腦可讀 取之按鈕群組程式化指令及資料更包含用以容許一使用者於該第一群組中之一按鈕上或該按鈕內之觸摸靜態釋放之步驟。
- 如請求項22所述之電容式觸控螢幕系統,其中該等電腦可讀取之按鈕群組程式化指令及資料更包含用以容許一使用者於該第一群組中之一按鈕上或該按鈕內之觸摸動態釋放之步驟。
- 如請求項22所述之電容式觸控螢幕系統,其中該觸控螢幕之該等第二部分係專用於導航。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/174,777 US8866762B2 (en) | 2011-07-01 | 2011-07-01 | Method and apparatus for arbitrating among contiguous buttons on a capacitive touchscreen |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201303686A true TW201303686A (zh) | 2013-01-16 |
Family
ID=47390149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101121129A TW201303686A (zh) | 2011-07-01 | 2012-06-13 | 電容式觸控螢幕系統及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US8866762B2 (zh) |
CN (1) | CN102866812B (zh) |
TW (1) | TW201303686A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI573052B (zh) * | 2013-02-01 | 2017-03-01 | Can react to the CPU command of the touch display driver circuit | |
TWI782569B (zh) * | 2021-06-09 | 2022-11-01 | 大陸商北京集創北方科技股份有限公司 | 復位源監測電路、觸控晶片及資訊處理裝置 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999198B (zh) * | 2011-09-16 | 2016-03-30 | 宸鸿科技(厦门)有限公司 | 触摸面板边缘持握触摸的检测方法和装置 |
CN104066695B (zh) * | 2011-10-25 | 2019-02-12 | 康宁股份有限公司 | 具有改善的化学和机械耐久性的碱土金属铝硅酸盐玻璃组合物 |
TWI590134B (zh) * | 2012-01-10 | 2017-07-01 | 義隆電子股份有限公司 | 觸控面板掃描方法 |
US9116571B2 (en) * | 2012-03-27 | 2015-08-25 | Adonit Co., Ltd. | Method and system of data input for an electronic device equipped with a touch screen |
US20130285735A1 (en) * | 2012-04-30 | 2013-10-31 | Delphi Technologies, Inc. | Operator control assembly |
US9335872B2 (en) | 2012-10-01 | 2016-05-10 | Stmicroelectronics Asia Pacific Pte Ltd | Hybrid stylus for use in touch screen applications |
JP6091208B2 (ja) * | 2012-12-27 | 2017-03-08 | 三菱電機株式会社 | 空気調和機用コントローラー及び空気調和システム |
US9459776B1 (en) * | 2013-03-13 | 2016-10-04 | The United States Of America As Represented By The Secretary Of The Army | Device for use in studies involving multiple subjects to record observation data in an output file |
KR20150077128A (ko) * | 2013-12-27 | 2015-07-07 | 삼성디스플레이 주식회사 | 터치 지연 시간 측정 장치 및 그 방법 |
DE102014205887B4 (de) * | 2014-03-28 | 2015-10-08 | Ecom Instruments Gmbh | Geräte-Anordnung |
JP6399834B2 (ja) * | 2014-07-10 | 2018-10-03 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、及びプログラム |
CN105389225A (zh) * | 2015-11-25 | 2016-03-09 | 小米科技有限责任公司 | 触摸屏报点的处理方法及装置 |
US11409430B2 (en) * | 2018-11-02 | 2022-08-09 | Benjamin Firooz Ghassabian | Screen stabilizer |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7098896B2 (en) | 2003-01-16 | 2006-08-29 | Forword Input Inc. | System and method for continuous stroke word-based text input |
JP2006072489A (ja) * | 2004-08-31 | 2006-03-16 | Toshiba Corp | 情報処理装置および表示制御プログラム |
US7694231B2 (en) | 2006-01-05 | 2010-04-06 | Apple Inc. | Keyboards for portable electronic devices |
US8564544B2 (en) | 2006-09-06 | 2013-10-22 | Apple Inc. | Touch screen device, method, and graphical user interface for customizing display of content category icons |
TW200820053A (en) * | 2006-10-25 | 2008-05-01 | Sentelic Corp | Touch pad function extension system and method of an electronic device and the electronic device thereof |
JP2008243128A (ja) * | 2007-03-29 | 2008-10-09 | Sanyo Electric Co Ltd | タッチパネル装置 |
US9131078B2 (en) * | 2007-07-27 | 2015-09-08 | Lagavulin Limited | Apparatuses, methods, and systems for a portable, image-processing transmitter |
EP2175354A1 (en) * | 2008-10-07 | 2010-04-14 | Research In Motion Limited | Portable electronic device and method of controlling same |
TWI366130B (en) * | 2008-10-17 | 2012-06-11 | Htc Corp | Method for adjusting page displaying manner, mobile electronic device, and computer program product using the method thereof |
-
2011
- 2011-07-01 US US13/174,777 patent/US8866762B2/en active Active
-
2012
- 2012-06-13 TW TW101121129A patent/TW201303686A/zh unknown
- 2012-06-29 CN CN201210222349.0A patent/CN102866812B/zh active Active
-
2014
- 2014-09-16 US US14/487,156 patent/US9594465B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI573052B (zh) * | 2013-02-01 | 2017-03-01 | Can react to the CPU command of the touch display driver circuit | |
TWI782569B (zh) * | 2021-06-09 | 2022-11-01 | 大陸商北京集創北方科技股份有限公司 | 復位源監測電路、觸控晶片及資訊處理裝置 |
Also Published As
Publication number | Publication date |
---|---|
US20150002468A1 (en) | 2015-01-01 |
US9594465B2 (en) | 2017-03-14 |
US20130002599A1 (en) | 2013-01-03 |
CN102866812A (zh) | 2013-01-09 |
US8866762B2 (en) | 2014-10-21 |
CN102866812B (zh) | 2015-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201303686A (zh) | 電容式觸控螢幕系統及其操作方法 | |
US9176635B2 (en) | Virtual buttons for a touch interface | |
EP2359224B1 (en) | Generating gestures tailored to a hand resting on a surface | |
US9213458B2 (en) | Hover position calculation in a touchscreen device | |
KR101453347B1 (ko) | 노이즈 감소를 위한 터치 검출 방법 및 장치 | |
US9377909B2 (en) | Touchscreen data processing | |
EP3196741A1 (en) | Touch screen and touch positioning method therefor, and display device | |
US20140210791A1 (en) | Determining Touch Locations and Forces Thereto on a Touch and Force Sensing Surface | |
US20130154999A1 (en) | Multi-Surface Touch Sensor Device With User Action Detection | |
US20130154955A1 (en) | Multi-Surface Touch Sensor Device With Mode of Operation Selection | |
CN108073319B (zh) | 用于触摸显示面板的可重新配置的触摸感应***和方法 | |
US10185444B2 (en) | Uniformity correction method for low cost and non-rectangular touch sensor matrices | |
EP3731072A1 (en) | Coarse scan and targeted active mode scan for touch | |
CN104331210A (zh) | 一种内嵌式触摸屏、其触控检测方法及显示装置 | |
WO2015016957A1 (en) | Method and apparatus for calculating coordinates with high noise immunity in touch applications | |
CN103218123A (zh) | 桌面图标重新排列的方法及其触摸式移动终端 | |
TW201439871A (zh) | 具有改良觸控感應精確度的電容式觸控系統及其座標擷取方法 | |
JP5832772B2 (ja) | タッチパネル、タッチパネルシステム、および電子機器 | |
US9342196B2 (en) | Hardware accelerator for touchscreen data processing | |
US9563321B2 (en) | Method for detecting background signals of capacitive sensing device | |
CN105159555A (zh) | 一种用户设备控制方法及用户设备 | |
US9529530B2 (en) | Electronic device and gesture input method of item selection | |
CN107688771A (zh) | 一种半导体器件 | |
CN103092451A (zh) | 触摸屏的扫描方法 | |
US10585582B2 (en) | System and method for disambiguating touch interactions |