專利名稱:一種同時讀寫存儲器的方法及數(shù)據(jù)采集裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機、電子技術(shù)及通信領(lǐng)域,更具體涉及一種同時 讀寫存儲器的方法,同時還涉及一種同時讀寫存儲器方法的裝置,本 發(fā)明適用于超聲波基樁檢測儀、基樁工程動測儀及各種數(shù)據(jù)采集裝置。
背景技術(shù):
數(shù)據(jù)釆集裝置廣泛應(yīng)用于生產(chǎn)及生活中。通常情況下需要采集一 系列數(shù)據(jù)而不止一個數(shù)據(jù)。此時,由傳感器采集到的數(shù)據(jù)先逐個緩存到 存儲器中,待全部數(shù)據(jù)采集完畢后再從存儲器中將緩存的數(shù)據(jù)讀取出來。 由于必須要將數(shù)據(jù)全部寫入存儲器之后才能讀取,數(shù)據(jù)采集的速度便受到 很大限制。
現(xiàn)有技術(shù)中用于數(shù)據(jù)采集裝置的存儲器主要有靜態(tài)隨機存取存儲器
(SRAM)、雙端隨機存取存儲器(DPRAM)和先進(jìn)先出存儲器(FIFO)。 SRAM的讀和寫共用一套地址總線和數(shù)據(jù)總線,雙端RAM的讀和寫有各 自獨立的地址總線和數(shù)據(jù)總線,通過選通某個地址總線可對該地址的存儲 空間讀寫數(shù)據(jù)。FIFO只能順序?qū)懭牒妥x取數(shù)據(jù),因為FIFO的數(shù)據(jù)地址由 內(nèi)部讀寫指針自動加1完成。當(dāng)處理器從FIFO中讀取數(shù)據(jù)的時鐘頻率與 傳感器采集的數(shù)據(jù)寫入FIFO的時鐘頻率不一致時,就會出現(xiàn)重復(fù)讀取數(shù) 據(jù)(讀頻率高于寫頻率)或漏讀數(shù)據(jù)(讀頻率低于寫頻率)的情況,導(dǎo)致
數(shù)據(jù)丟失。
若采用DPRAM作為數(shù)據(jù)采集裝置的存儲器,由于DPRAM的兩個端口有 各自的控制線,可通過兩個端口對DPRAM同時進(jìn)行讀寫操作。當(dāng)同時對某 一地址的存儲空間進(jìn)行讀寫時,后發(fā)出的操作請求將無效。例如,當(dāng)DPRAM 的一個端口接傳感器,另一個端口接計算機時,若傳感器采集到的數(shù)據(jù)通 過第一個端口寫入某一地址,而計算機剛好要通過第二個端口讀取該地址 存放的數(shù)據(jù)時,計算機將讀不出數(shù)據(jù),將會發(fā)生讀寫沖突。
超聲波基樁檢測儀是其中一種典型的數(shù)據(jù)采集裝置。例如中巖科技
4有限公司生產(chǎn)的RSM-SY5、 RSM-SY6、 RSM-SY7型超聲波檢測儀,利用超聲 波透射法,用于檢測橋梁、混凝土、隧道巖體的強度、完整性等。現(xiàn)有技 術(shù)的RSM-SY5、 RSM-SY6型聲波檢測儀有1個發(fā)射通道和2個接收通道, 一次只能完成2個剖面的檢測。RSM-SY5高度信息由人工進(jìn)行判讀,裝置 信號帶寬38.4Kbit/s; RSM-SY6高度信息采用光電編碼器自動記錄,裝置 信號帶寬2. 664Mbit/s。現(xiàn)有技術(shù)的RSM-SY7型聲波檢測儀有四個可控自 發(fā)自收通道, 一次提升可完成6個剖面的全組合檢測,并有自動計數(shù)提升 裝置,裝置信號帶寬2.664Mbit/s。使用傳統(tǒng)的存取方式時,需等待全部 數(shù)據(jù)緩存至DPRAM之后再將其讀取出來,裝置采集速度收到很大限制。
發(fā)明內(nèi)容
本發(fā)明的目的是在于提供了一種同時讀寫存儲器的方法,在保證 數(shù)據(jù)讀寫正確、不發(fā)生讀寫沖突的情況下,減少了在存儲器中讀寫數(shù) 據(jù)的時間,從而提高了數(shù)據(jù)采集裝置的速度。
本發(fā)明的另一個目的是在于提供了一種同時讀寫存儲器方法的裝 置,通過將存儲器劃分為多個存儲空間段,進(jìn)行分時分段緩沖存儲,存 儲數(shù)據(jù)的同時可讀取數(shù)據(jù),避免了存儲器上的讀寫沖突,從而減少了讀 寫數(shù)據(jù)的時間,提高了裝置采集數(shù)據(jù)的速度。
為解決上述技術(shù)問題,本發(fā)明提供了一種同時讀寫存儲器的方法
及其應(yīng)用的數(shù)據(jù)釆集裝置。該方法包括
A、 將雙端隨機存取存儲器(DPRAM,如IDT公司的IDT7027L) 劃分為2-128段存儲空間段(至少2段,如可劃分為32段),這2-128 段存儲空間段每段對應(yīng)固定的高位地址;
B、 設(shè)i采樣參數(shù)及雙端隨機存取存儲器(DPRAM)的起始讀/寫
高位地址并初始化起始讀/寫高位地址對應(yīng)存儲空間段的標(biāo)識符,其中
起始讀高位地址與起始寫高位地址應(yīng)不相同,起始讀高位地址對應(yīng)的
存儲空間段的標(biāo)識符為可讀,起始寫高位地址對應(yīng)的存儲空間段的標(biāo) 識符為可寫;
C、 當(dāng)寫高位地址對應(yīng)的存儲空間段的標(biāo)識符為可寫時,將采集的 數(shù)據(jù)寫入當(dāng)前寫高位地址對應(yīng)的存儲空間段;
.D、采集完畢后設(shè)置當(dāng)前存儲空間段的標(biāo)識符從可寫變?yōu)榭勺x;E、 改變當(dāng)前存儲空間段的寫高位地址以便回到步驟C進(jìn)行下次存
儲;
F、 當(dāng)讀高位地址對應(yīng)的存儲空間段的標(biāo)識符為可讀時,讀取讀高 位地址對應(yīng)的存儲空間段中的數(shù)據(jù);
G、 讀取完畢后設(shè)置所述存儲空間段的標(biāo)識符為可寫;及
H、 改變當(dāng)前存儲空間段的讀高位地址以便回到步驟F進(jìn)行下次讀取。
一種實現(xiàn)同時讀寫存儲器方法的數(shù)據(jù)采集裝置,該數(shù)據(jù)采集裝置 包括傳感器、雙端隨機存取存儲器(DPRAM)、信號處理單元、A/D轉(zhuǎn) 換單元、控制邏輯、USB接口芯片及計算機。信號處理單元分別與傳 感器及A/D轉(zhuǎn)換單元連接,將傳感器采集到的信號(通常為模擬信號) 放大、濾波,輸出至A/D轉(zhuǎn)換單元。A/D轉(zhuǎn)換單元分別與信號處理單 元、通過寫數(shù)據(jù)總線并與雙端隨機存取存儲器(DPRAM)相連,用于 將模擬信號轉(zhuǎn)換為數(shù)字信號。存儲器接A/D轉(zhuǎn)換單元,并通過讀數(shù)據(jù) 總線與USB接口芯片相連,用于緩存采集的數(shù)據(jù)。該存儲器分為2-128 存儲空間段,每段存儲空間段有固定的高位地址,用于區(qū)分不同存儲 空間段??刂七壿嬐ㄟ^讀控制總線及寫控制總線與該存儲器連接,用 于向標(biāo)識符為可寫的其中一段存儲空間段中寫入采集數(shù)據(jù)及從標(biāo)識符 為可讀的一段存儲空間段中讀取數(shù)據(jù)。USB接口芯片分別與存儲器的數(shù)
據(jù)總線及計算機連接,用來完成大部分的USB協(xié)議控制工作,將緩存于 存儲器的并行數(shù)據(jù)格式轉(zhuǎn)為通用的USB格式,再傳輸至計算機。
本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點和效果本發(fā)明通過將存 儲器劃分為多個存儲空間段,進(jìn)行分時分段緩沖存儲,存儲數(shù)據(jù)的同時 可讀取數(shù)據(jù),避免了存儲器上的讀寫沖突,從而減少讀寫數(shù)據(jù)的時間, 提高了裝置采集數(shù)據(jù)的速度。在盛博協(xié)同科技有限公司的工控機LX-3160 平臺上測試根據(jù)本發(fā)明的其中一個實施例建構(gòu)的數(shù)據(jù)釆集裝置,實驗數(shù)據(jù) 表明當(dāng)未釆用本發(fā)明的方法,而先采集數(shù)據(jù),待數(shù)據(jù)全部采集完畢后再 讀取數(shù)據(jù)時,裝置數(shù)據(jù)采集速度為4.4Mbit/s。采用本發(fā)明的同時讀寫存 儲器的方法,對存儲器進(jìn)行分時分段緩沖存儲時,裝置數(shù)據(jù)采集速度可達(dá) 到14.4Mbit/s,為原有數(shù)據(jù)采集速度的3倍多。可見,應(yīng)用本發(fā)明的裝置數(shù)據(jù)采集速度較現(xiàn)有技術(shù)有很大提高,且不會發(fā)生讀寫沖突,本發(fā)明裝置 升級、功能擴展簡單,可應(yīng)用于多種數(shù)據(jù)采集裝置,具有很好的應(yīng)用前景。
圖1為根據(jù)本發(fā)明的一個實施例的數(shù)據(jù)采集裝置的結(jié)構(gòu)示意框 圖。其中106-傳感器(聲波換能器);114-控制邏輯(復(fù)雜可編程邏輯
器件(CPLD)EPM1270); 110-信號處理單元;112-A/D轉(zhuǎn)換單元(Analog Device公司的A/D芯片ADS804); 116-雙端隨機存取存儲器(DPRAM) (IDT公司的IDT7027L); 128-USB接口芯片(Philips公司的ISP1581); 132-計算機。
圖2為根據(jù)本發(fā)明的一個實施例的雙端隨機存取存儲器(DPRAM) 的地址空間示意框圖。其中212-寫地址指針;214-讀地址指針;210-0 號存儲空間段;208-2號存儲空間段……206-30號存儲空間段;204-31號 存儲空間段。
圖3為根據(jù)本發(fā)明的一個實施例的由數(shù)據(jù)采集裝置執(zhí)行的操作過 程的詳細(xì)流程圖。
圖4為一種信號處理單元電路結(jié)構(gòu)示意圖。
具體實施例方式
以下將對本發(fā)明'的實施例給出詳細(xì)的說明。雖然本發(fā)明將結(jié)合實
施例進(jìn)行闡述,但應(yīng)理解這并非意指將本發(fā)明限定于這些實施例。相 反,在本發(fā)明各種范圍內(nèi)所定義的可選項,可修改項和等同項。結(jié)合 附圖和具體實施例對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)的說明,以使本發(fā)明 的特性和優(yōu)點更為明顯。
本文描'述的實施例將結(jié)合通常概念上計算機可執(zhí)行的指令進(jìn)行描 述。計算機可執(zhí)行的指令指可被一臺或多臺計算機或其它類似設(shè)備執(zhí) 行的計算機可用的媒介,如程序模塊。通常來說,程序模塊包括執(zhí)行特 定任務(wù)、或?qū)μ囟ǔ橄髷?shù)據(jù)類型進(jìn)行操作的例行程序、對象、組件,數(shù)據(jù) 結(jié)構(gòu)等等。程序模塊的功能可根據(jù)不同實施例的需求進(jìn)行組合或拆分。
通過具體實例,但非限制,計算機可用的媒介可包括計算機存儲
媒介及通信媒介。計算機存儲媒介包括易失性的及非易失性的、可移 除的及不可移除的,可實施于任何方法或技術(shù)的媒介,用于存儲信息,如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊及其它數(shù)據(jù)。計算機存儲媒
介包括,但不僅限于,隨機存取存儲器(RAM)、只讀存儲器(ROM)、 電可擦除可編程只讀存儲器(EEPROM)、閃存存儲器及其它存儲器技 術(shù)、只讀壓縮光盤(CD-ROM)、數(shù)字多用途光盤(DVD)及其它光學(xué) 存儲技術(shù)、盒式磁帶、磁性碟片存儲器及其它磁性存儲器,及其它可 用來存儲信息的媒介。
通信媒介可為一調(diào)制數(shù)據(jù)信號中的計算機可讀的指令、數(shù)據(jù)結(jié)構(gòu)、 程序模塊及其它數(shù)據(jù),調(diào)制數(shù)據(jù)信號包括任何信息傳遞媒介,如載波 或其它傳輸機制。術(shù)語"調(diào)制數(shù)據(jù)信號"表示為了將信息加載在某個 信號上,將此信號的某種或多種特性進(jìn)行了設(shè)置或改變。例如,但不 僅限于,通信媒介可fe括有線媒介及無線媒介。有線媒介如有線網(wǎng)絡(luò)、 直線連接。無線媒介如聲波、射頻(RF)、紅外及其它。上述任意組合 同樣也應(yīng)包含在計算機可讀媒介的范圍內(nèi)。
此外,在以下對本發(fā)明的詳細(xì)描述中,為了提供一個針對本發(fā)明 的完全的理解,闡明了大量的具體細(xì)節(jié)。然而,本領(lǐng)域技術(shù)人員將理 解,沒有這些具體細(xì)節(jié),本發(fā)明同樣可以實施。在另外的一些實例中, 對于大家熟知的方案、流程、元件和電路未作詳細(xì)描述,以便于凸顯 本發(fā)明之主旨。
請參閱圖3,其中顯示根據(jù)本發(fā)明的一個實施例的使用分時分段緩 沖存儲技術(shù)同時讀寫存儲器的方法的流程圖300。操作過程300可以程 序的形式實現(xiàn),該程序可用一種或多種形式的編程語言,如匯編性語 言或解釋性語言來編寫,且該程序可作為一獨立的程序,也可作為模 塊、組件、子程序及其它可被計算機執(zhí)行的形式。下面將按步驟描述 該流程圖。 一種同時讀寫存儲器的方法,其步驟是
A、將雙端隨機存取存儲器116 (DPRAM,如IDT公司的IDT7027L) 劃分為2或4或8或16或32或64或128段存儲空間段302 (至少2 段,如可劃分為32段),這32段存儲空間段每段對應(yīng)固定的高位地址, 以使讀寫地址指針能指向不同存儲空間段,從而避免了讀寫沖突。在步驟 劃分存儲空間段302中,程序開始,初始化裝置各部件,如控制邏輯 114、信號處理單元110、A/D轉(zhuǎn)換單元112、雙端隨機存取存儲器(DPRAM)
8116、 USB接口芯片128等,裝置準(zhǔn)備工作。此時雙端隨機存取存儲器 (DPRAM) 116被劃分為32個存儲空間段,每段對應(yīng)固定的高位地址。
B、 設(shè)置采樣參數(shù)304及設(shè)置雙端隨機存取存儲器(DPRAM)的起始 讀/寫高位地址306并初始化起始讀/寫高位地址對應(yīng)存儲空間段的標(biāo)識 符308,其中起始讀高位地址與起始寫高位地址應(yīng)不相同,起始讀高位 地址對應(yīng)的存儲空間段的標(biāo)識符為可讀,起始寫高位地址對應(yīng)的存儲 空間段的標(biāo)識符為可寫。在本步驟設(shè)置采樣參數(shù)304中,計算機發(fā)出 指令設(shè)置采樣參數(shù),如采樣點數(shù)等。在一個實施例中,數(shù)據(jù)采集裝置 操作屏幕上會出現(xiàn)一系列對話框,用戶通過選擇相應(yīng)選項或者輸入具
體參數(shù)便可正確設(shè)置采樣參數(shù)。在本步驟設(shè)置起始讀/寫高位地址306 中,設(shè)置雙端隨機存取存儲器(DPRAM)的起始讀/寫高位地址,其中起 始讀高位地址與起始寫高位地址應(yīng)不相同。步驟初始化雙端隨機存取存 儲器(DPRAM)起始讀/寫高位地址對應(yīng)存儲空間段的標(biāo)識符308中,初 始化起始讀/寫高位地址對應(yīng)存儲空間段的標(biāo)識符。起始讀高位地址對 應(yīng)的存儲空間段的標(biāo)識符為可讀,起始寫高位地址對應(yīng)的存儲空間段 的標(biāo)識符為可寫。
C、 當(dāng)寫高位地址對應(yīng)的存儲空間段的標(biāo)識符為可寫時,將采集的 數(shù)據(jù)寫入當(dāng)前寫高位地址對應(yīng)的存儲空間段312。可同時對雙端隨機存取 存儲器(DPRAM)進(jìn)行讀和寫操作,步驟310至步驟316為寫操作,步 驟318至步驟324為讀操作。當(dāng)數(shù)據(jù)采集裝置開始采集數(shù)據(jù)時,傳感 器工作,將被測參量轉(zhuǎn)換為電信號,電信號經(jīng)信號處理及A/D轉(zhuǎn)換后, 可寫入雙端隨機存取亭儲器(DPRAM)。在步驟查看寫高位地址對應(yīng)的存 儲空間段的^識符310中,當(dāng)寫高位地址對應(yīng)的存儲空間段的標(biāo)識符 為可寫時,則流程圖轉(zhuǎn)至步驟將采集數(shù)據(jù)寫入當(dāng)前寫高位地址對應(yīng)的存 儲空間段312,否則將回到步驟查看寫高位地址對應(yīng)的存儲空間段的標(biāo) 識符310。
D、 當(dāng)當(dāng)前存儲空間段寫滿,采集完畢后,設(shè)置當(dāng)前存儲空間段的 標(biāo)識符從可寫變?yōu)榭勺x314。
E、 改變當(dāng)前存儲空間段的寫高位地址316,以便下次存儲。
F、 當(dāng)讀高位地址對應(yīng)的存儲空間段的標(biāo)識符為可讀時,計算機讀取讀高位地址對應(yīng)的存儲空間段中的數(shù)據(jù)320。在將采集的數(shù)據(jù)寫入當(dāng)
前寫高位地址對應(yīng)的存儲空間段的同時,可對選定的雙端隨機存取存儲
器(DPRAM)存儲空間段進(jìn)行數(shù)據(jù)讀取。步驟查看讀高位地址對應(yīng)的存 儲空間段的標(biāo)識符318中,當(dāng)讀高位地址對應(yīng)的存儲空間段的標(biāo)識符 為可讀時,則流程圖轉(zhuǎn)至步驟讀取讀高位地址對應(yīng)的存儲空間段中的 數(shù)據(jù)320,否則將回到步驟查看讀高位地址對應(yīng)的存儲空間段的標(biāo)識符 318。
G、 數(shù)據(jù)讀取完畢后,設(shè)置所述存儲空間段的標(biāo)識符為可寫322。
H、 改變雙端隨機存取存儲器(DPRAM)當(dāng)前存儲空間段的讀高位地 址324,以便下次讀取。隨后流程圖回到步驟查看寫高位地址對應(yīng)的存 儲空間段的標(biāo)識符310或查看讀高位地址對應(yīng)的存儲空間段的標(biāo)識符 318進(jìn)行下一輪循環(huán)。
請參閱圖1,其中顯示本發(fā)明的一個實施例的一種實現(xiàn)同時讀寫 存儲器方法的數(shù)據(jù)采集裝置100的結(jié)構(gòu)示意框圖,數(shù)據(jù)采集裝置100 可實現(xiàn)同時讀寫存儲器且不發(fā)生讀寫沖突。如圖1所示,該數(shù)據(jù)采集 裝置100包括傳感器106、控制邏輯114、信號處理單元110、 A/D轉(zhuǎn) 換單元112、雙端隨機存取存儲器(DPRAM) 116、 USB接口芯片128 以及計算機132。以下將詳細(xì)說明圖示各裝置、單元以及模塊的功能以 及工作方式和連接關(guān)系是
數(shù)據(jù)采集裝置100可接收傳感器106采集到的信號108作為輸入信 號。根據(jù)本發(fā)明的不同實施例,可釆用不同類型的傳感器,以適用于不同 領(lǐng)域的應(yīng)用要求。傳感器106將被測參量的信息按照一定的規(guī)律轉(zhuǎn)換成為 電信號,以滿足被測參量信息的傳輸、處理、存儲、顯示、記錄和控制等 要求。在其中一個實施例中,數(shù)據(jù)采集裝置100為超聲波基樁檢測裝置, 傳感器106為聲波換能器。傳感器106輸出的信號108通常為模擬量,需 要經(jīng)過模擬/數(shù)字轉(zhuǎn)換(A/D轉(zhuǎn)換)才能被計算機處理。
如圖1所示,傳感器106輸出的模擬信號108首先經(jīng)過信號處理單元 110放大、濾波,然后經(jīng)A/D轉(zhuǎn)換單元112轉(zhuǎn)換為數(shù)字信號,再緩存至雙 端隨機存取存儲器(DPRAM) 116。
信號處理單元110分別與傳感器106及A/D轉(zhuǎn)換單元112連接,其詳細(xì)結(jié)構(gòu)如圖4所示。請參閱圖4,信號處理單元110由限幅保護(hù)電路402、 放大電路404、帶通濾波器電路406及信號調(diào)整電路408按順序串聯(lián)組成 (本領(lǐng)域的普通技術(shù)人員均能制備)。其中限幅保護(hù)電路402與傳感器106 連接,用于防止輸入傳感器106的高壓脈沖傳入到后續(xù)單元而損壞器件, 可采用兩個方向相反的穩(wěn)壓二極管并聯(lián)組成,利用穩(wěn)壓二極管的穩(wěn)壓特性, 將輸入電壓限制在-2V、2V之間。放大電路404與限幅保護(hù)電路402連接, 放大電路404采用第一級Analog Device公司的高輸入阻抗、低增益誤差、 低非線性失真的可編程增益儀表放大器AD526與第二級Analog Device 公司的低增益誤差、低偏置電流的可編程增益通用放大器AD524串聯(lián)組 成,用于將輸入模擬信號108放大至A/D轉(zhuǎn)換單元112可用,的幅值范圍。 帶通濾波器電路406與放大電路404連接,可釆用二階巴特沃斯類型RC 濾波器,由一低通濾波器和一高通濾波器串聯(lián)組成。信號調(diào)整電路408與 帶通濾波器電路406連接,用于將濾波輸出的-2V +2V的信號上調(diào)2.25伏 特,使A/D轉(zhuǎn)換單元112的模擬輸入端的單端信號幅度范圍在0.25 V ~4.25 V。
A/D轉(zhuǎn)換單元112分別與信號處理單元110、通過寫數(shù)據(jù)總線124 并與雙端隨機存取存儲器(DPRAM) 116相連,用于將模擬信號轉(zhuǎn)換為數(shù) 字信號。
雙端隨機存取存儲器(DPRAM) 116有兩個端口,分別對應(yīng)地址總 線118與122、數(shù)據(jù)總線124與126。在本實施例中,地址總線118為寫 地址總線,地址總線122為讀地址總線,數(shù)據(jù)總線124為寫數(shù)據(jù)總線,數(shù) 據(jù)總線126為讀數(shù)據(jù)總線。寫數(shù)據(jù)總線124接A/D轉(zhuǎn)換單元112,讀數(shù) 據(jù)總線126i接計算機132。雙端隨機存取存儲器(DPRAM) 116還有一 讀寫控制信號120,用于設(shè)置兩個端口的讀寫狀態(tài)。
控制邏輯114用于控制雙端隨機存取存儲器(DPRAM) 116的讀寫時 序,接雙端隨機存取存儲器(DPRAM)116的寫地址總線118、讀地址總線 122以及讀寫控制信號120。根據(jù)本發(fā)明的不同實施例,控制邏輯114可 為復(fù)雜可編程邏輯器件(CPLD)、微控制器(MCU)、微處理器(MPU)、 數(shù)字信號處理器(DSP)及類似器件。
緩存至雙端隨機存取存儲器(DPRAM) 116中的數(shù)據(jù)可通過各種通
11信接口傳輸至計算機(未圖示)中進(jìn)行保存、處理、顯示等。本領(lǐng)域的 普通技術(shù)人員應(yīng)該理解,根據(jù)不同實施例,可選用不同通信接口,如通 用的串口、 USB口或?qū)S猛ㄐ沤涌?。在本實施例中,如圖l,雙端隨機存
取存儲器(DPRAM) 116與計算機通過USB總線130進(jìn)行數(shù)據(jù)通信,并 使用專用的USB接口芯片128來完成大部分的USB協(xié)議控制工作。USB 接口芯片128接雙端隨機存取存儲器(DPRAM) 116的數(shù)據(jù)總線122,將 緩存于雙端隨機存取存儲器(DPRAM) 116的并行數(shù)據(jù)格式轉(zhuǎn)為通用的 USB格式,再傳輸至計算機。
現(xiàn)有技術(shù)通常是待傳感器106采集到的全部數(shù)據(jù)緩存至雙端隨機 存取存儲器(DPRAM) 116中后再進(jìn)行讀取,等待時間較多。若一邊向雙 端隨機存取存儲器(DPRAM) 116中緩存數(shù)據(jù), 一邊從其中讀取緩存的數(shù) 據(jù),則當(dāng)同時對同一個存儲地址進(jìn)行讀寫操作時,將會發(fā)生沖突。
根據(jù)本發(fā)明的一個實施例,雙端隨機存取存儲器(DPRAM) 116的存 儲空間被分為2-128段存儲空間段,進(jìn)行分時分段緩沖存儲。雙端隨機 存取存儲器(DPRAM) 116的每一存儲空間段的高位地址相同,即為該存 儲空間段的地址指針。另外,每一存儲空間段有一標(biāo)識符,可設(shè)置為 可寫或可讀。當(dāng)標(biāo)識符為可寫時,可向相應(yīng)的存儲空間段寫入數(shù)據(jù); 當(dāng)標(biāo)識符為可讀時,可從相應(yīng)的存儲空間段讀取數(shù)據(jù)。本領(lǐng)域的普通 技術(shù)人員可以理解,只要操作時讓寫地址指針和讀地址指針不同時指 向同一存儲空間段,.便可允許傳感器106往雙端隨機存取存儲器 CDPRAM) 116中寫數(shù)據(jù)的同時,允許計算機通過USB總線130從雙端 隨機存取存儲器(DPRAM) 116中讀取數(shù)據(jù)。由于某一存儲空間段的標(biāo)識 符不能同時為可寫和可讀,因而不可能同時對該存儲空間段進(jìn)行讀和 寫操作,由此可避免沖突。由于已知當(dāng)前寫和讀的存儲空間段的位置, 便知USB接下來至少能連續(xù)讀取多少數(shù)據(jù),從而使USB能進(jìn)行大塊數(shù)據(jù) 的讀取,減少應(yīng)用程序與固件之間一些不必要的通信,縮短USB相鄰兩 次讀數(shù)數(shù)據(jù)的時間間隔,從而提高數(shù)據(jù)采集裝置ioo的采集速度。
同時,數(shù)據(jù)采集裝置100工作時,計算機通過USB接口芯片128 將采樣命令與采樣參數(shù)通傳遞至采集裝置100各部件中,如控制邏輯114、 傳感器106等。在本實施例中,USB接口芯片128、控制邏輯114 (CPLD)
12以及雙端隨機存取存儲器(DPRAM)構(gòu)成DMA方式,使數(shù)據(jù)傳輸過程不占 CPU,從而提高傳輸速度。
根據(jù)本發(fā)明的不同實施例,可采用不同廠家生產(chǎn)的、不同型號的器件。 例如,根據(jù)發(fā)明的其中一個實施例,USB接口芯片128為Philips公司生 產(chǎn)的ISP1581,控制邏輯114為復(fù)雜可編程邏輯器件(CPLD) EPM1270, A/D轉(zhuǎn)換單元112為Analog Device公司生產(chǎn)的A/D芯片ADS804,雙端 隨機存取存儲器(DPRAM)116為IDT公司生產(chǎn)的32KX16容量的 IDT7027L。在此實施例中,讀數(shù)據(jù)總線126和讀低位地址122與USB接 口芯片128的通用接口 (GPIF)數(shù)據(jù)總線FD
和ADR
連接。
在另一實施例中,雙端隨機存取存儲器(DPRAM)116可用一有兩個 獨立數(shù)據(jù)總線的FIFO取代。
請參閱圖2,其中顯示根據(jù)本發(fā)明的一個實施例的圖1所示雙端隨 機存取存儲器(DPRAM) 116的地址空間示意框圖,下面將結(jié)合圖2描述 圖1所示的雙端隨機存取存儲器(DPRAM) 116的工作方式。如上圖2所 示,雙端隨機存取存儲器(DPRAM) 116的核心部分是雙端口存儲陣列, 左右兩個端口可以共用該存儲陣列,并且擁有各自的數(shù)據(jù)總線、地址總線 和控制線。在本實施例中,雙端隨機存取存儲器(DPRAM)116為IDT公 司生產(chǎn)的IDT7027L,地址空間容量為32KX16。雙端隨機存取存儲器 (DPRAM)的地址空間被分為32段第一段地址空間編號0,地址為 0000-03FF;第二段地址空間編號l,地址為0400-07FF……第三十二段 地址空間編號31,地址為FCOO-FFFF。這32段地址空間每段1024比特。 當(dāng)然,本領(lǐng)域的普通技術(shù)人員可以理解,分為多少段、每一段地址空間的 大小可根據(jù)虞體應(yīng)用來定,可相同也可不同。
當(dāng)對雙端隨機存取存儲器(DPRAM) 116同時發(fā)出讀寫指令時,讓寫 地址指針212和讀地址指針214不在同一段地址中,就可做到往雙端隨機 存取存儲器(DPRAM) 116中存入傳感器106采集到的數(shù)據(jù)的同時,還可 以通過USB通信接口 130從雙端隨機存取存儲器(DPRAM) 116中讀取數(shù) 據(jù),兩者并行工作。具體來講,當(dāng)數(shù)據(jù)采集裝置100初始化完畢,傳感器 106開始工作。當(dāng)傳感器106采集到穩(wěn)定的信號108并經(jīng)信號處理及A/D 轉(zhuǎn)換后,控制邏輯對雙端隨機存取存儲器(DPRAM) H6發(fā)出寫命令。如
13圖2所示,初始寫地址指針指向0號存儲空間段210,數(shù)據(jù)將被順序?qū)?入0號存儲空間段210的某一位置,O號存儲空間段210的標(biāo)識符為可寫。 此時可對雙端隨機存取存儲器(DPRAM) 116發(fā)出讀命令,讀地址指針應(yīng) 指向另一存儲空間段,如2號存儲空間段208。 2號存儲空間段208的 數(shù)據(jù)此時可通過USB接口被計算機讀取。若此時讀地址指針指向0號 存儲空間段210時,由于0號存儲空間段210的標(biāo)識符為可寫,不可 對其進(jìn)行讀操作,此時讀地址指針將指向下一個存儲空間段,從而避 免沖突。
對存儲地址進(jìn)行分時分段后,便不會出現(xiàn)同時對同一存儲空間段 的數(shù)據(jù)進(jìn)行讀寫操作的情況。由于已知目前寫地址和讀地址空間的位置, 這樣便知USB接下來至少能連續(xù)讀取多少數(shù)據(jù),從而使USB能進(jìn)行大塊 數(shù)據(jù)的讀取,減少應(yīng)用程序與固件之間不必要的通信。
本發(fā)明通過將存儲器劃分為多個存儲空間段,進(jìn)行分時分段緩沖存 儲,存儲數(shù)據(jù)的同時可讀取數(shù)據(jù),避免了存儲器上的讀寫沖突,比現(xiàn)有 技術(shù)的數(shù)據(jù)采集裝置采集速度提高。
雖然之前的說明和附圖描述了本發(fā)明的較佳實施例,應(yīng)當(dāng)理解在 不脫離所界定的本發(fā)明原理的精神和保護(hù)范圍的前提下可以有各種增 補、修改和替換。本領(lǐng)域技術(shù)人員應(yīng)該理解,本發(fā)明在實際應(yīng)用中可 根據(jù)具體的環(huán)境和工作要求在不背離發(fā)明準(zhǔn)則的前提下在形式、結(jié)構(gòu)、 布局、比例、材料、元素、組件及其它方面有所變化。因此,在此披 露的實施例僅用于說明而非限制,本發(fā)明的保護(hù)范圍由權(quán)利要求書中 技術(shù)方案及其合法等同物界定,而不限于此前的描述。
1權(quán)利要求
1、一種同時讀寫雙端隨機存取存儲器的方法,其步驟是A、將雙端隨機存取存儲器(116)劃分為2-128段存儲空間段(302),這2-128段存儲空間段每段對應(yīng)固定的高位地址,使讀寫地址指針能指向不同存儲空間段,在步驟劃分存儲空間段(302)中,程序開始,初始化裝置各部件如控制邏輯(114)、信號處理單元(110)、A/D轉(zhuǎn)換單元(112)、雙端隨機存取存儲器(116)、USB接口芯片(128),裝置準(zhǔn)備工作,此時雙端隨機存取存儲器(116)被劃分為32個存儲空間段,每段對應(yīng)固定的高位地址;B、設(shè)置采樣參數(shù)(304)及設(shè)置雙端隨機存取存儲器(116)的起始讀/寫高位地址(306)并初始化起始讀/寫高位地址對應(yīng)存儲空間段的標(biāo)識符(308),其中起始讀高位地址與起始寫高位地址不相同,起始讀高位地址對應(yīng)的存儲空間段的標(biāo)識符為可讀,起始寫高位地址對應(yīng)的存儲空間段的標(biāo)識符為可寫,在本步驟設(shè)置采樣參數(shù)(304)中,計算機發(fā)出指令設(shè)置采樣參數(shù),在本步驟設(shè)置起始讀/寫高位地址(306)中,設(shè)置雙端隨機存取存儲器(116)的起始讀/寫高位地址,其中起始讀高位地址與起始寫高位地址應(yīng)不相同,步驟初始化雙端隨機存取存儲器(116)起始讀/寫高位地址對應(yīng)存儲空間段的標(biāo)識符(308)中,初始化起始讀/寫高位地址對應(yīng)存儲空間段的標(biāo)識符,起始讀高位地址對應(yīng)的存儲空間段的標(biāo)識符為可讀,起始寫高位地址對應(yīng)的存儲空間段的標(biāo)識符為可寫;C、當(dāng)寫高位地址對應(yīng)的存儲空間段的標(biāo)識符為可寫時,將采集的數(shù)據(jù)寫入當(dāng)前寫高位地址對應(yīng)的存儲空間段(312)同時對雙端隨機存取存儲器(116)進(jìn)行讀和寫操作,步驟(310)至步驟(316)為寫操作,步驟(318)至步驟(324)為讀操作,數(shù)據(jù)采集裝置開始采集數(shù)據(jù)時,傳感器工作,將被測參量轉(zhuǎn)換為電信號,電信號經(jīng)信號處理及A/D轉(zhuǎn)換后,可寫入雙端隨機存取存儲器(116),在步驟查看寫高位地址對應(yīng)的存儲空間段的標(biāo)識符(310)中,當(dāng)寫高位地址對應(yīng)的存儲空間段的標(biāo)識符為可寫時,則流程圖轉(zhuǎn)至步驟將采集數(shù)據(jù)寫入當(dāng)前寫高位地址對應(yīng)的存儲空間段(312),將回到步驟查看寫高位地址對應(yīng)的存儲空間段的標(biāo)識符(310);D、當(dāng)當(dāng)前存儲空間段寫滿,采集完畢后,設(shè)置當(dāng)前存儲空間段的標(biāo)識符從可寫變?yōu)榭勺x(314);E、改變當(dāng)前存儲空間段的寫高位地址(316),下次存儲;F、當(dāng)讀高位地址對應(yīng)的存儲空間段的標(biāo)識符為可讀時,計算機讀取讀高位地址對應(yīng)的存儲空間段中的數(shù)據(jù)(320),在將采集的數(shù)據(jù)寫入當(dāng)前寫高位地址對應(yīng)的存儲空間段的同時,對選定的雙端隨機存取存儲器(116)存儲空間段進(jìn)行數(shù)據(jù)讀取,步驟查看讀高位地址對應(yīng)的存儲空間段的標(biāo)識符(318)中,當(dāng)讀高位地址對應(yīng)的存儲空間段的標(biāo)識符為可讀時,則流程圖轉(zhuǎn)至步驟讀取讀高位地址對應(yīng)的存儲空間段中的數(shù)據(jù)(320),將回到步驟查看讀高位地址對應(yīng)的存儲空間段的標(biāo)識符(318);G、數(shù)據(jù)讀取完畢后,設(shè)置所述存儲空間段的標(biāo)識符為可寫(322);H、改變雙端隨機存取存儲器(116)當(dāng)前存儲空間段的讀高位地址(324),下次讀取,隨后流程圖回到步驟查看寫高位地址對應(yīng)的存儲空間段的標(biāo)識符(310)或查看讀高位地址對應(yīng)的存儲空間段的標(biāo)識符(318)進(jìn)行下一輪循環(huán)。
2、 一種實現(xiàn)權(quán)利要求1所述的同時讀寫雙端隨機存取存儲器方法 的數(shù)據(jù)采集裝置,包括傳感器(106)、雙端隨機存取存儲器(116)、信 號處理單元(110)、 A/D轉(zhuǎn)換單元(112)、控制邏輯(114)、 USB接口 芯片(128),其特征在于信號處理單元U10)分別與傳感器U06)及 A/D轉(zhuǎn)換單元(112)連接,A/D轉(zhuǎn)換單元(112)分別與信號處理單元(110) 通過寫數(shù)據(jù)i、線(124)并與雙端隨機存取存儲器(116)相連,雙端隨 機存取存儲器(116)接A/D轉(zhuǎn)換單元(112),并通過讀數(shù)據(jù)總線(126) 與USB接口芯片(128)相連,該雙端隨機存取存儲器(116)分為2-128 存儲空間段,每段存儲空間段有固定的高位地址,控制邏輯(114)通過 讀控制信號(121)及寫控制信號(120)與該雙端隨機存取存儲器(116) 連接,USB接口芯片(128)分別與雙端隨機存取存儲器(116)的讀數(shù) 據(jù)總線(126)及計算機(132)連接。
全文摘要
本發(fā)明公開了一種同時讀寫存儲器的方法及數(shù)據(jù)采集裝置,方法包括將存儲器劃分為2-128段存儲空間段;設(shè)置采樣參數(shù)及起始讀/寫高位地址;將采集的數(shù)據(jù)寫入當(dāng)前寫高位地址對應(yīng)的存儲空間段;采集完畢后設(shè)置所述存儲空間段的標(biāo)識符為可讀;改變當(dāng)前存儲空間段的寫高位地址;讀取讀高位地址對應(yīng)存儲空間段中的數(shù)據(jù);讀取完畢后設(shè)置所述存儲空間段的標(biāo)識符為可寫;改變當(dāng)前存儲空間段的讀高位地址。裝置包括傳感器、雙端隨機存取存儲器、信號處理單元、A/D轉(zhuǎn)換單元、控制邏輯、USB接口芯片,本發(fā)明分段緩沖存儲,存儲數(shù)據(jù)的同時可讀取數(shù)據(jù),避免了存儲器上的讀寫沖突,從而減少讀寫數(shù)據(jù)的時間,提高了裝置采集數(shù)據(jù)的速度。
文檔編號G06F3/06GK101493755SQ20091006087
公開日2009年7月29日 申請日期2009年2月27日 優(yōu)先權(quán)日2009年2月27日
發(fā)明者孫東寧, 杰 張, 李長林, 胡純軍, 錢建安 申請人:武漢中巖科技有限公司