• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于SCI通訊的軟件加載及校驗(yàn)方法

      2021-06-16 05:29:10張寶升王超楊恒輝
      電子制作 2021年4期
      關(guān)鍵詞:接收數(shù)據(jù)合法校驗(yàn)

      張寶升,王超,楊恒輝

      (中國(guó)航空工業(yè)集團(tuán)公司西安航空計(jì)算技術(shù)研究所,陜西西安,710065)

      0 引言

      本文設(shè)計(jì)了一種基于SCI通訊的軟件加載及校驗(yàn)方法,在加載/校驗(yàn)過程中對(duì)每一包數(shù)據(jù)的加載/校驗(yàn)地址都進(jìn)行了合法性判斷,保證了加載/校驗(yàn)的正確性;并且采用逐字校對(duì)的方法進(jìn)行校驗(yàn),防止了“單粒子翻轉(zhuǎn)”效應(yīng)和加載地址錯(cuò)誤導(dǎo)致的產(chǎn)品工作異常。

      1 SCI通訊驅(qū)動(dòng)設(shè)計(jì)

      ■1.1 通訊協(xié)議

      本系統(tǒng)所使用的通訊協(xié)議見圖1。其中S0為開始數(shù)據(jù)包,S2為加載/校驗(yàn)數(shù)據(jù)包,S5為結(jié)束數(shù)據(jù)包。

      圖1 通訊協(xié)議[1]

      開始數(shù)據(jù)包表示“通訊開始”,接收數(shù)據(jù)可設(shè)置為固定字符。

      加載/校驗(yàn)數(shù)據(jù)包的接收數(shù)據(jù)包括加載/校驗(yàn)地址和數(shù)據(jù)。

      結(jié)束數(shù)據(jù)包的接收數(shù)據(jù)可設(shè)置為接收到的加載/校驗(yàn)數(shù)據(jù)包的總包數(shù)。

      ■1.2 SCI接收處理

      SCI接收處理的主要功能是接收上位機(jī)發(fā)送過來的數(shù)據(jù)包并進(jìn)行合法性檢查,如果合法,則將接收到的數(shù)據(jù)包進(jìn)行轉(zhuǎn)換保存。在接收數(shù)據(jù)時(shí)可設(shè)置計(jì)數(shù)器,對(duì)接收到的數(shù)據(jù)進(jìn)行計(jì)數(shù)。

      當(dāng)以下條件都滿足時(shí),則判斷接收到的數(shù)據(jù)包合法。

      a.第0個(gè)字節(jié)為'S',且第1個(gè)字節(jié)為'0'、'2'或'5'[2]。

      b.數(shù)據(jù)長(zhǎng)度在合法范圍內(nèi)。

      c.數(shù)據(jù)長(zhǎng)度與計(jì)數(shù)器的計(jì)數(shù)值一致。

      d.SCI狀態(tài)寄存器不報(bào)錯(cuò)。

      ■1.3 數(shù)據(jù)轉(zhuǎn)換保存

      數(shù)據(jù)轉(zhuǎn)換處理的主要功能是將SCI通訊接收到的合法數(shù)據(jù)包進(jìn)行ASCII碼到16進(jìn)制機(jī)器碼的轉(zhuǎn)換,并將轉(zhuǎn)換后的數(shù)據(jù)保存到加載/校驗(yàn)數(shù)據(jù)緩沖區(qū)中。

      加載/校驗(yàn)數(shù)據(jù)緩沖區(qū)是一個(gè)類型為字,長(zhǎng)度可設(shè)置的數(shù)組。當(dāng)數(shù)據(jù)轉(zhuǎn)換保存完成后,若加載/校驗(yàn)數(shù)據(jù)緩沖區(qū)未滿,則不進(jìn)行加載/校驗(yàn),繼續(xù)接收下一包數(shù)據(jù)并轉(zhuǎn)換保存,直到加載/校驗(yàn)數(shù)據(jù)緩沖區(qū)滿為止。

      2 軟件加載設(shè)計(jì)

      本方案的軟件加載流程圖如圖2所示。

      圖2 軟件加載流程圖

      在加載開始前,上位機(jī)會(huì)發(fā)送開始數(shù)據(jù)包,加載設(shè)備若接收到正確的開始數(shù)據(jù)包,則會(huì)給上位機(jī)發(fā)送應(yīng)答信號(hào),可繼續(xù)加載軟件,否則停止加載并報(bào)故障。

      在加載過程中,為滿足軟件的模塊化加載需求,設(shè)計(jì)了軟件識(shí)別信息,通過軟件識(shí)別信息確定加載地址范圍,以此判斷加載數(shù)據(jù)包中的加載起始地址是否合法。若合法,則繼續(xù)加載;若不合法,則停止加載并報(bào)故障。

      在加載完成后,上位機(jī)會(huì)發(fā)送結(jié)束數(shù)據(jù)包,軟件讀取結(jié)束數(shù)據(jù)包中的總包數(shù),并與接收到的加載數(shù)據(jù)包數(shù)進(jìn)行比較,若一致則判定加載成功,否則會(huì)報(bào)故障。

      關(guān)于故障信息和提示信息,如下設(shè)計(jì):

      a.未接收到開始數(shù)據(jù)包:當(dāng)軟件開始加載時(shí),未在規(guī)定的時(shí)間內(nèi)接收到開始數(shù)據(jù)包,提示此故障。

      b.錯(cuò)誤的開始數(shù)據(jù)包:當(dāng)接收到的開始數(shù)據(jù)包與期望序列不符時(shí)提示此故障。

      c.數(shù)據(jù)傳輸錯(cuò)誤:當(dāng)接收到的加載數(shù)據(jù)為非十六進(jìn)制的非法字符時(shí)提示此故障。

      d.地址范圍越界:當(dāng)加載數(shù)據(jù)包中的加載地址超范圍時(shí)提示此故障。

      e.校驗(yàn)錯(cuò)誤:當(dāng)接收到數(shù)據(jù)包中的校驗(yàn)數(shù)據(jù)與計(jì)算的校驗(yàn)和不一致時(shí)提示此故障。

      f. flash存儲(chǔ)器被鎖:當(dāng) flash存儲(chǔ)器的寫允許信號(hào)未被激活時(shí)提示此故障。

      g.加載錯(cuò)誤:當(dāng)從Flash存儲(chǔ)器回讀到的加載數(shù)據(jù)有錯(cuò)誤時(shí)提示此故障。

      h.未接收到結(jié)束數(shù)據(jù)包:當(dāng)軟件加載結(jié)束時(shí),未在規(guī)定的時(shí)間內(nèi)接收到結(jié)束數(shù)據(jù)包,提示此故障。

      i.軟件加載成功:當(dāng)軟件加載完成,且未報(bào)任何故障時(shí),提示此成功信息。

      3 軟件校驗(yàn)設(shè)計(jì)

      大部分的軟件校驗(yàn)方法是計(jì)算軟件的校驗(yàn)和,并和固化的校驗(yàn)和比較,若一致則校驗(yàn)正確,否則校驗(yàn)錯(cuò)誤。當(dāng)“單粒子翻轉(zhuǎn)”效應(yīng)導(dǎo)致偶數(shù)個(gè)二進(jìn)制位發(fā)生翻轉(zhuǎn)時(shí),該校驗(yàn)方法就不能校驗(yàn)出軟件錯(cuò)誤,致使軟件繼續(xù)往下執(zhí)行,導(dǎo)致產(chǎn)品工作異常。

      另外,當(dāng)軟件加載到錯(cuò)誤的地址時(shí),該校驗(yàn)方法也可能校驗(yàn)不出錯(cuò)誤,比如某段代碼的正確的地址為0x20000~0x20021,如圖3所示。假設(shè)在加載過程中發(fā)生錯(cuò)誤,誤加載到地址0x20040~0x20061中,如圖4所示,其它代碼均一致。這種錯(cuò)誤只比較校驗(yàn)和是檢查不出來的,只有用本方案的校驗(yàn)方法才能檢查出來。

      圖3 地址正確的代碼

      圖4 地址錯(cuò)誤的代碼

      圖5 軟件校驗(yàn)流程圖

      本方案設(shè)計(jì)的軟件校驗(yàn)方法為:通過SCI接口接收上位機(jī)發(fā)送的“S數(shù)據(jù)包”,然后解析,解析完成后和對(duì)應(yīng)地址的代碼按字進(jìn)行校對(duì),直到將所有代碼校對(duì)完。校對(duì)完成后若全部一致則校驗(yàn)正確,否則校驗(yàn)錯(cuò)誤。本方案的軟件校驗(yàn)流程圖如圖5所示。

      4 結(jié)束語

      本方案在加載/校驗(yàn)過程中對(duì)每一包數(shù)據(jù)的加載/校驗(yàn)地址都進(jìn)行了合法性判斷,保證了加載/校驗(yàn)的正確性;并且采用逐字校對(duì)的方法進(jìn)行校驗(yàn),防止了“單粒子翻轉(zhuǎn)”效應(yīng)和加載地址錯(cuò)誤導(dǎo)致的產(chǎn)品工作異常。但由于要進(jìn)行數(shù)據(jù)合法性檢查和轉(zhuǎn)換,會(huì)導(dǎo)致時(shí)間較長(zhǎng),若不考慮時(shí)間因素,本方案不失為一種穩(wěn)定可靠的軟件加載/校驗(yàn)方案。

      猜你喜歡
      接收數(shù)據(jù)合法校驗(yàn)
      沖激噪聲背景下基于幅度預(yù)處理的測(cè)向新方法*
      合法兼職受保護(hù)
      被賴賬討薪要合法
      公民與法治(2020年3期)2020-05-30 12:29:56
      合法外衣下的多重阻撓
      低復(fù)雜度多輸入多輸出雷達(dá)目標(biāo)角度估計(jì)方法
      爐溫均勻性校驗(yàn)在鑄鍛企業(yè)的應(yīng)用
      找個(gè)人來替我懷孕一一代孕該合法嗎?
      媽媽寶寶(2017年2期)2017-02-21 01:21:22
      單片機(jī)模擬串口數(shù)據(jù)接收程序的實(shí)現(xiàn)及優(yōu)化
      大型電動(dòng)機(jī)高阻抗差動(dòng)保護(hù)穩(wěn)定校驗(yàn)研究
      基于加窗插值FFT的PMU校驗(yàn)方法
      永川市| 华亭县| 深水埗区| 厦门市| 龙里县| 托克托县| 英超| 南京市| 襄城县| 岢岚县| 武夷山市| 七台河市| 六盘水市| 北流市| 泾川县| 浠水县| 松溪县| 封开县| 武平县| 松原市| 佛学| 桂东县| 会东县| 特克斯县| 南涧| 兴业县| 湖南省| 东乡族自治县| 贵州省| 柯坪县| 新化县| 克什克腾旗| 保定市| 自贡市| 凤冈县| 揭西县| 天水市| 德化县| 威宁| 义乌市| 越西县|