專(zhuān)利名稱(chēng):一種基于主機(jī)處理的電子白板系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及基于超聲定位原理的電子白板系統(tǒng),具體涉及到基于超聲定位的電子白板系 統(tǒng)的實(shí)現(xiàn)架構(gòu)/結(jié)構(gòu)和軟硬件實(shí)現(xiàn)方法。
背景技術(shù):
基于超聲波定位原理的電子白板系統(tǒng)(包括復(fù)印式電子白板和交互式電子白板)的基本 組成(如附圖l和2所示)超聲波和紅外信號(hào)發(fā)射筆、超聲波和紅外信號(hào)接收器,電子白板 軟件所在的計(jì)算機(jī),接收器與計(jì)算機(jī)之間的連接線(xiàn),以及白板。其中接收器(超聲波和紅外 信號(hào)接收器)包括兩個(gè)超聲波和紅外感應(yīng)頭/測(cè)距模塊,和定位模塊;盡管附圖1中示例的兩 個(gè)超聲波和紅外感應(yīng)頭/測(cè)距模塊是設(shè)置在白板頂部的兩個(gè)角上,并且和定位模塊是分離的, 但是本領(lǐng)域技術(shù)人員知道,兩個(gè)超聲波和紅外感應(yīng)頭/測(cè)距模塊是可以放置在一個(gè)角上,并且 和定位模塊合并在一個(gè)接收器硬件上。定位的原理是超聲波信號(hào)和紅外信號(hào)從發(fā)射筆發(fā)出, 超聲信號(hào)以聲速在空氣中的傳播,并被兩個(gè)超聲波和紅外信號(hào)紅外感應(yīng)頭/測(cè)距模塊所接收 到,紅外信號(hào)以光速?gòu)陌l(fā)射筆的位置傳播到接收器上的紅外接收二極管。相對(duì)于超聲信號(hào)的 傳播時(shí)間,紅外信號(hào)在空中的傳播時(shí)間可以忽略不計(jì),所以紅外信號(hào)相當(dāng)于筆和接收器之間 的同步信號(hào),也就是接收器從紅外信號(hào)能知道超聲波的發(fā)射時(shí)刻。所以根據(jù)紅外信號(hào)提供的 超聲波發(fā)射時(shí)刻,和兩個(gè)超聲波和紅外感應(yīng)頭/測(cè)距模塊所接收到超聲信號(hào),就能得到發(fā)射筆 到兩個(gè)超聲波和紅外感應(yīng)頭/測(cè)距模塊的距離,分別是dl和d2。再利用兩個(gè)超聲波和紅外信 號(hào)接收器之間的已知間距d3,接收器的定位模塊根據(jù)三角定位就能確定筆的精確位置?,F(xiàn)有的接收器是一種"硬接收器"。具體的實(shí)現(xiàn)方式如圖3所示接收器電路板上有一個(gè) 專(zhuān)門(mén)用來(lái)做測(cè)距和定位計(jì)算的DSP處理器,接收器向主機(jī)發(fā)送的是筆尖所在的位置坐標(biāo),接 收器硬件被主機(jī)識(shí)別成一個(gè)標(biāo)準(zhǔn)的人機(jī)交互接口 (HID — Human Interface Device)設(shè)備, 主機(jī)上的電子白板軟件主要就是處理和響應(yīng)這個(gè)HID設(shè)備發(fā)給應(yīng)用程序的各種消息。這種"硬 接收器"的系統(tǒng)架構(gòu)決定了它具有以下特點(diǎn)1. 專(zhuān)門(mén)用來(lái)做測(cè)距和定位計(jì)算的DSP處理器大大地增加了整個(gè)接收器的硬件成本;2. 接收器上有限的硬件資源(計(jì)算能力和存儲(chǔ)單元)限制了算法的實(shí)現(xiàn)復(fù)雜度。為了能 在接收器硬件上實(shí)現(xiàn)超聲定位算法,有時(shí)不得不犧牲算法的性能,對(duì)算法進(jìn)行必要的 簡(jiǎn)化。3. 因?yàn)槌暥ㄎ凰惴ㄊ枪袒诮邮掌鞯挠布娐分械模瑸榱颂岣呦到y(tǒng)定位精度,要升
或者更新硬件上的算法,是非常困難的。 一般必須扔掉舊的接收器硬件,而購(gòu)買(mǎi)全新 的接收器硬件。超聲測(cè)距和定位是一個(gè)不斷發(fā)展和完善的技術(shù)。特別是最近幾年,高精度的定位算法(時(shí) 頻,相關(guān)定位)層出不窮。但是這些新算法的共同特點(diǎn)是計(jì)算復(fù)雜度越來(lái)越大,需要的計(jì)算 量和存儲(chǔ)空間也越來(lái)越多。"硬接收器"的系統(tǒng)架構(gòu)就阻礙了先進(jìn)的定位算法在電子白板系 統(tǒng)中的應(yīng)用進(jìn)程。發(fā)明內(nèi)容為了使先進(jìn)的信號(hào)處理算法能迅速應(yīng)用到電子白板產(chǎn)品中,并且算法的升級(jí)換代又能最 大程度地利用原有的硬件資源,減小電子垃圾,本發(fā)明基于接收器必須和計(jì)算機(jī)一起工作的 這個(gè)特點(diǎn),提出了一種"軟接收器"的系統(tǒng)架構(gòu)。如圖4所示,在"軟接收器"中,原來(lái)在接收器硬件上完成的定位計(jì)算被挪到了和接收 器相連的計(jì)算機(jī)/主機(jī)上用軟件實(shí)現(xiàn),軟接收器只是把兩路超聲信號(hào)和一路紅外信號(hào)同步地以 某種數(shù)據(jù)流格式傳送給主機(jī),這樣接收器就只是一個(gè)簡(jiǎn)單的數(shù)據(jù)采集設(shè)備,不再具有任何計(jì) 算能力,在"硬接收器"中占很大一塊硬件成本的信號(hào)處理器也就不需要了,所以整個(gè)接收 器的硬件成本也就極大地降下來(lái)了,是一個(gè)真正的"瘦(thin)"接收器。隨著USB接口帶寬的不斷擴(kuò)大和USB2. 0在電腦上的普及,通過(guò)USB2. 0接口把兩路超聲 信號(hào)和一路紅外信號(hào)(帶寬為96kHz*3*16bits)從接收器實(shí)時(shí)地傳送給應(yīng)用程序已經(jīng)不存 在任何問(wèn)題。隨著半導(dǎo)體加工工藝的改進(jìn)(45nm)和CPU新架構(gòu)(超線(xiàn)程,雙核)的推出, 現(xiàn)有計(jì)算機(jī)的CPU處理能力也越來(lái)越大,完全超越了現(xiàn)有應(yīng)用程序的需求,形成了很大MIPS 富裕和浪費(fèi)。我們完全可以利用這部分被閑置的計(jì)算資源來(lái)對(duì)連接在計(jì)算機(jī)上"硬接收器" 進(jìn)行瘦身。對(duì)于"軟接收器",我們可以在原有接收器硬件的基礎(chǔ)上,通過(guò)更新主機(jī)軟件(定位算法) 來(lái)提高系統(tǒng)性能。這樣企業(yè)就可以通過(guò)軟件下載的方式升級(jí)/更新客戶(hù)的電子白板產(chǎn)品,并提 供其它的增值服務(wù),有利于提高客戶(hù)對(duì)企業(yè)的滿(mǎn)意度和忠誠(chéng)度。本發(fā)明具有如下幾方面的特征第一方面,發(fā)明了一種基于主機(jī)處理的電子白板系統(tǒng),其包括超聲波和紅外信號(hào)發(fā)射 筆,超聲波和紅外信號(hào)接收器,計(jì)算機(jī),接收器之間以及接收器與計(jì)算機(jī)之間的連接線(xiàn),白 板;其特征在于-超聲波和紅外信號(hào)接收器采集2路超聲信號(hào)和1路紅外信號(hào)、對(duì)這3路信號(hào)進(jìn)行模擬放 大,采樣/量化,緩存/同步,形成一路同步數(shù)據(jù)流,計(jì)算機(jī)/主機(jī)對(duì)接收到的同步數(shù)據(jù)流進(jìn)行
解包,恢復(fù)出2路超聲信號(hào)和1路紅外信號(hào),根據(jù)這3路原始信號(hào)來(lái)計(jì)算確定出筆尖的當(dāng)前 位置,這樣就降低接收器的硬件成本、使接收器硬件資源能得到重復(fù)利用、并能通過(guò)軟件來(lái) 更新核心算法,提高系統(tǒng)的性能。
第二方面,發(fā)明了一種基于主機(jī)處理的電子白板系統(tǒng)的實(shí)現(xiàn)方法,該系統(tǒng)包括超聲波 和紅外信號(hào)發(fā)射筆,超聲波和紅外信號(hào)接收器,計(jì)算機(jī),接收器之間以及接收器與計(jì)算機(jī)之 間的連接線(xiàn),白板;該方法包括如下步驟
超聲波和紅外信號(hào)接收器采集2路超聲信號(hào)和1路紅外信號(hào)、對(duì)這3路信號(hào)進(jìn)行模擬放 大,采樣/量化,緩存/同步,形成一路同步數(shù)據(jù)流的步驟;
數(shù)據(jù)流通過(guò)接收器和主機(jī)之間的連線(xiàn),被傳輸?shù)街鳈C(jī)接口的步驟;
計(jì)算機(jī)/主機(jī)對(duì)接收到的同步數(shù)據(jù)流進(jìn)行解包,恢復(fù)出2路超聲信號(hào)和1路紅外信號(hào),根 據(jù)這3路原始信號(hào)來(lái)計(jì)算確定出筆尖的當(dāng)前位置的步驟;
根據(jù)筆尖的位置坐標(biāo)和其他事件消息,電子白板應(yīng)用軟件做出響應(yīng)的步驟。
圖l基于超聲波和紅外定位的電子白板系統(tǒng)。
圖2接收器的系統(tǒng)示意圖。
圖3硬接收器的結(jié)構(gòu)/框圖。
圖4軟接收器的結(jié)構(gòu)/框圖。
圖5軟接收器的硬件實(shí)現(xiàn)具體框圖
圖6紅外信號(hào)的數(shù)字化方法(時(shí)間戳TS)
圖7主機(jī)軟件層次
圖8同步數(shù)據(jù)流的格式
具體實(shí)施例方式
為了降低接收器的硬件成本、重復(fù)利用接收器硬件資源、并能通過(guò)更新軟件來(lái)提高系統(tǒng) 的性能,本發(fā)明提出了一種"軟接收器"的系統(tǒng)架構(gòu)'把原來(lái)在接收器硬件上完成的超聲測(cè) 距和定位計(jì)算挪到了和接收器相連的計(jì)算機(jī)/主機(jī)上,用軟件來(lái)實(shí)現(xiàn)。
為實(shí)現(xiàn)"軟接收器(Soft Receiver)"或"主機(jī)處理(Host processing)"這一方法'
硬件和軟件系統(tǒng)需作如下相應(yīng)的調(diào)整-第一部分接收器的硬件系統(tǒng)設(shè)計(jì)
在"軟接收器"中,接收器硬件系統(tǒng)把2個(gè)超聲接收傳感器捕獲到的2路超聲原始信號(hào) 和1個(gè)紅外接收二極管感應(yīng)到1路紅外原始信號(hào)傳輸?shù)街鳈C(jī)上,不做任何定位計(jì)算,或只做 部分計(jì)算。
如圖4所示,空中傳播的超聲信號(hào)被接收器上2個(gè)獨(dú)立的超聲接收傳感器(換能器)捕 獲并轉(zhuǎn)換成電信號(hào),紅外信號(hào)也被接收器上的紅外接收管捕獲并轉(zhuǎn)換成電信號(hào)。這3路微弱 電信號(hào)經(jīng)過(guò)模擬放大,經(jīng)過(guò)采樣和量化,變成了數(shù)字信號(hào),再被緩存和同步,最后形成一個(gè) 同步的數(shù)據(jù)流。通過(guò)接收器和主機(jī)之間的連線(xiàn),送到主機(jī)上去。
從超聲和紅外接收傳感器,模擬放大,到經(jīng)過(guò)模數(shù)轉(zhuǎn)換器ADC變成數(shù)字信號(hào),再到同步 緩存,"軟接收器"和"硬接收器"都是一樣的。與硬接收器不同的是,軟接收器是把同步緩 存的3路超聲和紅外數(shù)據(jù)打包后,直接通過(guò)USB接口芯片,把數(shù)據(jù)傳送給主機(jī)。下面我們就 對(duì)ADC后的3路數(shù)字信號(hào)到接口芯片的這部分?jǐn)?shù)字系統(tǒng)進(jìn)行詳細(xì)描述。
如圖5所示,這部分系統(tǒng)分為T(mén)iming Control, TS Gen, S/P Convert, Packet Gen, FIFO 以及GDMA (State Management被合并到GDMA中)這6個(gè)模塊。Timing Control產(chǎn)生系統(tǒng)所 需的所有時(shí)鐘,包括AD的系統(tǒng)時(shí)鐘以保證整個(gè)數(shù)據(jù)流同步的時(shí)鐘。S/P Convert將A/D產(chǎn)生 的串行數(shù)據(jù)并行化,并指示Packet Gen在合適的時(shí)刻取數(shù)據(jù)。TS Gen根據(jù)LRCK上升沿和IrDA 的上升沿出現(xiàn)的時(shí)間差計(jì)算TS,并指示Packet Gen在合適的時(shí)刻取數(shù)據(jù)。TS Gen和S/P Convert產(chǎn)生的數(shù)據(jù)的同步是由Timing Control產(chǎn)生的LRCK保證的。Packet Gen根據(jù)數(shù)據(jù) 包的格式要求,首先產(chǎn)生數(shù)據(jù)包頭寫(xiě)入FIFO,然后將S/P Convert產(chǎn)生的兩路16比特?cái)?shù)據(jù) 和TS Gen產(chǎn)生的一路16比特的TS數(shù)據(jù)整合為一組數(shù)據(jù),寫(xiě)入FIFO,寫(xiě)完16組數(shù)據(jù)后,重 新開(kāi)始產(chǎn)生數(shù)據(jù)包頭,如此循環(huán)。FIFO緩存采集到的數(shù)據(jù)包,供USBIC通過(guò)GDMA模塊讀取。 GDMA負(fù)責(zé)維護(hù)FIFO的狀態(tài)并在USB IC的要求下,通過(guò)GDMA接口將數(shù)據(jù)從FIFO讀取出來(lái)傳 送給USB IC。
1. Timing Control和S/P Convert
如圖5所示,ADC產(chǎn)生兩路96KHZ, 24B工T的音頻數(shù)據(jù),并以串行的方式提供給S/P Convert 模塊。S/P Convert用96 KHZ*64=6. 144MHZ的時(shí)鐘BCK采數(shù)。ADC和S/P Convert由LRCK同 步,LRCK是一個(gè)占空比50。/。,頻率96KHZ的方波信號(hào)。LRCK為高時(shí),ADC開(kāi)始產(chǎn)生L路的采 樣值,S/P Convert在每個(gè)BCK的上升沿取L路的采樣值的一個(gè)比特,24拍后采完L路的一 個(gè)數(shù)據(jù),剩下8拍采的是無(wú)效值。32拍后,LRCK變低,S/P Convert指示Packet Gen取L 路數(shù)據(jù),ADC開(kāi)始產(chǎn)生R路的采樣值,S/P Convert在每個(gè)BCK的上升沿取R路的采樣值的一 個(gè)比特,24拍后采完R路的一個(gè)數(shù)據(jù),剩下8拍采的是無(wú)效值。32拍后,LRCK再次變高, S/P Convert指示Packet Gen取R路數(shù)據(jù),同時(shí)TS Gen也產(chǎn)生了當(dāng)前兩路數(shù)據(jù)對(duì)應(yīng)的TS值,
并指示Packet Gen取TS數(shù)據(jù)。如此循環(huán)。Packet Gen在每個(gè)數(shù)據(jù)包數(shù)據(jù)到達(dá)之前已經(jīng)生成 好包頭并寫(xiě)入FIFO,然后等待S/P Convert和TS Gen產(chǎn)生數(shù)據(jù)。
2. Package Gen
當(dāng)S/P Convert指示取L路數(shù)據(jù)時(shí),Packet Gen取走L路數(shù)據(jù),當(dāng)S/P Convert指示取 R路數(shù)據(jù)時(shí),Packet Gen取走R路數(shù)據(jù),同時(shí)TS Gen也指示Packet Gen取走TS數(shù)據(jù)。此時(shí) Packet Gen已經(jīng)取完一組數(shù)據(jù),包括兩個(gè)32比特的音頻數(shù)據(jù)和一個(gè)16比特的TS數(shù)據(jù)。此 時(shí)Packet Gen將兩個(gè)32比特的音頻數(shù)據(jù)截?cái)酁閮蓚€(gè)16比特的音頻數(shù)據(jù)。然后將這三個(gè)16 比特的數(shù)據(jù)依次寫(xiě)入FIF0。寫(xiě)完后繼續(xù)等待指示下一組數(shù)據(jù)的到來(lái),如此重復(fù)寫(xiě)完16組數(shù) 據(jù)后,重新生成好包頭并寫(xiě)入FIFO,然后等待S/P Convert和TS Gen產(chǎn)生數(shù)據(jù)。
3. FIFO和G謹(jǐn)
如此循環(huán)。Packet Gen寫(xiě)入FIFO的數(shù)據(jù)由GDMA讀取給USB IC。當(dāng)USB IC指示要從GDMA 讀取數(shù)據(jù)時(shí)(通過(guò)DREQ指示),如果FIFO中有足夠多的數(shù)據(jù),GDMA進(jìn)入傳送狀態(tài),從FIFO 中讀取數(shù)據(jù)傳送給USB IC,若在傳送過(guò)程中,F(xiàn)IFO中的數(shù)據(jù)小于某一閾值,則GDMA進(jìn)入停 止?fàn)顟B(tài)并指示USB IC暫停傳輸(維持DIOW為高),直到FIFO中的數(shù)據(jù)大于閾值才繼續(xù)進(jìn)入 傳送狀態(tài)傳送數(shù)據(jù)。當(dāng)USB IC指示無(wú)數(shù)據(jù)需要傳輸時(shí),GDMA進(jìn)入停止?fàn)顟B(tài)。在停止?fàn)顟B(tài), 若FIFO還有一個(gè)數(shù)據(jù)就寫(xiě)滿(mǎn),則Dr叩Packets Block開(kāi)始接管讀取FIFO的工作,此時(shí)每當(dāng) Packet Gen寫(xiě)入FIFO —個(gè)數(shù)據(jù),Drop Packets Block就讀取一個(gè)數(shù)據(jù),防止FIFO溢出。直 到USB IC指示要從GDMA讀取數(shù)據(jù),Drop Packets Block停止工作,轉(zhuǎn)入正常的傳輸狀態(tài)。
4. 對(duì)原始的紅外信號(hào)進(jìn)行數(shù)字化的一種新方法
在"軟接收器"里,對(duì)于兩路超聲信號(hào),我們是直接用ADC對(duì)信號(hào)的幅度進(jìn)行數(shù)字化(采 樣和量化)。而對(duì)于紅外信號(hào)(IrDA),我們并沒(méi)有像在"硬接收器"里那樣用AD直接對(duì)紅外 信號(hào)幅度的進(jìn)行數(shù)字化??紤]到我們從紅外信號(hào)IrDA中主要是為了得到紅外脈沖的時(shí)間信息 (在時(shí)間軸上的位置信息),我們?cè)O(shè)計(jì)了一個(gè)IrDA的上升沿檢測(cè)器。如果沒(méi)有上升沿,當(dāng)前 96kHz的數(shù)字化的紅外信號(hào)就是N, N為時(shí)間戳TS值域外的任何一個(gè)數(shù),比如N=0xFFFF。如 果對(duì)IrDA信號(hào)監(jiān)測(cè)到上升沿,如圖6所示,TS Gen根據(jù)LRCK上升沿和IrDA的上升沿出現(xiàn) 的時(shí)間差作為時(shí)間戳TS (Time Stamp),并把時(shí)間戳TS的值作為當(dāng)前時(shí)刻的數(shù)字化的紅外信 號(hào)。
5. 數(shù)據(jù)流的格式
Package Gen是按照一定的數(shù)據(jù)格式把數(shù)據(jù)寫(xiě)入FIFO,并由GDMA讀取給USB IC的。數(shù) 據(jù)流的格式如圖8所示,數(shù)據(jù)流是由一個(gè)一個(gè)連續(xù)的FPGAPackage組成,每個(gè)Package具有
以下格式4個(gè)字節(jié)的Package Header,后面緊跟著16個(gè)同步包。Package Header是由Package ID和Package Counter組成,每個(gè)同步數(shù)據(jù)包由2個(gè)超聲樣本和1路紅外時(shí)間信號(hào)組成。
第二部分軟件架構(gòu)
為了配合"軟接收器",計(jì)算機(jī)/主機(jī)就要對(duì)接收到的一路同步數(shù)據(jù)流進(jìn)行解包,恢復(fù)出 2路超聲信號(hào)和1路紅外信號(hào),并根據(jù)這3路原始信號(hào)來(lái)計(jì)算確定出筆尖的當(dāng)前位置,再將 筆的位置坐標(biāo)和其他消息發(fā)送給電子白板軟件。
根據(jù)算法是否在驅(qū)動(dòng)中實(shí)現(xiàn),"軟接收器"的軟件可以用兩種架構(gòu)來(lái)實(shí)現(xiàn)
一種是接收器硬件被主機(jī)識(shí)別成一個(gè)標(biāo)準(zhǔn)的USB設(shè)備,驅(qū)動(dòng)負(fù)責(zé)把數(shù)據(jù)從USB 口傳送到 上層/應(yīng)用層實(shí)現(xiàn)的定位算法。如圖7所示,因?yàn)橛布蛑鳈C(jī)發(fā)送的是2路超聲和1路紅外原 始數(shù)據(jù),主機(jī)上的硬件驅(qū)動(dòng)程序就要接收硬件送上來(lái)的數(shù)據(jù),并把數(shù)據(jù)送給應(yīng)用程序。為了 實(shí)時(shí)把大量數(shù)據(jù)從硬件送到應(yīng)用層,該設(shè)備驅(qū)動(dòng)必須工作在ISO模式(同步數(shù)據(jù)傳輸模式)。 可以用循環(huán)緩沖區(qū)(Ring Buffer)在驅(qū)動(dòng)和應(yīng)用程序之間實(shí)時(shí)高效地交換數(shù)據(jù)。
另一種是算法被集成到了接收器設(shè)備驅(qū)動(dòng)中,這個(gè)驅(qū)動(dòng)被主機(jī)識(shí)別成一個(gè)標(biāo)準(zhǔn)的人機(jī)交 互接口設(shè)備HID設(shè)備,上層的電子白板軟件只是處理和響應(yīng)這個(gè)HID設(shè)備發(fā)給應(yīng)用程序的各 種消息,這樣算法就實(shí)現(xiàn)在kernel層。
數(shù)據(jù)包丟包檢測(cè)
主機(jī)收到同步數(shù)據(jù)流后,要正確地把原始的超聲和紅外數(shù)據(jù)解析出來(lái),首先要檢測(cè)數(shù)據(jù) 包是否有損壞和丟失。
測(cè)試模式下,包頭PID為OxFFAF, Packet counter固定為0x0808。數(shù)據(jù)包中數(shù)據(jù)為連 續(xù)遞增的16位數(shù)。若檢測(cè)到不連續(xù)的數(shù)據(jù),或者PID和Packet counter有誤,或者一個(gè)數(shù) 據(jù)包中的數(shù)據(jù)不是96個(gè)16位數(shù),說(shuō)明發(fā)生了錯(cuò)誤。
正常模式下,包頭PID為0xFF7F, Packet counter連續(xù)遞增。若發(fā)現(xiàn)PID有誤,或者 Packet counter不是連續(xù)遞增的16位數(shù),或者一個(gè)數(shù)據(jù)包中的數(shù)據(jù)不是96個(gè)16位數(shù),說(shuō) 明發(fā)生了錯(cuò)誤。注意,剛開(kāi)始讀取的數(shù)據(jù)不一定恰好是包頭,可能是從某個(gè)數(shù)據(jù)包的中間開(kāi) 始讀取的。
紅外信號(hào)數(shù)據(jù)處理
根據(jù)數(shù)字化的紅外信號(hào),我們可以計(jì)算出超聲信號(hào)的起始時(shí)間。若接收到的紅外數(shù)據(jù)值
為N,表示采集此組數(shù)據(jù)的間隔中沒(méi)有遇到紅外信號(hào)的上升沿,稱(chēng)為無(wú)效的紅外數(shù)據(jù);若紅外
數(shù)據(jù)為[O, T-l]之間的數(shù),表示采集此組數(shù)據(jù)的間隔中遇到紅外信號(hào)的上升沿,稱(chēng)為有效的
紅外數(shù)據(jù);設(shè)兩個(gè)有效的紅外數(shù)據(jù)之間無(wú)效的紅外數(shù)據(jù)i^數(shù)為P,這兩個(gè)有效的紅外數(shù)據(jù)分 別為nl和n2,則這兩個(gè)有效的紅外數(shù)據(jù)對(duì)應(yīng)的兩個(gè)紅外信號(hào)的上升沿之間的時(shí)間間隔為 T*P+T+n2-nl,其中T表示有效紅外數(shù)據(jù)的最大值。
以上,詳細(xì)說(shuō)明了將在接收器硬件上完成的定位計(jì)算被挪到了和接收器相連的計(jì)算機(jī)/ 主機(jī)上實(shí)現(xiàn)"軟接收器"的完整技術(shù)方案,并詳細(xì)說(shuō)明了該結(jié)構(gòu)架構(gòu)及各組成部件的特征。
顯然,本領(lǐng)域技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變形而不脫離本發(fā)明的精神和范圍。 倘若本發(fā)明的這些修改和變形屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意 圖包含這些改動(dòng)和變形在內(nèi)。
權(quán)利要求
1. 一種基于主機(jī)處理的電子白板系統(tǒng),其包括超聲波和紅外信號(hào)發(fā)射筆,超聲波和紅外信號(hào)接收器,計(jì)算機(jī),接收器之間以及接收器與計(jì)算機(jī)之間的連接線(xiàn),白板;其特征在于超聲波和紅外信號(hào)接收器采集2路超聲信號(hào)和1路紅外信號(hào)、對(duì)這3路信號(hào)進(jìn)行模擬放大,采樣/量化,緩存/同步,形成一路同步數(shù)據(jù)流,計(jì)算機(jī)對(duì)接收到的一路同步數(shù)據(jù)流進(jìn)行解包,恢復(fù)出2路超聲信號(hào)和1路紅外信號(hào),根據(jù)這3路原始信號(hào)來(lái)計(jì)算確定出筆尖的當(dāng)前位置,這樣就降低接收器的硬件成本、使接收器硬件資源能得到重復(fù)利用、并能通過(guò)軟件來(lái)更新核心算法,提高系統(tǒng)的性能。
2. 如權(quán)利要求1所述的系統(tǒng),在對(duì)2路超聲信號(hào)和1路紅外信號(hào)進(jìn)行采樣/量化時(shí),直接用ADC對(duì)2路超聲信號(hào)進(jìn)行幅度采樣和量化,而對(duì)于紅外信號(hào),沒(méi)有用ADC直接對(duì)紅外信號(hào)的 幅度進(jìn)行采樣和量化,而是設(shè)計(jì)了一個(gè)紅外信號(hào)的上升沿檢測(cè)器,如果沒(méi)有上升沿,當(dāng)前數(shù) 字化的紅外信號(hào)就是N, N為時(shí)間戳TS值域外的任何一個(gè)數(shù)。如果對(duì)紅外信號(hào)監(jiān)測(cè)到上升沿, TS Gen根據(jù)LRCK上升沿和紅外信號(hào)的上升沿出現(xiàn)的時(shí)間差,得到時(shí)間戳TS,并把時(shí)間戳TS 的值作為當(dāng)前時(shí)刻的數(shù)字化的紅外信號(hào)。
3. 如權(quán)利要求1所述的系統(tǒng),根據(jù)算法是否在驅(qū)動(dòng)中實(shí)現(xiàn),軟接收器的軟件架構(gòu)有兩種方式, 一種是接收器硬件被主機(jī)識(shí)別成一個(gè)標(biāo)準(zhǔn)的USB設(shè)備,負(fù)責(zé)把數(shù)據(jù)從USB 口傳送到上層的 定位算法,為了實(shí)時(shí)地傳輸大量數(shù)據(jù),該設(shè)備必須工作在IS0模式;另一種是定位算法被集 成到了接收器設(shè)備驅(qū)動(dòng)中,這個(gè)驅(qū)動(dòng)被主機(jī)識(shí)別成一個(gè)HID設(shè)備,上層的應(yīng)用程序只是處理 和響應(yīng)這個(gè)HID設(shè)備發(fā)給應(yīng)用程序的各種消息。
4. 如權(quán)利要求2所述的系統(tǒng),在定位算法中,從數(shù)字化的紅外信號(hào)得到超聲信號(hào)的起始時(shí)間 的具體方法是若接收到的紅外數(shù)據(jù)值為N,表示采集此組數(shù)據(jù)的間隔中沒(méi)有遇到紅外信號(hào)的 上升沿,稱(chēng)為無(wú)效的紅外數(shù)據(jù);若紅外數(shù)據(jù)為[O, T-l]之間的數(shù),表示采集此組數(shù)據(jù)的間隔中遇到紅外信號(hào)的上升沿,稱(chēng)為有效的紅外數(shù)據(jù);設(shè)兩個(gè)有效的紅外數(shù)據(jù)之間無(wú)效的紅外數(shù)據(jù)個(gè)數(shù)為P,這兩個(gè)有效的紅外數(shù)據(jù)分別為nl和n2,則這兩個(gè)有效的紅外數(shù)據(jù)對(duì)應(yīng)的兩個(gè)紅 外信號(hào)的上升沿之間的時(shí)間間隔為T(mén)*P+T+n2-nl,其中T表示有效紅外數(shù)據(jù)的最大值。
5. —種基于主機(jī)處理的電子白板系統(tǒng)的實(shí)現(xiàn)方法,該系統(tǒng)包括超聲波和紅外信號(hào)發(fā)射筆, 超聲波和紅外信號(hào)接收器,計(jì)算機(jī),接收器之間以及接收器與計(jì)算機(jī)之間的連接線(xiàn),白板; 該方法包括如下步驟超聲波和紅外信號(hào)接收器采集2路超聲信號(hào)和1路紅外信號(hào)、對(duì)這3路信號(hào)進(jìn)行模擬放 大,采樣/量化,緩存/同步,形成一路同步數(shù)據(jù)流的步驟;同步數(shù)據(jù)流通過(guò)接收器和主機(jī)之間的連線(xiàn),被傳輸?shù)街鳈C(jī)接口的步驟;計(jì)算機(jī)/主機(jī)對(duì)接收到的一路同歩數(shù)據(jù)流進(jìn)行解包,恢復(fù)出2路超聲信號(hào)和1路紅外信號(hào),根據(jù)這3路原始信號(hào)來(lái)計(jì)算確定出筆尖的當(dāng)前位置的步驟;根據(jù)筆尖的位置坐標(biāo)和其他事件消息,電子白板應(yīng)用軟件做出響應(yīng)的步驟。
6. 如權(quán)利要求5所述的方法,在對(duì)2路超聲信號(hào)和l路紅外信號(hào)進(jìn)行采樣/量化時(shí),直接用 ADC對(duì)2路超聲信號(hào)進(jìn)行幅度采樣和量化,而對(duì)于紅外信號(hào),沒(méi)有用ADC直接對(duì)紅外信號(hào)的 幅度進(jìn)行采樣和量化,而是設(shè)計(jì)了一個(gè)紅外信號(hào)的上升沿檢測(cè)器,如果沒(méi)有上升沿,當(dāng)前數(shù) 字化的紅外信號(hào)就是N, N為時(shí)間戳TS值域外的任何一個(gè)數(shù)。如果對(duì)紅外信號(hào)監(jiān)測(cè)到上升沿, TS Gen根據(jù)LRCK上升沿和紅外信號(hào)的上升沿出現(xiàn)的時(shí)間差,得到時(shí)間戳TS,并把時(shí)間戳TS 的值作為當(dāng)前時(shí)刻的數(shù)字化的紅外信號(hào)。
7. 如權(quán)利要求5所述的方法,根據(jù)算法是否在驅(qū)動(dòng)中實(shí)現(xiàn),軟接收器的軟件架構(gòu)有兩種方式, 一種是接收器硬件被主機(jī)識(shí)別成一個(gè)標(biāo)準(zhǔn)的USB設(shè)備,負(fù)責(zé)把數(shù)據(jù)從USB 口傳送到上層的 定位算法,為了實(shí)時(shí)地傳輸大量數(shù)據(jù),該設(shè)備必須工作在IS0模式;另一種是定位算法被集 成到了接收器設(shè)備驅(qū)動(dòng)中,這個(gè)驅(qū)動(dòng)被主機(jī)識(shí)別成一個(gè)HID設(shè)備,上層的應(yīng)用程序只是處理 和響應(yīng)這個(gè)HID設(shè)備發(fā)給應(yīng)用程序的各種消息。
8. 如權(quán)利要求6所述的方法,在定位算法中,從數(shù)字化的紅外信號(hào)得到超聲信號(hào)的起始時(shí)間 的具體方法是若接收到的紅外數(shù)據(jù)值為N,表示采集此組數(shù)據(jù)的間隔中沒(méi)有遇到紅外信號(hào)的 上升沿,稱(chēng)為無(wú)效的紅外數(shù)據(jù);若紅外數(shù)據(jù)為[O, T-l]之間的數(shù),表示采集此組數(shù)據(jù)的間隔 中遇到紅外信號(hào)的上升沿,稱(chēng)為有效的紅外數(shù)據(jù);設(shè)兩個(gè)有效的紅外數(shù)據(jù)之間無(wú)效的紅外數(shù) 據(jù)個(gè)數(shù)為P,這兩個(gè)有效的紅外數(shù)據(jù)分別為nl和n2,則這兩個(gè)有效的紅外數(shù)據(jù)對(duì)應(yīng)的兩個(gè)紅 外信號(hào)的上升沿之間的時(shí)間間隔為T(mén)*P+T+n2-nl,其中T表示有效紅外數(shù)據(jù)的最大值。
9. 一種基于主機(jī)處理的電子白板系統(tǒng)的計(jì)算機(jī)程序,該系統(tǒng)包括超聲波和紅外信號(hào)發(fā)射筆, 超聲波和紅外信號(hào)接收器,計(jì)算機(jī),接收器之間以及接收器與計(jì)算機(jī)之間的連接線(xiàn),白板; 該計(jì)算機(jī)程序按照如下方法步驟執(zhí)行機(jī)器指令超聲波和紅外信號(hào)接收器采集2路超聲信號(hào)和1路紅外信號(hào)、對(duì)這3路信號(hào)進(jìn)行模擬放 大,采樣/量化,緩存/同步,形成同步數(shù)據(jù)流的步驟;數(shù)據(jù)流通過(guò)接收器和主機(jī)之間的連線(xiàn),被傳輸?shù)街鳈C(jī)接口的歩驟;計(jì)算機(jī)/主機(jī)對(duì)接收到的同步數(shù)據(jù)流進(jìn)行解包,恢復(fù)出2路超聲信號(hào)和1路紅外信號(hào),根 據(jù)這3路原始信號(hào)來(lái)計(jì)算確定出筆尖的當(dāng)前位置的歩驟; 根據(jù)筆尖的位置坐標(biāo)和其他事件消息,電子白板應(yīng)用軟件做出響應(yīng)的步驟。
全文摘要
一種基于主機(jī)處理的低成本電子白板方法和系統(tǒng),其在“軟接收器”中,原來(lái)在接收器硬件上完成的定位計(jì)算被挪到了和接收器相連的計(jì)算機(jī)/主機(jī)上用軟件實(shí)現(xiàn),軟接收器只是把兩路超聲信號(hào)和一路紅外信號(hào)同步地以某種數(shù)據(jù)流格式傳送給主機(jī),這樣接收器就只是一個(gè)簡(jiǎn)單的數(shù)據(jù)采集設(shè)備,不再具有任何計(jì)算能力,在“硬接收器”中占很大一塊硬件成本的信號(hào)處理器也就不需要了,所以整個(gè)接收器的硬件成本也就極大地降下來(lái)了,是一個(gè)真正的“瘦(thin)”接收器。
文檔編號(hào)G06F3/043GK101398728SQ20081013221
公開(kāi)日2009年4月1日 申請(qǐng)日期2008年7月21日 優(yōu)先權(quán)日2008年7月21日
發(fā)明者穎 賈 申請(qǐng)人:穎 賈