• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于VxWorks新型映像的三模冗余啟動機制研究

    2017-11-01 07:18:05鄒玉龍田小莉郭宗芝
    計算機測量與控制 2017年8期
    關(guān)鍵詞:應(yīng)用層字節(jié)串口

    鄒玉龍,劉 彬,田小莉,郭宗芝,牛 崇

    (上海微小衛(wèi)星工程中心,上海 201210)

    基于VxWorks新型映像的三模冗余啟動機制研究

    鄒玉龍,劉 彬,田小莉,郭宗芝,牛 崇

    (上海微小衛(wèi)星工程中心,上海 201210)

    針對VxWorks啟動映像依賴于ROM地址,不能適應(yīng)航天型號中三模存儲要求的缺點,利用VxWorks自帶的壓縮算法,按照航天型號軟件任務(wù)要求設(shè)計了一種基于VxWorks內(nèi)存型映像的新型壓縮映像,實現(xiàn)了軟件映像與ROM區(qū)地址無關(guān);并且實現(xiàn)了新型壓縮映像的三模冗余引導(dǎo)啟動,啟動時每一個bit數(shù)據(jù)都從三份映像獲取,并進(jìn)行三取二判斷,將最后結(jié)果拷貝到內(nèi)存作為目的映像的bit數(shù)據(jù),目的映像啟動后能夠回寫正確數(shù)據(jù)自動糾正空間環(huán)境下可能發(fā)生的單粒子翻轉(zhuǎn)錯誤,為軟件的可靠啟動建立了基礎(chǔ)。

    VxWorks;三模冗余;壓縮映像;引導(dǎo)啟動

    0 引言

    航天型號軟件任務(wù)中,ROM存儲空間緊張,要求應(yīng)用映像大小盡量小,啟動時間盡量短,另外對于應(yīng)用映像的啟動可靠性也有較高的要求,對軟件映像一般會要求進(jìn)行三模冗余存儲。VxWorks操作系統(tǒng)由于良好的實時性,穩(wěn)定性和可裁剪性,在航天領(lǐng)域得到了廣泛的應(yīng)用。但是VxWorks/Tornado提供的啟動機制并沒有直接支持三模冗余,這給軟件設(shè)計工作帶來了一定的困難。設(shè)計出一種應(yīng)用映像占用存儲空間小,啟動時間短的三模冗余啟動機制成為航天型號軟件任務(wù)中的關(guān)鍵技術(shù)要求。

    1 VxWorks/Tornado啟動機制分析

    VxWorks/Tornado開發(fā)過程中使用的啟動機制有如下幾種[1]。

    1.1 有引導(dǎo)映像的啟動機制

    1) ROM區(qū)僅存儲一份只包含引導(dǎo)功能的引導(dǎo)映像,引導(dǎo)映像往往比較小,啟動速度比較快。在引導(dǎo)映像正常啟動后,將應(yīng)用映像再通過其他途徑(如網(wǎng)絡(luò)端口,調(diào)試串口端口等)下載到RAM中,然后進(jìn)行一次地址跳轉(zhuǎn),從RAM中開始運行應(yīng)用映像。由于通過網(wǎng)絡(luò)端口或者調(diào)試串口下載應(yīng)用映像速度比較快,并且避免了多次燒寫ROM區(qū)而影響ROM器件的壽命,在軟件開發(fā)階段,往往通過這種機制進(jìn)行軟件調(diào)試,提高了軟件開發(fā)的效率。

    2) ROM區(qū)存儲一份引導(dǎo)映像和一份未壓縮的應(yīng)用映像,系統(tǒng)上電后首先從引導(dǎo)映像開始運行,在引導(dǎo)映像正常啟動后,將應(yīng)用映像從ROM拷貝到RAM中,然后從RAM中開始運行應(yīng)用映像。這種機制一般適用于ROM存儲空間足夠并且系統(tǒng)啟動時間及穩(wěn)定性要求不高的場景。

    3) ROM區(qū)存儲一份引導(dǎo)映像和一份壓縮的應(yīng)用映像,在引導(dǎo)映像正常啟動后,將應(yīng)用映像從ROM解壓到RAM中,解壓功能在引導(dǎo)映像中。然后從RAM中開始運行應(yīng)用映像。這種機制一般適用于ROM存儲空間緊張,但系統(tǒng)啟動時間及穩(wěn)定性要求不高的場景。

    1.2 沒有引導(dǎo)映像的啟動機制

    1) ROM區(qū)存儲一份未壓縮的應(yīng)用映像,啟動時直接從ROM區(qū)應(yīng)用映像的代碼段開始運行,應(yīng)用映像將自身拷貝到RAM區(qū)中,然后從RAM區(qū)開始運行。這種機制適用于ROM存儲空間充足的場景。

    2) ROM區(qū)存儲一份壓縮的應(yīng)用映像,啟動時直接從ROM區(qū)應(yīng)用映像的代碼段開始運行,應(yīng)用映像將自身解壓到RAM區(qū)中,然后從RAM區(qū)開始運行。這種機制適用于ROM存儲空間緊張但對啟動速度要求不高的場景。

    3) ROM區(qū)存儲一份駐留型的應(yīng)用映像,啟動時直接從ROM區(qū)應(yīng)用映像的代碼段開始運行,應(yīng)用映像僅將數(shù)據(jù)段拷貝RAM區(qū)中。由于軟件代碼段是在速度比較慢的ROM中,軟件運行時需要進(jìn)行比較多的IO操作,導(dǎo)致軟件運行速度下降。這種機制適用于對運行速度要求不高但RAM空間緊張的的場景。

    2 應(yīng)用場景分析

    以某型號CPU軟件任務(wù)為例,軟件任務(wù)要求應(yīng)用映像進(jìn)行三模冗余存儲,并且軟件啟動時間在10秒之內(nèi),軟件啟動后能夠?qū)Υ鎯^(qū)域進(jìn)行自檢,如果發(fā)現(xiàn)bit數(shù)據(jù)被打翻,則利用三模冗余對錯誤數(shù)據(jù)進(jìn)行糾錯。程序存儲器件分為PROM和EEPROM兩種,PROM大小為32 KB,EEPROM大小為1 MB。

    將整個系統(tǒng)映像分為引導(dǎo)映像和應(yīng)用映像兩部分。引導(dǎo)映像存儲于PROM中,不可修改。應(yīng)用映像存儲于EEPROM中,可修改。由Tordando開發(fā)環(huán)境編譯之后的二進(jìn)制應(yīng)用映像大小接近500 kB,直接對編譯后的應(yīng)用映像三模冗余存儲需要1.5 MB的存儲空間,超過了可用的存儲空間大小,這就要求對軟件映像進(jìn)行壓縮處理后再進(jìn)行三模冗余存儲。雖然VxWorks/Tornado提供的壓縮映像啟動機制并沒有支持三模冗余,但是其壓縮解壓過程和壓縮解壓工具和算法有一定的參考價值。

    3 新型壓縮映像制作

    利用VxWorks/Tornado的壓縮算法對原始應(yīng)用映像進(jìn)行壓縮,壓縮后的應(yīng)用映像大小為200 kB左右,這樣應(yīng)用映像大小足夠小,滿足了三模冗余存儲的要求。由于VxWorks/Tornado提供的壓縮映像技術(shù)是ROM地址相關(guān)的,不能直接存儲三份在EEPROM中。我們將VxWorks/Tornado的壓縮和解壓縮功能提取出來,單獨對編譯后的VxWorks原始映像進(jìn)行壓縮,并且將解壓縮功能編譯到壓縮后的應(yīng)用映像中,使得壓縮映像在運行時可以自解壓。并且設(shè)置壓縮后的映像的代碼段起始地址為RAM空間中某個高地址[2],這樣就做到了壓縮映像的起始運行地址與ROM地址無關(guān)。軟件映像可以存儲在EEPROM中的任意地址處,并且可以復(fù)制多份進(jìn)行冗余存儲。

    壓縮鏡像的制作步驟如下:

    1)首先將Tornado應(yīng)用工程編譯,得到可以直接在RAM運行的vxWorks原始文件。這一步通過Tornado軟件界面操作進(jìn)行。

    2)將Tornado應(yīng)用工程編譯后的vxWorks文件轉(zhuǎn)換為二進(jìn)制文件格式。其中%AOUTTOBIN1%為Tornado開發(fā)環(huán)境提供的aoutToBin.exe軟件工具。

    命令:

    %AOUTTOBIN1% tmp.bin

    3)對tmp.bin進(jìn)行壓縮處理。其中%DEFLATE1%為Tornado開發(fā)環(huán)境提供的deflate.exe軟件工具。

    命令:%DEFLATE1% tmp.Z

    4)將壓縮后的tmp.Z轉(zhuǎn)換成匯編源文件格式。其中%BINTOASM1%為Tornado開發(fā)環(huán)境提供的binToAsm.exe軟件工具。

    命令:

    %BINTOASM1% tmp.Z > vxWorks.Z.s

    5)將vxWorks.Z.s編譯成目標(biāo)文件。其中%CC1%為Tornado開發(fā)環(huán)境提供的ccsparc.exe軟件工具。%CFLAGS%為“-g -ansi -nostdinc -DRW_MULTI_THREAD -D_REENTRANT -fvolatile -fno-builtin -DCPU=SPARC -DPRJ_BUILD -g -O0 -Wall -DFLASH_TEST”編譯選項。%WIND_BASE%為Tornado開發(fā)環(huán)境的根目錄。

    命令:

    %CC1% %CFLAGS% -I%WIND_BASE% argeth -c vxWorks.Z.s -o vxWorks.Z.o

    6)將解壓文件uncompress.c編譯成目標(biāo)文件。其中%CC1%,%CFLAGS%與%WIND_BASE%含義同(5)。

    命令:

    %CC1% %CFLAGS% -I%WIND_BASE% argeth -c uncompress.c -o uncompress.o

    7)將初始化配置文件start_up.s編譯成目標(biāo)文件。其中%CC1%,%CFLAGS%與%WIND_BASE%含義同(5)。

    命令:

    %CC1% %CFLAGS% -c start_ up.s -o start_up.o

    8)對目標(biāo)文件進(jìn)行鏈接。使得新的應(yīng)用映像為帶硬件初始化功能并且能夠自解壓的應(yīng)用映像。RAM_HIGH_ADRS為RAM高地址。其中%LD1%為Tornado開發(fā)環(huán)境提供的ldsparc.exe軟件工具命令:%LD1% -n -N -nostartupfiles -static -e _start -Map mapfile -Ttext RAM_HIGH_ADRS start_up.ouncompress.o vxWorks.Z.o %WIND_BASE% argetliblibSPARCgnuvx.a -o selfUnCmp

    9)將鏈接后的文件轉(zhuǎn)換成二進(jìn)制可執(zhí)行文件。其中%OBJCOPY1%為Tornado開發(fā)環(huán)境提供的objcopysparc.exe軟件工具。

    命令:%OBJCOPY1% -O binary selfUnCmpselfUnCmp.bin

    其中uncompress.c為自解壓模塊代碼。關(guān)鍵代碼如下。Inflate()為vxWorks的解壓縮函數(shù)。RAM_DST_ADRS為解壓后的程序映像的起始運行位置,也稱RAM低地址。解壓縮模塊首先將壓縮映像解壓到RAM_DST_ADRS地址處,然后通過absEntry (0)進(jìn)行跳轉(zhuǎn)到RAM_DST_ADRS處運行解壓后的映像[3]。

    void uncompress()

    {

    volatile FUNCPTR absEntry = (volatile FUNCPTR)RAM_DST_ADRS;

    if(inflate (binArrayStart,

    RAM_DST_ADRS,

    &binArrayEnd - binArrayStart)!=0)

    return;

    /* and jump to it */

    absEntry (0);

    }

    4 三模引導(dǎo)啟動過程設(shè)計

    在EEPROM中存儲三份一樣的壓縮映像,并且由于解壓過程是在RAM中進(jìn)行,大大提高了解壓速度,滿足10秒內(nèi)啟動的要求。這三份壓縮映像由引導(dǎo)程序選擇合成一份正確的拷貝到RAM空間指定的高地址處,然后從該高地址處開始運行。

    由于引導(dǎo)映像是存儲在PROM中,不可更改,并且PROM可用空間比較小,所以引導(dǎo)映像的功能必須盡可能的簡單。除了基本的硬件初始化外,引導(dǎo)映像只做一件事情,就是將存儲在EEPROM中的三模冗余應(yīng)用映像合成一份正確的拷貝到RAM某高地址處,最后跳轉(zhuǎn)到該RAM高地址處運行[4]。為了有效利用三模冗余的應(yīng)用映像,引導(dǎo)映像在進(jìn)行三取二選擇時,首先簡單的對三模的三個字節(jié)進(jìn)行相等比較,然后取兩個字節(jié)相等的作為判定結(jié)果,如果發(fā)生了同一地址處的3個映像的字節(jié)都不相等的情況時,按照bit級進(jìn)行判定。例如拷貝應(yīng)用映像的某個字節(jié)數(shù)據(jù)時,對這一字節(jié)的每一個bit進(jìn)行三取二的判定,由于bit只有0和1兩種情況,這樣就避免了三個字節(jié)都不相等而無法判定的問題,提高了系統(tǒng)啟動的可靠性,即只要不是某bit位兩份映像或者三份映像都發(fā)生錯誤,即使三個字節(jié)都不相等,都能判定出正確的數(shù)據(jù)。

    引導(dǎo)啟動過程核心代碼如下。

    //三??截悏嚎s映像到內(nèi)存區(qū)。

    for(cnt=0u; cnt

    {

    des = (UINT8 *)(RAM_HIGH_ADDRESS + cnt);

    dtA = IO_READB(IMAGE_FIRST_ADDRESS + cnt); /*get three image addr value*/

    dtB = IO_READB(IMAGE_SECOND_ADDRESS + cnt);

    dtC = IO_READB(IMAGE_THIRD_ADDRESS + cnt);

    judgeImgValue(cnt, des, dtA, dtB, dtC, &errorByteCnt); /*compare three image value*/

    }

    //判斷3個字節(jié)是否相同并記錄錯誤字節(jié)數(shù)

    void judgeImgValue(const UINT32 index, UINT8 *des, UINT8 dtA, UINT8 dtB, UINT8 dtC, UINT8 *Errordes)

    {

    if((dtA == dtB)&&(dtB == dtC))

    {

    *des = dtA;

    }

    else if((dtC == dtB)&&(dtB != dtA)) /*A Error*/

    {

    *des = dtB;

    saveErrorFlag(Errordes,index);

    }

    else if((dtA == dtC)&&(dtC != dtB)) /*B Error*/

    {

    *des = dtA;

    saveErrorFlag(Errordes,index);

    }

    else if((dtA == dtB)&&(dtB != dtC)) /*C Error*/

    {

    *des = dtA;

    saveErrorFlag(Errordes,index);

    }

    else /*three code not same*/

    {

    *des = TMR8Bit(&dtA, &dtB, &dtC);

    saveErrorFlag(Errordes,index);

    }

    }

    //如果3個字節(jié)都不相同則調(diào)用該函數(shù)進(jìn)行bit判定

    UINT8 TMR8Bit(UINT8 *first, UINT8 *seconde, UINT8 *third)

    {

    UINT8 nCnt = 0;

    UINT8 nTmp = 0u;

    UINT8 nTmp1 = 0u;

    UINT8 nTmp2 = 0u;

    UINT8 nTmp3 = 0u;

    UINT8 nResult = 0u;

    for(nCnt = 0; nCnt < 8; nCnt = nCnt + 1)

    {

    nTmp1 = (((*first)>>nCnt)&0x1);

    nTmp2 = (((*seconde)>>nCnt)&0x1);

    nTmp3 = (((*third)>>nCnt)&0x1);

    if((nTmp1 == nTmp2)||(nTmp1 == nTmp3))

    {

    nTmp = nTmp1;

    }

    else

    {

    nTmp = nTmp2;

    }

    nTmp = nTmp << nCnt;

    nResult = nResult | nTmp;

    }

    return nResult;

    }

    應(yīng)用映像啟動后需要進(jìn)行自檢,對于EEPROM區(qū)域中可能出現(xiàn)的數(shù)據(jù)存儲錯誤進(jìn)行糾正,這時可以利用RAM區(qū)中已經(jīng)存在的正確軟件映像進(jìn)行糾錯。如果將RAM區(qū)中壓縮映像的每一字節(jié)與EEPROM中每一壓縮映像的字節(jié)進(jìn)行比較,如果不一致,則用RAM區(qū)中的正確數(shù)據(jù)覆蓋EEPROM中的錯誤數(shù)據(jù),雖然這樣也可以達(dá)到糾正錯誤數(shù)據(jù)的目的,但是比較耗時,影響了實時系統(tǒng)的啟動速度。實際工程中為了提高啟動速度,在引導(dǎo)啟動過程中將EEPROM中的軟件映像數(shù)據(jù)向RAM區(qū)進(jìn)行拷貝時記錄了出錯的數(shù)據(jù)的字節(jié)下標(biāo),在系統(tǒng)啟動后通過檢查這些錯誤字節(jié)下標(biāo),就可以有針對性的對發(fā)生錯誤的字節(jié)進(jìn)行修復(fù),而不用再次檢查一遍所有3份軟件映像的數(shù)據(jù)正確性。如果沒有錯誤,則直接往下運行程序,避免了無意義的重復(fù)檢查錯誤過程。為了軟件能夠長期穩(wěn)定運行,設(shè)置了關(guān)于EEPROM中三份應(yīng)用映像的CRC校驗值作為遙測數(shù)據(jù),軟件運行時定期對EEPROM中應(yīng)用映像進(jìn)行CRC校驗,當(dāng)遙測數(shù)據(jù)中觀測到三份應(yīng)用映像的CRC校驗數(shù)據(jù)發(fā)生改變時,可以通過特定的指令控制應(yīng)用軟件進(jìn)行自檢,及時糾正錯誤數(shù)據(jù),避免由于長期不維護(hù),造成EEPROM中三模冗余應(yīng)用映像bit錯誤過多而無法自主修復(fù)。整個啟動過程如圖1所示。

    5 測試與驗證

    5.1 正確映像啟動

    1)測試過程:將正確的應(yīng)用層軟件映像拷貝到EEPROM的3個不同位置,接著從引導(dǎo)地址0x00000000處啟動后,觀察調(diào)試串口的輸出,并記錄啟動過程所需的時間。

    2)測試結(jié)果:調(diào)試串口正常輸出運行信息,沒有錯誤記錄報告,整個系統(tǒng)啟動時間約為8 s,符合要求。

    5.2 同一位置1個字節(jié)錯誤類型映像啟動

    1)測試過程:對3份應(yīng)用層映像分別在第1個映像的第

    圖1 啟動過程圖

    1個字節(jié),第2個映像的第100K個字節(jié),第3個映像的第200K個字節(jié)處制造錯誤,然后將3份錯誤的應(yīng)用層映像拷貝到EEPROM的3個不同位置,接著從引導(dǎo)地址0x00000000處啟動后,觀察調(diào)試串口的輸出,并記錄啟動過程所需的時間。系統(tǒng)啟動1分鐘后再從EEPROM中讀取3份應(yīng)用層映像數(shù)據(jù)與正確映像分別進(jìn)行比較,檢查是否正確的進(jìn)行了映像修復(fù)。

    2)測試結(jié)果:調(diào)試串口輸出軟件運行信息,并且輸出錯誤報告,記錄了3處字節(jié)錯誤,并且修復(fù)完成。整個系統(tǒng)啟動時間約為8秒。3份從EEPROM中拷貝的軟件映像與正確的軟件映像數(shù)據(jù)二進(jìn)制一致。結(jié)果表明錯誤數(shù)據(jù)已經(jīng)都被糾正。

    5.3 同一位置多個字節(jié)錯誤但bit位置不同錯誤類型映像啟動

    1)測試過程:對第1個應(yīng)用層軟件映像的第1個字節(jié)的bit0-bit2進(jìn)行取反操作,對第2個應(yīng)用層軟件映像的第1個字節(jié)的bit3-bit5進(jìn)行取反操作,對第3個應(yīng)用層軟件映像的第1個字節(jié)的bit6-bit7進(jìn)行取反操作。對第1個應(yīng)用層軟件映像的第100K個字節(jié)的bit0-bit1進(jìn)行取反操作,對第2個應(yīng)用層軟件映像的第100K個字節(jié)的bit2-bit4進(jìn)行取反操作,對第3個應(yīng)用層軟件映像的第100K個字節(jié)的bit5-bit7進(jìn)行取反操作。對第1個應(yīng)用層軟件映像的第200K個字節(jié)的bit0-bit2進(jìn)行取反操作,對第2個應(yīng)用層軟件映像的第200K個字節(jié)的bit3-bit4進(jìn)行取反操作,對第3個應(yīng)用層軟件映像的第200K個字節(jié)的bit5-bit7進(jìn)行取反操作。然后將3份錯誤的應(yīng)用層映像拷貝到EEPROM的3個不同位置,從引導(dǎo)地址0x00000000處啟動后,觀察調(diào)試串口的輸出,并記錄啟動過程所需的時間。系統(tǒng)啟動1分鐘后再從EEPROM中讀取3份應(yīng)用層映像數(shù)據(jù)與正確映像分別進(jìn)行比較,檢查是否正確的進(jìn)行了映像修復(fù)。

    2)測試結(jié)果:調(diào)試串口輸出軟件運行信息,并且輸出錯誤報告,記錄了3處字節(jié)錯誤,并且修復(fù)完成。整個系統(tǒng)啟動時間約為8秒。3份從EEPROM中拷貝的軟件映像與正確的軟件映像數(shù)據(jù)二進(jìn)制一致。結(jié)果表明錯誤數(shù)據(jù)已經(jīng)都被糾正。

    6 結(jié)論

    本文分析了基于VxWorks系統(tǒng)進(jìn)行工程設(shè)計的幾種啟動機制,并針對航天型號軟件任務(wù)設(shè)計了基于VxWorks的新型三模冗余壓縮映像的引導(dǎo)啟動機制,給出了測試驗證結(jié)果。該技術(shù)已經(jīng)在某航天型號軟件上應(yīng)用,軟件在軌運行情況良好。

    [1] River W. Tornado用戶指南[M].王金剛,等譯.北京:清華大學(xué)出版社,2003.

    [2] 周治國,崔國輝,劉志文.基于S3C2440 NandFlashVxWorks啟動及性能分析[J].計算機工程與應(yīng)用,2010,46(9S):164-166.

    [3] 黃海宇,姜連祥,楊勤榮,等.內(nèi)存受限系統(tǒng)下的VxWorks映像壓縮算法[J].計算機測量與控制,2010,18(2):419-421.

    [4] 康鳳舉,段曉軍,吳成富,等.基于VxWorks的無人機飛控計算機快速啟動導(dǎo)引技術(shù)研究[J].計算機測量與控制,2010,18(6):1446-1448.

    Research on Triple Modular Redundancy Boot Mechanism Based on New Type VxWorks Compressed Image

    Zou Yulong, Liu Bin, Tian Xiaoli, Guo Zongzhi, Niu Chong

    (Shanghai Engineering Center for Microsatellites,Shanghai 201210, China)

    Aerospace Engineering often requires triple modular redundancy (TMR). While VxWorks bootable image is ROM address relevant and it cannot be used as a TMR type image directly. The new compressed image based on VxWorks compressing algorithm is independent of ROM address. The image can be copied exactly to store in three ROM areas. When system booting , each bit data copied to RAM to make up a complete image is got by comparing three bits in the same position in three same image stored in ROM area. After software boot, the one bit type error which is usually caused by Single Event Upset (SEU) can be corrected by writing back the correct data in image. The software boot reliability benefits from the new type image and TMR booting mechanism greatly.

    VxWorks; triple modular redundancy(TMR); compressed image; bootloader

    2017-02-17;

    2017-03-03。

    鄒玉龍(1984-),男,江蘇東臺人,碩士研究生,工程師,主要從事衛(wèi)星軟件技術(shù)方向的研究。

    1671-4598(2017)08-0120-03

    10.16526/j.cnki.11-4762/tp.2017.08.031

    TP273

    A

    猜你喜歡
    應(yīng)用層字節(jié)串口
    No.8 字節(jié)跳動將推出獨立出口電商APP
    淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
    No.10 “字節(jié)跳動手機”要來了?
    簡談MC7字節(jié)碼
    基于分級保護(hù)的OA系統(tǒng)應(yīng)用層訪問控制研究
    新一代雙向互動電力線通信技術(shù)的應(yīng)用層協(xié)議研究
    USB接口的多串口數(shù)據(jù)并行接收方法探索
    基于藍(lán)牙串口適配器的GPS接收機與AutoCAD的實時無線通信
    地礦測繪(2015年3期)2015-12-22 06:27:26
    物聯(lián)網(wǎng)技術(shù)在信息機房制冷系統(tǒng)中的應(yīng)用
    基于并行控制的FPGA多串口拓展實現(xiàn)
    一级毛片我不卡| 精品一区二区三区人妻视频| 免费看日本二区| 欧美zozozo另类| 久久精品综合一区二区三区| eeuss影院久久| 国产探花在线观看一区二区| 精品久久久久久久久久久久久| 国产精品久久久久久久久免| 在现免费观看毛片| 亚洲av熟女| 欧美一区二区国产精品久久精品| 九九久久精品国产亚洲av麻豆| 人人妻人人澡欧美一区二区| 天天躁夜夜躁狠狠久久av| 精品国产露脸久久av麻豆 | 少妇的逼好多水| 日本wwww免费看| 国产午夜福利久久久久久| 两个人的视频大全免费| 久久久亚洲精品成人影院| 国产三级中文精品| 1000部很黄的大片| 精品人妻偷拍中文字幕| 国产精品国产三级专区第一集| 久久久久久久久久久免费av| 伦精品一区二区三区| 91精品一卡2卡3卡4卡| 联通29元200g的流量卡| 国产成人精品一,二区| 国产一级毛片在线| 麻豆av噜噜一区二区三区| 热99re8久久精品国产| 麻豆成人午夜福利视频| 日韩亚洲欧美综合| 成人av在线播放网站| 一级黄片播放器| 亚洲人与动物交配视频| 1024手机看黄色片| 亚洲国产最新在线播放| 亚洲精品影视一区二区三区av| 免费搜索国产男女视频| 免费观看性生交大片5| 狠狠狠狠99中文字幕| 一夜夜www| 91在线精品国自产拍蜜月| 日日摸夜夜添夜夜爱| 嫩草影院入口| 午夜免费激情av| 一本一本综合久久| 精品人妻熟女av久视频| 一级黄片播放器| a级毛色黄片| 91精品国产九色| 国产精品蜜桃在线观看| 99热全是精品| 非洲黑人性xxxx精品又粗又长| 毛片女人毛片| 国模一区二区三区四区视频| 亚洲国产最新在线播放| 69av精品久久久久久| 99国产精品一区二区蜜桃av| 国产精品久久久久久av不卡| 国产精品熟女久久久久浪| 久99久视频精品免费| 亚洲国产精品成人久久小说| 国产亚洲一区二区精品| 三级毛片av免费| 国产久久久一区二区三区| 免费看av在线观看网站| 久久精品国产亚洲网站| 三级毛片av免费| 国产乱来视频区| 国产69精品久久久久777片| 久久精品国产99精品国产亚洲性色| 非洲黑人性xxxx精品又粗又长| 久久久久性生活片| 极品教师在线视频| 亚洲欧美精品综合久久99| 成人亚洲精品av一区二区| 国产91av在线免费观看| 午夜福利成人在线免费观看| 免费看日本二区| 晚上一个人看的免费电影| 特大巨黑吊av在线直播| 欧美成人精品欧美一级黄| 蜜桃久久精品国产亚洲av| 欧美丝袜亚洲另类| 午夜爱爱视频在线播放| 99在线视频只有这里精品首页| 插阴视频在线观看视频| 好男人在线观看高清免费视频| 亚洲成人久久爱视频| 午夜爱爱视频在线播放| 免费看av在线观看网站| 国产av一区在线观看免费| 国产亚洲av片在线观看秒播厂 | 色哟哟·www| 97超视频在线观看视频| 亚洲国产欧美在线一区| 国国产精品蜜臀av免费| 91久久精品国产一区二区三区| 少妇人妻精品综合一区二区| 亚洲欧美中文字幕日韩二区| 亚洲欧美中文字幕日韩二区| 51国产日韩欧美| 亚洲成人久久爱视频| 人妻少妇偷人精品九色| 国产精品美女特级片免费视频播放器| av在线播放精品| 日韩av在线大香蕉| 国产精品久久视频播放| 91在线精品国自产拍蜜月| 天美传媒精品一区二区| 毛片一级片免费看久久久久| 国模一区二区三区四区视频| 久久久久九九精品影院| 午夜免费激情av| 老司机影院成人| 一本一本综合久久| 韩国av在线不卡| 一级av片app| 欧美成人午夜免费资源| 日韩视频在线欧美| 日本熟妇午夜| 欧美高清成人免费视频www| 中文字幕久久专区| 91狼人影院| 亚洲无线观看免费| 国产精品.久久久| 亚洲色图av天堂| 你懂的网址亚洲精品在线观看 | 男女边吃奶边做爰视频| 国产亚洲午夜精品一区二区久久 | 久久久久久久久久久丰满| 尤物成人国产欧美一区二区三区| 在线播放国产精品三级| 久久精品熟女亚洲av麻豆精品 | 亚洲欧美一区二区三区国产| 成人二区视频| 观看免费一级毛片| 日韩一区二区视频免费看| 午夜视频国产福利| 日韩,欧美,国产一区二区三区 | 国产av在哪里看| 婷婷色综合大香蕉| 国产精品人妻久久久影院| 欧美性猛交黑人性爽| 国语对白做爰xxxⅹ性视频网站| 少妇人妻精品综合一区二区| 亚洲久久久久久中文字幕| 联通29元200g的流量卡| 亚洲在久久综合| 熟女电影av网| 亚洲精品亚洲一区二区| 日日撸夜夜添| 舔av片在线| 久久午夜福利片| 性色avwww在线观看| 亚洲欧美一区二区三区国产| 中文字幕亚洲精品专区| 可以在线观看毛片的网站| 久久亚洲国产成人精品v| 成年版毛片免费区| 欧美一区二区精品小视频在线| eeuss影院久久| 亚洲精品色激情综合| 久久综合国产亚洲精品| 六月丁香七月| 99在线视频只有这里精品首页| 亚洲欧美精品综合久久99| 国产亚洲av片在线观看秒播厂 | 国产片特级美女逼逼视频| 国内精品宾馆在线| 桃色一区二区三区在线观看| 日韩欧美国产在线观看| a级一级毛片免费在线观看| 日韩成人伦理影院| 亚洲av二区三区四区| 神马国产精品三级电影在线观看| 国产精品av视频在线免费观看| 天堂√8在线中文| 日本av手机在线免费观看| 禁无遮挡网站| 日韩 亚洲 欧美在线| 别揉我奶头 嗯啊视频| 亚洲精华国产精华液的使用体验| 欧美区成人在线视频| 亚洲乱码一区二区免费版| 男女下面进入的视频免费午夜| 国产一区二区亚洲精品在线观看| 欧美zozozo另类| 亚洲国产色片| 国产久久久一区二区三区| 亚洲成av人片在线播放无| 白带黄色成豆腐渣| 亚洲激情五月婷婷啪啪| 亚洲真实伦在线观看| 免费无遮挡裸体视频| 国产高潮美女av| 九九久久精品国产亚洲av麻豆| 久久久久久大精品| 99久久无色码亚洲精品果冻| 日韩亚洲欧美综合| videos熟女内射| 人人妻人人看人人澡| 国产精品.久久久| 少妇人妻一区二区三区视频| 日韩制服骚丝袜av| 久久精品久久精品一区二区三区| 老司机影院成人| 蜜桃久久精品国产亚洲av| 国产精品麻豆人妻色哟哟久久 | 男人和女人高潮做爰伦理| 蜜桃亚洲精品一区二区三区| a级一级毛片免费在线观看| 国内精品美女久久久久久| 自拍偷自拍亚洲精品老妇| 国产一区二区亚洲精品在线观看| 日本一二三区视频观看| 亚洲av电影不卡..在线观看| 国产伦理片在线播放av一区| 日本免费a在线| 日本欧美国产在线视频| 午夜福利成人在线免费观看| 亚洲国产日韩欧美精品在线观看| 欧美三级亚洲精品| 免费观看a级毛片全部| 嫩草影院精品99| 国产精品美女特级片免费视频播放器| 亚洲av成人精品一区久久| 亚洲成色77777| 日韩av不卡免费在线播放| 亚洲18禁久久av| 亚洲精品国产av成人精品| 又爽又黄a免费视频| 三级男女做爰猛烈吃奶摸视频| eeuss影院久久| 舔av片在线| 热99re8久久精品国产| 精品久久久噜噜| 亚洲中文字幕日韩| 成人国产麻豆网| 两个人视频免费观看高清| 国产乱来视频区| 麻豆一二三区av精品| 国产午夜福利久久久久久| 久久久久久久久大av| 岛国在线免费视频观看| 在线免费观看不下载黄p国产| 午夜福利成人在线免费观看| 久久久久久久久久成人| ponron亚洲| 亚洲自偷自拍三级| 男插女下体视频免费在线播放| 国产精品久久久久久久久免| 日韩视频在线欧美| 色网站视频免费| 精品人妻视频免费看| 国产av不卡久久| 国产在视频线精品| 精品久久久久久久久久久久久| 天天一区二区日本电影三级| 欧美日本亚洲视频在线播放| 精品人妻视频免费看| 国产精品一及| 亚洲欧洲日产国产| 18禁裸乳无遮挡免费网站照片| 日本三级黄在线观看| 搞女人的毛片| 国产精品无大码| 嫩草影院新地址| 久久草成人影院| 色综合色国产| av免费观看日本| 日本av手机在线免费观看| 国产69精品久久久久777片| 国产一区有黄有色的免费视频 | 天堂影院成人在线观看| 国产白丝娇喘喷水9色精品| 亚洲精品,欧美精品| 少妇裸体淫交视频免费看高清| 国产69精品久久久久777片| a级一级毛片免费在线观看| 国产女主播在线喷水免费视频网站 | 超碰av人人做人人爽久久| 婷婷色av中文字幕| 蜜桃亚洲精品一区二区三区| 亚洲一区高清亚洲精品| 大又大粗又爽又黄少妇毛片口| 1000部很黄的大片| 最新中文字幕久久久久| 丰满人妻一区二区三区视频av| 亚洲国产最新在线播放| 中文字幕人妻熟人妻熟丝袜美| 成人亚洲欧美一区二区av| 草草在线视频免费看| 一边摸一边抽搐一进一小说| 国产在线一区二区三区精 | 国产精品福利在线免费观看| 欧美一区二区亚洲| 国产亚洲一区二区精品| 中文字幕av在线有码专区| 在线观看66精品国产| 高清日韩中文字幕在线| videossex国产| 成年av动漫网址| 高清午夜精品一区二区三区| 亚洲18禁久久av| 精品一区二区三区视频在线| 免费人成在线观看视频色| 天天躁夜夜躁狠狠久久av| 一级毛片电影观看 | 天堂网av新在线| 中文字幕av成人在线电影| 九九热线精品视视频播放| 日本黄色片子视频| 久久精品国产亚洲av涩爱| 欧美日韩精品成人综合77777| 中国国产av一级| 亚洲欧美精品综合久久99| 人妻制服诱惑在线中文字幕| 欧美bdsm另类| 丝袜美腿在线中文| 99久久成人亚洲精品观看| 人体艺术视频欧美日本| 最近最新中文字幕免费大全7| 一区二区三区乱码不卡18| 啦啦啦韩国在线观看视频| 亚洲精品亚洲一区二区| 校园人妻丝袜中文字幕| 女人被狂操c到高潮| 国产精品国产高清国产av| 国产伦精品一区二区三区视频9| 两个人视频免费观看高清| 国产v大片淫在线免费观看| 少妇熟女aⅴ在线视频| 欧美bdsm另类| 国语对白做爰xxxⅹ性视频网站| 丝袜喷水一区| 国产精品综合久久久久久久免费| 国产亚洲最大av| 又爽又黄无遮挡网站| 国产精品国产高清国产av| 九九久久精品国产亚洲av麻豆| 欧美成人一区二区免费高清观看| 亚洲精品乱码久久久v下载方式| 精品国产一区二区三区久久久樱花 | 欧美成人午夜免费资源| 寂寞人妻少妇视频99o| 我要看日韩黄色一级片| 色视频www国产| 久久久久久久久久成人| 精品人妻视频免费看| 两个人视频免费观看高清| 晚上一个人看的免费电影| 色网站视频免费| 国产精品日韩av在线免费观看| 极品教师在线视频| 老司机影院毛片| 亚洲精品色激情综合| 乱系列少妇在线播放| 日日摸夜夜添夜夜添av毛片| 国产午夜精品久久久久久一区二区三区| 欧美成人a在线观看| 国产成人a区在线观看| 欧美一区二区精品小视频在线| av在线天堂中文字幕| 久久久国产成人精品二区| 黄色一级大片看看| 丰满人妻一区二区三区视频av| 国产淫片久久久久久久久| 亚洲人成网站在线观看播放| 少妇人妻一区二区三区视频| 国模一区二区三区四区视频| 国产高清三级在线| 亚洲精品,欧美精品| 一边摸一边抽搐一进一小说| 久久精品熟女亚洲av麻豆精品 | 亚洲人成网站高清观看| 男女啪啪激烈高潮av片| 午夜亚洲福利在线播放| 国产精品久久电影中文字幕| 成年女人看的毛片在线观看| 床上黄色一级片| 免费黄色在线免费观看| 黄色一级大片看看| 免费电影在线观看免费观看| 能在线免费观看的黄片| 精品少妇黑人巨大在线播放 | 亚洲久久久久久中文字幕| 国产女主播在线喷水免费视频网站 | 天天躁夜夜躁狠狠久久av| 免费观看性生交大片5| 久久久a久久爽久久v久久| 中文字幕av成人在线电影| 国产成人a∨麻豆精品| 午夜视频国产福利| eeuss影院久久| 亚洲最大成人手机在线| 国产成人一区二区在线| 美女国产视频在线观看| 久久久久性生活片| av福利片在线观看| 一级二级三级毛片免费看| 别揉我奶头 嗯啊视频| 亚洲精品aⅴ在线观看| 在线观看美女被高潮喷水网站| 国产av不卡久久| 一级黄片播放器| 九九在线视频观看精品| 国产精品爽爽va在线观看网站| 免费看av在线观看网站| 麻豆久久精品国产亚洲av| 69人妻影院| 日韩视频在线欧美| 久久精品久久久久久噜噜老黄 | 国产女主播在线喷水免费视频网站 | 国产亚洲5aaaaa淫片| 一本久久精品| 看免费成人av毛片| 国产精品人妻久久久影院| 久久草成人影院| 国产高潮美女av| 日本av手机在线免费观看| 日韩欧美国产在线观看| 日本与韩国留学比较| 18禁裸乳无遮挡免费网站照片| 久久久久久久久久成人| 黑人高潮一二区| 精品久久久久久成人av| 日韩一本色道免费dvd| 亚洲精品影视一区二区三区av| 成人欧美大片| 日韩中字成人| 最近的中文字幕免费完整| 三级男女做爰猛烈吃奶摸视频| 中文字幕熟女人妻在线| 国产大屁股一区二区在线视频| eeuss影院久久| 熟女人妻精品中文字幕| 日韩国内少妇激情av| 爱豆传媒免费全集在线观看| 超碰97精品在线观看| 在线天堂最新版资源| 在线观看美女被高潮喷水网站| 国产成人精品一,二区| av在线观看视频网站免费| 久久国内精品自在自线图片| 中文乱码字字幕精品一区二区三区 | 精品人妻视频免费看| 最后的刺客免费高清国语| 亚洲,欧美,日韩| 国产男人的电影天堂91| 精品久久久久久成人av| 久久99精品国语久久久| 国产老妇伦熟女老妇高清| 白带黄色成豆腐渣| 99九九线精品视频在线观看视频| 真实男女啪啪啪动态图| 精品久久久久久久久亚洲| 国产精品一区www在线观看| 一级黄色大片毛片| 国产黄色小视频在线观看| 日韩一区二区视频免费看| 日韩大片免费观看网站 | 亚洲av二区三区四区| 久久综合国产亚洲精品| a级一级毛片免费在线观看| 七月丁香在线播放| 午夜福利成人在线免费观看| 国产三级中文精品| 中文乱码字字幕精品一区二区三区 | 蜜桃久久精品国产亚洲av| 亚洲国产精品sss在线观看| 非洲黑人性xxxx精品又粗又长| 国产av码专区亚洲av| 99久久无色码亚洲精品果冻| 国产探花极品一区二区| 久久这里只有精品中国| 女人被狂操c到高潮| 波多野结衣高清无吗| 国产老妇伦熟女老妇高清| 免费av不卡在线播放| 亚洲欧美日韩卡通动漫| 国产亚洲精品av在线| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 亚洲成人av在线免费| 一个人免费在线观看电影| 精品久久久久久久人妻蜜臀av| av又黄又爽大尺度在线免费看 | 白带黄色成豆腐渣| 18+在线观看网站| 99热网站在线观看| 内地一区二区视频在线| 国产极品天堂在线| 国产精品嫩草影院av在线观看| 三级经典国产精品| 深爱激情五月婷婷| 青春草视频在线免费观看| 七月丁香在线播放| 国产久久久一区二区三区| 国产一区二区在线观看日韩| 国产精品一二三区在线看| 国产三级中文精品| 国产真实乱freesex| 你懂的网址亚洲精品在线观看 | 久久精品国产亚洲av涩爱| 精品久久国产蜜桃| 99热这里只有是精品50| 夜夜爽夜夜爽视频| 久久国产乱子免费精品| a级毛色黄片| 午夜福利在线在线| 水蜜桃什么品种好| 午夜福利网站1000一区二区三区| 国产在视频线精品| 国产熟女欧美一区二区| 一区二区三区免费毛片| 人人妻人人澡人人爽人人夜夜 | 亚洲第一区二区三区不卡| 91久久精品国产一区二区成人| 不卡视频在线观看欧美| 我要搜黄色片| 色5月婷婷丁香| 国产精品精品国产色婷婷| 日韩在线高清观看一区二区三区| 精品久久国产蜜桃| 国产淫语在线视频| 长腿黑丝高跟| 一级毛片aaaaaa免费看小| 亚洲熟妇中文字幕五十中出| 最近最新中文字幕大全电影3| 久久99热这里只有精品18| 晚上一个人看的免费电影| 国产午夜精品久久久久久一区二区三区| 国产中年淑女户外野战色| 边亲边吃奶的免费视频| 国产片特级美女逼逼视频| 国产免费一级a男人的天堂| 国内精品宾馆在线| 成年女人看的毛片在线观看| 男插女下体视频免费在线播放| 三级男女做爰猛烈吃奶摸视频| 好男人视频免费观看在线| 免费av不卡在线播放| 亚洲婷婷狠狠爱综合网| av福利片在线观看| 国模一区二区三区四区视频| 99视频精品全部免费 在线| 男人的好看免费观看在线视频| 国产老妇女一区| 插阴视频在线观看视频| 精品国产露脸久久av麻豆 | 亚洲一级一片aⅴ在线观看| 中文字幕人妻熟人妻熟丝袜美| 久久亚洲精品不卡| 久久精品国产鲁丝片午夜精品| 久久久久久伊人网av| 又爽又黄a免费视频| 日本色播在线视频| 91精品国产九色| 免费观看a级毛片全部| 亚洲av电影不卡..在线观看| 热99在线观看视频| 欧美成人午夜免费资源| 美女国产视频在线观看| 久久久a久久爽久久v久久| 日日撸夜夜添| 精品久久久噜噜| 国产亚洲91精品色在线| av专区在线播放| 一级毛片电影观看 | 亚洲精品乱码久久久久久按摩| 麻豆乱淫一区二区| 国产一区二区三区av在线| 亚洲国产成人一精品久久久| 日本wwww免费看| 级片在线观看| 国产欧美另类精品又又久久亚洲欧美| 国产精品麻豆人妻色哟哟久久 | 久久久久久国产a免费观看| 国产淫语在线视频| a级毛片免费高清观看在线播放| 亚洲精华国产精华液的使用体验| 中文字幕熟女人妻在线| 内射极品少妇av片p| 日日摸夜夜添夜夜爱| 中文亚洲av片在线观看爽| 国产精华一区二区三区| 国产精品一区二区性色av| 日韩 亚洲 欧美在线| 波多野结衣高清无吗| 男人狂女人下面高潮的视频| 日韩中字成人| 内地一区二区视频在线| 亚洲综合色惰| 午夜精品一区二区三区免费看| 国产精品人妻久久久影院| 国产伦精品一区二区三区四那| 嫩草影院精品99| 久久久久国产网址| 97热精品久久久久久| 夜夜看夜夜爽夜夜摸| 亚洲国产精品成人久久小说| 又粗又爽又猛毛片免费看| 一本一本综合久久| 日韩av在线免费看完整版不卡| 成年免费大片在线观看| 久久精品久久久久久噜噜老黄 | 久久精品久久久久久噜噜老黄 | 国产亚洲5aaaaa淫片| 亚洲精品456在线播放app| 久久婷婷人人爽人人干人人爱| 丝袜喷水一区|