專利名稱:Sd卡數(shù)據(jù)的傳輸/調(diào)度方法、裝置及數(shù)據(jù)采集系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)采集技術(shù)領(lǐng)域,尤其涉及一種SD卡數(shù)據(jù)的傳輸/調(diào)度方法、裝置及數(shù)據(jù)采集系統(tǒng)。
背景技術(shù):
實(shí)時(shí)系統(tǒng)(Real-time Operating System,RT0S)為能夠在指定或者確定的時(shí)間內(nèi)完成系統(tǒng)功能和外部或內(nèi)部、同步或異步時(shí)間做出響應(yīng)的系統(tǒng)。因此實(shí)時(shí)系統(tǒng)應(yīng)該具備在定義的時(shí)間范圍內(nèi)識(shí)別和處理離散事件的能力,能夠處理和存儲(chǔ)控制系統(tǒng)所需要的大量數(shù)據(jù)。在實(shí)時(shí)系統(tǒng)中,一般每個(gè)程序所占用的時(shí)間片都存在合理的分配。因此,任何一個(gè)程序所占用的系統(tǒng)時(shí)間資源過(guò)多,會(huì)導(dǎo)致系統(tǒng)的崩潰或者對(duì)激勵(lì)無(wú)法響應(yīng)。因此,針對(duì)需采集并存儲(chǔ)大量數(shù)據(jù)的實(shí)時(shí)系統(tǒng),設(shè)計(jì)一種能有效控制數(shù)據(jù)采集及傳輸時(shí)間的方法是亟需解決的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的主要目的是提供一種SD卡數(shù)據(jù)的傳輸/調(diào)度方法,旨在有效地控制數(shù)據(jù)的采集及傳輸。本發(fā)明提供了一種SD卡數(shù)據(jù)的傳輸/調(diào)度方法,包括以下步驟:接收需存儲(chǔ)于SD卡的數(shù)據(jù);將需存儲(chǔ)于SD卡的數(shù)據(jù)進(jìn)行數(shù)據(jù)流處理,寫入內(nèi)存緩沖區(qū);將所述內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行分割處理;將經(jīng)過(guò)分割處理的數(shù)據(jù)流傳輸至SD卡進(jìn)行存儲(chǔ)。優(yōu)選地,所述實(shí)時(shí)系統(tǒng)中SD卡數(shù)據(jù)的傳輸/調(diào)度方法還包括:接收外部設(shè)備發(fā)送的數(shù)據(jù)讀取指令;根據(jù)數(shù)據(jù)讀取指令,對(duì)SD卡上的數(shù)據(jù)流進(jìn)行分割處理;將SD卡上經(jīng)過(guò)分割處理的數(shù)據(jù)流傳輸至內(nèi)存緩沖區(qū);將所述內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行處理,形成實(shí)時(shí)系統(tǒng)數(shù)據(jù),供外部設(shè)備進(jìn)行獲取。優(yōu)選地,所述將內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行分割處理或?qū)D卡上的數(shù)據(jù)流進(jìn)行分割處理的步驟具體包括:判斷數(shù)據(jù)流傳輸?shù)臅r(shí)間是否超過(guò)實(shí)時(shí)系統(tǒng)為數(shù)據(jù)流傳輸分配的時(shí)間;若是,則將數(shù)據(jù)流進(jìn)行分割,直至分割后的數(shù)據(jù)流的傳輸時(shí)間低于實(shí)時(shí)系統(tǒng)為數(shù)據(jù)流傳輸分配的時(shí)間。本發(fā)明還提供了一種SD卡數(shù)據(jù)的傳輸/調(diào)度裝置,包括:數(shù)據(jù)接收模塊,用于接收需存儲(chǔ)于SD卡的數(shù)據(jù);數(shù)據(jù)處理模塊,用于將需存儲(chǔ)于SD卡的數(shù)據(jù)進(jìn)行數(shù)據(jù)流處理,并寫入內(nèi)存緩沖區(qū);還用于將內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行分割處理;
數(shù)據(jù)傳輸模塊,用于將經(jīng)過(guò)分割處理的數(shù)據(jù)流傳輸至SD卡進(jìn)行存儲(chǔ)。優(yōu)選地,所述數(shù)據(jù)傳輸/調(diào)度裝置還包括:指令接收模塊,用于接收外部設(shè)備發(fā)送的數(shù)據(jù)讀取指令;所述數(shù)據(jù)處理模塊,還用于根據(jù)數(shù)據(jù)讀取指令,對(duì)SD卡上的數(shù)據(jù)流進(jìn)行分割處理;還用于將內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行處理,形成實(shí)時(shí)系統(tǒng)數(shù)據(jù),供外部設(shè)備進(jìn)行獲??;所述數(shù)據(jù)傳輸模塊,還用于將SD卡上經(jīng)過(guò)分割的數(shù)據(jù)流傳輸至內(nèi)存緩沖區(qū)。優(yōu)選地,所述數(shù)據(jù)處理模塊具體用于:判斷數(shù)據(jù)流傳輸?shù)臅r(shí)間是否超過(guò)實(shí)時(shí)系統(tǒng)為數(shù)據(jù)流傳輸分配的時(shí)間;若是,則將數(shù)據(jù)流進(jìn)行分割,直至分割后的數(shù)據(jù)流的傳輸時(shí)間低于實(shí)時(shí)系統(tǒng)為數(shù)據(jù)流傳輸分配的時(shí)間。本發(fā)明又提供了一種數(shù)據(jù)采集系統(tǒng),包括:數(shù)據(jù)監(jiān)控裝置,用于根據(jù)預(yù)置的配置參數(shù),對(duì)所述實(shí)時(shí)系統(tǒng)的數(shù)據(jù)進(jìn)行監(jiān)控,并在實(shí)時(shí)系統(tǒng)發(fā)生故障時(shí),對(duì)其進(jìn)行數(shù)據(jù)采集;數(shù)據(jù)傳輸/調(diào)度裝置,包括:數(shù)據(jù)接收模塊,用于接收數(shù)據(jù)監(jiān)控裝置采集的數(shù)據(jù);數(shù)據(jù)處理模塊,用于將數(shù)據(jù)監(jiān)控裝置采集的數(shù)據(jù)進(jìn)行數(shù)據(jù)流處理,并寫入內(nèi)存緩沖區(qū);還用于將內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行分割處理;數(shù)據(jù)傳輸模塊,用于將經(jīng)過(guò)分割處理的數(shù)據(jù)流傳輸至SD卡進(jìn)行存儲(chǔ)。本發(fā)明根據(jù)預(yù)置的傳輸策略,對(duì)所需存儲(chǔ)的數(shù)據(jù)進(jìn)行分割后再傳輸至SD卡或者對(duì)需讀取的數(shù)據(jù)進(jìn)行分割后再?gòu)腟D卡進(jìn)行讀取,從而既保證了數(shù)據(jù)傳輸至SD卡所執(zhí)行的時(shí)間或者從SD卡讀取數(shù)據(jù)所執(zhí)行的時(shí)間不占用過(guò)多的系統(tǒng)時(shí)間資源,也保證了數(shù)據(jù)傳輸?shù)恼_性和完整性,從而有效地解決了實(shí)時(shí)系統(tǒng)中數(shù)據(jù)的存儲(chǔ)及讀取問(wèn)題。
圖1是本發(fā)明SD卡數(shù)據(jù)的傳輸/調(diào)度方法一實(shí)施例的流程示意圖;圖2是本發(fā)明SD卡數(shù)據(jù)的傳輸/調(diào)度方法一實(shí)施例中將內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行分割處理的流程示意圖;圖3是本發(fā)明SD卡數(shù)據(jù)的傳輸/調(diào)度方法另一實(shí)施例的流程示意圖;圖4是本發(fā)明SD卡數(shù)據(jù)的傳輸/調(diào)度方法另一實(shí)施例中將SD卡上的數(shù)據(jù)流進(jìn)行分割處理的流程示意圖;圖5是本發(fā)明SD卡數(shù)據(jù)的傳輸/調(diào)度裝置一實(shí)施例的結(jié)構(gòu)示意圖;圖6是本發(fā)明SD卡數(shù)據(jù)的傳輸/調(diào)度裝置另一實(shí)施例的結(jié)構(gòu)示意圖;圖7是本發(fā)明數(shù)據(jù)采集系統(tǒng)一實(shí)施例的結(jié)構(gòu)示意圖。本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。
具體實(shí)施例方式以下結(jié)合說(shuō)明書附圖及具體實(shí)施例進(jìn)一步說(shuō)明本發(fā)明的技術(shù)方案。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。圖1是本發(fā)明SD卡數(shù)據(jù)的傳輸/調(diào)度方法一實(shí)施例的流程示意圖。
參照?qǐng)D1,本發(fā)明SD卡數(shù)據(jù)的傳輸/調(diào)度方法包括以下步驟:步驟S01、接收需存儲(chǔ)于SD卡的數(shù)據(jù);當(dāng)實(shí)時(shí)系統(tǒng)中通過(guò)數(shù)據(jù)采集裝置對(duì)實(shí)時(shí)系統(tǒng)中的數(shù)據(jù)采集后,一般都會(huì)將其存儲(chǔ),例如存儲(chǔ)于SD卡。步驟S02、將需存儲(chǔ)于SD卡的數(shù)據(jù)進(jìn)行數(shù)據(jù)流處理,并寫入內(nèi)存緩沖區(qū);具體地,進(jìn)行數(shù)據(jù)流處理主要包括:將需存儲(chǔ)于SD卡的數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,形成統(tǒng)一格式的數(shù)據(jù)流,例如16位的數(shù)據(jù)流;然后將其進(jìn)行拆分,并將拆分的數(shù)據(jù)依次寫入內(nèi)存的緩沖區(qū)中。當(dāng)然,進(jìn)行數(shù)據(jù)流處理還可以包括:在寫入內(nèi)存的緩沖區(qū)時(shí),可以按照SD卡物理層的特性,將其數(shù)據(jù)流根據(jù)高8位、低8位進(jìn)行寫入。步驟S03、將所述內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行分割處理;步驟S04、將經(jīng)過(guò)分割處理的數(shù)據(jù)流傳輸至SD卡進(jìn)行存儲(chǔ)。由于在實(shí)時(shí)系統(tǒng)中,每個(gè)程序所占用的時(shí)間片均為合理地分配。因此,如果任何一個(gè)程序所占用的系統(tǒng)時(shí)間資源過(guò)多,則會(huì)導(dǎo)致系統(tǒng)的崩潰或者對(duì)激勵(lì)無(wú)法響應(yīng)。因此,在將內(nèi)存緩沖區(qū)的數(shù)據(jù)存儲(chǔ)于SD卡之前,還需要根據(jù)傳輸策略將緩沖區(qū)中的數(shù)據(jù)流進(jìn)行分割,再將分割后的數(shù)據(jù)流傳輸至SD卡進(jìn)行存儲(chǔ)。該傳輸策略為控制數(shù)據(jù)存儲(chǔ)的程序執(zhí)行時(shí)間,同時(shí)還要保證數(shù)據(jù)傳輸?shù)恼_性和完整性。參照?qǐng)D2,上述步驟S03進(jìn)一步包括:步驟S031、判斷數(shù)據(jù)流傳輸?shù)臅r(shí)間是否超過(guò)實(shí)時(shí)系統(tǒng)為數(shù)據(jù)流傳輸分配的時(shí)間;若是,則執(zhí)行步驟S032 ;否則執(zhí)行步驟S04 ;預(yù)估該數(shù)據(jù)流傳輸?shù)臅r(shí)間,并判斷該數(shù)據(jù)流傳輸?shù)臅r(shí)間是否超過(guò)實(shí)時(shí)系統(tǒng)為其分配的時(shí)間。步驟S032、將數(shù)據(jù)流分割為多個(gè)數(shù)據(jù)流,并返回執(zhí)行步驟S031 ;如果該數(shù)據(jù)流傳輸?shù)臅r(shí)間超過(guò)了實(shí)時(shí)系統(tǒng)為其分配的時(shí)間,則將長(zhǎng)數(shù)據(jù)幀的數(shù)據(jù)流分割為多個(gè)短數(shù)據(jù)幀的數(shù)據(jù)流,直至數(shù)據(jù)流傳輸?shù)臅r(shí)間低于實(shí)時(shí)系統(tǒng)為其分配的時(shí)間。如果判斷該數(shù)據(jù)流傳輸?shù)臅r(shí)間低于實(shí)時(shí)系統(tǒng)為其分配的時(shí)間,則將該數(shù)據(jù)流依次傳輸至SD卡進(jìn)行存儲(chǔ)。本發(fā)明實(shí)施例根據(jù)傳輸策略,對(duì)需存儲(chǔ)于SD卡的數(shù)據(jù)先進(jìn)行分割處理,再將其傳輸至SD卡進(jìn)行存儲(chǔ),從而既保證了數(shù)據(jù)傳輸至SD卡所執(zhí)行的時(shí)間不占用過(guò)多的系統(tǒng)時(shí)間資源,也保證了數(shù)據(jù)傳輸?shù)恼_性和完整性,從而有效地解決了實(shí)時(shí)系統(tǒng)中數(shù)據(jù)的存儲(chǔ)問(wèn)題。圖3是本發(fā)明SD卡數(shù)據(jù)的傳輸/調(diào)度方法另一實(shí)施例的流程示意圖。參照?qǐng)D3,在上述方法實(shí)施例的步驟S04之后還包括:步驟S05、接收外部設(shè)備發(fā)送的數(shù)據(jù)讀取指令;該數(shù)據(jù)讀取指令可以為實(shí)時(shí)系統(tǒng)發(fā)生故障時(shí)觸發(fā)產(chǎn)生的。該數(shù)據(jù)讀取指令也可以為用戶通過(guò)外部設(shè)備發(fā)出的,即用戶需要獲取發(fā)生故障時(shí)存儲(chǔ)的實(shí)時(shí)系統(tǒng)數(shù)據(jù)時(shí),可以發(fā)出數(shù)據(jù)讀取指令。該數(shù)據(jù)讀取指令也可以為外部設(shè)備間隔自動(dòng)觸發(fā)產(chǎn)生,例如,通過(guò)預(yù)置一定時(shí)器,并設(shè)定時(shí)間周期,則每隔一個(gè)時(shí)間周期,就觸發(fā)產(chǎn)生數(shù)據(jù)讀取指令。步驟S06、根據(jù)數(shù)據(jù)讀取指令,對(duì)SD卡上的數(shù)據(jù)流進(jìn)行分割處理;步驟S07、將SD卡上經(jīng)過(guò)分割處理的數(shù)據(jù)流傳輸至內(nèi)存緩沖區(qū);
根據(jù)數(shù)據(jù)讀取指令,讀取SD卡物理層上的數(shù)據(jù)流,并判斷該數(shù)據(jù)流傳輸?shù)臅r(shí)間是否超過(guò)實(shí)時(shí)系統(tǒng)為其分配的時(shí)間,是則對(duì)SD卡上的數(shù)據(jù)流進(jìn)行分割,形成多個(gè)短數(shù)據(jù)幀的數(shù)據(jù)流,最后再將分割后的數(shù)據(jù)流傳輸至內(nèi)存緩沖區(qū)。步驟S08、將所述內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行處理,形成實(shí)時(shí)系統(tǒng)數(shù)據(jù),供外部設(shè)備進(jìn)行獲取。具體地,與數(shù)據(jù)存儲(chǔ)至SD卡中進(jìn)行數(shù)據(jù)流處理的過(guò)程對(duì)應(yīng),對(duì)從SD卡上傳輸至內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行數(shù)據(jù)拼接處理,形成16位的數(shù)據(jù)流,再將緩沖區(qū)中的數(shù)據(jù)流進(jìn)行格式轉(zhuǎn)換,形成實(shí)時(shí)系統(tǒng)數(shù)據(jù),供外部設(shè)備進(jìn)行獲取。參照?qǐng)D4,上述步驟S06進(jìn)一步包括:步驟S061、判斷數(shù)據(jù)流傳輸?shù)臅r(shí)間是否超過(guò)實(shí)時(shí)系統(tǒng)為數(shù)據(jù)流傳輸分配的時(shí)間;若是,則執(zhí)行步驟S062 ;否則執(zhí)行步驟S07 ;步驟S062、將數(shù)據(jù)流分割為多個(gè)數(shù)據(jù)流,并返回執(zhí)行步驟S061 ;本發(fā)明實(shí)施例根據(jù)傳輸策略,對(duì)從SD卡的數(shù)據(jù)先進(jìn)行分割處理,再對(duì)分割后的SD卡數(shù)據(jù)進(jìn)行讀取,從而既保證了從SD卡讀取數(shù)據(jù)所執(zhí)行的時(shí)間不占用過(guò)多的系統(tǒng)時(shí)間資源,也保證了數(shù)據(jù)傳輸?shù)恼_性和完整性,從而有效地解決了實(shí)時(shí)系統(tǒng)中數(shù)據(jù)的存儲(chǔ)問(wèn)題。圖5是本發(fā)明SD卡數(shù)據(jù)的傳輸/調(diào)度裝置一實(shí)施例的結(jié)構(gòu)示意圖。參照?qǐng)D5,本發(fā)明SD卡數(shù)據(jù)的傳輸/調(diào)度裝置包括:數(shù)據(jù)接收模塊10,用于接收需存儲(chǔ)于SD卡的數(shù)據(jù);數(shù)據(jù)處理模塊20,用于將需存儲(chǔ)于SD卡的數(shù)據(jù)進(jìn)行數(shù)據(jù)流處理,并寫入內(nèi)存緩沖區(qū);還用于將內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行分割處理;數(shù)據(jù)傳輸模塊30,用于將經(jīng)過(guò)分割處理的數(shù)據(jù)流傳輸至SD卡進(jìn)行存儲(chǔ)。當(dāng)實(shí)時(shí)系統(tǒng)發(fā)生故障時(shí),數(shù)據(jù)采集裝置將采集的數(shù)據(jù)發(fā)送至數(shù)據(jù)接收模塊10。數(shù)據(jù)處理模塊20則將數(shù)據(jù)接收模塊10接收的采集數(shù)據(jù)進(jìn)行數(shù)據(jù)流處理,具體包括:將需存儲(chǔ)于SD卡的數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,形成統(tǒng)一格式的數(shù)據(jù)流,例如16位的數(shù)據(jù)流;然后將其進(jìn)行拆分,并將拆分的數(shù)據(jù)依次寫入內(nèi)存的緩沖區(qū)中。當(dāng)然,進(jìn)行數(shù)據(jù)流處理還可以包括:在寫入內(nèi)存的緩沖區(qū)時(shí),可以按照SD卡物理層的特性,將其數(shù)據(jù)流根據(jù)高8位、低8位進(jìn)行寫入。該數(shù)據(jù)處理模塊20還根據(jù)傳輸策略將內(nèi)存緩沖區(qū)中的數(shù)據(jù)流進(jìn)行分割。數(shù)據(jù)傳輸模塊30再將分割后的數(shù)據(jù)流傳輸至SD卡進(jìn)行存儲(chǔ)。該傳輸策略為控制數(shù)據(jù)存儲(chǔ)的程序執(zhí)行時(shí)間,同時(shí)還要保證數(shù)據(jù)傳輸?shù)恼_性和完整性。具體地,數(shù)據(jù)處理模塊20可以預(yù)估給數(shù)據(jù)流傳輸?shù)臅r(shí)間,并判斷數(shù)據(jù)流傳輸?shù)臅r(shí)間是否超過(guò)實(shí)時(shí)系統(tǒng)為數(shù)據(jù)流傳輸分配的時(shí)間;是則將數(shù)據(jù)流進(jìn)行分割,將長(zhǎng)數(shù)據(jù)幀的數(shù)據(jù)流分割為多個(gè)短數(shù)據(jù)幀的數(shù)據(jù)流,直至分割后的數(shù)據(jù)流的傳輸時(shí)間低于實(shí)時(shí)系統(tǒng)為數(shù)據(jù)流傳輸分配的時(shí)間;否則不做分割操作。最后,數(shù)據(jù)傳輸模塊30再將數(shù)據(jù)流傳輸至SD卡進(jìn)行存儲(chǔ)。本發(fā)明實(shí)施例根據(jù)傳輸策略,對(duì)需存儲(chǔ)于SD卡的數(shù)據(jù)先進(jìn)行分割處理,再將其傳輸至SD卡進(jìn)行存儲(chǔ),從而既保證了數(shù)據(jù)傳輸至SD卡所執(zhí)行的時(shí)間不占用過(guò)多的系統(tǒng)時(shí)間資源,也保證了數(shù)據(jù)傳輸?shù)恼_性和完整性,從而有效地解決了實(shí)時(shí)系統(tǒng)中數(shù)據(jù)的存儲(chǔ)問(wèn)題。圖6是本發(fā)明SD卡數(shù)據(jù)的傳輸/調(diào)度裝置另一實(shí)施例的結(jié)構(gòu)示意圖。參照?qǐng)D6,在上述裝置實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例實(shí)時(shí)系統(tǒng)中SD卡數(shù)據(jù)的傳輸/調(diào)度裝置還包括:指令接收模塊40,用于接收外部設(shè)備發(fā)送的數(shù)據(jù)讀取指令;所述數(shù)據(jù)處理模塊20,用于根據(jù)數(shù)據(jù)讀取指令,對(duì)SD卡上的數(shù)據(jù)流進(jìn)行分割處理;還用于將內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行處理,形成實(shí)時(shí)系統(tǒng)數(shù)據(jù),供外部設(shè)備進(jìn)行獲??;所述數(shù)據(jù)傳輸模塊30,還用于將SD卡上經(jīng)過(guò)分割的數(shù)據(jù)流傳輸至內(nèi)存緩沖區(qū)。指令接收模塊40接收的數(shù)據(jù)讀取指令可以為實(shí)時(shí)系統(tǒng)發(fā)生故障時(shí)觸發(fā)產(chǎn)生的。該數(shù)據(jù)讀取指令也可以為用戶通過(guò)外部設(shè)備發(fā)出的,即用戶需要獲取發(fā)生故障時(shí)存儲(chǔ)的實(shí)時(shí)系統(tǒng)數(shù)據(jù)時(shí),可以發(fā)出數(shù)據(jù)讀取指令。該數(shù)據(jù)讀取指令也可以為外部設(shè)備間隔自動(dòng)觸發(fā)產(chǎn)生,例如,通過(guò)預(yù)置一定時(shí)器,并設(shè)定時(shí)間周期,則每隔一個(gè)時(shí)間周期,就觸發(fā)產(chǎn)生數(shù)據(jù)讀取指令。然后,數(shù)據(jù)處理模塊20還將根據(jù)該數(shù)據(jù)讀取指令,可以先對(duì)SD卡上的數(shù)據(jù)流進(jìn)行分割,然后數(shù)據(jù)傳輸模塊30將分割后的數(shù)據(jù)流傳輸至內(nèi)存緩沖區(qū)。最后,數(shù)據(jù)處理模塊20再將內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行處理,形成實(shí)時(shí)系統(tǒng)數(shù)據(jù),供外部設(shè)備獲取。具體地,與數(shù)據(jù)存儲(chǔ)至SD卡中進(jìn)行數(shù)據(jù)流處理的過(guò)程對(duì)應(yīng),對(duì)傳輸至內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行數(shù)據(jù)拼接處理,形成16位的數(shù)據(jù)流,最后將緩沖區(qū)中的數(shù)據(jù)流進(jìn)行格式轉(zhuǎn)換,形成實(shí)時(shí)系統(tǒng)數(shù)據(jù)。在這里需要說(shuō)明的是,在數(shù)據(jù)處理模塊20對(duì)SD卡上的數(shù)據(jù)流進(jìn)行分割處理時(shí),可以先判斷該數(shù)據(jù)流傳輸?shù)臅r(shí)間是否超過(guò)實(shí)時(shí)系統(tǒng)為其分配的時(shí)間,是則對(duì)SD卡上的數(shù)據(jù)流進(jìn)行分割,形成多個(gè)短數(shù)據(jù)幀的數(shù)據(jù)流;否則不做分割操作。本發(fā)明實(shí)施例根據(jù)傳輸策略,對(duì)從SD卡的數(shù)據(jù)先進(jìn)行分割處理,再對(duì)分割后的SD卡數(shù)據(jù)進(jìn)行讀取,從而既保證了從SD卡讀取數(shù)據(jù)所執(zhí)行的時(shí)間不占用過(guò)多的系統(tǒng)時(shí)間資源,也保證了數(shù)據(jù)傳輸?shù)恼_性和完整性,從而有效地解決了實(shí)時(shí)系統(tǒng)中數(shù)據(jù)的存儲(chǔ)問(wèn)題。圖7是本發(fā)明數(shù)據(jù)采集系統(tǒng)一實(shí)施例的結(jié)構(gòu)示意圖。參照?qǐng)D6,本發(fā)明數(shù)據(jù)采集系統(tǒng)包括數(shù)據(jù)監(jiān)控裝置100及數(shù)據(jù)傳輸/調(diào)度裝置200。其中,數(shù)據(jù)監(jiān)控裝置100,用于根據(jù)預(yù)置的配置參數(shù),對(duì)所述實(shí)時(shí)系統(tǒng)的數(shù)據(jù)進(jìn)行監(jiān)控,并在實(shí)時(shí)系統(tǒng)發(fā)生故障時(shí),對(duì)其進(jìn)行數(shù)據(jù)采集;實(shí)時(shí)系統(tǒng)例如風(fēng)能變流器系統(tǒng),存在大量的波形數(shù)據(jù)采集,因此通過(guò)對(duì)其系統(tǒng)進(jìn)行數(shù)據(jù)采集,從而可以根據(jù)采集的數(shù)據(jù)及時(shí)地對(duì)系統(tǒng)進(jìn)行調(diào)試或故障分析。該實(shí)時(shí)系統(tǒng)可以通過(guò)AD采集器、FPGA采集器等進(jìn)行數(shù)據(jù)的采集。其中,AD采集器主要用于采集實(shí)時(shí)系統(tǒng)中各個(gè)組成件的模擬信號(hào),并將其轉(zhuǎn)換為數(shù)據(jù)信號(hào);FPGA采集器主要用于采集實(shí)時(shí)系統(tǒng)中各個(gè)組成件的開關(guān)量信號(hào),例如某個(gè)組成件發(fā)生故障產(chǎn)生的脈沖信號(hào)等等。數(shù)據(jù)監(jiān)控裝置100根據(jù)的預(yù)置的配置參數(shù)可以為實(shí)時(shí)系統(tǒng)進(jìn)行數(shù)據(jù)采集時(shí)默認(rèn)的配置參數(shù),例如該風(fēng)能變流器中常用的故障監(jiān)測(cè)參數(shù),即電網(wǎng)A相、B相、C相電壓,逆變器輸出的A相、B相、C相電流等等。該預(yù)置的配置參數(shù)還可以為在實(shí)時(shí)系統(tǒng)中進(jìn)行數(shù)據(jù)采集時(shí)根據(jù)具體情況而進(jìn)行具體配置的參數(shù),例如實(shí)時(shí)系統(tǒng)中需要采集某一部件的具體數(shù)據(jù)。因此,數(shù)據(jù)監(jiān)控裝置100根據(jù)預(yù)置的配置參數(shù),對(duì)該實(shí)時(shí)系統(tǒng)的數(shù)據(jù)進(jìn)行監(jiān)控,接收AD采集器、FPGA采集器采集的數(shù)據(jù),并將其存儲(chǔ)于內(nèi)存中,待該實(shí)時(shí)系統(tǒng)發(fā)生故障時(shí),再將該監(jiān)控的數(shù)據(jù)存儲(chǔ)于SD卡中。具體地,若該預(yù)置的配置參數(shù)為采集實(shí)時(shí)系統(tǒng)中某一部件的具體數(shù)據(jù),則不但對(duì)常用的故障監(jiān)測(cè)數(shù)據(jù)進(jìn)行監(jiān)控,還對(duì)該實(shí)時(shí)系統(tǒng)中采集的該部件的數(shù)據(jù)進(jìn)行監(jiān)控。
再參照?qǐng)D5,上述數(shù)據(jù)傳輸/調(diào)度裝置200,可以包括:數(shù)據(jù)接收模塊10,用于接收數(shù)據(jù)監(jiān)控裝置采集的數(shù)據(jù);數(shù)據(jù)處理模塊20,用于將數(shù)據(jù)監(jiān)控裝置采集的數(shù)據(jù)進(jìn)行數(shù)據(jù)流處理,并寫入內(nèi)存緩沖區(qū);還用于將所述內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行分割處理;數(shù)據(jù)傳輸模塊30,用于將經(jīng)過(guò)分割處理的數(shù)據(jù)流傳輸至SD卡進(jìn)行存儲(chǔ)。當(dāng)實(shí)時(shí)系統(tǒng)發(fā)生故障時(shí),數(shù)據(jù)采集裝置將采集的數(shù)據(jù)發(fā)送至數(shù)據(jù)接收模塊10。數(shù)據(jù)處理模塊20則將數(shù)據(jù)接收模塊10接收的采集數(shù)據(jù)進(jìn)行數(shù)據(jù)流處理,具體包括:將需存儲(chǔ)于SD卡的數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,形成統(tǒng)一格式的數(shù)據(jù)流,例如16位的數(shù)據(jù)流;然后將其進(jìn)行拆分,并將拆分的數(shù)據(jù)依次寫入內(nèi)存的緩沖區(qū)中。當(dāng)然,進(jìn)行數(shù)據(jù)流處理還可以包括:在寫入內(nèi)存的緩沖區(qū)時(shí),可以按照SD卡物理層的特性,將其數(shù)據(jù)流根據(jù)高8位、低8位進(jìn)行寫入。數(shù)據(jù)處理模塊20還根據(jù)傳輸策略將內(nèi)存緩沖區(qū)中的數(shù)據(jù)流進(jìn)行分割,數(shù)據(jù)傳輸模塊30再將分割后的數(shù)據(jù)傳輸至SD卡進(jìn)行存儲(chǔ)。該傳輸策略為控制數(shù)據(jù)存儲(chǔ)的程序執(zhí)行時(shí)間,同時(shí)還要保證數(shù)據(jù)傳輸?shù)恼_性和完整性。上述數(shù)據(jù)處理模塊20在對(duì)內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行分割處理時(shí),可以先預(yù)估該數(shù)據(jù)流傳輸?shù)臅r(shí)間,并判斷數(shù)據(jù)流傳輸?shù)臅r(shí)間是否超過(guò)實(shí)時(shí)系統(tǒng)為數(shù)據(jù)流傳輸分配的時(shí)間;是則將內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行分割,將長(zhǎng)數(shù)據(jù)幀的數(shù)據(jù)流分割為多個(gè)短數(shù)據(jù)幀的數(shù)據(jù)流,直至分割后的數(shù)據(jù)流的傳輸時(shí)間低于實(shí)時(shí)系統(tǒng)為數(shù)據(jù)流傳輸分配的時(shí)間;否則不做分割處理。本發(fā)明實(shí)施例根據(jù)傳輸策略,對(duì)需存儲(chǔ)于SD卡的數(shù)據(jù)先進(jìn)行分割處理,再將其傳輸至SD卡進(jìn)行存儲(chǔ),從而既保證了數(shù)據(jù)傳輸至SD卡所執(zhí)行的時(shí)間不占用過(guò)多的系統(tǒng)時(shí)間資源,也保證了數(shù)據(jù)傳輸?shù)恼_性和完整性,從而有效地解決了實(shí)時(shí)系統(tǒng)中數(shù)據(jù)的存儲(chǔ)問(wèn)題。再參照?qǐng)D6,上述數(shù)據(jù)傳輸/調(diào)度裝置200還可以包括:指令接收模塊40,用于接收外部設(shè)備發(fā)送的數(shù)據(jù)讀取指令;所述數(shù)據(jù)處理模塊20,還用于根據(jù)數(shù)據(jù)讀取指令,對(duì)SD卡上的數(shù)據(jù)流進(jìn)行分割處理;還用于將內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行處理,形成實(shí)時(shí)系統(tǒng)數(shù)據(jù),供外部設(shè)備進(jìn)行獲?。凰鰯?shù)據(jù)傳輸模塊30,還用于將SD卡上經(jīng)過(guò)分割的數(shù)據(jù)流傳輸至內(nèi)存緩沖區(qū)。指令接收模塊40接收的數(shù)據(jù)讀取指令可以為實(shí)時(shí)系統(tǒng)發(fā)生故障時(shí)觸發(fā)產(chǎn)生的。該數(shù)據(jù)讀取指令也可以為用戶通過(guò)外部設(shè)備發(fā)出的,即用戶需要獲取發(fā)生故障時(shí)存儲(chǔ)的實(shí)時(shí)系統(tǒng)數(shù)據(jù)時(shí),可以發(fā)出數(shù)據(jù)讀取指令。該數(shù)據(jù)讀取指令也可以為外部設(shè)備間隔自動(dòng)觸發(fā)產(chǎn)生,例如,通過(guò)預(yù)置一定時(shí)器,并設(shè)定時(shí)間周期,則每隔一個(gè)時(shí)間周期,就觸發(fā)產(chǎn)生數(shù)據(jù)讀取指令。然后,數(shù)據(jù)處理模塊20還將根據(jù)該數(shù)據(jù)讀取指令,對(duì)SD卡上的數(shù)據(jù)流進(jìn)行分割,然后數(shù)據(jù)傳輸模塊30將分割后的數(shù)據(jù)流傳輸至內(nèi)存緩沖區(qū)。最后,數(shù)據(jù)處理模塊20再將內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行處理,形成實(shí)時(shí)系統(tǒng)數(shù)據(jù),供外部設(shè)備獲取。具體地,與數(shù)據(jù)存儲(chǔ)至SD卡中進(jìn)行數(shù)據(jù)流處理的過(guò)程對(duì)應(yīng),對(duì)傳輸至內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行數(shù)據(jù)拼接處理,形成16位的數(shù)據(jù)流,最后將緩沖區(qū)中的數(shù)據(jù)流進(jìn)行格式轉(zhuǎn)換,形成實(shí)時(shí)系統(tǒng)數(shù)據(jù)。在這里需要說(shuō)明的是,在數(shù)據(jù)處理模塊20對(duì)數(shù)據(jù)流進(jìn)行分割處理時(shí),可以先判斷該數(shù)據(jù)流傳輸?shù)臅r(shí)間是否超過(guò)實(shí)時(shí)系統(tǒng)為其分配的時(shí)間,是則對(duì)SD卡上的數(shù)據(jù)流進(jìn)行分害I],形成多個(gè)短數(shù)據(jù)幀的數(shù)據(jù)流;否則不做分割操作。
本發(fā)明實(shí)施例根據(jù)傳輸策略,對(duì)從SD卡的數(shù)據(jù)先進(jìn)行分割處理,再對(duì)分割后的SD卡數(shù)據(jù)進(jìn)行讀取,從而既保證了從SD卡讀取數(shù)據(jù)所執(zhí)行的時(shí)間不占用過(guò)多的系統(tǒng)時(shí)間資源,也保證了數(shù)據(jù)傳輸?shù)恼_性和完整性,從而有效地解決了實(shí)時(shí)系統(tǒng)中數(shù)據(jù)的存儲(chǔ)問(wèn)題。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制其專利范圍,凡是利用本發(fā)明說(shuō)明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種SD卡數(shù)據(jù)的傳輸/調(diào)度方法,其特征在于,包括以下步驟: 接收需存儲(chǔ)于SD卡的數(shù)據(jù); 將需存儲(chǔ)于SD卡的數(shù)據(jù)進(jìn)行數(shù)據(jù)流處理,并寫入內(nèi)存緩沖區(qū); 將所述內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行分割處理; 將經(jīng)過(guò)分割處理的數(shù)據(jù)流傳輸至SD卡進(jìn)行存儲(chǔ)。
2.根據(jù)權(quán)利要求1所述的SD卡數(shù)據(jù)的傳輸/調(diào)度方法,其特征在于,還包括: 接收外部設(shè)備發(fā)送的數(shù)據(jù)讀取指令; 根據(jù)數(shù)據(jù)讀取指令,對(duì)SD卡上的數(shù)據(jù)流進(jìn)行分割處理; 將SD卡上經(jīng)過(guò)分割處理的數(shù)據(jù)流傳輸至內(nèi)存緩沖區(qū); 將所述內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行處理,形成實(shí)時(shí)系統(tǒng)數(shù)據(jù),供外部設(shè)備進(jìn)行獲取。
3.根據(jù)權(quán)利要求1或2所述的SD卡數(shù)據(jù)的傳輸/調(diào)度方法,其特征在于,所述將內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行分割處理或?qū)D卡上的數(shù)據(jù)流進(jìn)行分割處理的步驟具體包括: 判斷數(shù)據(jù)流傳輸?shù)臅r(shí)間是否超過(guò)實(shí)時(shí)系統(tǒng)為數(shù)據(jù)流傳輸分配的時(shí)間; 若是,則將數(shù)據(jù)流進(jìn)行分割,直至分割后的數(shù)據(jù)流的傳輸時(shí)間低于實(shí)時(shí)系統(tǒng)為數(shù)據(jù)流傳輸分配的時(shí)間。
4.一種SD卡數(shù)據(jù)的傳輸/調(diào)度裝置,其特征在于,包括: 數(shù)據(jù)接收模塊,用于接收需存儲(chǔ)于SD卡的數(shù)據(jù); 數(shù)據(jù)處理模塊,用于將需存儲(chǔ)于SD卡的數(shù)據(jù)進(jìn)行數(shù)據(jù)流處理,并寫入內(nèi)存緩沖區(qū);還用于將內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行分割處理; 數(shù)據(jù)傳輸模塊,用于將經(jīng)過(guò)分割處理的數(shù)據(jù)流傳輸至SD卡進(jìn)行存儲(chǔ)。
5.根據(jù)權(quán)利要求4所述的SD卡數(shù)據(jù)的傳輸/調(diào)度裝置,其特征在于,還包括: 指令接收模塊,用于接收外部設(shè)備發(fā)送的數(shù)據(jù)讀取指令; 所述數(shù)據(jù)處理模塊,還用于根據(jù)數(shù)據(jù)讀取指令,對(duì)SD卡上的數(shù)據(jù)流進(jìn)行分割處理;還用于將內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行處理,形成實(shí)時(shí)系統(tǒng)數(shù)據(jù),供外部設(shè)備進(jìn)行獲??; 所述數(shù)據(jù)傳輸模塊,還用于將SD卡上經(jīng)過(guò)分割的數(shù)據(jù)流傳輸至內(nèi)存緩沖區(qū)。
6.根據(jù)權(quán)利要求4或5所述的SD卡數(shù)據(jù)的傳輸/調(diào)度裝置,其特征在于,所述數(shù)據(jù)處理模塊具體用于: 判斷數(shù)據(jù)流傳輸?shù)臅r(shí)間是否超過(guò)實(shí)時(shí)系統(tǒng)為數(shù)據(jù)流傳輸分配的時(shí)間; 若是,則將數(shù)據(jù)流進(jìn)行分割,直至分割后的數(shù)據(jù)流的傳輸時(shí)間低于實(shí)時(shí)系統(tǒng)為數(shù)據(jù)流傳輸分配的時(shí)間。
7.一種數(shù)據(jù)采集系統(tǒng),其特征在于,包括: 數(shù)據(jù)監(jiān)控裝置,用于根據(jù)預(yù)置的配置參數(shù),對(duì)所述實(shí)時(shí)系統(tǒng)的數(shù)據(jù)進(jìn)行監(jiān)控,并在實(shí)時(shí)系統(tǒng)發(fā)生故障時(shí),對(duì)其進(jìn)行數(shù)據(jù)采集; 數(shù)據(jù)傳輸/調(diào)度裝置,包括: 數(shù)據(jù)接收模塊,用于接收數(shù)據(jù)監(jiān)控裝置采集的數(shù)據(jù); 數(shù)據(jù)處理模塊,用于將數(shù)據(jù)監(jiān)控裝置采集的數(shù)據(jù)進(jìn)行數(shù)據(jù)流處理,并寫入內(nèi)存緩沖區(qū);還用于將內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行分割處理; 數(shù)據(jù)傳輸模塊,用于將經(jīng)過(guò)分割處理的數(shù)據(jù)流傳輸至SD卡進(jìn)行存儲(chǔ)。
8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)采集系統(tǒng),其特征在于,所述數(shù)據(jù)傳輸/調(diào)度裝置還包括: 指令接收模塊,用于接收外部設(shè)備發(fā)送的數(shù)據(jù)讀取指令; 所述數(shù)據(jù)處理模塊,用于根據(jù)數(shù)據(jù)讀取指令,對(duì)SD卡上的數(shù)據(jù)流進(jìn)行分割處理;還用于將內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行處理,形成實(shí)時(shí)系統(tǒng)數(shù)據(jù),供外部設(shè)備進(jìn)行獲??; 所述數(shù)據(jù)傳輸模塊,還用于將SD卡上經(jīng)過(guò)分割的數(shù)據(jù)流傳輸至內(nèi)存緩沖區(qū)。
9.根據(jù)權(quán)利要求7或8所述的數(shù) 據(jù)采集系統(tǒng),其特征在于,所述數(shù)據(jù)處理模塊具體用于: 判斷數(shù)據(jù)流傳輸?shù)臅r(shí)間是否超過(guò)實(shí)時(shí)系統(tǒng)為數(shù)據(jù)流傳輸分配的時(shí)間; 若是,則將數(shù)據(jù)流進(jìn)行分割,直至分割后的數(shù)據(jù)流的傳輸時(shí)間低于實(shí)時(shí)系統(tǒng)為數(shù)據(jù)流傳輸分配的時(shí)間。
全文摘要
本發(fā)明公開一種SD卡數(shù)據(jù)的傳輸/調(diào)度方法、裝置及數(shù)據(jù)采集系統(tǒng),該傳輸/調(diào)度方法包括以下步驟接收需存儲(chǔ)于SD卡的數(shù)據(jù);將需存儲(chǔ)于SD卡的數(shù)據(jù)進(jìn)行數(shù)據(jù)流處理,并寫入內(nèi)存緩沖區(qū);將所述內(nèi)存緩沖區(qū)的數(shù)據(jù)流進(jìn)行分割處理;將經(jīng)過(guò)分割處理的數(shù)據(jù)流傳輸至SD卡進(jìn)行存儲(chǔ)。本發(fā)明根據(jù)預(yù)置的傳輸策略,對(duì)所需存儲(chǔ)的數(shù)據(jù)進(jìn)行分割后再傳輸至SD卡進(jìn)行存儲(chǔ),既保證了數(shù)據(jù)傳輸至SD卡所執(zhí)行的時(shí)間不占用過(guò)多的系統(tǒng)時(shí)間資源,也保證了數(shù)據(jù)傳輸?shù)恼_性和完整性,從而有效地解決了實(shí)時(shí)系統(tǒng)中數(shù)據(jù)的存儲(chǔ)及讀取問(wèn)題。
文檔編號(hào)G06F9/48GK103176839SQ20111043919
公開日2013年6月26日 申請(qǐng)日期2011年12月26日 優(yōu)先權(quán)日2011年12月26日
發(fā)明者胡志峰, 胡煜, 雒鵬飛 申請(qǐng)人:艾默生網(wǎng)絡(luò)能源有限公司