專利名稱:多外設(shè)自主數(shù)據(jù)傳輸與存儲方法
多外設(shè)自主數(shù)據(jù)傳輸與存儲方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)的傳輸與存儲方法。背景技術(shù):
電子醫(yī)療設(shè)備種類繁多,其中絕大部分都具有嵌入式系統(tǒng),電子醫(yī)療設(shè) 備被用于測量人體的各種生理信號,并按需要把經(jīng)過計算處理后的各生理參 數(shù)數(shù)據(jù)記錄存儲下來,用于病情實時診斷、趨勢回顧、術(shù)后分析、病歷記錄 等用途。電子醫(yī)療設(shè)備中的人體生理指數(shù)測量電路模塊種類繁多,導(dǎo)致了所 需的數(shù)據(jù)傳輸類型各異,各種協(xié)議非常復(fù)雜,同時,病人的生理指標(biāo)數(shù)據(jù)則 需要實時測量、上傳并顯示,以保證醫(yī)生對危重病人的及時診斷。因此對其 進(jìn)行數(shù)據(jù)流調(diào)度比較復(fù)雜。
和大多數(shù)嵌入式系統(tǒng)一樣,監(jiān)護(hù)儀通常采用兩類方法來實現(xiàn)大量數(shù)據(jù)并 行上傳。 一類方法是使用緩存,按照一般的存儲器緩沖方法來保證數(shù)據(jù)流的 可靠傳輸。也就是給每個數(shù)據(jù)通道分配特定的芯片內(nèi)存儲器空間,根據(jù)該數(shù)
據(jù)通道的特定需求可將此存儲器空間組織成RAM (隨機存儲器)或是FIF0 (先 入先出),在每次數(shù)據(jù)上傳的過程中都依賴這一空間中轉(zhuǎn)數(shù)據(jù),再將數(shù)據(jù)導(dǎo) 入外部大容量存儲器中。現(xiàn)場可編程邏輯門陣列(FPGA)中存儲器資源有限 絕大多數(shù)FPGA自帶的存儲器容量都在1M字節(jié)以下。特定用途集成電路(ASIC)
雖然可以定制大容量存儲器,但開發(fā)周期長,風(fēng)險高。
另一種方法是CPU介入數(shù)據(jù)傳輸。數(shù)據(jù)傳輸以字節(jié)或是包為單位,較低速 率的數(shù)據(jù)通道可以考慮以字節(jié)為單位實現(xiàn)數(shù)據(jù)傳輸,而數(shù)據(jù)速率較高的數(shù)據(jù) 通道則必須以自定義的數(shù)據(jù)包為單位傳輸數(shù)據(jù)。在數(shù)據(jù)傳輸?shù)倪^程中都引入 CPU中斷信號,每一次數(shù)據(jù)上傳,給CPU發(fā)一個中斷信號,CPU在收到中斷請求 后介入本次數(shù)據(jù)傳輸,接收下位機的數(shù)據(jù),放入片外存儲器。由于通道多, 數(shù)據(jù)量大,所以在此種方法中,CPU必須頻繁介入,增加的軟件開銷嚴(yán)重影響 系統(tǒng)性能,成為系統(tǒng)的瓶頸。
綜上所述,現(xiàn)有技術(shù)的缺點有兩方面
1.外設(shè)數(shù)量增加,將直接導(dǎo)致數(shù)據(jù)傳輸需要更多的存儲器資源
以l. 152Mbyte/s的數(shù)據(jù)傳輸速率為例,使用緩存技術(shù),接受和發(fā)送各需
要一個32位寬,深度為64k的FIF0,占用FPGA/ASIC片內(nèi)4Mbit的存儲器資源。 在較為常見的八通道監(jiān)護(hù)儀中,在每個參數(shù)測量模塊都以l. 152Mbyte/s上傳 所測得人體生理參數(shù)數(shù)據(jù)的前提下,共需4Mbyte的存儲器空間,在現(xiàn)有的IC 工藝水平下,這幾乎會耗盡整片F(xiàn)PGA/ASIC內(nèi)的所有存儲器資源。 2.外設(shè)數(shù)量增加,將導(dǎo)致整個系統(tǒng)的性能下降;
外設(shè)數(shù)量增加,通常需要相應(yīng)的CPU中斷配合。單次傳輸發(fā)生時,外設(shè)向 CPU發(fā)出中斷請求,CPU在處理完當(dāng)前任務(wù)后介入本次傳輸,將外設(shè)的數(shù)據(jù)讀 入外部存儲器。每一次傳輸都會發(fā)出中斷請求,都需要CPU的介入。在多外設(shè) 情況下,對CPU資源的占用是巨大的,整個系統(tǒng)的效能會因此下降很多。
發(fā)明內(nèi)容
本發(fā)明的目的就是為了克服以上現(xiàn)有技術(shù)中的不足,提供一種效率高、 易實現(xiàn)、低成本的多外設(shè)自主數(shù)據(jù)傳輸與存儲方法。
為實現(xiàn)上述目的,本發(fā)明提出一種多外設(shè)自主數(shù)據(jù)傳輸與存儲方法,包
括如下步驟(1)將掛接在總線上的參數(shù)外設(shè)設(shè)置為主設(shè)備,將掛接在總線 上的外部存儲器設(shè)置為從設(shè)備;(2)參數(shù)外設(shè)通過總線主動對外部存儲器進(jìn) 行數(shù)據(jù)傳輸與存儲。
上述的多外設(shè)自主數(shù)據(jù)傳輸與存儲方法,還包括步驟(3)主控制器讀取 參數(shù)外設(shè)寫入外部存儲器內(nèi)的數(shù)據(jù)。
上述的多外設(shè)自主數(shù)據(jù)傳輸與存儲方法,還包括主控制器向參數(shù)外設(shè)下 傳數(shù)據(jù)的過程主控制器將下行數(shù)據(jù)寫入外部存儲器內(nèi),參數(shù)外設(shè)從外部存 儲器讀取讀下行數(shù)據(jù)。
上述的多外設(shè)自主數(shù)據(jù)傳輸與存儲方法,所述參數(shù)外設(shè)通過接口和轉(zhuǎn)換 邏輯模塊掛接在總線上,所述接口和轉(zhuǎn)換邏輯模塊完成包括信號接口以及信 號識別、變換以及協(xié)議轉(zhuǎn)換的功能。
上述的多外設(shè)自主數(shù)據(jù)傳輸與存儲方法,所述存儲器為多個,每一存儲 器設(shè)置為一個或多個參數(shù)外設(shè)的從設(shè)備;不同參數(shù)外設(shè)同時通過總線主動對 各自對應(yīng)的不同存儲器進(jìn)行數(shù)據(jù)傳輸與存儲。
上述的多外設(shè)自主數(shù)據(jù)傳輸與存儲方法,系統(tǒng)主控制器與所述參數(shù)外設(shè) 之間存在對所述存儲器進(jìn)行讀寫的競爭關(guān)系,總線機制通過內(nèi)部仲裁協(xié)調(diào)該 競爭。所述競爭關(guān)系的協(xié)調(diào)過程包括當(dāng)所述參數(shù)外設(shè)與外部存儲器進(jìn)行數(shù) 據(jù)傳輸時,如果總線被其他外設(shè)占用,總線仲裁邏輯向參數(shù)外設(shè)發(fā)出等待信 號,參數(shù)外設(shè)在等待信號有效期間保持發(fā)往外部存儲器信號,該等待信號失 效后,參數(shù)外設(shè)和外部存儲器占用總線,完成本次數(shù)據(jù)傳輸。
上述的多外設(shè)自主數(shù)據(jù)傳輸與存儲方法,所述步驟(2)、步驟(3)數(shù)據(jù) 傳輸與存儲過程采用多緩沖機制,包括如下具體步驟外部存儲器為每一參 數(shù)外設(shè)數(shù)據(jù)通道分配至少兩塊獨立的存儲空間A和存儲空間B;參數(shù)外設(shè)首 先往存儲空間A內(nèi)存放數(shù)據(jù)至預(yù)定量;參數(shù)外設(shè)給主控制器發(fā)出中斷請求, 主控制器從存儲空間A讀取數(shù)據(jù);主控制器讀取存儲空間A的數(shù)據(jù)時,參數(shù) 外設(shè)往存儲空間B寫入數(shù)據(jù)至預(yù)定量;參數(shù)外設(shè)給主控制器發(fā)中斷請求,主 控制器從存儲空間B讀取數(shù)據(jù);參數(shù)外設(shè)繼續(xù)將數(shù)據(jù)寫入存儲空間A。如權(quán) 利要求1所述的多外設(shè)數(shù)據(jù)自主傳輸與存儲方法,其特征是還包括主控制 器向參數(shù)外設(shè)下行數(shù)據(jù)的過程主控制器將下行數(shù)據(jù)寫入外部存儲器,參數(shù) 外設(shè)讀取該下行數(shù)據(jù)。在基于包的數(shù)據(jù)傳輸子機制下,所述預(yù)定量指一個包; 在不基于包的數(shù)據(jù)傳輸子機制下,所述預(yù)定量指數(shù)據(jù)填滿存儲空間A或存儲
空間B"'.;, * 。
上述的多外設(shè)自主數(shù)據(jù)傳輸與存儲方法,所述主控制器向參數(shù)外設(shè)下行
數(shù)據(jù)的過程采用多緩沖機制,包括如下具體步驟外部存儲器為每一參數(shù)外 設(shè)分配至少兩塊獨立的存儲空間C和存儲空間D;當(dāng)主控制器需要向參數(shù)外 設(shè)發(fā)送有效信息時,先將數(shù)據(jù)寫入存儲空間C,發(fā)出一個啟動信號,由接口 和轉(zhuǎn)換邏輯模塊讀取存儲空間C有效信息傳送給參數(shù)外設(shè);當(dāng)參數(shù)外設(shè)讀取 存儲空間C數(shù)據(jù)時,主控制器若有數(shù)據(jù)需要傳遞給參數(shù)外設(shè),則寫入存儲空 間D,并發(fā)出一個啟動信號,接口和轉(zhuǎn)換邏輯模塊在完成存儲空間C的數(shù)據(jù)讀 取和發(fā)送后,再來讀取D空間數(shù)據(jù)并發(fā)送給參數(shù)外設(shè)。
由于采用了以上的方案,本發(fā)明帶來了如下的有益效果
參數(shù)外設(shè)通過總線主動對外部存儲器進(jìn)行數(shù)據(jù)傳輸與存儲,參數(shù)外設(shè)的
增加不占用額外的CPU資源及片內(nèi)有限的存儲器資源,軟件開銷低,該方法
可以實現(xiàn)大數(shù)據(jù)量高速傳輸,因此對參數(shù)外設(shè)的數(shù)據(jù)傳輸和存儲效率高、成 本低,可適用于監(jiān)護(hù)儀等儀器進(jìn)行多個端口高速數(shù)據(jù)流同時傳輸并存儲。
采用本發(fā)明的方法大幅度提高系統(tǒng)效率例如對于單個數(shù)據(jù)通道,現(xiàn)有
技術(shù)的方案可能需要向CPU發(fā)送1024次中斷請求才能完成數(shù)據(jù)傳輸,本發(fā)明在 僅使用存儲器內(nèi)2048字節(jié)的存儲器空間的情況下,本方法只需要一次CPU中斷
請求就可以完成,可以將CPU中斷的效率提升1024倍??梢?,這對于系統(tǒng)效率 的提升是幾何級的。
采用本發(fā)明的方法可以節(jié)約大量的FPGA片內(nèi)存儲器資源如在8路參數(shù)外 設(shè)都以l. 152Mbyte/s速率收發(fā)數(shù)據(jù)時,共需掘byte片內(nèi)存儲器空間,現(xiàn)階段 只有200-300美元甚至更高價位的FPGA器件才能滿足這種需求。而在大多數(shù)應(yīng) 用中,考慮到成本,使用這么昂貴的FPGA器件顯然是一種巨大的浪費。使用 本發(fā)明的方法實現(xiàn),則幾乎不需要占用FPGA片內(nèi)的任何存儲器資源,對FPGA 芯片的要求大幅降低,可以采用更低成本的FPGA器件。而片外通用存儲器可 以輕易獲得8MByte以上的容量。
采用本發(fā)明的方法,在增加外部存儲器并將其指定為不同的參數(shù)外設(shè)的 從設(shè)備時,多個參數(shù)外設(shè)可以同時訪問各自的存儲器,也即多參數(shù)外設(shè)可以 同時進(jìn)行數(shù)據(jù)傳輸和存儲,因此對參數(shù)外設(shè)的數(shù)據(jù)傳輸和存儲效率進(jìn)一步提 高、成本更低。
本發(fā)明的方法可以應(yīng)用不同的總線實現(xiàn),只需根據(jù)總線特性采用不同的 接口邏輯,靈活性好,通用性強。
圖l是本發(fā)明系統(tǒng)結(jié)構(gòu)圖。
圖2是本發(fā)明為參數(shù)外設(shè)定制的一種寫接口邏輯示意圖。 圖3是本發(fā)明為參數(shù)外設(shè)定制的一種讀接口邏輯示意圖。 圖4接口時序圖。
具體實施方式
下面通過具體的實施例并結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)的描述。 硬核CPU是以硅片的形式提交給用戶的,它的主頻比較高,性能優(yōu)越,但 是一旦完成電路板制作,就無法更改,無法升級。軟核CPU則是以設(shè)計文件的 形式提交給用戶,其性能稍弱于硬核CPU,但是其成本低,設(shè)計靈活,可多次 升級。本例的具體實施方案中采用了Altera公司的FPGA芯片搭配NiosII軟核 CPU來實現(xiàn)。
Avalon總線把所有掛接在總線上的設(shè)備分成兩種類型主設(shè)備(Master) 和從設(shè)備(Slave)。在數(shù)據(jù)傳輸中,Master采取主動,而Slave則是被操作 的一方。Master和Slave—般都是FPGA片外的外設(shè),比如監(jiān)護(hù)儀參數(shù)測量電路
模塊、以太網(wǎng)MAC、 SDRAM、 Flash等各異的設(shè)備。這取決于嵌入式系統(tǒng)具體的 應(yīng)用。
請參考如圖l所示的系統(tǒng)框圖,本方案中,把所有的前端參數(shù)外設(shè)都設(shè)置 為Master,通過接口和轉(zhuǎn)換邏輯模塊掛在Avalon總線上,該邏輯完成信號接 口以及信號識別、變換以及協(xié)議轉(zhuǎn)換等功能。SDRMI作為參數(shù)外設(shè)儲存數(shù)據(jù)的 對象設(shè)置為Slave。在這種系統(tǒng)設(shè)計下,參數(shù)外設(shè)可以繞開CPU操作SDRAM。 CPU 和參數(shù)外設(shè)讀寫對象都是存儲器,存在一個競爭關(guān)系。Avalon總線機制中含 有內(nèi)部仲裁,通過接口的等待請求(waitrequest)信號來協(xié)調(diào)這種競爭。參 數(shù)外設(shè)給出的數(shù)據(jù)、地址、寫和片選信號都必須維持到waitrequest無效。當(dāng) waitrequest信號有效時,表示當(dāng)前傳輸尚未完成,數(shù)據(jù)、地址、寫和片選信號 都必須保持不變。當(dāng)總線發(fā)出的waitrequest信號無效時,說明當(dāng)前傳輸已經(jīng)結(jié) 束,參數(shù)外設(shè)此時對存儲器進(jìn)行訪問。讀/寫接口邏輯設(shè)計及時序如圖2、圖3、 圖4所示。
本例采用一個獨特的雙緩沖機制完成存儲/讀取任務(wù),其中涵蓋兩個子 項基于包的和不基于包的。每一個參數(shù)外設(shè)數(shù)據(jù)通道在SDRAM內(nèi)分配兩塊獨 立的存儲空間A和B完成外設(shè)上傳數(shù)據(jù)的存儲。參數(shù)外設(shè)首先往A空間內(nèi)存數(shù), 當(dāng)A內(nèi)存儲的數(shù)據(jù)累積到預(yù)定量的時候,參數(shù)外設(shè)給CPU發(fā)一個中斷請求,CPU 從A空間取走數(shù)據(jù)。CPU讀A空間時,參數(shù)外設(shè)可以繼續(xù)往B空間寫入數(shù)據(jù)。參 數(shù)外設(shè)在B空間寫入預(yù)定量的數(shù)據(jù)后,發(fā)中斷請求,CPU從B空間讀取數(shù)據(jù),參 數(shù)外設(shè)繼續(xù)將數(shù)據(jù)寫入A空間,依此類推。在基于包的子機制下,預(yù)定量時指 一個包。包頭內(nèi)用一個標(biāo)志位紀(jì)錄包的長度,當(dāng)CPU讀取包時,就能首先獲得 正確的包長信息,再將整個包的數(shù)據(jù)連續(xù)讀出取走。包內(nèi)數(shù)據(jù)通過特定的協(xié) 議保持包格式,這不是本發(fā)明的重點所在,不作詳細(xì)敘述。在不基于包的子 機制下,預(yù)定量時指數(shù)據(jù)填滿A空間或B空間,CPU需在參數(shù)外設(shè)寫滿另一個空 間之前將數(shù)據(jù)取走。這種A、 B存儲器空間交替使用的機制,有效地保證了數(shù) 據(jù)傳輸?shù)倪B貫性和可靠性。整個數(shù)據(jù)傳輸過程中所產(chǎn)生的CPU中斷非常少,主 要就在于最后讀數(shù)據(jù)包那個階段。較之現(xiàn)有技術(shù)的方法,所需的CPU中斷數(shù)量 有了幾何級數(shù)的下降,系統(tǒng)簡潔而高效。
雙緩沖機制具有擴展性,可以延伸設(shè)計為多緩沖機制。 當(dāng)參數(shù)外設(shè)進(jìn)行測量時,將處理后的人體生理指數(shù)信息數(shù)據(jù)寫入A空間。 寫入時序為,接口和轉(zhuǎn)換邏輯發(fā)出地址,數(shù)據(jù)和寫信號,如果waitrequest信
號無效,則一個時鐘周期就可以完成一個數(shù)據(jù)的寫操作,否則,接口和轉(zhuǎn)換
邏輯保持地址、數(shù)據(jù)和寫信號,直到發(fā)出waitrequest信號無效,Avalon總線 在waitrequest無效時完成對SDMM的寫操作。完成一個數(shù)據(jù)的寫操作后,地 址增量邏輯動作,地址加一,以便下一個數(shù)據(jù)到來時寫入下一個地址。
前面描述的都是數(shù)據(jù)上傳,下面闡述一下數(shù)據(jù)下傳。在每一條數(shù)據(jù)通道 中,主機都需要向參數(shù)外設(shè)發(fā)送控制命令等有效信息。每一個數(shù)據(jù)通道在 SDRAM內(nèi)分配了C和D兩塊存儲器空間保存下行數(shù)據(jù),當(dāng)CPU需要向參數(shù)外設(shè)發(fā) 送控制命令等有效信息時,需要先將數(shù)據(jù)寫入存儲器。
當(dāng)CPU先把批量信息寫入C空間,完成之后給接口和轉(zhuǎn)換邏輯發(fā)一個啟動 信號,接口和轉(zhuǎn)換邏輯取走數(shù)據(jù)。接口和轉(zhuǎn)換邏輯發(fā)出地址和讀信號,等待 waitrequest信號無效。當(dāng)waitrequest信號無效時,數(shù)據(jù)就出現(xiàn)在數(shù)據(jù)線上,
接口和轉(zhuǎn)換采樣數(shù)據(jù),并發(fā)送給測量模塊,同時地址增量邏輯將地址加一, 繼續(xù)進(jìn)行上述訪問操作,直至讀完數(shù)據(jù)。
當(dāng)參數(shù)外設(shè)讀取C空間數(shù)據(jù)時,CPU若有數(shù)據(jù)需要傳遞給參數(shù)外設(shè),可以 寫入D空間,并發(fā)一個啟動信號。接口和轉(zhuǎn)換邏輯鎖存此啟動信號,在完成C 空間數(shù)據(jù)發(fā)送后再來讀取D空間數(shù)據(jù)并發(fā)送。這樣兩個空間交替使用,CPU和 參數(shù)外設(shè)可以并行操作,提升效率。
此外需要申明的一點是,作為嵌入式開發(fā)的核心處理器件,軟核與硬核 在本質(zhì)上并無不同。本方法在硬核系列的ARM以及Xilinx公司的軟核 Microblaze等嵌入式CPU架構(gòu)下同樣可以實現(xiàn)相同的功能,只是所借助的總線 機制根據(jù)CPU的不同會有所變化。在NiosII系統(tǒng)中,采用的是Avalon總線,在 ARM架構(gòu)下則是AHB/APB總線,在Microblaze架構(gòu)下也有相似的OPB/LMB總 線去完成類似的功能。
本方法可以應(yīng)用于與監(jiān)護(hù)儀具有類似數(shù)據(jù)傳輸風(fēng)格的儀器,完成大數(shù)據(jù) 量的上傳、存儲、中轉(zhuǎn)。
權(quán)利要求
1、一種多外設(shè)自主數(shù)據(jù)傳輸與存儲方法,包括如下步驟(1)將掛接在總線上的參數(shù)外設(shè)設(shè)置為主設(shè)備,將掛接在總線上的外部存儲器設(shè)置為從設(shè)備;(2)參數(shù)外設(shè)通過總線主動對外部存儲器進(jìn)行數(shù)據(jù)傳輸與存儲。
2、 如權(quán)利要求1所述的多外設(shè)自主數(shù)據(jù)傳輸與存儲方法,其特征是 還包括步驟(3)主控制器讀取參數(shù)外設(shè)寫入外部存儲器內(nèi)的數(shù)據(jù)。
3、 如權(quán)利要求l所述的多外設(shè)自主數(shù)據(jù)傳輸與存儲方法,其特征是 還包括主控制器向參數(shù)外設(shè)下傳數(shù)據(jù)的過程主控制器將下行數(shù)據(jù)寫入外部 存儲器內(nèi),參數(shù)外設(shè)從外部存儲器讀取讀下行數(shù)據(jù)。
4、 如權(quán)利要求1所述的多外設(shè)自主數(shù)據(jù)傳輸與存儲方法,其特征是 所述參數(shù)外設(shè)通過接口和轉(zhuǎn)換邏輯模塊掛接在總線上,所述接口和轉(zhuǎn)換邏輯 模塊完成包括信號接口以及信號識別、變換以及協(xié)議轉(zhuǎn)換的功能。
5、 如權(quán)利要求l所述的多外設(shè)自主數(shù)據(jù)傳輸與存儲方法,其特征是 所述存儲器為多個,每一存儲器設(shè)置為一個或多個參數(shù)外設(shè)的從設(shè)備;不同 參數(shù)外設(shè)同時通過總線主動對各自對應(yīng)的不同存儲器進(jìn)行數(shù)據(jù)傳輸與存儲。
6、 如權(quán)利要求2所述的多外設(shè)自主數(shù)據(jù)傳輸與存儲方法,其特征是 系統(tǒng)主控制器與所述參數(shù)外設(shè)之間存在對所述存儲器進(jìn)行讀寫的競爭關(guān)系, 總線機制通過內(nèi)部仲裁協(xié)調(diào)該競爭。
7、 如權(quán)利要求2所述的多外設(shè)自主數(shù)據(jù)傳輸與存儲方法,其特征是 所述步驟(2)、步驟(3)數(shù)據(jù)傳輸與存儲過程采用多緩沖機制,包括如下具 體步驟:外部存儲器為每一參數(shù)外設(shè)數(shù)據(jù)通道分配至少兩塊獨立的存儲空間A 和存儲空間B;參數(shù)外設(shè)首先往存儲空間A內(nèi)存放數(shù)據(jù)至預(yù)定量;參數(shù)外設(shè) 給主控制器發(fā)出中斷請求,主控制器從存儲空間A讀取數(shù)據(jù);主控制器讀取 存儲空間A的數(shù)據(jù)時,參數(shù)外設(shè)往存儲空間B寫入數(shù)據(jù)至預(yù)定量;參數(shù)外設(shè) 給主控制器發(fā)中斷請求,主控制器從存儲空間B讀取數(shù)據(jù);參數(shù)外設(shè)繼續(xù)將 數(shù)據(jù)寫入存儲空間A。如權(quán)利要求1所述的多外設(shè)數(shù)據(jù)自主傳輸與存儲方法, 其特征是還包括主控制器向參數(shù)外設(shè)下行數(shù)據(jù)的過程主控制器將下行數(shù) 據(jù)寫入外部存儲器,參數(shù)外設(shè)讀取該下行數(shù)據(jù)。
8、 如權(quán)利要求3所述的多外設(shè)自主數(shù)據(jù)傳輸與存儲方法,其特征是所述主控制器向參數(shù)外設(shè)下行數(shù)據(jù)的過程采用多緩沖機制,包括如下具體步 驟外部存儲器為每一參數(shù)外設(shè)分配至少兩塊獨立的存儲空間C和存儲空間 D;當(dāng)主控制器需要向參數(shù)外設(shè)發(fā)送有效信息時,先將數(shù)據(jù)寫入存儲空間C, 發(fā)出一個啟動信號,由接口和轉(zhuǎn)換邏輯模塊讀取存儲空間C有效信息傳送給 參數(shù)外設(shè);當(dāng)參數(shù)外設(shè)讀取存儲空間C數(shù)據(jù)時,主控制器若有數(shù)據(jù)需要傳遞 給參數(shù)外設(shè),則寫入存儲空間D,并發(fā)出一個啟動信號,接口和轉(zhuǎn)換邏輯模塊 在完成存儲空間C的數(shù)據(jù)讀取和發(fā)送后,再來讀取D空間數(shù)據(jù)并發(fā)送給參數(shù) 外設(shè)。
9、 如權(quán)利要求6所述的多外設(shè)自主數(shù)據(jù)傳輸與存儲方法,其特征是 所述競爭關(guān)系的協(xié)調(diào)過程包括當(dāng)所述參數(shù)外設(shè)與外部存儲器進(jìn)行數(shù)據(jù)傳輸 時,如果總線被其他外設(shè)占用,總線仲裁邏輯向參數(shù)外設(shè)發(fā)出等待信號,參 數(shù)外設(shè)在等待信號有效期間保持發(fā)往外部存儲器信號,該等待信號失效后, 參數(shù)外設(shè)和外部存儲器占用總線,完成本次數(shù)據(jù)傳輸。
10、 如權(quán)利要求7所述的多外設(shè)自主數(shù)據(jù)傳輸與存儲方法,其特征是: 在基于包的數(shù)據(jù)傳輸子機制下,所述預(yù)定量指一個包;在不基于包的數(shù)據(jù)傳 輸子機制下,所述預(yù)定量指數(shù)據(jù)填滿存儲空間A或存儲空間B時的數(shù)據(jù)量。
全文摘要
本發(fā)明公開一種多外設(shè)數(shù)據(jù)自主傳輸與存儲方法,包括如下步驟將掛接在總線上的前端參數(shù)外設(shè)設(shè)置為主設(shè)備,將掛接在總線上的存儲器設(shè)置為從設(shè)備;參數(shù)外設(shè)通過總線主動對存儲器進(jìn)行數(shù)據(jù)傳輸與存儲;參數(shù)外設(shè)的增加不占用額外的CPU資源及片內(nèi)有限的存儲器資源,軟件開銷低,該方法可以實現(xiàn)大數(shù)據(jù)量高速傳輸,因此對參數(shù)外設(shè)的數(shù)據(jù)傳輸和存儲效率高、成本低,可適用于監(jiān)護(hù)儀等儀器進(jìn)行多個端口高速數(shù)據(jù)流同時傳輸并存儲。
文檔編號G06F13/38GK101114269SQ20061006193
公開日2008年1月30日 申請日期2006年7月28日 優(yōu)先權(quán)日2006年7月28日
發(fā)明者能 丁, 力 姚, 洋 黃 申請人:深圳邁瑞生物醫(yī)療電子股份有限公司