觸控螢幕數據處理系統、方法及專用ALU

觸控螢幕數據處理系統、方法及專用ALU

《觸控螢幕數據處理系統、方法及專用ALU》是北京集創北方科技有限公司於2012年8月29日申請的專利,該專利的公布號為CN102880341A,申請公布日為2013年1月16日,發明人是張晉芳、張利達。該發明涉及觸摸技術。

《觸控螢幕數據處理系統、方法及專用ALU》所述數據處理系統包括:存儲器陣列,具有多個單元存儲器,任一單元存儲器用於存儲完整的或一部分觸控螢幕原始採樣電容數據或數據處理的運算結果;微控制單元(MCU),用於進行流程控制,向專用算術邏輯單元(ALU)傳送專用ALU指令;專用算術邏輯單元(ALU),用於根據MCU傳送的專用ALU指令對存儲器陣列中的數據進行運算,並將結果保存至存儲器陣列中,其中,所述專用ALU指令具有這樣的指令格式,其使得ALU能夠在一條專用ALU指令中完成對多個存儲數據的批量處理。該發明在電容式觸控螢幕數據處理系統中使用能處理批量數據的專用ALU指令和處理該指令的專用ALU,降低MCU工作負擔,大大提高運算效率。

2017年12月11日,《觸控螢幕數據處理系統、方法及專用ALU》獲得第十九屆中國專利優秀獎。

(概述圖為《觸控螢幕數據處理系統、方法及專用ALU》摘要附圖)

基本介紹

  • 中文名:觸控螢幕數據處理系統、方法及專用ALU
  • 申請人:北京集創北方科技有限公司
  • 申請日:2012年8月29日
  • 申請號:2012103127147
  • 公布日:2013年1月16日
  • 公布號:CN102880341A
  • 發明人:張晉芳、張利達
  • 地址:北京市海淀區北三環中路31號4號樓13層
  • 分類號:G06F3/041(2006.01)I
  • 類別:發明專利
專利背景,發明內容,專利目的,技術方案,有益效果,附圖說明,權利要求,實施方式,榮譽表彰,

專利背景

2012年8月之前技術的觸控螢幕控制器,需要實時監測由觸控螢幕系統中模擬/數字轉換器(ADC,Analog-to-DigitalConverter)採集到的信號(如電容電阻等),並轉化為以數位訊號形式存儲的原始採樣數據信息,再通過微控制單元(MCU,Micro Control Unit)執行專門的數據處理算法,將原始數據轉換為人體在觸控螢幕上觸摸位置的信息並上報給系統主機。
MCU的工作負擔,或者說對MCU處理能力的要求,取決於原始採樣的數據量的大小,觸摸信息上報速率的要求以及數據處理算法的複雜程度。觸控螢幕的面積的增大,就要求有更多的激勵通道和感應通道的數目,這會導致原始採樣數據量的增加;為了能更準確的回響快速的移動觸摸,則要求觸控螢幕數據處理系統能實現更快速的信息上報速率;而觸控螢幕套用環境的複雜性則對數據處理算法也有更高要求。這些因素都對MCU的性能有所挑戰,會導致MCU的成本,功耗等都有明顯的上升。

發明內容

專利目的

該發明要解決的技術問題在於為降低MCU工作負擔,減小MCU運算複雜性而提出一種觸控螢幕專用ALU以及具有該專用ALU的觸控螢幕數據處理系統和方法。

技術方案

《觸控螢幕數據處理系統、方法及專用ALU》提供了一種觸控螢幕數據處理系統,包括:存儲器陣列,具有多個單元存儲器,任一單元存儲器用於存儲完整的或一部分觸控螢幕原始採樣數據或數據處理的運算結果;微控制單元(MCU),用於進行流程控制,向專用算術邏輯單元(ALU)傳送專用ALU指令;專用算術邏輯單元(ALU),用於根據MCU傳送的所述專用ALU指令對存儲器陣列中的數據進行運算,並將結果保存至存儲器陣列中,其中,所述專用ALU指令具有這樣的指令格式,其使得所述ALU能夠在一條專用ALU指令中完成對多個存儲數據的批量處理。
根據該發明的另一方面,還提供了一種觸控螢幕數據處理方法,包括如下步驟:
步驟1:開闢包含多個單元存儲器的存儲器陣列空間,其中,任一單元存儲器用於存儲完整的或一部分觸控螢幕原始採樣數據或數據處理的運算結果;
步驟2:模擬/數字轉換器(ADC)將採集到的觸摸信息轉換為數位訊號形式的原始採樣數據信息,並保存在存儲器陣列中;
步驟3:微控制單元(MCU)向算術邏輯單元(ALU)傳送專用ALU指令;
步驟4:所述ALU根據所述MCU傳送的所述專用ALU指令對存儲器陣列中的數據進行運算,將運算結果保存到所述存儲器陣列空間中,其中,所述專用ALU指令具有這樣的指令格式,其使得所述ALU能夠在一條專用ALU指令中完成對多個存儲數據的批量處理。
此外,根據該發明的另一方面,還提供了一種觸控螢幕專用算術邏輯單元(ALU),其特徵在於,所述ALU從微控制單元(MCU)接收專用ALU指令,並根據所述專用ALU指令對存儲器陣列中的數據進行運算,將結果保存至存儲器陣列中,其中,所述專用ALU指令具有這樣的指令格式,其使得所述ALU能夠在一條專用ALU指令中完成對多個存儲數據的批量處理;所述批量處理以存儲數據矩陣的形式進行,其中,在所述專用ALU指令中指定參與運算的源數據矩陣和存放運算結果的目標矩陣,在一條專用ALU指令執行期間對指定的矩陣形式存儲區域進行連續讀寫,通過指定矩陣首地址、矩陣行數和矩陣列數來確定一塊存儲數據矩陣;所述專用ALU指令包括:操作類型;目標矩陣首地址,目標矩陣行數,目標矩陣列數;源矩陣首地址,源矩陣行數,源矩陣列數;其中,該指令涉及至少一個源矩陣,源矩陣的數量由不同的操作類型決定。

有益效果

《觸控螢幕數據處理系統、方法及專用ALU》實施例提供的技術方案的有益效果是:在上述技術方案中使用適用於批量數據處理的專用ALU指令格式和能夠處理該專用ALU指令格式的專用ALU,大大地提高運算效率,使MCU在更低的主頻時鐘下,完成數據處理工作。

附圖說明

圖1是根據該發明一實施例的觸控螢幕數據處理系統的結構框圖。
圖2是根據該發明一實施例的數據存儲空間的示意圖。
圖3是根據該發明一實施例的專用ALU指令執行時序圖。

權利要求

1.一種觸控螢幕數據處理系統,包括:存儲器陣列,具有多個單元存儲器,任一單元存儲器用於存儲完整的或一部分觸控螢幕原始採樣數據或數據處理的運算結果;微控制單元(MCU),用於進行流程控制,向專用算術邏輯單元(ALU)傳送專用ALU指令;專用算術邏輯單元(ALU),用於根據MCU傳送的所述專用ALU指令對存儲器陣列中的數據進行運算,並將結果保存至存儲器陣列中,其中,所述專用ALU指令具有這樣的指令格式,其使得所述ALU能夠在一條專用ALU指令中完成對多個存儲數據的批量處理。
2.權利要求1所述的觸控螢幕數據處理系統,其特徵在於,所述對多個存儲數據的批量處理以存儲數據矩陣的形式進行,其中,在所述專用ALU指令中指定參與運算的源數據矩陣和存放運算結果的目標矩陣,在一條專用ALU指令執行期間對指定的矩陣形式存儲區域進行連續讀寫。
3.權利要求1或2所述的觸控螢幕數據處理系統,其特徵在於,所述ALU在完成一次運算後通知所述MCU,之後所述ALU等待下一條專用ALU指令準備下一次運算。
4.權利要求1或2所述的觸控螢幕數據處理系統,其特徵在於,在所述ALU運算期間,停掉所述MCU的時鐘,所述ALU運算結束後,自動恢復所述MCU時鐘。
5.一種觸控螢幕數據處理方法,包括如下步驟:
步驟1:開闢包含多個單元存儲器的存儲器陣列空間,其中,任一單元存儲器用於存儲完整的或一部分觸控螢幕原始採樣數據或數據處理的運算結果;
步驟2:模擬/數字轉換器(ADC)將採集到的觸摸信號轉換為數位訊號形式的原始採樣數據信息,並保存在存儲器陣列中;
步驟3:微控制單元(MCU)向專用算術邏輯單元(ALU)傳送專用ALU指令;
步驟4:所述ALU根據所述MCU傳送的所述專用ALU指令對存儲器陣列中的數據進行運算,將運算結果保存到所述存儲器陣列空間中,其中,所述專用ALU指令具有這樣的指令格式,其使得所述ALU能夠在一條專用ALU指令中完成對多個存儲數據的批量處理。
6.權利要求5所述的觸控螢幕數據處理方法,其特徵在於,所述對多個存儲數據的批量處理以存儲數據矩陣的形式進行,其中,在所述專用ALU指令中指定參與運算的源數據矩陣和存放運算結果的目標矩陣,在一條專用ALU指令執行期間對指定的矩陣形式存儲區域進行連續讀寫。
7.權利要求5或6所述的觸控螢幕數據處理方法,其特徵在於,在步驟4之後還包括步驟5:所述ALU在完成一次運算後通知所述MCU,之後所述ALU等待下一條專用ALU指令準備下一次運算。
8.權利要求5或6所述的觸控螢幕數據處理方法,其特徵在於,在所述ALU運算期間,停掉所述MCU的時鐘,所述ALU運算結束後,自動恢復所述MCU時鐘。
9.一種觸控螢幕專用算術邏輯單元(ALU),其特徵在於,所述ALU從微控制單元(MCU)接收專用ALU指令,並根據所述專用ALU指令對存儲器陣列中的數據進行運算,將結果保存至存儲器陣列中,其中,所述專用ALU指令具有這樣的指令格式,其使得所述ALU能夠在一條專用ALU指令中完成對多個存儲數據的批量處理;所述批量處理以存儲數據矩陣的形式進行,其中,在所述專用ALU指令中指定參與運算的源數據矩陣和存放運算結果的目標矩陣,在一條專用ALU指令執行期間對指定的矩陣形式存儲區域進行連續讀寫,通過指定矩陣首地址、矩陣行數和矩陣列數來確定一塊存儲數據矩陣;所述專用ALU指令包括:操作類型;目標矩陣首地址,目標矩陣行數,目標矩陣列數;源矩陣首地址,源矩陣行數,源矩陣列數;其中,該指令涉及至少一個源矩陣,源矩陣的數量由不同的操作類型決定。
10.權利要求9所述的觸控螢幕專用算術邏輯單元(ALU),其特徵在於,當目標矩陣的行列數與源矩陣的行列數相等時,在所述專用ALU指令中省略對源矩陣行數以及源矩陣列數的指定。

實施方式

圖1是根據《觸控螢幕數據處理系統、方法及專用ALU》的觸控螢幕數據處理系統的結構框圖,其中:
[1]開闢一塊存儲器陣列空間,其中包含n個單元存儲器M1,M2,……Mn,任一單元存儲器都可以存儲完整的或一部分觸控螢幕採樣數據或數據處理的中間運算結果;單元存儲器可以是一塊獨立的存儲器(例如SRAM,等等),也可以是一個存儲器中一段指定地址區域的局部空間。
[2]ADC對觸控螢幕進行掃描,將一次觸控螢幕掃描得到的數據存放某一個單元存儲器中,例如M1中,或者是將多次觸控螢幕掃描得到的數據存放到多個單元存儲器中。
[3]MCU向ALU傳送專用ALU指令,由ALU完成對數據的運算,運算包括基本運算以及由若干基本運算組成的複合運算;其中基本運算如搬移、算術運算(加,減,乘,除,取模等)、邏輯運算(與,或,非,異或,同或等)、比較運算(等於,大於,小於等)、移位運算(邏輯左移,邏輯右移,算術左移,算術右移等)、累加運算等單次運算,但不局限於以上所列出的單次運算;由若干基本運算組成的複合運算,例如計算超過某一閾值的所有數據的累加和(比較和累加運算的組合)、計算三點平均(多次加法和除法的組合)、計算三點中值(多次比較運算的組合)等,同樣也不局限於以上所列。
[4]ALU完成運算,將結果保存到存儲器陣列中,並通知MCU,之後ALU等待下一條專用ALU指令準備下一次運算。
在該發明中,專用ALU要滿足對存儲器中數據進行批量處理的需求,以矩陣形式執行數據操作。圖2是根據該發明的數據存儲空間的示意圖,在圖2中,假設一塊單元存儲器中在地址0~(M×N-1)中有M×N個數據,可以認為每M個數據為一行,共有N行數據,其中,M、N為自然數。專用ALU可以在一條指令下完成整個M×N矩陣或它的任意大小的子矩陣內的數據運算。一條專用ALU指令格式如下:
操作
(OP)
目標矩陣首地址
(DST_AD)
目標矩陣行
(DST_X)
目標矩陣列
(DSTJY)
源矩陣A首地址
(SRCA_AD)
源矩陣A行
(SRCA_X)
源矩陣A列
(SRCA_Y)
源矩陣B首地址
(SRCB_AD)
源矩陣B行
(SRCB_X)
源矩陣B列
(SRCB_Y)
……
其中,運算OP可以包括任何搬移,算術運算,邏輯運算,比較運算,移位運算,累加運算等基本運算以及由基本運算構成的複合運算。
目標矩陣指定存放ALU運算結果的存儲器空間,源矩陣則提供用於ALU運算的數據源。最大支持的源矩陣的數目可以根據不同的算法來決定,可以擴展到3個4個或者更多。對於每一個目標矩陣或者源矩陣,都有三個參數,包括首地址AD,行標誌X和列標誌Y,來決定所選矩陣的範圍。所有的單元存儲器中的存儲空間都具有獨立編址,如每個單元存儲器具有基地址BASE,其內部空間具有偏移地址OFFSET,則目標或源矩陣首地址AD可以表示為BASE+OFFSET。在圖2中,在已知BASE值的情況下,配置AD中的內部偏移地址OFFSET=M+1,X=6,Y=2,則以內部偏移地址為M+1的存儲數據為矩陣起點,選定具有6列和2行的數據矩陣參與ALU運算,即圖2中灰色矩陣內的數據。
當矩陣大小不等時,ALU可以根據所執行算法的需要或者不同的OP採取不同的處理方式:1,以小矩陣為基準,將大矩陣截斷為與小矩陣等大小。2.以大矩陣為基準,將小矩陣用某種預定的方式擴充為與大矩陣等大,如補0,重複插值,線性插值等。對於同樣的數學運算需要按不同方式處理的,如加法ADD,乘法MUL等既有需要按方式1處理的需求,也有需要按方式2處理的需求,可以定義不同的OP操作,如ADD1,ADD2,MUL1,MUL2等,ALU就可以根據OP自動執行相應的操作。
如果所有的源矩陣和目標矩陣形狀一致,即目標矩陣的行列數與源矩陣的行列數相等時,則ALU指令格式可以簡化為:
運算(OP)
目標矩陣首地址 (DST_AD)
目標矩陣,行 (DST_X)
目標矩陣列
(DST_Y)
源矩陣A首地址 (SRCA_AD)
源矩陣B首地址 (SRCB_AD)
……
ALU在收到指令後,可以對指定的存儲器區域進行連續讀寫操作,在每個時鐘周期同時從所有源矩陣讀取數據,完成指定運算後將結果寫回對應的目標地址。圖3是一個可能的專用ALU指令簡要時序示意圖,該ALU具有兩個源矩陣A和B和目標矩陣D,要完成一次M行N列的矩陣運算。圖中A,B,D分別是各自矩陣的首地址。ALU接收到指令後,進行指令解碼,然後啟動ALU中對時鐘周期進行計數的計數器,從第1個計數值所對應的時鐘周期起從A和B指向的單元存儲器中同時依次讀取數據,完成指定運算後在將結果依次在下一個時鐘周期寫入D指向的單元存儲器。ALU計數器根據ALU指令中具體運算操作類型和矩陣大小決定計數總長度,在全部運算和存儲器數據讀寫完成後,結束計數,完成當前ALU指令,準備執行下一條指令。以上僅是以示例性方式說明了一條專用ALU指令的執行時序,該領域技術人員應當意識到,在該指令中還可以根據操作類型和矩陣大小或其他實際需要對讀取A、B矩陣數據和向矩陣D寫入數據的時序進行調整,例如,如果一個複合運算需要k個時鐘周期完成,可以將那么寫入D矩陣的時序調整為晚於從A、B讀數據k個時鐘周期,其中k為大於1的自然數。採用這種方式,ALU每完成一次有M×N個元素的數據矩陣運算只需要M×N個或者略多幾個時鐘周期(隨存儲器讀寫時序不同會略有差異)。這要遠遠小於MCU在程式中利用循環來完成矩陣運算所需要的時間開銷,從而提高MCU的數據處理能力,也為降低MCU主頻,節省功耗提供了一種途徑。
由於ALU運算非常快,還可以在ALU運算期間,停掉MCU時鐘,更大程度的節省功耗;ALU運算結束,自動恢復MCU時鐘,MCU就可以不必通過中斷或者查詢的方式獲取ALU狀態,而直接讀取ALU運算結果。

榮譽表彰

2017年12月11日,《觸控螢幕數據處理系統、方法及專用ALU》獲得第十九屆中國專利優秀獎。

相關詞條

熱門詞條

聯絡我們