• <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)
    国产淫语在线视频| 精品一区二区三区四区五区乱码| 99香蕉大伊视频| 99精品久久久久人妻精品| 制服诱惑二区| 精品一区二区三区四区五区乱码| 国产日韩一区二区三区精品不卡| 中文字幕高清在线视频| 超碰成人久久| 亚洲欧美激情在线| 国产一区二区三区视频了| 免费日韩欧美在线观看| 天天躁日日躁夜夜躁夜夜| 久久精品国产综合久久久| 中文亚洲av片在线观看爽 | 18禁裸乳无遮挡动漫免费视频| 亚洲精品av麻豆狂野| 国产精品1区2区在线观看. | 日韩一卡2卡3卡4卡2021年| 看免费av毛片| 91字幕亚洲| 日本黄色日本黄色录像| 国产国语露脸激情在线看| 久久人人爽av亚洲精品天堂| 12—13女人毛片做爰片一| 在线观看免费视频网站a站| 国产伦人伦偷精品视频| 校园春色视频在线观看| 亚洲欧美精品综合一区二区三区| 精品人妻在线不人妻| 最近最新中文字幕大全免费视频| 欧美丝袜亚洲另类 | 怎么达到女性高潮| 伊人久久大香线蕉亚洲五| 亚洲av美国av| 欧美日韩福利视频一区二区| 国产1区2区3区精品| 欧美亚洲日本最大视频资源| 90打野战视频偷拍视频| 久久精品国产99精品国产亚洲性色 | 亚洲片人在线观看| 在线看a的网站| 亚洲第一欧美日韩一区二区三区| 色婷婷久久久亚洲欧美| 精品人妻在线不人妻| 亚洲国产欧美一区二区综合| 亚洲欧洲精品一区二区精品久久久| 一边摸一边抽搐一进一出视频| 天天影视国产精品| 亚洲一码二码三码区别大吗| www.精华液| 九色亚洲精品在线播放| 欧美午夜高清在线| 久9热在线精品视频| 久久久久久久久免费视频了| 大型黄色视频在线免费观看| 叶爱在线成人免费视频播放| 天天躁日日躁夜夜躁夜夜| 成人av一区二区三区在线看| 国产免费现黄频在线看| 在线av久久热| 欧美精品亚洲一区二区| 国产免费av片在线观看野外av| 电影成人av| 黄色丝袜av网址大全| 黑人巨大精品欧美一区二区mp4| 国产免费av片在线观看野外av| 久久天躁狠狠躁夜夜2o2o| 国产成人啪精品午夜网站| 欧美不卡视频在线免费观看 | 精品福利永久在线观看| 久久ye,这里只有精品| 一级a爱视频在线免费观看| 久久精品aⅴ一区二区三区四区| 69av精品久久久久久| 成熟少妇高潮喷水视频| av免费在线观看网站| 黄色女人牲交| 男人操女人黄网站| netflix在线观看网站| 涩涩av久久男人的天堂| 99国产精品一区二区蜜桃av | 亚洲av成人av| 日本一区二区免费在线视频| 丝袜美足系列| 精品国产一区二区三区四区第35| 嫁个100分男人电影在线观看| 制服人妻中文乱码| 精品国产亚洲在线| av有码第一页| 精品久久蜜臀av无| 国产精品98久久久久久宅男小说| 亚洲久久久国产精品| 成人黄色视频免费在线看| 看免费av毛片| 亚洲第一av免费看| a在线观看视频网站| 精品久久久久久久久久免费视频 | 涩涩av久久男人的天堂| 日韩三级视频一区二区三区| 两个人免费观看高清视频| 国产精品98久久久久久宅男小说| 涩涩av久久男人的天堂| 日本精品一区二区三区蜜桃| 啪啪无遮挡十八禁网站| 18禁黄网站禁片午夜丰满| 两性夫妻黄色片| 亚洲五月天丁香| 午夜精品久久久久久毛片777| 亚洲一区高清亚洲精品| 国内久久婷婷六月综合欲色啪| 亚洲av片天天在线观看| 久久香蕉精品热| 国产在线观看jvid| 五月开心婷婷网| 中国美女看黄片| 可以免费在线观看a视频的电影网站| 怎么达到女性高潮| 变态另类成人亚洲欧美熟女 | 欧美丝袜亚洲另类 | 国产亚洲欧美精品永久| 国产精品免费视频内射| 亚洲成av片中文字幕在线观看| 欧美日韩视频精品一区| 美国免费a级毛片| 精品一区二区三卡| 波多野结衣一区麻豆| 成人精品一区二区免费| 在线观看免费视频网站a站| 亚洲五月婷婷丁香| 国产在视频线精品| 80岁老熟妇乱子伦牲交| 黄色片一级片一级黄色片| 国产成+人综合+亚洲专区| 美女午夜性视频免费| 在线观看午夜福利视频| 色播在线永久视频| 欧美午夜高清在线| 国产97色在线日韩免费| 日本黄色视频三级网站网址 | 在线十欧美十亚洲十日本专区| 午夜福利乱码中文字幕| 免费在线观看黄色视频的| 91九色精品人成在线观看| 在线视频色国产色| 久久九九热精品免费| 国产成人免费无遮挡视频| 国产亚洲精品第一综合不卡| 十八禁人妻一区二区| 国产精品电影一区二区三区 | 久久久久精品国产欧美久久久| 999精品在线视频| 国产精品自产拍在线观看55亚洲 | 欧美黑人欧美精品刺激| 老司机午夜福利在线观看视频| 亚洲五月色婷婷综合| 老汉色av国产亚洲站长工具| 成熟少妇高潮喷水视频| 精品国产超薄肉色丝袜足j| 国产精品.久久久| 成年女人毛片免费观看观看9 | 精品免费久久久久久久清纯 | 国产成人精品在线电影| 最新美女视频免费是黄的| 久久久久久久国产电影| 国产精品久久视频播放| 怎么达到女性高潮| 久热这里只有精品99| 91国产中文字幕| 国产精品永久免费网站| 看片在线看免费视频| 午夜激情av网站| av中文乱码字幕在线| 亚洲成av片中文字幕在线观看| 18禁裸乳无遮挡免费网站照片 | 老司机福利观看| 国产精品免费视频内射| 乱人伦中国视频| 黄频高清免费视频| 欧美久久黑人一区二区| 在线观看一区二区三区激情| 久9热在线精品视频| 亚洲自偷自拍图片 自拍| 午夜福利一区二区在线看| 久9热在线精品视频| 91精品国产国语对白视频| 亚洲国产看品久久| 免费在线观看黄色视频的| 欧美精品啪啪一区二区三区| 亚洲精品国产精品久久久不卡| 91麻豆av在线| 日韩欧美国产一区二区入口| 国产精品偷伦视频观看了| 啦啦啦视频在线资源免费观看| 久久国产乱子伦精品免费另类| a在线观看视频网站| 亚洲中文日韩欧美视频| 一本一本久久a久久精品综合妖精| 老司机午夜十八禁免费视频| 成年版毛片免费区| 极品教师在线免费播放| 亚洲欧洲精品一区二区精品久久久| 成人国产一区最新在线观看| 亚洲av熟女| 日日夜夜操网爽| 国产又色又爽无遮挡免费看| 精品无人区乱码1区二区| 97人妻天天添夜夜摸| 五月开心婷婷网| 国产精品免费大片| 女人高潮潮喷娇喘18禁视频| 如日韩欧美国产精品一区二区三区| 天天躁日日躁夜夜躁夜夜| 国产91精品成人一区二区三区| 99热网站在线观看| 成人av一区二区三区在线看| 这个男人来自地球电影免费观看| 欧美精品啪啪一区二区三区| 亚洲熟妇熟女久久| 欧美色视频一区免费| 在线观看舔阴道视频| 成人国语在线视频| 99久久综合精品五月天人人| 国产亚洲av高清不卡| 人妻一区二区av| 国产精品自产拍在线观看55亚洲 | 精品国产国语对白av| 精品亚洲成a人片在线观看| 在线看a的网站| 久久影院123| 自线自在国产av| 午夜福利乱码中文字幕| 在线看a的网站| 国产高清国产精品国产三级| 嫩草影视91久久| 中文字幕另类日韩欧美亚洲嫩草| 狠狠狠狠99中文字幕| 91麻豆av在线| 国产精品亚洲一级av第二区| 黄片小视频在线播放| 欧美日韩福利视频一区二区| 怎么达到女性高潮| 一级黄色大片毛片| 久久香蕉国产精品| 国产单亲对白刺激| 99精品在免费线老司机午夜| 人人妻,人人澡人人爽秒播| 久久99一区二区三区| 国产精品一区二区在线不卡| 午夜福利影视在线免费观看| 天天影视国产精品| 18在线观看网站| 一级毛片精品| 村上凉子中文字幕在线| 狠狠狠狠99中文字幕| 黄色丝袜av网址大全| 自线自在国产av| 男女之事视频高清在线观看| 成人影院久久| 美女视频免费永久观看网站| 美女高潮喷水抽搐中文字幕| 91国产中文字幕| 免费观看精品视频网站| 午夜精品国产一区二区电影| 久久久水蜜桃国产精品网| 精品久久久久久电影网| 老司机深夜福利视频在线观看| 欧美精品高潮呻吟av久久| 亚洲黑人精品在线| 亚洲精品国产色婷婷电影| 亚洲国产欧美日韩在线播放| 久久久久精品人妻al黑| x7x7x7水蜜桃| 两性午夜刺激爽爽歪歪视频在线观看 | 成人三级做爰电影| 国产亚洲精品一区二区www | 麻豆乱淫一区二区| 深夜精品福利| 亚洲七黄色美女视频| 两个人看的免费小视频| 村上凉子中文字幕在线| 老鸭窝网址在线观看| 亚洲国产中文字幕在线视频| 飞空精品影院首页| 国产有黄有色有爽视频| 99久久综合精品五月天人人| 超碰97精品在线观看| 大陆偷拍与自拍| 狂野欧美激情性xxxx| 欧美日韩av久久| 人妻一区二区av| 在线观看免费午夜福利视频| 女同久久另类99精品国产91| 亚洲欧美一区二区三区黑人| 久久影院123| 中文亚洲av片在线观看爽 | 欧美激情 高清一区二区三区| 一夜夜www| 国产精品 欧美亚洲| 精品国产超薄肉色丝袜足j| 视频区欧美日本亚洲| 多毛熟女@视频| 超碰97精品在线观看| 欧美日韩中文字幕国产精品一区二区三区 | 成年女人毛片免费观看观看9 | 国产一区二区三区综合在线观看| 国产精华一区二区三区| 免费在线观看日本一区| 午夜影院日韩av| 欧美精品人与动牲交sv欧美| 欧美久久黑人一区二区| 亚洲国产毛片av蜜桃av| 国产精品久久视频播放| 日日夜夜操网爽| 国产成人系列免费观看| 亚洲五月婷婷丁香| 亚洲成人手机| 亚洲片人在线观看| av福利片在线| 热99国产精品久久久久久7| 国产91精品成人一区二区三区| 日本一区二区免费在线视频| 国产精品久久久久成人av| 91成人精品电影| 国产黄色免费在线视频| 国产精品电影一区二区三区 | 亚洲精品乱久久久久久| 在线观看免费视频日本深夜| 女性生殖器流出的白浆| 人妻久久中文字幕网| 国产99白浆流出| 免费观看人在逋| 久久午夜综合久久蜜桃| 亚洲专区中文字幕在线| 交换朋友夫妻互换小说| 夜夜躁狠狠躁天天躁| 久久国产乱子伦精品免费另类| 男人的好看免费观看在线视频 | 一边摸一边抽搐一进一出视频| 免费观看人在逋| 好看av亚洲va欧美ⅴa在| 久久久国产精品麻豆| 丁香六月欧美| 女人久久www免费人成看片| 怎么达到女性高潮| 国产一区二区激情短视频| 看免费av毛片| 日韩熟女老妇一区二区性免费视频| 夜夜躁狠狠躁天天躁| 深夜精品福利| 高潮久久久久久久久久久不卡| 亚洲av美国av| 亚洲 欧美一区二区三区| 国产精品二区激情视频| 国产精品电影一区二区三区 | 欧美国产精品va在线观看不卡| 成在线人永久免费视频| 好看av亚洲va欧美ⅴa在| 黑丝袜美女国产一区| 怎么达到女性高潮| 五月开心婷婷网| 看片在线看免费视频| 亚洲中文av在线| 中文字幕av电影在线播放| 精品人妻熟女毛片av久久网站| 黑人欧美特级aaaaaa片| 日韩欧美三级三区| 人妻丰满熟妇av一区二区三区 | 黄色丝袜av网址大全| av视频免费观看在线观看| √禁漫天堂资源中文www| 久热这里只有精品99| 国产精品 欧美亚洲| 黄色女人牲交| 国产精品一区二区免费欧美| 91精品三级在线观看| 人妻丰满熟妇av一区二区三区 | 国产高清国产精品国产三级| 男女床上黄色一级片免费看| 丁香六月欧美| 国产精品av久久久久免费| 亚洲av片天天在线观看| 国产亚洲精品久久久久5区| 国产亚洲精品一区二区www | 国产精品久久久久久精品古装| 亚洲色图 男人天堂 中文字幕| 久久婷婷成人综合色麻豆| 欧美人与性动交α欧美精品济南到| 国产亚洲一区二区精品| 欧美色视频一区免费| 老熟妇仑乱视频hdxx| 视频区图区小说| 人人妻,人人澡人人爽秒播| 操美女的视频在线观看| 一级a爱片免费观看的视频| 精品欧美一区二区三区在线| 80岁老熟妇乱子伦牲交| 亚洲在线自拍视频| 视频区欧美日本亚洲| 亚洲国产欧美网| 天天添夜夜摸| 成年人午夜在线观看视频| 人成视频在线观看免费观看| 午夜两性在线视频| 麻豆国产av国片精品| 999精品在线视频| 欧美日韩一级在线毛片| 男女午夜视频在线观看| 少妇的丰满在线观看| 天天影视国产精品| 久久久久精品国产欧美久久久| 宅男免费午夜| 国精品久久久久久国模美| 国产成人精品在线电影| 欧美性长视频在线观看| av超薄肉色丝袜交足视频| 欧美成人午夜精品| 精品熟女少妇八av免费久了| 男女午夜视频在线观看| 国产亚洲欧美精品永久| 亚洲第一青青草原| 国精品久久久久久国模美| 国产成人精品在线电影| 久久精品亚洲熟妇少妇任你| a级毛片在线看网站| 亚洲熟女毛片儿| 一区在线观看完整版| 黑人巨大精品欧美一区二区蜜桃| 中文字幕色久视频| 热99久久久久精品小说推荐| av国产精品久久久久影院| 露出奶头的视频| 国产亚洲精品一区二区www | 少妇粗大呻吟视频| 很黄的视频免费| 天天影视国产精品| 色尼玛亚洲综合影院| 免费观看人在逋| 成人永久免费在线观看视频| 亚洲一码二码三码区别大吗| 国产亚洲av高清不卡| 国产av又大| 18禁观看日本| 首页视频小说图片口味搜索| 精品视频人人做人人爽| 亚洲欧洲精品一区二区精品久久久| 亚洲久久久国产精品| 国产成人精品久久二区二区免费| 高清黄色对白视频在线免费看| 变态另类成人亚洲欧美熟女 | 国产成人精品久久二区二区91| 在线观看66精品国产| 亚洲熟女精品中文字幕| 老熟妇仑乱视频hdxx| 成年人黄色毛片网站| 亚洲欧美日韩另类电影网站| 99国产综合亚洲精品| 亚洲情色 制服丝袜| 两个人免费观看高清视频| 国产高清videossex| 午夜福利,免费看| 一区二区三区国产精品乱码| 久久中文字幕人妻熟女| 黑人操中国人逼视频| 女性生殖器流出的白浆| 岛国在线观看网站| 最近最新免费中文字幕在线| 曰老女人黄片| 69av精品久久久久久| 亚洲中文字幕日韩| 老司机午夜十八禁免费视频| 一区二区日韩欧美中文字幕| 亚洲欧美日韩高清在线视频| 国产精品av久久久久免费| 欧美日韩av久久| 久久午夜亚洲精品久久| 亚洲美女黄片视频| 亚洲欧洲精品一区二区精品久久久| 国产欧美亚洲国产| 亚洲自偷自拍图片 自拍| 中国美女看黄片| 国产高清视频在线播放一区| 欧美丝袜亚洲另类 | 欧美日韩亚洲国产一区二区在线观看 | tube8黄色片| 精品欧美一区二区三区在线| 国产成人系列免费观看| 婷婷丁香在线五月| 亚洲国产精品sss在线观看 | 午夜精品在线福利| 丝袜在线中文字幕| 一进一出抽搐动态| 新久久久久国产一级毛片| 亚洲欧美激情综合另类| tube8黄色片| 高清av免费在线| 国产淫语在线视频| 制服人妻中文乱码| 精品乱码久久久久久99久播| 精品国产乱子伦一区二区三区| 老汉色av国产亚洲站长工具| 国产99久久九九免费精品| 啦啦啦 在线观看视频| 看黄色毛片网站| 久久久国产精品麻豆| 91在线观看av| 亚洲七黄色美女视频| 成年人午夜在线观看视频| 天堂中文最新版在线下载| 成年人午夜在线观看视频| 久久99一区二区三区| 国产精品国产高清国产av | 激情在线观看视频在线高清 | 下体分泌物呈黄色| 1024视频免费在线观看| 欧美成人午夜精品| 最新的欧美精品一区二区| 又紧又爽又黄一区二区| 中国美女看黄片| 久久国产精品影院| 十八禁人妻一区二区| 少妇 在线观看| 91av网站免费观看| 精品久久久久久久久久免费视频 | 韩国精品一区二区三区| 国产极品粉嫩免费观看在线| 老熟妇仑乱视频hdxx| 欧美日韩福利视频一区二区| 中文字幕制服av| 女警被强在线播放| 嫩草影视91久久| 精品无人区乱码1区二区| 久久精品国产a三级三级三级| 精品国产一区二区久久| 亚洲伊人色综图| 亚洲免费av在线视频| 色在线成人网| 日韩欧美在线二视频 | 成年人午夜在线观看视频| 久久午夜亚洲精品久久| 亚洲欧美色中文字幕在线| 人人澡人人妻人| 精品免费久久久久久久清纯 | 国产精品亚洲av一区麻豆| 亚洲第一青青草原| 欧美人与性动交α欧美软件| 成人黄色视频免费在线看| 精品一区二区三卡| 91精品国产国语对白视频| 老鸭窝网址在线观看| 好男人电影高清在线观看| 又黄又粗又硬又大视频| 欧美亚洲 丝袜 人妻 在线| 亚洲美女黄片视频| 高潮久久久久久久久久久不卡| а√天堂www在线а√下载 | 久久久久国产一级毛片高清牌| 亚洲精品美女久久久久99蜜臀| av不卡在线播放| 麻豆国产av国片精品| 国产精品香港三级国产av潘金莲| 91精品国产国语对白视频| 1024视频免费在线观看| 午夜影院日韩av| 高潮久久久久久久久久久不卡| 大型av网站在线播放| 大型黄色视频在线免费观看| 欧美精品av麻豆av| 99国产综合亚洲精品| 欧美日韩黄片免| 色综合欧美亚洲国产小说| 国产亚洲欧美在线一区二区| 久久国产精品影院| 久久久国产成人精品二区 | 国产极品粉嫩免费观看在线| av视频免费观看在线观看| 韩国av一区二区三区四区| 久久九九热精品免费| 午夜福利欧美成人| 精品高清国产在线一区| 最近最新免费中文字幕在线| 国产亚洲精品第一综合不卡| 丰满迷人的少妇在线观看| 性色av乱码一区二区三区2| 午夜视频精品福利| 久久久久精品国产欧美久久久| 欧美激情高清一区二区三区| 黄色 视频免费看| svipshipincom国产片| 欧美日韩亚洲综合一区二区三区_| 婷婷成人精品国产| 国产成人啪精品午夜网站| 国产av精品麻豆| 999精品在线视频| 国产精品欧美亚洲77777| 久久中文字幕一级| 欧美日韩亚洲高清精品| 多毛熟女@视频| 国产有黄有色有爽视频| 国产高清视频在线播放一区| 伦理电影免费视频| а√天堂www在线а√下载 | 夫妻午夜视频| 俄罗斯特黄特色一大片| 免费在线观看影片大全网站| 男女高潮啪啪啪动态图| 日韩欧美免费精品| 久久久久久久国产电影| 国产aⅴ精品一区二区三区波| 在线看a的网站| 亚洲伊人色综图| xxxhd国产人妻xxx| 国产精品久久视频播放| 亚洲国产精品sss在线观看 | 国产精品一区二区精品视频观看|