一種基於主機處理的電子白板系統的製作方法
2023-06-07 01:38:06 1
專利名稱:一種基於主機處理的電子白板系統的製作方法
技術領域:
本實用新型涉及基於超聲定位原理的電子白板系統,具體涉及到基於超聲定位的
電子白板系統的實現架構/結構和軟硬體實現。
背景技術:
基於超聲波定位原理的電子白板系統(包括複印式電子白板和交互式電子白板) 的基本組成(如附圖1和2所示)超聲波和紅外信號發射筆、兩個超聲波和紅外信號接收 器及其測距模塊和電子白板軟體所在的計算機,接收器之間以及接收器與計算機之間的連 接線,以及白板。其中,本領域技術人員知道,接收器之間以及接收器與計算機之間可以通 過連接線連接也可以通過無線連接。定位的原理是超聲波信號和紅外信號從發射筆發出, 超聲信號以聲速在空氣中的傳播,並被兩個超聲波和紅外信號接收器所接收到,紅外信號 以光速從發射筆的位置傳播到接收器上的紅外接收二極體。相對於超聲信號的傳播時間, 紅外信號在空中的傳播時間可以忽略不計,所以紅外信號相當於筆和接收器之間的同步信 號,也就是從紅外信號接收器能知道超聲波的發射時刻。所以根據紅外信號提供的超聲波 發射時刻,和兩個超聲波和紅外信號接收器所接收到超聲信號,就能得到發射筆到兩個超 聲波和紅外信號接收器的距離dl和d2。再利用兩個超聲波和紅外信號接收器之間的已知
間距d3,根據三角定位就能確定筆的精確位置。 現有的接收器是一種"硬接收器"。具體的實現方式如圖3所示接收器電路板 上有一個專門用來做測距和定位計算的DSP處理器,接收器向主機發送的是筆尖所在的 位置坐標,接收器硬體被主機識別成一個標準的人機互動接口 (HID—Human Interface Device)設備,主機上的電子白板軟體主要就是處理和響應這個HID設備發給應用程式的 各種消息。這種"硬接收器"的系統架構決定了它具有以下特點 1.專門用來做測距和定位計算的DSP處理器大大地增加了整個接收器的硬體成 本; 2.接收器上有限的硬體資源(計算能力和存儲單元)限制了算法的實現複雜度。 為了能在接收器硬體上實現超聲定位算法,有時不得不犧牲算法的性能,對算法進行必要 的簡化。 3.因為超聲定位算法是固化在接收器的硬體電路中的,為了提高系統定位精度, 要升級或者更新硬體上的算法,是非常困難的。 一般必須扔掉舊的接收器硬體,而購買全新 的接收器硬體。 超聲測距和定位是一個不斷發展和完善的技術。特別是最近幾年,高精度的定位 算法(時頻,相關定位)層出不窮。但是這些新算法的共同特點是計算複雜度越來越大,需 要的計算量和存儲空間也越來越多。"硬接收器"的系統架構就阻礙了先進的定位算法在電 子白板系統中的應用進程。
發明內容為了使先進的信號處理算法能迅速應用到電子白板產品中,並且算法的升級換代 又能最大程度地利用原有的硬體資源,減小電子垃圾,本實用新型基於接收器必須和計算 機一起工作的這個特點,提出了一種"軟接收器"的系統架構。設計了一種基於主機處理的 電子白板系統,其包括超聲波和紅外信號發射筆,超聲波和紅外信號接收器,主機,白板; 其特徵在於超聲波和紅外信號接收器採集2路超聲信號和1路紅外信號、對這3路信號 進行模擬放大,採樣/量化,緩存/同步,形成同步數據流,主機對接收到的同步數據流進行 解包,恢復出2路超聲信號和l路紅外信號,從而計算確定出筆尖的當前位置。該電子白板 系統還包括ADC,用於對2路超聲信號進行幅度採樣和量化,和一個紅外信號的上升沿檢測 器。此外,該電子白板系統還包括軟接收器,該軟接收器的軟體架構有兩種方式, 一種是接 收器硬體被主機識別成一個標準的USB設備,該設備必須工作在ISO模式;另一種是定位算 法被集成到了接收器設備驅動中。 如圖4所示,在"軟接收器"中,原來在接收器硬體上完成的定位計算被挪到了和 接收器相連的計算機/主機上用軟體實現,軟接收器只是把兩路超聲信號和一路紅外信號 同步地以某種數據流格式傳送給主機,這樣接收器就只是一個簡單的數據採集設備,不再 具有任何計算能力,在"硬接收器"中佔很大一塊硬體成本的信號處理器也就不需要了 ,所 以整個接收器的硬體成本也就極大地降下來了,是一個真正的"瘦(thin)"接收器。 隨著USB接口帶寬的不斷擴大和USB2. 0在電腦上的普及,通過USB2. 0接口把兩 路超聲信號和一路紅外信號(帶寬為96kHz*3*16bits)從接收器實時地傳送給應用程式 已經不存在任何問題。隨著半導體加工工藝的改進(45nm)和CPU新架構(超線程,雙核) 的推出,現有計算機的CPU處理能力也越來越大,完全超越了現有應用程式的需求,形成了 很大MIPS富裕和浪費。我們完全可以利用這部分被閒置的計算資源來對連接在計算機上 "硬接收器"進行瘦身。 對於"軟接收器",我們可以在原有接收器硬體的基礎上,通過更新主機軟體(定位算 法)來提高系統性能。這樣企業就可以通過軟體下載的方式升級/更新客戶的電子白板產品, 並提供其它的增值服務,有利於提高客戶對企業的滿總度和忠誠度。並且,降低接收器的硬體 成本、使接收器硬體資源能得到重複利用、並能通過軟體來更新核心算法,提高系統的性能。
圖1基於超聲波和紅外定位的電子白板系統。 圖2基於DSP硬體的電子白板系統的定位示意圖。 圖3基於DSP的硬接收器的結構/框圖,板子上有用於坐標計算的處理器和接口
晶片。因為筆的坐標點,數據量相對較小,對接口晶片的帶寬要求比較小。 圖4基於主機的軟電子白板(soft whiteboard)。 圖5軟電子白板的硬體實現具體框圖。 圖6紅外時間戳。 圖7主機軟體架構。 圖8數據流的格式具體實施方式為了降低接收器的硬體成本、重複利用接收器硬體資源、並能通過更新軟體來提 高系統的性能,本實用新型提出了一種"軟接收器"的系統架構,把原來在接收器硬體上完 成的超聲測距和定位計算挪到了和接收器相連的計算機/主機上,用軟體來實現。 為實現"主機處理(Host processing)"或"軟接收器(Soft Receiver)"這一方 法,硬體和軟體系統需作如下相應的調整 第一部分接收器的硬體系統設計 在"軟接收器"中,接收器硬體系統儀僅只是把2個超聲接收傳感器捕獲到的2路 超聲原始信號和1個紅外接收管感應到1路紅外原始信號傳輸到主機上,不做任何定位計 算,或只做部分計算。 如圖4所示,空中傳播的超聲信號被接收器上2個獨立的超聲接收傳感器(換能 器)捕獲並轉換成電信號,紅外信號也被接收器上的紅外接收管捕獲並轉換成電信號。這 3路微弱電信號經過模擬放大,經過採樣和量化,變成了數位訊號,再被緩存和同步,最後形 成一個同步的數據流。通過接收器和主機之間的連線,送到主機上去。 從超聲和紅外接收傳感器,模擬放大,到經過模數轉換器ADC變成數位訊號,再到 同步緩存,"軟接收器"和"硬接收器"都是一樣的。與硬接收器不同的是,軟接收器是把同 步緩存的3路超聲和紅外數據打包後,直接通過USB接口晶片,把數據傳送給主機。下面我 們就對ADC後的3路數位訊號到接口晶片的這部分數字系統進行詳細描述。 如圖5所示,這部分系統分為Timing Control,TS Gen,S/P Co読rt,PacketGen, FIFO以及GDMA (State Management被合併到GDMA中)這6個模塊。TimingControl產生 系統所需的所有時鐘,包括AD的系統時鐘以保證整個數據流同步的時鐘。S/P Convert將 A/D產生的串行數據並行化,並指示Packet Gen在合適的時刻取數據。TS Gen根據LRCK上 升沿和IrDA的上升沿出現的時間差計算TS,並指示Packet Gen在合適的時刻取數據。TS Gen和S/P Convert產生的數據的同步是由Timing Control產生的LRCK保證的。Packet Gen根據數據包的格式要求,首先產生數據包頭寫入FIFO,然後將S/P Convert產生的兩路 16比特數據和TS Gen產生的一路16比特的TS數據整合為一組數據,寫入FIFO,寫完16 組數據後,重新開始產生數據包頭,如此循環。FIFO緩存採集到的數據包,供USB IC通過 GDMA模塊讀取。GDMA負責維護FIFO的狀態並在USB IC的要求下,通過GDMA接口將數據 從FIFO讀取出來傳送給USB IC。 1. Timing Control禾口 S/P Convert 如圖5所示,ADC產生兩路96KHZ, 24BIT的音頻數據,並以串行的方式提供給S/P Convert模塊。S/P Convert用96KHZ*64 = 6. 144MHZ的時鐘BCK採數。ADC和S/P Convert 由LRCK同步,LRCK是一個佔空比50%,頻率96KHZ的方波信號。LRCK為高時,ADC開始產 生L路的採樣值,S/P Convert在每個BCK的上升沿取L路的採樣值的一個比特,24拍後採 完L路的一個數據,剩下8拍採的是無效值。32拍後,LRCK變低,S/P Convert指示Packet Gen取L路數據,ADC開始產生R路的採樣值,S/P Convert在每個BCK的上升沿取R路的 採樣值的一個比特,24拍後採完R路的一個數據,剩下8拍採的是無效值。32拍後,LRCK再 次變高,S/P Convert指示Packet Gen取R路數據,同時TS Gen也產生了當前兩路數據對 應的TS值,並指示Packet Gen取TS數據。如此循環。Packet Gen在每個數據包數據到達
5之前已經生成好包頭並寫入FIFO,然後等待S/P Convert和TS Gen產生數據。 2. Package Gen 當S/P Convert指示取L路數據時,Packet Gen取走L路數據,當S/P Convert指 示取R路數據時,Packet Gen取走R路數據,同時TS Gen也指示Packet Gen取走TS數據。 此時Packet Gen已經取完一組數據,包括兩個32比特的音頻數據和一個16比特的TS數 據。此時Packet Gen將兩個32比特的音頻數據截斷為兩個16比特的音頻數據。然後將 這三個16比特的數據依次寫入FIFO。寫完後繼續等待指示下一組數據的到來,如此重複寫 完16組數據後,重新生成好包頭並寫入FIFO,然後等待S/P Convert和TS Gen產生數據。 3.FIF0和GDMA 如此循環。Packet Gen寫入FIFO的數據由GDMA讀取給USB IC。當USB IC指示 要從GDMA讀取數據時(通過DREQ指示),如果FIFO中有足夠多的數據,GDMA進入傳送狀 態,從FIFO中讀取數據傳送給USB IC,若在傳送過程中,FIFO中的數據小於某一閾值,則 GDMA進入停止狀態並指示USB IC暫停傳輸(維持DIOW為高),直到FIFO中的數據大於閾 值才繼續進入傳送狀態傳送數據。當USB IC指示無數據需要傳輸時,GDMA進入停止狀態。 在停止狀態,若FIFO還有一個數據就寫滿,則Drop Packets Block開始接管讀取FIFO的 工作,此時每當PacketGen寫入FIFO—個數據,Drop Packets Block就讀取一個數據,防 止FIFO溢出。直到USB IC指示要從GDMA讀取數據,Drop Packets Block停止工作,轉入 正常的傳輸狀態。 4.對原始的紅外信號進行數位化的一種新方法 在"軟接收器"裡,對於兩路超聲信號,我們是直接用ADC對信號的幅度進行數字 化(採樣和量化)。而對於紅外信號(IrDA),我們並沒有像在"硬接收器"裡那樣用AD直 接對紅外信號幅度的進行數位化。考慮到我們從紅外信號IrDA中主要是為了得到紅外脈 衝的時間信息(在時間軸上的位置信息),我們設計了一個IrDA的上升沿檢測器。如果沒 有上升沿,當前96kHz的數位化的紅外信號就是OxFFFF。如果對IrDA信號監測到上升沿, 如圖6所示,TS Gen根LRCK上升沿和IrDA的上升沿出現的時間差計算ST,並把ST的值 作為當前時刻的數位化的紅外信號。 5.數據流的格式 Package Gen是按照一定的數據格式把數據寫入FIFO,並由GDMA讀取給USBIC的。 數據流的格式如圖8所示,數據流是由一個一個連續的FPGA Package組成,每個Package 具有以下格式4個字節的Package Header,後面緊跟著16個同步包。Package Header是 由Package ID和Package Counter組成,每個同步數據包由2個超聲樣本和1路紅外時間 信號組成。 第二部分軟體架構 為了配合"軟接收器",計算機/主機就要對接收到的一路同步數據流進行解包, 恢復出2路超聲信號和1路紅外信號,並根據這3路原始信號來計算確定出筆尖的當前位 置,再將筆的位置坐標和其他消息發送給電子白板軟體。 根據算法是否在驅動中實現,"軟接收器"的軟體可以用兩種架構來實現 —種是接收器硬體被主機識別成一個標準的USB設備,驅動負責把數據從USB 口
傳送到上層/應用層實現的定位算法。如圖7所示,因為硬體向主機發送的是2路超聲和1路紅外原始數據,主機上的硬體驅動程序就要接收硬體送上來的數據,並把數據送給應用 程序。為了實時把大量數據從硬體送到應用層,該設備驅動必須工作在ISO模式(同步數 據傳輸模式)。可以用循環緩衝區(RingBuffer)在驅動和應用程式之間實時高效地交換數 據。 另一種是算法被集成到了接收器設備驅動中,這個驅動被主機識別成一個標準的 人機互動接口設備HID設備,上層的電子白板軟體只是處理和響應這個HID設備發給應用 程序的各種消息,這樣算法就實現在kernel層。 數據包丟包檢測 主機收到同步數據流後,要正確地把原始的超聲和紅外數據解析出來,首先要檢 測數據包是否有損壞和丟失。 測試模式下,包頭PID為0xFFAF, Packet counter固定為0x0808。數據包中數據 為連續遞增的16位數。若檢測到不連續的數據,或者PID和Packetcounter有誤,或者一 個數據包中的數據不是96個16位數,說明發生了錯誤。 正常模式下,包頭PID為0xFF7F,Packet counter連續遞增。若發現PID有誤,或 者Packet counter不是連續遞增的16位數,或者一個數據包中的數據不是96個16位數, 說明發生了錯誤。注意,剛開始讀取的數據不一定恰好是包頭,可能是從某個數據包的中間 開始讀取的。 紅外信號數據處理 根據數位化的紅外信號,我們可以計算出超聲信號的起始時間。若數據組中的紅 外數據為OxFFFF,表示採集此組數據的間隔中沒有遇到紅外信號的上升沿,稱為無效的紅 外數據。若紅外數據為0-63之間的數,表示採集此組數據的間隔中遇到紅外信號的上升 沿,稱為有效的紅外數據。有效的紅外數據對應紅外信號的上升沿。兩個紅外信號的上升 沿之間的時間間隔即為Time stamp。設兩個有效的紅外數據之間無效的紅外數據個數為 N,這兩個有效的紅外數據分別為nl和n2,則這兩個有效的紅外數據對應的兩個紅外信號 的上升沿之間的時間間隔為Time stamp = 64*N+64+n2_nl ;時間單位為6. 144Mhz的時鐘 周期。 以上,詳細說明了將在接收器硬體上完成的定位計算被挪到了和接收器相連的計 算機/主機上實現"軟接收器"的完整技術方案,並詳細說明了該結構架構及各組成部件的 特徵。 顯然,本領域技術人員可以對本實用新型進行各種改動和變形而不脫離本實用新 型的精神和範圍。倘若本實用新型的這些修改和變形屬於本實用新型權利要求及其等同技 術的範圍之內,則本實用新型也意圖包含這些改動和變形在內。
權利要求一種基於主機處理的電子白板系統,其包括超聲波和紅外信號發射筆,超聲波和紅外信號接收器,主機,白板;其特徵在於超聲波和紅外信號接收器,用於採集2路超聲信號和1路紅外信號,對這3路信號進行模擬放大,採樣/量化,緩存/同步,形成同步數據流;主機,用於對接收到的同步數據流進行解包,恢復出2路超聲信號和1路紅外信號,從而計算確定出筆尖的當前位置。
2. 如權利要求1所述的系統,其還包括ADC,用於對2路超聲信號進行幅度採樣和量 化,和一個紅外信號的上升沿檢測器。
3. 如權利要求1所述的系統,其還包括軟接收器,該軟接收器的軟體架構有兩種方式, 一種是接收器硬體被主機識別成一個標準的USB設備,該設備必須工作在ISO模式;另一 種是定位算法被集成到了接收器設備驅動中,被主機識別成一個HID設備。
專利摘要一種基於主機處理的電子白板系統,其包括超聲波和紅外信號發射筆,超聲波和紅外信號接收器,主機,白板。超聲波和紅外信號接收器採集2路超聲信號和1路紅外信號、對這3路信號進行模擬放大,採樣/量化,緩存/同步,形成同步數據流,主機對接收到的同步數據流進行解包,恢復出2路超聲信號和1路紅外信號,根據這3路原始信號來計算確定出筆尖的當前位置,這樣就降低接收器的硬體成本、使接收器硬體資源能得到重複利用、並能通過軟體來更新核心算法,提高系統的性能。
文檔編號G06F3/042GK201444295SQ200820127769
公開日2010年4月28日 申請日期2008年7月21日 優先權日2008年7月21日
發明者賈穎 申請人:賈