欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于快速傳輸數(shù)據(jù)到顯示驅(qū)動(dòng)器的系統(tǒng)和方法

文檔序號(hào):2646083閱讀:212來(lái)源:國(guó)知局
專(zhuān)利名稱:用于快速傳輸數(shù)據(jù)到顯示驅(qū)動(dòng)器的系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明涉及快速傳輸數(shù)據(jù)到顯示驅(qū)動(dòng)器的系統(tǒng)和方法。
背景技術(shù)
具有數(shù)據(jù)輸入和顯示功能的手持?jǐn)?shù)據(jù)處理設(shè)備已經(jīng)越來(lái)越多地在許多場(chǎng)合中使用。這種設(shè)備的眾所周知的示例包括蜂窩電話和“個(gè)人數(shù)字助理”(PDA)設(shè)備。隨著更大的處理能力和減小的設(shè)備尺寸變得更容易得到,手持?jǐn)?shù)據(jù)處理設(shè)備在衛(wèi)生、保健、金融、工程技術(shù)及其它環(huán)境中的使用將變得越來(lái)越普遍。用戶的有效數(shù)據(jù)輸入以及這種數(shù)據(jù)的快速處理和顯示在手持?jǐn)?shù)據(jù)處理設(shè)備中是重要因素。然而,在由當(dāng)前可用的手持?jǐn)?shù)據(jù)處理器提供的數(shù)據(jù)輸入和顯示中存在著各種缺點(diǎn)。
尤其是,這種手持設(shè)備的小尺寸經(jīng)常使經(jīng)由字母數(shù)字小鍵盤(pán)、鍵盤(pán)或者觸摸屏的數(shù)據(jù)輸入變得復(fù)雜。在手持設(shè)備中已經(jīng)使用了各種各樣用于字母數(shù)字字符的用戶輸入的機(jī)構(gòu)。一種這樣的方法是在設(shè)備顯示器上的一個(gè)完整“QWERTY”鍵盤(pán)的使用,如在許多PDA設(shè)備中出現(xiàn)的那樣。完整鍵盤(pán)是為大部分用戶所熟知的,而且輸入和顯示相應(yīng)的字母數(shù)字字符需要按壓或者激活僅僅單個(gè)鍵。然而,在一個(gè)小設(shè)備上顯示一個(gè)完整的鍵盤(pán)要求各個(gè)鍵或者按鈕是非常小的,而且指示筆的使用是數(shù)據(jù)輸入所必需的。
另一種數(shù)據(jù)輸入的方法是使用了一個(gè)傳統(tǒng)的電話字母數(shù)字小鍵盤(pán),其中多次按壓或者激活一個(gè)單獨(dú)鍵允許在與該鍵有關(guān)的幾個(gè)字符中的每一個(gè)之間循環(huán)。例如,當(dāng)“2”鍵最初被按壓時(shí),在設(shè)備顯示器上相應(yīng)地顯示“2”。再次按壓“2”鍵則把顯示的“2”改變?yōu)椤癆”,而第三次按壓“2”鍵導(dǎo)致“B”的顯示,等等。雖然這種方法允許利用一個(gè)相對(duì)小的字母數(shù)字小鍵盤(pán)輸入數(shù)據(jù),但是個(gè)別字母數(shù)字符號(hào)的輸入可能需要多至四次按鍵以獲得一個(gè)期望的字符。用這樣的方式輸入字母數(shù)字字符串是不直觀的,而且對(duì)于未經(jīng)訓(xùn)練的用戶來(lái)說(shuō)是很困難的。此外,許多電話小鍵盤(pán)沒(méi)有規(guī)定“Q”和“Z”字符,而這些字符的輸入必須通過(guò)按壓兩個(gè)或更多鍵的一個(gè)組合或者通過(guò)其它數(shù)據(jù)輸入方案提供。
還有另一種數(shù)據(jù)輸入的方法是在不同的屏幕圖象上提供不同的顯示部分,并提供了一個(gè)按鈕或者鍵以允許在多個(gè)屏幕圖象之間切換。例如,一個(gè)第一屏幕可以用來(lái)顯示數(shù)字,而另外的屏幕用來(lái)顯示字母字符。顯示所有字母數(shù)字字符所需要的屏幕總數(shù)取決于該顯示器的尺寸。一個(gè)小的顯示器經(jīng)常需要三個(gè)或者四個(gè)這樣的屏幕。由于在屏幕之間切換的必要性,字母數(shù)字字符串的輸入可能是十分復(fù)雜和費(fèi)時(shí)的。
在手持?jǐn)?shù)據(jù)處理設(shè)備操作中的另一個(gè)重要考慮是對(duì)于由該設(shè)備處理的數(shù)字?jǐn)?shù)據(jù)的錯(cuò)誤檢測(cè)。一般使用循環(huán)冗余校驗(yàn)(CRC)計(jì)算來(lái)執(zhí)行錯(cuò)誤檢測(cè),該計(jì)算一般由以軟件體現(xiàn)的一種除法算法實(shí)現(xiàn),該算法是相對(duì)緩慢的而且涉及相當(dāng)多的計(jì)算開(kāi)銷(xiāo)。
一種更快的CRC計(jì)算方法是通過(guò)結(jié)合AND和XOR操作使用一個(gè)軟件查找表來(lái)執(zhí)行等效的除法算法。這個(gè)技術(shù)對(duì)于大的數(shù)據(jù)流仍然是相對(duì)緩慢的,而且需要大量的存儲(chǔ)器來(lái)存儲(chǔ)該檢查表(例如,對(duì)于一個(gè)16位CRC需要512個(gè)字節(jié))。一種更快的技術(shù)是利用以硬件體現(xiàn)的一個(gè)CRC電路,以及一個(gè)貫穿該數(shù)據(jù)流遞增的軟件循環(huán),該循環(huán)把每個(gè)字節(jié)寫(xiě)入到執(zhí)行除法算法的CRC電路中。雖然CRC電路的使用增加了速度,但對(duì)于大的數(shù)據(jù)流來(lái)說(shuō),軟件循環(huán)的開(kāi)銷(xiāo)可能仍然需要比較長(zhǎng)的時(shí)間。
在手持?jǐn)?shù)據(jù)處理設(shè)備中還有一個(gè)考慮是與寫(xiě)入數(shù)據(jù)到設(shè)備顯示器有關(guān)的時(shí)間,其中該設(shè)備顯示器一般是一個(gè)基于像素的液晶顯示器(LCD)。數(shù)據(jù)輸出到一個(gè)顯示控制器一般涉及一個(gè)貫穿該輸出數(shù)據(jù)流遞增的軟件執(zhí)行循環(huán),其一次寫(xiě)入一個(gè)字節(jié)到該顯示控制器。這個(gè)方案對(duì)于基于像素的顯示器來(lái)說(shuō)是緩慢的,因?yàn)闉榱嗽谠擄@示器上繪制一個(gè)字母數(shù)字字符或者圖標(biāo)通常必須寫(xiě)入許多字節(jié),而且軟件循環(huán)的開(kāi)銷(xiāo)隨著因此寫(xiě)入的每個(gè)字節(jié)而增加。
許多工作環(huán)境要求多個(gè)用戶能訪問(wèn)手持?jǐn)?shù)據(jù)處理設(shè)備,而且被批準(zhǔn)用戶的驗(yàn)證又是一個(gè)在這種設(shè)備設(shè)計(jì)和操作中的重要因素。用于用戶驗(yàn)證的標(biāo)準(zhǔn)技術(shù)是由用戶輸入一個(gè)標(biāo)識(shí)(ID)字符串。輸入的字符串和在該設(shè)備存儲(chǔ)器中的一個(gè)數(shù)組或者列表中保持的一個(gè)授權(quán)字符串列表進(jìn)行比較。軟件搜尋該列表并且把所關(guān)心的字符串和每個(gè)存儲(chǔ)的條目進(jìn)行比較直到找到一個(gè)匹配或者存儲(chǔ)的字符串列表用完為止。該列表一般以排序次序布置,并且執(zhí)行一個(gè)折半查找。然而用這樣的方式執(zhí)行字符串比較,在該列表大而且字符串長(zhǎng)度長(zhǎng)的地方,可能需要大量的存儲(chǔ)器來(lái)存儲(chǔ)授權(quán)的字符串列表。例如,存儲(chǔ)具有最大長(zhǎng)度18個(gè)字符的4,000個(gè)字符串需要72,000個(gè)字節(jié)。此外,取決于字符串長(zhǎng)度的、字符串比較所需要的時(shí)間,可能是非常長(zhǎng)的而且導(dǎo)致在用戶驗(yàn)證期間很大的延遲。
因此需要這樣一種手持?jǐn)?shù)據(jù)處理設(shè)備和方法,其允許由用戶快速容易的輸入字母數(shù)字字符,其為在操作期間的快速數(shù)據(jù)錯(cuò)誤檢查和快速寫(xiě)入數(shù)據(jù)到一個(gè)顯示器作了準(zhǔn)備,而且為用于用戶驗(yàn)證的快速字符串比較作了準(zhǔn)備。本發(fā)明滿足了這些要求,以及其它需求,而且一般說(shuō)來(lái)克服了在背景技術(shù)中發(fā)現(xiàn)的不足之處。

發(fā)明內(nèi)容
本發(fā)明提供了用于從一個(gè)存儲(chǔ)器或者存儲(chǔ)設(shè)備快速傳輸數(shù)據(jù)到一個(gè)顯示控制器的裝置和方法。該裝置概括地說(shuō)包含一個(gè)存儲(chǔ)器、一個(gè)可操作地與該存儲(chǔ)器相連的直接存儲(chǔ)器存取控制器、以及一個(gè)可操作地與該直接存儲(chǔ)器存取控制器相連并且被配置為從該存儲(chǔ)器傳輸一個(gè)數(shù)據(jù)流到該顯示控制器的顯示控制器。該裝置還可以包含被配置為用用于該數(shù)據(jù)流的一個(gè)顯示地址設(shè)置該顯示控制器的存儲(chǔ)程序設(shè)計(jì)。該裝置可以另外包含被配置為用用于該數(shù)據(jù)流的源地址、用于該數(shù)據(jù)流的目的地址、以及用于該數(shù)據(jù)流的一個(gè)尺寸來(lái)設(shè)置直接存儲(chǔ)器存取控制器的存儲(chǔ)程序設(shè)計(jì)。該裝置可以進(jìn)一步包含被配置為通過(guò)直接存儲(chǔ)器存取控制器啟動(dòng)傳輸數(shù)據(jù)流到顯示控制器的存儲(chǔ)程序設(shè)計(jì)。
在某些實(shí)施例中,該裝置還可以包含一個(gè)可操作地與直接存儲(chǔ)器存取控制器相連并且被配置為從存儲(chǔ)器傳輸一個(gè)檢查數(shù)據(jù)流到該循環(huán)冗余校驗(yàn)電路的一個(gè)循環(huán)冗余校驗(yàn)電路,該循環(huán)冗余校驗(yàn)電路被配置為計(jì)算一個(gè)用于該檢查數(shù)據(jù)流的檢查值。該裝置可以另外包含被配置為用一個(gè)選擇的初始值種子化該循環(huán)冗余校驗(yàn)電路的存儲(chǔ)程序設(shè)計(jì)。該裝置可以進(jìn)一步包含被配置為用用于該檢查數(shù)據(jù)流的源地址、用于該檢查數(shù)據(jù)流的目的地址、以及用于該檢查數(shù)據(jù)流的一個(gè)尺寸來(lái)設(shè)置該直接存儲(chǔ)器存取控制器的存儲(chǔ)程序設(shè)計(jì)。該裝置可以更進(jìn)一步包含被配置為通過(guò)直接存儲(chǔ)器存取控制器啟動(dòng)從存儲(chǔ)器傳輸檢查數(shù)據(jù)流到循環(huán)冗余校驗(yàn)電路的存儲(chǔ)程序設(shè)計(jì)。在某些實(shí)施例中,該裝置還可以包含被配置為從該循環(huán)冗余校驗(yàn)電路讀取一個(gè)計(jì)算的循環(huán)冗余校驗(yàn)值并且在該存儲(chǔ)器中存儲(chǔ)該計(jì)算的循環(huán)冗余校驗(yàn)值的存儲(chǔ)程序設(shè)計(jì)。
本方法一般來(lái)說(shuō),包含使用一個(gè)直接存儲(chǔ)器存取控制器從存儲(chǔ)器傳輸一個(gè)數(shù)據(jù)流到一個(gè)顯示控制器。該傳輸可以包含用用于該數(shù)據(jù)流的顯示地址設(shè)置該顯示控制器。該傳輸還可以包含用用于該數(shù)據(jù)流的源地址、用于該數(shù)據(jù)流的目的地址、以及用于該數(shù)據(jù)流的一個(gè)尺寸來(lái)設(shè)置該直接存儲(chǔ)器存取控制器。該傳輸可以另外包含通過(guò)直接存儲(chǔ)器存取控制器啟動(dòng)傳輸數(shù)據(jù)流到顯示控制器。
在某些實(shí)施例中,該方法還可以包含使用直接存儲(chǔ)器存取控制器從存儲(chǔ)器傳輸一個(gè)檢查數(shù)據(jù)流到該循環(huán)冗余校驗(yàn)電路,并且由該循環(huán)冗余校驗(yàn)電路計(jì)算一個(gè)用于該檢查數(shù)據(jù)流的循環(huán)冗余校驗(yàn)值。傳輸檢查數(shù)據(jù)流到循環(huán)冗余校驗(yàn)電路可以包含用一個(gè)選擇的初始值種子化該循環(huán)冗余校驗(yàn)電路。傳輸檢查數(shù)據(jù)流到循環(huán)冗余校驗(yàn)電路還可以包含用用于該檢查數(shù)據(jù)流的源地址、用于該檢查數(shù)據(jù)流的目的地址、以及用于該檢查數(shù)據(jù)流的尺寸來(lái)設(shè)置直接存儲(chǔ)器存取控制器。傳輸檢查數(shù)據(jù)流到循環(huán)冗余校驗(yàn)電路另外可以包含通過(guò)直接存儲(chǔ)器存取控制器啟動(dòng)傳輸檢查數(shù)據(jù)流到循環(huán)冗余校驗(yàn)電路。傳輸檢查數(shù)據(jù)流到循環(huán)冗余校驗(yàn)電路可以進(jìn)一步包含通過(guò)該直接存儲(chǔ)器存取控制器傳輸在檢查數(shù)據(jù)流中的每一個(gè)字節(jié)到循環(huán)冗余校驗(yàn)電路。在某些實(shí)施例中,該方法還可以包含從該循環(huán)冗余校驗(yàn)電路中讀取一個(gè)計(jì)算的循環(huán)冗余校驗(yàn)值并且在該存儲(chǔ)器中存儲(chǔ)該計(jì)算的循環(huán)冗余校驗(yàn)值。


通過(guò)參考以下僅僅用于說(shuō)明性目的的附圖,本發(fā)明將得到更全面地理解。
圖1是依據(jù)本發(fā)明的一個(gè)小鍵盤(pán)示意圖。
圖2A到圖2H說(shuō)明了在圖1中的小鍵盤(pán)上輸入一個(gè)字母數(shù)字字符串。
圖3是依據(jù)本發(fā)明的一個(gè)數(shù)據(jù)處理設(shè)備的功能框圖。
圖4說(shuō)明了依據(jù)本發(fā)明、從一個(gè)直接存儲(chǔ)器存取控制器到一個(gè)CRC電路的數(shù)據(jù)傳輸?shù)牧鞒虉D。
圖5說(shuō)明了依據(jù)本發(fā)明、從一個(gè)直接存儲(chǔ)器存取控制器到一個(gè)顯示控制器的數(shù)據(jù)傳輸?shù)牧鞒虉D。
圖6A是一個(gè)說(shuō)明了用于字母數(shù)字字符串的一個(gè)授權(quán)檢驗(yàn)字列表的創(chuàng)建的流程圖。
圖6B是一個(gè)說(shuō)明了把一個(gè)字母數(shù)字字符串和授權(quán)的檢驗(yàn)字列表的比較的流程圖。
具體實(shí)施例方式
在進(jìn)一步描述本發(fā)明之前,應(yīng)當(dāng)理解,由于可以對(duì)特定實(shí)施例進(jìn)行各種變化而且仍然屬于后附權(quán)利要求的范圍之內(nèi),本發(fā)明并不局限于如下所述的本發(fā)明的特定實(shí)施例。還要理解在這里使用的術(shù)語(yǔ)是為了描述特定實(shí)施例的目的,而不是用來(lái)限制。相反,本發(fā)明的范圍將由后附權(quán)利要求確定。
在此的任何定義是為了清楚的原因而提供的,不應(yīng)當(dāng)被認(rèn)作是限制。在此使用的技術(shù)和科學(xué)術(shù)語(yǔ)和本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的通常理解具有相同的意思。
在此使用的術(shù)語(yǔ)“字母數(shù)字字符”和“字母數(shù)字符號(hào)”以及它們的語(yǔ)法等效意指可以在由一個(gè)用戶從一個(gè)鍵盤(pán)或者小鍵盤(pán)輸入數(shù)據(jù)中使用的任何數(shù)字、按字母順序的字母、單音節(jié)符號(hào)、多音節(jié)符號(hào)、文本符號(hào)、數(shù)學(xué)符號(hào)或者任何其它符號(hào)。示例的“字母數(shù)字字符”舉例來(lái)說(shuō)包含羅馬字母表字母、阿拉伯?dāng)?shù)字、以及諸如“句號(hào)”、“逗號(hào)”、“連字號(hào)”等等的標(biāo)點(diǎn)符號(hào)。
本發(fā)明提供了用于快速、容易和有效利用手持?jǐn)?shù)據(jù)處理設(shè)備的設(shè)備和方法。手持計(jì)算設(shè)備常常僅僅具有小的小鍵盤(pán)和可用的顯示區(qū)域,以及有限的存儲(chǔ)能力。本發(fā)明的設(shè)備和方法在其中提供了,在一個(gè)小的小鍵盤(pán)或者鍵盤(pán)上的快速和容易的字母數(shù)字字符的輸入、用于數(shù)據(jù)傳輸?shù)目焖贆z查字的計(jì)算、快速寫(xiě)入數(shù)據(jù)到設(shè)備顯示器中、以及快速和有效地驗(yàn)證用戶標(biāo)識(shí)字符串。
更具體地參考附圖,為了說(shuō)明性的目的,本發(fā)明主要在圖1到圖6中顯示的裝置和方法中加以體現(xiàn)。將要理解本裝置可以隨配置和部件詳情的變化而變化,而且該方法可以隨事件或者動(dòng)作的詳情和次序的變化而變化,而不背離在此公開(kāi)的基本概念。本發(fā)明主要依據(jù)在手持?jǐn)?shù)據(jù)處理器或者計(jì)算機(jī)中的使用而公開(kāi)。然而,對(duì)于那些在本領(lǐng)域的技術(shù)人員來(lái)說(shuō)很顯然本發(fā)明可以和任何類(lèi)型的數(shù)據(jù)處理器一起使用,這些數(shù)據(jù)處理器包含例如桌面和便攜式計(jì)算機(jī)。同樣對(duì)于那些在本領(lǐng)域的技術(shù)人員來(lái)說(shuō)也應(yīng)是很顯然的,即,如在此描述的本發(fā)明各個(gè)功能部件可以共享相同的邏輯而且可以在同一個(gè)電路內(nèi)實(shí)現(xiàn),或者以不同的電路布局實(shí)現(xiàn)。
現(xiàn)在參考圖1,其中顯示了一個(gè)依據(jù)本發(fā)明的鍵盤(pán)或者小鍵盤(pán)10。小鍵盤(pán)10包含多個(gè)第一、“硬”或者“固定”鍵12,以及多個(gè)第二、“軟”鍵14。在該小鍵盤(pán)上的每一個(gè)第一或者固定鍵12具有至少一個(gè)主字母數(shù)字符號(hào)15。另外,一個(gè)或多個(gè)固定鍵可以具有一個(gè)或一個(gè)以上與其相關(guān)的輔助字母數(shù)字符號(hào)16。如圖所示,以單個(gè)數(shù)或者數(shù)字形式的主字母數(shù)字符號(hào)15位于每一個(gè)第一鍵12的中心、靠下部分,而以三個(gè)或者四個(gè)羅馬字母字符或者文本相關(guān)符號(hào)形式的輔助字母數(shù)字符號(hào)16位于第一鍵12的靠上部分。第一鍵12因此以類(lèi)似于傳統(tǒng)電話小鍵盤(pán)的方式顯示字母數(shù)字字符。第一鍵12把數(shù)字“1”顯示為一個(gè)主字母數(shù)字符號(hào),并且包含用于“下劃線”、“句號(hào)”、“斜杠”和“破折號(hào)”的符號(hào)而不是字母表字母作為輔助字母數(shù)字字符。第一鍵12把數(shù)字“0”顯示為一個(gè)主字母數(shù)字符號(hào),同樣顯示對(duì)應(yīng)于“空格”、“反斜杠”、“冒號(hào)”和“逗號(hào)”的非字母輔助符號(hào)。
主和輔助字母數(shù)字符號(hào)15、16可以顯示在第一鍵12上的別處,或者可以緊挨著第一鍵12顯示或者顯示在與第一鍵12有關(guān)的別處。包含一個(gè)刪除或者退格鍵18以允許刪除如下所述輸入的字母數(shù)字字符,以及提供一個(gè)“輸入”鍵20,其可以用來(lái)輸入完成的字符串,或者作為一個(gè)復(fù)位鍵,或者可以被編程以依據(jù)鍵20的動(dòng)作執(zhí)行一個(gè)可選的功能。
如圖所示,第二、軟鍵14的數(shù)目對(duì)應(yīng)于與每一個(gè)第一鍵12有關(guān)的輔助字母數(shù)字符號(hào)16的最大數(shù)目。依據(jù)一個(gè)第一鍵12的選擇和動(dòng)作,與該啟動(dòng)的第一鍵12有關(guān)的相應(yīng)輔助字母數(shù)字符號(hào)16與第二鍵14相關(guān)聯(lián)地顯示,其中一個(gè)輔助字母數(shù)字符號(hào)16與一個(gè)相應(yīng)第二鍵14有關(guān)聯(lián)地顯示。該輔助字母數(shù)字符號(hào)16可以如圖所示直接顯示在第二鍵14上,或者緊挨著第二鍵14顯示,或者顯示在與第二鍵14有關(guān)聯(lián)的別處。
在如圖1所示的實(shí)施例中,小鍵盤(pán)10以一個(gè)覆蓋在顯示器22上或者與顯示器22重疊的觸摸屏的形式。顯示器22可以包含一個(gè)液晶、LED、CRT或者其它形式的顯示器。在手持實(shí)施例中,顯示器22常常將為一個(gè)液晶顯示器或者LCD的形式。觸摸屏/顯示器22包含一個(gè)在其中顯示字母數(shù)字字符的區(qū)域24,這些字母數(shù)字字符是依據(jù)如下所述的、主或者第一鍵12以及第二鍵14的選擇性動(dòng)作而選擇的。
通過(guò)適當(dāng)?shù)牡谝绘I12和第二鍵14的選擇性動(dòng)作,可以在該小鍵盤(pán)10上輸入任何字母數(shù)字字符串。按壓或者啟動(dòng)一個(gè)選擇的第一鍵12導(dǎo)致在顯示區(qū)域24上顯示所述選擇的第一鍵12的主字母數(shù)字字符15,而且還導(dǎo)致在軟鍵14上顯示相應(yīng)的輔助字母數(shù)字符號(hào)16。如果在顯示器24上顯示的主字母數(shù)字符號(hào)15是用戶希望輸入的符號(hào),則不啟動(dòng)輔助鍵14。如果相反,用戶希望輸入與第二鍵14有關(guān)的一個(gè)輔助字母數(shù)字字符,則該用戶可以啟動(dòng)適當(dāng)?shù)牡诙I14。這使得在區(qū)域24中顯示的主字母數(shù)字字符(數(shù)字)被替換為所選擇的輔助字母數(shù)字字符(字母)。
在圖2A到圖2H中說(shuō)明了圖1中的小鍵盤(pán)的操作。在圖2A中,由一個(gè)用戶選擇并按壓或者啟動(dòng)一個(gè)顯示了主字母數(shù)字字符“4”以及輔助字母數(shù)字字符組“G”、“H”、和“I”的第一固定鍵12。第一鍵12的動(dòng)作導(dǎo)致在顯示區(qū)域24中顯示數(shù)字“4”,并導(dǎo)致在第二鍵14上顯示字母“G”、“H”和“I”。如果此時(shí)用戶僅僅希望輸入數(shù)字“4”,則可以選擇該輸入按鈕20。如果相反用戶希望輸入“G”、“H”或者“I”,則選擇和啟動(dòng)適當(dāng)?shù)牡诙I14。
如圖2B所示,由用戶選擇和啟動(dòng)顯示字母“H”的第二鍵14,這導(dǎo)致在顯示區(qū)域24中用字母“H”替換數(shù)字“4”。用戶可以從這組輔助字母數(shù)字字符中選擇“G”或者“I”。如果如圖2B所示字母“H”表示用戶希望輸入的整個(gè)字符串,則可以按壓輸入鍵20。
用戶可以通過(guò)選擇和啟動(dòng)適當(dāng)?shù)牡谝绘I12及/或第二鍵14繼續(xù)擴(kuò)展輸入的字母數(shù)字字符列表。如圖2C所示,其中顯示了選擇和啟動(dòng)一個(gè)具有主字母數(shù)字符號(hào)“2”和一組輔助字母數(shù)字符號(hào)“A”、“B”和“C”的第二固定鍵12,這導(dǎo)致在區(qū)域24中緊接著先前選擇的“H”顯示數(shù)字“2”,并且在軟鍵14上顯示字母“A”、“B”和“C”。用戶此時(shí)可以按下輸入鍵20以輸入字符串“H2”?;蛘?,如圖2D所示,選擇和啟動(dòng)對(duì)應(yīng)于字母“A”的第二鍵14從這個(gè)第二組字母數(shù)字字符中選擇“A”,并且導(dǎo)致在顯示區(qū)域22中用字母“A”替換數(shù)字“2”,這樣在區(qū)域24中顯示“HA”。用戶可以輸入字符串“HA”或者繼續(xù)選擇性地啟動(dòng)第一鍵12和第二鍵14以增加字符串的長(zhǎng)度。
在圖2E中,用戶選擇和啟動(dòng)與主字母數(shù)字符號(hào)“9”以及輔助字母數(shù)字符號(hào)組“W”、“X”、“Y”和“Z”有關(guān)的第一鍵12,這導(dǎo)致顯示數(shù)字“9”以便在顯示區(qū)域24中顯示“HA9”,同時(shí)導(dǎo)致在第二鍵14中顯示字母“W”、“X”、“Y”和“Z”。用戶可以輸入字符串“HA9”,或者繼續(xù)選擇附加的字符。如圖2F所示,選擇和啟動(dòng)對(duì)應(yīng)于“W”的第二鍵14導(dǎo)致用所選擇的字符“W”替換顯示的“9”,這樣區(qū)域24顯示字母數(shù)字字符“HAW”。
圖2G顯示了選擇性啟動(dòng)對(duì)應(yīng)于主字母數(shù)字字符“5”和一個(gè)第四組字母數(shù)字字符“J”、“K”和“L”的第四固定鍵12,以便在區(qū)域24中顯示“HAW5”。用戶可以輸入字符串“HAW5”或者通過(guò)按壓額外的鍵改變或者延長(zhǎng)該字符串。例如,選擇啟動(dòng)對(duì)應(yīng)于“K”的第二鍵14,在區(qū)域24中用“K”替換“5”,以便如圖2H所示,顯示期望的字母數(shù)字字符串“HAWK”。此時(shí),用戶可以啟動(dòng)“輸入”鍵20以輸入所選擇的字母數(shù)字字符串“HAWK”用于如下面進(jìn)一步描述的數(shù)據(jù)處理。或者,用戶可以通過(guò)以如上所述的方式選擇和啟動(dòng)適當(dāng)?shù)牡谝弧⒐潭ㄦI12和第二、軟鍵14,繼續(xù)輸入額外的字母數(shù)字字符。如果已經(jīng)選擇和顯示了一個(gè)不正確的字母數(shù)字符號(hào),用戶可以按下“刪除”鍵18,以從顯示區(qū)24中“回退”和刪除不需要的字符,然后通過(guò)啟動(dòng)適當(dāng)鍵選擇正確的字母數(shù)字字符。
通過(guò)僅僅啟動(dòng)第一鍵,而不用顯示了輔助字母符號(hào)的軟鍵就可以實(shí)現(xiàn)純粹數(shù)字符號(hào)字符串的輸入。例如,可以通過(guò)順序地啟動(dòng)具有適當(dāng)?shù)摹?”、“2”、“3”和“4”主字母數(shù)字符號(hào)在其上的第一鍵12,而不用啟動(dòng)任何第二鍵14,可以輸入數(shù)字符號(hào)字符串“1234”。在其它實(shí)例中,一個(gè)期望的字符串可能需要連續(xù)地啟動(dòng)各個(gè)第二鍵14而不用任何介于其間的第一鍵12啟動(dòng)。因此,例如,可以通過(guò)啟動(dòng)具有“3”在其上的第一鍵以在第二鍵14上顯示字符“D”、“E”和“F”,繼之以連續(xù)地啟動(dòng)適當(dāng)?shù)牡诙I14以輸入“FEED”,來(lái)輸入字符串“FEED”。
小鍵盤(pán)10方便地允許輸入長(zhǎng)、復(fù)雜的混合字母和數(shù)字字符串,而不用在顯示器22上的視圖屏幕間的任何切換。也就是說(shuō),在經(jīng)由小鍵盤(pán)10的數(shù)據(jù)輸入期間,第一鍵12在顯示器22上保持外表不變,而視覺(jué)變化僅僅出現(xiàn)在顯示在第二鍵14上的字母數(shù)字字符中以及顯示區(qū)域24中。因此,小鍵盤(pán)10的用戶能夠輸入任何字母數(shù)字字符16,同時(shí)讓第一鍵12和第二鍵14保持在視圖中。
在如圖1和圖2所示的實(shí)施例中,小鍵盤(pán)10的十二個(gè)第一鍵12和四個(gè)第二鍵14允許高達(dá)四個(gè)輔助字母數(shù)字字符與每個(gè)第一鍵12相關(guān)聯(lián)并且同時(shí)顯示在第二鍵14上。小鍵盤(pán)10類(lèi)似于傳統(tǒng)的電話字母數(shù)字小鍵盤(pán)而且小鍵盤(pán)的使用很直觀,因此小鍵盤(pán)的新用戶利用最少的指導(dǎo)就能夠理解它的操作。在這個(gè)實(shí)施例中,啟動(dòng)一個(gè)第一鍵12導(dǎo)致在區(qū)域24中直接顯示相關(guān)的數(shù)字符號(hào),同時(shí)在軟鍵14上顯示非數(shù)字的、字母符號(hào)。啟動(dòng)第二鍵14提供了對(duì)非數(shù)字、字母字符的快速存取而不需要切換顯示屏幕的圖像。在其它實(shí)施例中,啟動(dòng)第一鍵12可以導(dǎo)致在軟鍵14上顯示所有相關(guān)的字母數(shù)字字符15、16,且沒(méi)有在區(qū)域24中出現(xiàn)字符顯示,直到按壓一個(gè)第二鍵14為止。圖1和圖2中的實(shí)施例把每個(gè)第一鍵12都顯示為包含主和輔助字母數(shù)字符號(hào)15,16。然而,在其它實(shí)施例中,某些第一鍵12可以僅僅包含主字母數(shù)字符號(hào)15,而不包含輔助字母數(shù)字符號(hào)。通常至少有一個(gè)第一鍵12將包含主和輔助字母數(shù)字符號(hào)15、16,然而在許多實(shí)施例中,多個(gè)第一鍵12包含如圖1和圖2所示的主和輔助字母數(shù)字符號(hào)15、16。
依據(jù)本公開(kāi)的評(píng)論將給那些本領(lǐng)域的技術(shù)人員提供小鍵盤(pán)10的多種變化的建議,這些變化認(rèn)為是在本公開(kāi)范圍之內(nèi)的。具有不同數(shù)量和布局的第一鍵12和軟鍵14的小鍵盤(pán)可以用來(lái)允許有選擇地輸入對(duì)應(yīng)于多個(gè)不同的字母表及/或書(shū)寫(xiě)系統(tǒng)的字母數(shù)字字符。例如,依據(jù)本發(fā)明的一個(gè)小鍵盤(pán)可用于允許多個(gè)平假名、片假名及/或漢字字符與單個(gè)第一鍵相關(guān)聯(lián),而且這些字符依據(jù)適當(dāng)?shù)陌磯旱谝绘I可以被有選擇地顯示在軟鍵上。
現(xiàn)在參考圖3,本發(fā)明中的小鍵盤(pán)10與一個(gè)數(shù)據(jù)處理設(shè)備26相關(guān)聯(lián)使用。數(shù)據(jù)處理設(shè)備26可以包含一個(gè)諸如個(gè)人數(shù)字助理或者“PDA”的手持計(jì)算機(jī)。在其它實(shí)施例中,數(shù)據(jù)處理設(shè)備可以包含小型計(jì)算機(jī)、微型計(jì)算機(jī)、諸如基于INTEL的處理計(jì)算機(jī)或其兼容PC機(jī)、APPLE計(jì)算機(jī)或其兼容機(jī)、SUN工作站、或者其他類(lèi)似的計(jì)算機(jī)。在設(shè)備26中,小鍵盤(pán)10可操作地經(jīng)由模-數(shù)轉(zhuǎn)換器或者ADC(沒(méi)有示出)與一個(gè)中央處理單元或者CPU 28相連。
CPU 28可操作地經(jīng)由一個(gè)地址和數(shù)據(jù)總線30以及一個(gè)控制/狀態(tài)信號(hào)接口32與設(shè)備26的各個(gè)硬件部件相連。其中這些部件包含,一個(gè)可以包含各種存儲(chǔ)單元(沒(méi)有示出)的系統(tǒng)存儲(chǔ)器34,這些存儲(chǔ)單元諸如是一個(gè)DRAM主要或者主存儲(chǔ)器、一個(gè)或多個(gè)SRAM緩沖器、以及一個(gè)或多個(gè)以ROM、PROM、EPROM、EEPROM等形式的只讀存儲(chǔ)器單元。數(shù)據(jù)處理器26還包含一個(gè)直接存儲(chǔ)器存取(DMA)控制器36、循環(huán)冗余校驗(yàn)(CRC)電路38、以及一個(gè)顯示控制器40。CPU 28執(zhí)行各個(gè)與加載到存儲(chǔ)器34中的軟件有關(guān)的程序操作。以如上所述方式由用戶經(jīng)由小鍵盤(pán)10輸入的數(shù)據(jù)由CPU 28處理并且存儲(chǔ)或者緩存到存儲(chǔ)器34中,用于在與加載到存儲(chǔ)器34中的軟件有關(guān)的程序操作中使用。如在下面進(jìn)一步描述的那樣,DMA控制器允許快速地從存儲(chǔ)器34傳輸數(shù)據(jù)到CRC電路38和顯示控制器40。顯示控制器40可以包含一個(gè)顯示控制器,該顯示控制器可操作地和如圖1和圖2所示以及如上所述的顯示器22相連、并且提供用于顯示器22的操作。顯示控制器40包含一個(gè)用于存儲(chǔ)顯示數(shù)據(jù)的存儲(chǔ)器(沒(méi)有示出)。
CPU 28、存儲(chǔ)器34、DMA控制器36、CRC電路38和顯示控制器40以一種傳統(tǒng)的方式布置在一個(gè)主板(沒(méi)有示出)上,而且在其上通過(guò)地址和數(shù)據(jù)總線30以及控制/處理接口32互連。數(shù)據(jù)處理設(shè)備26可以包含諸如硬盤(pán)驅(qū)動(dòng)器、軟盤(pán)驅(qū)動(dòng)器、NIC、CD驅(qū)動(dòng)器、及/或其它傳統(tǒng)硬件單元的各種額外部件(也沒(méi)有示出)。數(shù)據(jù)處理設(shè)備26包含一個(gè)允許經(jīng)由一個(gè)接口電纜或者連接件46連接數(shù)據(jù)處理器26到一個(gè)外部計(jì)算機(jī)44的接口適配器42。適配器42和接口46可以是一個(gè)GPIB、RS-232、PCI、USB、SCSI、ETHERNET、FIREWIRE或者其它IEEE 1394接口、或者其它通信接口系統(tǒng)的形式,用于從外部計(jì)算機(jī)44傳輸數(shù)據(jù)到設(shè)備26。
系統(tǒng)存儲(chǔ)器34通常將包含一個(gè)適于各個(gè)硬件元件操作的合適的操作系統(tǒng)和軟件,這些硬件元件可操作地經(jīng)由地址/數(shù)據(jù)總線30和控制/狀態(tài)信號(hào)接口32與存儲(chǔ)器34和CPU 28相連。存儲(chǔ)器34也包含能夠執(zhí)行依據(jù)本發(fā)明的各個(gè)操作的存儲(chǔ)程序設(shè)計(jì)或者軟件。
存儲(chǔ)器34包含這樣的程序48,該程序能夠通過(guò)執(zhí)行用一個(gè)期望的初始值種子化CRC電路38,用源和目的地址以及用于數(shù)據(jù)傳輸?shù)臄?shù)據(jù)流尺寸設(shè)置DMA控制器電路36,通過(guò)DMA控制器電路36啟動(dòng)從存儲(chǔ)器34到CRC電路38的數(shù)據(jù)傳輸,以及從CRC電路38中讀出計(jì)算的CRC值返回給存儲(chǔ)器34中的操作,通過(guò)DMA控制器36開(kāi)始從存儲(chǔ)器34到CRC電路38的數(shù)據(jù)流傳輸。
存儲(chǔ)器34另外包含能夠?qū)嵤┙?jīng)由DMA控制器36從存儲(chǔ)器34傳輸數(shù)據(jù)到顯示控制器40的程序50,其中執(zhí)行用目的地址信息設(shè)置顯示控制器40,用源和目的地址信息以及數(shù)據(jù)流尺寸信息設(shè)置DMA控制器36,以及通過(guò)DMA控制器36啟動(dòng)從存儲(chǔ)器34傳輸數(shù)據(jù)到顯示控制器40的操作。
在存儲(chǔ)器34中還包含能夠把壓縮的輸入字符串和在存儲(chǔ)器34中存儲(chǔ)的壓縮字符串列表進(jìn)行比較用于授權(quán)的軟件或者程序52,其具有用于接受字符串輸入、傳輸該輸入字符串到用于壓縮的CRC電路38、在存儲(chǔ)器34中存儲(chǔ)的壓縮ID字符串列表中搜索和該壓縮的輸入字符串的一個(gè)匹配、以及驗(yàn)證該壓縮的輸入字符串的程序操作。這些程序操作在下面進(jìn)一步進(jìn)行描述。
CRC電路38通過(guò)計(jì)算被用于在一個(gè)目的地處驗(yàn)證數(shù)據(jù)流的校驗(yàn)數(shù),為在數(shù)據(jù)處理設(shè)備各個(gè)硬件部件之間的二進(jìn)制數(shù)據(jù)傳輸中的錯(cuò)誤檢測(cè)作準(zhǔn)備。通過(guò)用一個(gè)初始值種子化一個(gè)多項(xiàng)式,然后順序地貫穿該多項(xiàng)式分成的數(shù)據(jù)流,執(zhí)行該CRC計(jì)算。在每個(gè)步驟處使用該被除數(shù)作為一個(gè)新的種子,并且讓該除法算法由CRC電路38所執(zhí)行。這種類(lèi)型的CRC電路在本技術(shù)領(lǐng)域是眾所周知的并且不需要在此進(jìn)行描述。
用一個(gè)CRC電路計(jì)算CRC值或數(shù)傳統(tǒng)上涉及由程序操作執(zhí)行的、用于貫穿數(shù)據(jù)流遞增并且寫(xiě)入字節(jié)到CRC電路中的一個(gè)軟件循環(huán)。用這樣的方式的CRC計(jì)算導(dǎo)致一個(gè)大的軟件開(kāi)銷(xiāo)并且導(dǎo)致在計(jì)算用于大數(shù)據(jù)流的檢查值期間的延遲。對(duì)于其中設(shè)備的尺寸在可用的存儲(chǔ)器和處理能力上施加了限制的手持計(jì)算設(shè)備而言,軟件開(kāi)銷(xiāo)的考慮尤其重要。
本發(fā)明通過(guò)結(jié)合CRC電路38利用DMA控制器電路36來(lái)執(zhí)行CRC計(jì)算從而克服了這個(gè)缺點(diǎn)。軟件48被用于用一個(gè)期望的初始值種子化CRC電路38、以及用在該數(shù)據(jù)流中的第一個(gè)字節(jié)的地址以及在其中進(jìn)行CRC計(jì)算的流中的字節(jié)數(shù)目來(lái)加載DMA控制器電路36。DMA控制器電路36然后自動(dòng)地傳輸字節(jié)流到CRC電路38中用于計(jì)算一個(gè)檢查值。一旦整個(gè)數(shù)據(jù)流已經(jīng)由CRC電路38處理了,則軟件用于從CRC電路38中讀取產(chǎn)生的計(jì)算檢查值來(lái)執(zhí)行用于該數(shù)據(jù)流的一個(gè)完整性檢驗(yàn)。因?yàn)檐浖?8僅僅在與配置CRC電路38和DMA控制器電路36、通過(guò)DMA控制器電路36啟動(dòng)數(shù)據(jù)傳輸、以及讀出該檢查值有關(guān)時(shí)被使用,所以計(jì)算檢查值所需要的整個(gè)軟件開(kāi)銷(xiāo)會(huì)很小。使用上述過(guò)程的CRC計(jì)算所需要的時(shí)間能夠比通過(guò)僅僅經(jīng)由軟件傳輸數(shù)據(jù)到CRC電路38可達(dá)到的時(shí)間要小一個(gè)數(shù)量級(jí)。
通過(guò)參考圖4,以及圖3,依據(jù)本發(fā)明使用DMA控制器電路36以及CRC電路38計(jì)算檢查值將得到更完全地理解。在事件100處,開(kāi)始或者啟動(dòng)加載到存儲(chǔ)器34中的軟件48,該軟件48包含用于執(zhí)行與種子化CRC電路38、設(shè)置DMA控制器電路36、通過(guò)DMA控制器電路36啟動(dòng)到CRC電路38的數(shù)據(jù)傳輸、以及從CRC電路38中讀出計(jì)算的CRC值有關(guān)的操作的程序。
在事件110處,用一個(gè)期望的初始值種子化CRC電路38,用于要計(jì)算CRC值的數(shù)據(jù)流。該初始值將根據(jù)數(shù)據(jù)流的大小和CRC值以及在數(shù)據(jù)流完整性中所需要的置信度而變化。該數(shù)據(jù)流可以包含,例如,與由用戶在鍵盤(pán)10上輸入的一串字母數(shù)字字符有關(guān)的數(shù)據(jù)、保存在存儲(chǔ)器34中的關(guān)鍵性數(shù)據(jù)、被傳輸?shù)酵獠坑?jì)算機(jī)44中或者從外部計(jì)算機(jī)44中傳輸?shù)臄?shù)據(jù)流、或者任何與存儲(chǔ)器34有關(guān)的可執(zhí)行代碼。
在事件120處,為從存儲(chǔ)器34傳輸一個(gè)數(shù)據(jù)流到CRC電路38,設(shè)置DMA控制器36。這個(gè)設(shè)置通常將包含向DMA控制器36提供用于該數(shù)據(jù)傳輸?shù)脑吹刂泛湍康牡刂罚约霸谠摂?shù)據(jù)傳輸中涉及的字節(jié)數(shù)目。
在事件130處,由DMA控制器36啟動(dòng)或者開(kāi)始該數(shù)據(jù)流的傳輸,而且該數(shù)據(jù)流的第一個(gè)字節(jié)由DMA控制器36傳輸?shù)紺RC電路。DMA控制器36可以臨時(shí)地“占有”地址和數(shù)據(jù)傳輸總線30以創(chuàng)建一個(gè)用于快速傳輸數(shù)據(jù)流到CRC電路38的DMA通道。
在事件140處,DMA控制器36依據(jù)在事件120中向DMA控制器36提供的設(shè)置信息,繼續(xù)經(jīng)由地址和數(shù)據(jù)總線30發(fā)送數(shù)據(jù)流中的字節(jié)到CRC電路38。
在事件150處,DMA控制器36進(jìn)行一個(gè)關(guān)于在該數(shù)據(jù)流中的所有字節(jié)是否已經(jīng)被傳輸?shù)紺RC電路38的查詢。這個(gè)查詢定期在每個(gè)字節(jié)傳輸之后進(jìn)行。如從來(lái)自事件120的設(shè)置信息中的數(shù)據(jù)流尺寸中確定的那樣,如果還沒(méi)有發(fā)送在數(shù)據(jù)流中的所有字節(jié),則重復(fù)事件140。如果在該數(shù)據(jù)流中的所有字節(jié)都已經(jīng)被傳輸了,則執(zhí)行事件160。
在事件160處,由CRC電路38使用一種除法算法為該數(shù)據(jù)流計(jì)算一個(gè)CRC值或者校驗(yàn)數(shù)。
在事件170處,從CRC控制器電路38中讀取計(jì)算的CRC值到存儲(chǔ)器34中,用于在該數(shù)據(jù)流的完整性檢驗(yàn)中使用。在事件180處,完成檢查值計(jì)算。
本發(fā)明還使用DMA控制器36用于快速傳輸數(shù)據(jù)流到顯示控制器40,以便減小軟件開(kāi)銷(xiāo)和加速數(shù)據(jù)顯示?,F(xiàn)有技術(shù)的數(shù)據(jù)處理系統(tǒng)一般使用程序來(lái)執(zhí)行一個(gè)逐個(gè)字節(jié)遞增數(shù)據(jù)的循環(huán),用于輸出到一個(gè)顯示控制器,該軟件循環(huán)的開(kāi)銷(xiāo)隨著寫(xiě)入顯示驅(qū)動(dòng)器中的每個(gè)字節(jié)而增加。本發(fā)明通過(guò)執(zhí)行經(jīng)由DMA控制器36從存儲(chǔ)器34到顯示控制器40的直接數(shù)據(jù)傳輸、僅僅在設(shè)置或者配置DMA控制器36和顯示控制器40中使用程序、以及通過(guò)DMA控制器36啟動(dòng)數(shù)據(jù)傳輸來(lái)克服這個(gè)不足之處。通過(guò)消除在從存儲(chǔ)器傳輸字節(jié)到顯示控制器40中涉及的軟件開(kāi)銷(xiāo),來(lái)快速地執(zhí)行這種傳輸,而且信息(文字及/或圖形)的顯示需要鉸少的時(shí)間,這些都可以通過(guò)顯示器22的用戶視圖得到理解。用這樣的方式使用DMA控制器36來(lái)驅(qū)動(dòng)顯示控制器40比傳統(tǒng)的使用一個(gè)軟件循環(huán)來(lái)寫(xiě)入像素?cái)?shù)據(jù)字節(jié)到顯示控制器的方式能夠節(jié)省多達(dá)80%或更多的時(shí)間。
通過(guò)參考圖5、以及圖3,依據(jù)本發(fā)明使用DMA控制器36的數(shù)據(jù)顯示將得到更充分的理解。在事件200處,開(kāi)始或者啟動(dòng)加載到存儲(chǔ)器34中的軟件50,該軟件包含用于執(zhí)行與設(shè)置顯示控制器40、設(shè)置DMA控制器36、以及通過(guò)DMA控制器36啟動(dòng)傳輸數(shù)據(jù)到顯示控制器40有關(guān)的操作的程序。
在事件210處,通過(guò)向顯示控制器40提供一個(gè)“寫(xiě)”命令以及用于要被傳輸?shù)斤@示控制器40的數(shù)據(jù)流的顯示目的地址(在顯示控制器40的存儲(chǔ)器中),來(lái)設(shè)置顯示控制器40。該數(shù)據(jù)流可以包含任何可顯示的數(shù)據(jù),諸如例如,與用于顯示圖標(biāo)或者其它特征的存儲(chǔ)程序設(shè)計(jì)有關(guān)的圖形用戶界面(GUI)數(shù)據(jù)、與由用戶在鍵盤(pán)10上輸入的一個(gè)字符或者字母數(shù)字字符串有關(guān)的數(shù)據(jù)、或者其它保存在存儲(chǔ)器34中的數(shù)據(jù)。
在事件220中設(shè)置DMA控制器36用于從存儲(chǔ)器34傳輸一個(gè)數(shù)據(jù)流到顯示控制器40。這個(gè)設(shè)置包含向DMA控制器36提供用于該數(shù)據(jù)傳輸?shù)拇鎯?chǔ)器源地址和顯示目的地址,以及在該數(shù)據(jù)傳輸中涉及的字節(jié)數(shù)目。
在事件230處,由DMA控制器36啟動(dòng)或者開(kāi)始該數(shù)據(jù)流的傳輸,而且該數(shù)據(jù)流的第一個(gè)字節(jié)由DMA控制器36傳輸?shù)斤@示控制器40。DMA控制器36可以如上所述臨時(shí)地“占有”地址和數(shù)據(jù)傳輸總線30以創(chuàng)建一個(gè)用于快速傳輸數(shù)據(jù)流到顯示控制器40的DMA通道。
在事件240處,通過(guò)經(jīng)由地址和數(shù)據(jù)總線30發(fā)送該數(shù)據(jù)流中的下一個(gè)字節(jié)到顯示控制器40,DMA控制器36繼續(xù)數(shù)據(jù)傳輸。
在事件250處,DMA控制器36依據(jù)在事件220中提供給DMA控制器36的設(shè)置信息,進(jìn)行一個(gè)關(guān)于是否在該數(shù)據(jù)流中的所有字節(jié)都已經(jīng)被傳輸?shù)斤@示控制器40的查詢。這個(gè)查詢定期在每個(gè)字節(jié)傳輸之后進(jìn)行。如從來(lái)自事件220的設(shè)置信息中的數(shù)據(jù)流尺寸中確定的那樣,如果還沒(méi)有把在數(shù)據(jù)流中的所有字節(jié)發(fā)送給顯示控制器40,則重復(fù)事件240。如果在該數(shù)據(jù)流中的所有字節(jié)都已經(jīng)被傳輸了,則在事件260處完成該處理過(guò)程。
本發(fā)明還通過(guò)減少為驗(yàn)證用戶標(biāo)識(shí)(ID)字符串所需的時(shí)間和存儲(chǔ)器需求來(lái)為增加在數(shù)據(jù)處理設(shè)備中的效率作準(zhǔn)備。手持?jǐn)?shù)據(jù)處理器設(shè)備一般不具有充足的存儲(chǔ)器來(lái)存儲(chǔ)一個(gè)未壓縮的ID字符串。在這點(diǎn)上,本發(fā)明通過(guò)為每個(gè)授權(quán)的ID字符串創(chuàng)建CRC或者檢查值,來(lái)為用戶ID字符串的壓縮作準(zhǔn)備。
用于授權(quán)的字符串的CRC值是被排序并且被保存在一個(gè)外部計(jì)算機(jī)44的存儲(chǔ)器的列表或者查找表中。外部計(jì)算機(jī)44可以包含,例如,小型計(jì)算機(jī)、微型計(jì)算機(jī)、UNLX計(jì)算機(jī)、大型機(jī)、諸如基于INTEL處理計(jì)算機(jī)的個(gè)人計(jì)算機(jī)(PC)或其兼容機(jī)、APPLE計(jì)算機(jī)或其兼容機(jī)、或者SUN工作站、或者其它具有諸如主板、中央處理單元(CPU)、隨機(jī)存取存儲(chǔ)器(RAM)、硬盤(pán)驅(qū)動(dòng)器、顯示適配器、其它存儲(chǔ)介質(zhì)、監(jiān)視器、鍵盤(pán)、鼠標(biāo)、及其它用戶接口裝置、網(wǎng)絡(luò)接口卡(NIC)、軟盤(pán)驅(qū)動(dòng)器、CD驅(qū)動(dòng)器、及/或其它傳統(tǒng)的輸入/輸出設(shè)備的傳統(tǒng)硬件部件的適當(dāng)計(jì)算機(jī)。
外部計(jì)算機(jī)44已經(jīng)在它的RAM中加載一個(gè)諸如UNIX、WINDOWS98、WINDOWSME、等等的操作系統(tǒng)。雖然具有一個(gè)適于存儲(chǔ)一個(gè)未壓縮ID字符串列表的大存儲(chǔ)器部件,外部計(jì)算機(jī)48可以具有一個(gè)類(lèi)似于圖3所示、用于數(shù)據(jù)處理器26的體系結(jié)構(gòu)和硬件部件。能夠?yàn)槎鄠€(gè)ID字符串計(jì)算CRC值、排序該CRC值、以及存儲(chǔ)一個(gè)CRC值列表的程序54被加載到外部計(jì)算機(jī)44的存儲(chǔ)器中。該排序、存儲(chǔ)的CRC值然后經(jīng)由接口46被傳輸或者下載到數(shù)據(jù)處理器26并且被保存在存儲(chǔ)器34中用于授權(quán)數(shù)據(jù)處理器26的用戶。
當(dāng)從小鍵盤(pán)10鍵入或者輸入的ID字符串必須和用于授權(quán)字符串的、存儲(chǔ)的CRC值列表進(jìn)行比較時(shí),通過(guò)由加載到存儲(chǔ)器34中的程序?yàn)榇擞?jì)算一個(gè)CRC值來(lái)壓縮該用戶輸入的ID字符串,并且為那個(gè)計(jì)算的CRC值在存儲(chǔ)的授權(quán)CRC值列表中執(zhí)行一個(gè)折半查找。如果在存儲(chǔ)器34中的授權(quán)CRC值列表中找到該輸入ID字符串的CRC值,則該輸入的ID字符串被驗(yàn)證。如果沒(méi)有在該列表中找到該輸入ID字符串的CRC值,則該輸入的ID字符串是未授權(quán)的。
能夠使用不同尺寸的CRC值來(lái)提供在授權(quán)中不同的可信度。例如,32位CRC值的使用將導(dǎo)致在4294967296次機(jī)會(huì)中僅有一次無(wú)效輸入的字符串將被驗(yàn)證或者授權(quán)的機(jī)會(huì)。16位CRC值的使用在65536個(gè)機(jī)會(huì)中提供一次機(jī)會(huì)或者一次輸入字符串的不正確驗(yàn)證,而且8位CRC值將導(dǎo)致在256次機(jī)會(huì)中有一次驗(yàn)證一個(gè)無(wú)效字符串的機(jī)會(huì)。使用的CRC值尺寸可以依據(jù)所需要的安全等級(jí)變化。
使用字符串的CRC值用于驗(yàn)證輸入字符串的CRC值和使用整個(gè)字符串用于驗(yàn)證相比,提供了某些重要的優(yōu)點(diǎn)。因此相當(dāng)大地減小了存儲(chǔ)一個(gè)授權(quán)字符串列表或者表所需要的、在存儲(chǔ)器34中的空間數(shù)量。例如,存儲(chǔ)4000個(gè)每個(gè)具有高達(dá)18個(gè)字符的授權(quán)ID字符串需要大約72000字節(jié)的RAM空間用于未壓縮的字符串,這超出了用于典型手持?jǐn)?shù)據(jù)處理器的存儲(chǔ)能力。然而依據(jù)本發(fā)明把這4000個(gè)ID字符串壓縮為32位CRC值,需要16000個(gè)字節(jié)的存儲(chǔ)空間用于存儲(chǔ)整個(gè)列表。如上所述用于這些存儲(chǔ)、壓縮的ID字符串的可信度是非常高的,在4294967296次機(jī)會(huì)中僅有一次錯(cuò)誤驗(yàn)證的機(jī)會(huì)。
把授權(quán)的ID字符串壓縮到CRC值中還減少了從一個(gè)計(jì)算機(jī)傳輸一個(gè)授權(quán)字符串列表到另一個(gè)計(jì)算機(jī)所需要的時(shí)間量。在手持?jǐn)?shù)據(jù)處理器的情況下,授權(quán)ID字符串列表常常從另一個(gè)計(jì)算機(jī)被下載到該手持?jǐn)?shù)據(jù)處理器。以一個(gè)經(jīng)由傳統(tǒng)RS-232鏈接、9600波特?cái)?shù)據(jù)傳送率的速度,在計(jì)算機(jī)之間傳輸一個(gè)4000個(gè)18字節(jié)ID字符串的列表需要大約72秒。當(dāng)4000個(gè)ID字符串被壓縮為4000個(gè)32位CRC值時(shí),以9600波特率,數(shù)據(jù)傳輸僅僅需要大約16秒。
通過(guò)參考圖6A和圖6B、以及圖3,以CRC值形式的壓縮ID字符串的使用將得到更充分的理解。圖6A說(shuō)明了依據(jù)本發(fā)明、在一個(gè)外部計(jì)算機(jī)44中一個(gè)壓縮ID字符串的存儲(chǔ)列表的創(chuàng)建。也就是說(shuō),與駐留在一個(gè)具有足夠存儲(chǔ)未壓縮用戶ID字符串的實(shí)際列表的存儲(chǔ)器的分離的、外部計(jì)算機(jī)44上的程序54相關(guān)聯(lián)地執(zhí)行圖6A中的事件。圖6B中的事件顯示了使用在數(shù)據(jù)處理器26中的壓縮ID字符串列表用于驗(yàn)證一個(gè)用戶輸入的ID字符串。用于標(biāo)識(shí)或者驗(yàn)證目的的壓縮數(shù)據(jù)字符串的使用還在授予發(fā)明者David Hohl等人、代理人概要號(hào)為L(zhǎng)IFE 060的、與此專(zhuān)利一起提出的美國(guó)專(zhuān)利申請(qǐng)____中進(jìn)行了說(shuō)明,在此插入此公開(kāi)內(nèi)容作為參考。
在圖6A的事件300處,啟動(dòng)或者開(kāi)始在外部計(jì)算機(jī)44中的程序54來(lái)創(chuàng)建一個(gè)壓縮的、授權(quán)的標(biāo)識(shí)或者ID字符串列表。這個(gè)程序執(zhí)行與獲取授權(quán)的ID字符串、通過(guò)為此計(jì)算CRC值壓縮該ID字符串、以及排序和存儲(chǔ)一個(gè)壓縮的ID字符串列表有關(guān)的操作。
在事件310處,從外部計(jì)算機(jī)44的存儲(chǔ)器中獲得第一個(gè)ID字符串,以及在事件320中,通過(guò)為該字符串計(jì)算一個(gè)CC值壓縮該ID字符串。這個(gè)壓縮事件可以由傳統(tǒng)的軟件技術(shù)來(lái)實(shí)現(xiàn),因?yàn)橥獠坑?jì)算機(jī)44通常將具有足夠的存儲(chǔ)器和處理能力用于一個(gè)全軟件的壓縮操作。做為選擇,可以利用一個(gè)CRC電路連同一個(gè)用于執(zhí)行除法算法的軟件循環(huán)來(lái)執(zhí)行壓縮。同時(shí)可以考慮到外部計(jì)算機(jī)44可以以數(shù)據(jù)處理器26的方式進(jìn)行配置,其中與每個(gè)字符串有關(guān)的數(shù)據(jù)以如圖4所示以及如上所述的方式經(jīng)由DMA電路從存儲(chǔ)器直接傳輸?shù)紺RC電路,以在壓縮中涉及最少的軟件方面。在事件320中獲得的、壓縮的CRC值被保存在外部計(jì)算機(jī)存儲(chǔ)器中的一個(gè)壓縮的字符串列表中。
在事件330處,由在外部計(jì)算機(jī)中的程序進(jìn)行一個(gè)關(guān)于要被壓縮的最后一個(gè)字符串是否已經(jīng)從外部計(jì)算機(jī)的存儲(chǔ)器中檢索了的查詢。如果要被壓縮的最后字符串還沒(méi)有被接收和壓縮,則執(zhí)行事件340。如果已經(jīng)從存儲(chǔ)器中接收了該最后一個(gè)字符串并且已經(jīng)壓縮了,則執(zhí)行事件350。
事件340為從存儲(chǔ)器中檢索下一個(gè)未壓縮的ID字符串作準(zhǔn)備,在其之后重復(fù)事件320以通過(guò)為此計(jì)算一個(gè)CRC值來(lái)壓縮該字符串。在壓縮了最后一個(gè)的ID字符串之后,在事件350處排序現(xiàn)在以一個(gè)相應(yīng)的CRC值列表形式的、壓縮的ID字符串列表。在事件360中,排序的列表被保存在用于圖6A中的壓縮過(guò)程的外部計(jì)算機(jī)的存儲(chǔ)器中。
在事件370處,存儲(chǔ)的CRC值列表被下載或者傳輸?shù)绞殖謹(jǐn)?shù)據(jù)處理器26,用于在如圖6B所示的用戶授權(quán)中使用。可以通過(guò)經(jīng)由GPIB、RS-232、PCI、USB、SCSI、ETHERNET、FIREWIRE/IEEE 1394、或者其它類(lèi)型的通信接口從外部計(jì)算機(jī)44到數(shù)據(jù)處理器26的數(shù)據(jù)傳輸,執(zhí)行該存儲(chǔ)的壓縮ID字符串列表的傳輸。該CRC值列表被保存在系統(tǒng)存儲(chǔ)器34中。在事件380處,完成該ID字符串列表壓縮操作。必須注意到,在某些實(shí)施例中,如果存儲(chǔ)器34具有足夠的能力的話,事件300到370可以在數(shù)據(jù)處理器26上執(zhí)行。在這樣的情況下,可以省略在事件370中下載或者傳輸完整的壓縮ID字符串列表。
現(xiàn)在參考圖6B,在事件400處,啟動(dòng)在存儲(chǔ)器34中的程序用于把用戶輸入的ID字符串與如上所述準(zhǔn)備的壓縮ID字符串存儲(chǔ)列表進(jìn)行比較。這個(gè)程序執(zhí)行與把對(duì)應(yīng)于輸入的ID字符串的數(shù)據(jù)流從存儲(chǔ)器34傳輸?shù)紺RC電路38用于壓縮、在壓縮的ID字符串列表中搜索與該壓縮的輸入ID字符串的一個(gè)匹配、以及為該壓縮的輸入ID字符串進(jìn)行一個(gè)驗(yàn)證決定有關(guān)的操作。在某些實(shí)施例中,事件400可以由如下所述的事410觸發(fā)。
同樣參考圖1和圖2,在事件410處,用戶通過(guò)以如上所述的方式在小鍵盤(pán)10上的適當(dāng)?shù)谝绘I12和第二鍵14的有選擇性動(dòng)作,輸入一個(gè)對(duì)應(yīng)于用戶ID字符串的字母數(shù)字字符串。
在事件420處,由用戶輸入的輸入ID字符串被轉(zhuǎn)變?yōu)橐砸粋€(gè)相應(yīng)CRC值形式的、壓縮的輸入ID字符串。事件420包含如上參考圖4所述的事件110到170。也就是說(shuō),用一個(gè)期望的初始值種子化CRC電路38,為從存儲(chǔ)器34傳輸對(duì)應(yīng)于事件410中的輸入ID字符串的數(shù)據(jù)流到CR電路38而設(shè)置DMA控制器36,由CRC電路38計(jì)算用于該輸入ID字符串的CRC值,以及從CRC電路38讀取為該輸入ID字符串計(jì)算的CRC值返回給存儲(chǔ)器34。
在事件430處,為與在事件420中計(jì)算的、用于輸入ID字符串的CRC值相匹配,搜索在如上所述的310-360中創(chuàng)建的、在RAM 34中用于授權(quán)ID字符串的CRC值列表。用于輸入ID字符串的CRC值與在該列表中的各個(gè)存儲(chǔ)的CRC值相比,直到發(fā)現(xiàn)一個(gè)匹配為止。
在事件440處,進(jìn)行一個(gè)關(guān)于是否已經(jīng)找到一個(gè)匹配,即用于輸入ID字符串的CRC值是否在用于授權(quán)字符串的存儲(chǔ)CRC值列表中找到的查詢。如果在該列表中找到用于輸入ID字符串的CRC值,則執(zhí)行事件450。如果沒(méi)有在該列表中找到用于輸入ID字符串的CRC值,則執(zhí)行事件460??梢詾樵谳斎隝D字符串的CRC值和各個(gè)存儲(chǔ)的、用于授權(quán)字符串的CRC值之間的每次比較執(zhí)行事件440,以便能夠依據(jù)一個(gè)匹配的檢測(cè)并且在搜索整個(gè)列表之前發(fā)生事件440中的確定。
在事件450處,依據(jù)在用于輸入ID字符串的CRC值和用于授權(quán)的ID字符串的一個(gè)存儲(chǔ)CRC值之間的一個(gè)匹配,在事件410中輸入的輸入用戶ID字符串被授權(quán)。在事件450之后,在事件470處完成該用戶ID字符串的驗(yàn)證??梢园l(fā)生與用戶ID字符串驗(yàn)證有關(guān)的額外事件(沒(méi)有示出),諸如與向用戶提供對(duì)存儲(chǔ)的安全信息訪問(wèn)有關(guān)的程序操作。
在事件460處,在事件410中輸入的用戶ID字符串沒(méi)有被授權(quán)。沒(méi)有執(zhí)行,如在事件450中提供的那樣,可以與用戶ID字符串的授權(quán)一起發(fā)生的任何后續(xù)事件,并且發(fā)生事件470。在某些實(shí)施例中,可以由用戶重復(fù)事件410以允許重新輸入一個(gè)ID字符串,再次繼之以事件420-440以確定該重新輸入的用戶ID字符串的有效性。
雖然已經(jīng)參考它的特定實(shí)施例描述了本發(fā)明,應(yīng)當(dāng)理解那些本領(lǐng)域的技術(shù)人員可以進(jìn)行各種變化和等效替換而不背離本發(fā)明的真實(shí)精神和范圍。此外,可以進(jìn)行許多修改以使一個(gè)特定場(chǎng)合、資料、以及事情、過(guò)程、處理過(guò)程的一個(gè)或者多個(gè)步驟的組合適應(yīng)本發(fā)明的目的、精神和范圍。所有這樣的修改都被確定為在后附權(quán)利要求書(shū)的范圍之內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)處理裝置,包含(a)一個(gè)存儲(chǔ)器;(b)一個(gè)可操作地與所述存儲(chǔ)器相連的直接存儲(chǔ)器存取控制器;以及(c)一個(gè)可操作地與所述直接存儲(chǔ)器存取控制器相連的顯示控制器;(d)所述直接存儲(chǔ)器存取控制器被配置為從所述存儲(chǔ)器傳輸一個(gè)數(shù)據(jù)流到所述顯示控制器。
2.如權(quán)利要求1所述的裝置,進(jìn)一步包含被配置為用一個(gè)用于所述數(shù)據(jù)流的顯示地址設(shè)置所述顯示控制器的存儲(chǔ)程序設(shè)計(jì)。
3.如權(quán)利要求1或者2所述的裝置,進(jìn)一步包含被配置為用一個(gè)用于所述數(shù)據(jù)流的源地址、用于所述數(shù)據(jù)流的目的地址、以及用于所述數(shù)據(jù)流的尺寸設(shè)置所述直接存儲(chǔ)器存取控制器的存儲(chǔ)程序設(shè)計(jì)。
4.如權(quán)利要求1或者2或者3所述的裝置,進(jìn)一步包含被配置為由所述直接存儲(chǔ)器存取控制器啟動(dòng)傳輸所述數(shù)據(jù)流到所述顯示控制器的存儲(chǔ)程序設(shè)計(jì)。
5.如權(quán)利要求1所述的裝置,進(jìn)一步包含(a)一個(gè)可操作地與所述直接存儲(chǔ)器存取控制器相連的循環(huán)冗余校驗(yàn)電路;(b)所述直接存儲(chǔ)器存取控制器被配置為從所述存儲(chǔ)器傳輸一個(gè)檢查數(shù)據(jù)流到所述循環(huán)冗余校驗(yàn)電路;以及(e)所述循環(huán)冗余校驗(yàn)電路被配置為為所述檢查數(shù)據(jù)流計(jì)算一個(gè)檢查值。
6.如權(quán)利要求5所述的裝置,進(jìn)一步包含被配置為用一個(gè)選擇的初始值種子化所述循環(huán)冗余校驗(yàn)電路的存儲(chǔ)程序設(shè)計(jì);
7.如權(quán)利要求6所述的裝置,進(jìn)一步包含被配置為用一個(gè)用于所述檢查數(shù)據(jù)流的源地址、用于所述檢查數(shù)據(jù)流的目的地址、以及用于所述檢查數(shù)據(jù)流的尺寸設(shè)置所述直接存儲(chǔ)器存取控制器的存儲(chǔ)程序設(shè)計(jì)。
8.如權(quán)利要求7所述的裝置,進(jìn)一步包含被配置為由所述直接存儲(chǔ)器存取控制器啟動(dòng)從所述存儲(chǔ)器傳輸所述檢查數(shù)據(jù)流到所述循環(huán)冗余校驗(yàn)電路的存儲(chǔ)程序設(shè)計(jì)。
9.如權(quán)利要求7或者8所述的裝置,進(jìn)一步包含被配置為從所述循環(huán)冗余校驗(yàn)電路中讀取所述計(jì)算的循環(huán)冗余校驗(yàn)值以及在所述存儲(chǔ)器中存儲(chǔ)所述計(jì)算的循環(huán)冗余校驗(yàn)值的存儲(chǔ)程序設(shè)計(jì)。
10.一種用于處理數(shù)據(jù)的方法,包含使用一個(gè)直接存儲(chǔ)器存取控制器從一個(gè)存儲(chǔ)器中傳輸一個(gè)數(shù)據(jù)流到一個(gè)顯示控制器,其特征在于所述傳輸包含用用于所述數(shù)據(jù)流的一個(gè)顯示地址設(shè)置所述顯示控制器。
11.如權(quán)利要求10所述的方法,進(jìn)一步包含(a)使用所述直接存儲(chǔ)器存取控制器從所述存儲(chǔ)器傳輸一個(gè)檢查數(shù)據(jù)流到一個(gè)循環(huán)冗余校驗(yàn)電路;以及(b)由所述循環(huán)冗余校驗(yàn)電路計(jì)算一個(gè)用于所述檢查數(shù)據(jù)流的循環(huán)冗余校驗(yàn)值。
全文摘要
用于從一個(gè)存儲(chǔ)器或者存儲(chǔ)設(shè)備快速傳輸數(shù)據(jù)到一個(gè)顯示控制器的裝置和方法。該裝置包含:一個(gè)存儲(chǔ)器、一個(gè)可操作地與該存儲(chǔ)器相連的直接存儲(chǔ)器存取控制器、以及一個(gè)可操作地與該直接存儲(chǔ)器存取控制器相連并且被配置為從該存儲(chǔ)器傳輸一個(gè)數(shù)據(jù)流到該顯示控制器的顯示控制器。該裝置還可以包含:被配置為用用于該數(shù)據(jù)流的顯示地址設(shè)置該顯示控制器,用用于該數(shù)據(jù)流的源地址、用于該數(shù)據(jù)流的目的地址、以及用于該數(shù)據(jù)流的尺寸設(shè)置該直接存儲(chǔ)器存取控制器,以及由該直接存儲(chǔ)器存取控制器啟動(dòng)傳輸數(shù)據(jù)流到該顯示控制器的存儲(chǔ)程序設(shè)計(jì)。該方法包含使用一個(gè)直接存儲(chǔ)器存取控制器從存儲(chǔ)器傳輸一個(gè)數(shù)據(jù)流到一個(gè)顯示控制器。該傳輸可以包含:用用于該數(shù)據(jù)流的顯示地址設(shè)置該顯示控制器,用用于該數(shù)據(jù)流的源地址、用于該數(shù)據(jù)流的目的地址、以及用于該數(shù)據(jù)流的尺寸設(shè)置該直接存儲(chǔ)器存取控制器,以及由該直接存儲(chǔ)器存取控制器啟動(dòng)傳輸數(shù)據(jù)流到該顯示控制器。
文檔編號(hào)G09G5/00GK1423180SQ02160
公開(kāi)日2003年6月11日 申請(qǐng)日期2002年11月8日 優(yōu)先權(quán)日2001年11月9日
發(fā)明者D·霍爾 申請(qǐng)人:生命掃描有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
大厂| 平谷区| 平安县| 北川| 子长县| 吴川市| 石柱| 义马市| 游戏| 威远县| 嘉善县| 买车| 丰镇市| 龙江县| 秦安县| 嘉义市| 墨竹工卡县| 洛隆县| 蕉岭县| 太原市| 高州市| 汽车| 深州市| 阿合奇县| 磴口县| 栾川县| 舟曲县| 庆元县| 云梦县| 徐汇区| 甘南县| 崇文区| 津南区| 岢岚县| 济阳县| 南开区| 桦川县| 兴安县| 堆龙德庆县| 上思县| 永昌县|