• 
    

    
    

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

      ?

      基于代碼反匯編的電路板測(cè)試方法研究

      2021-06-27 03:26:30袁榮劉良勇李金猛
      電子設(shè)計(jì)工程 2021年12期
      關(guān)鍵詞:機(jī)軟件板件板卡

      袁榮,劉良勇,李金猛

      (國(guó)營(yíng)蕪湖機(jī)械廠,安徽蕪湖 240007)

      傳統(tǒng)軟件要正確在某一平臺(tái)上運(yùn)行,則應(yīng)遵循該平臺(tái)的一個(gè)基本約定。此約定在上層或正向的高級(jí)語言開發(fā)中不體現(xiàn),但是在底層匯編級(jí)正向或逆向開發(fā)中必須嚴(yán)格遵循,這一約定被稱為ABI(應(yīng)用二進(jìn)制接口),ABI 規(guī)定了寄存器用途,調(diào)用棧結(jié)構(gòu)。嵌入式系統(tǒng)軟件除了具備上層應(yīng)用軟件的所有特征,還體現(xiàn)在硬件的緊密關(guān)聯(lián)上,嵌入式軟件源碼經(jīng)過編譯鏈接后的源碼無法運(yùn)行在其他硬件平臺(tái)上,甚至在使用相同處理器的其他平臺(tái)也無法運(yùn)行,這是嵌入式軟件復(fù)雜性的直接體現(xiàn)[1]。

      近年來,航空電子產(chǎn)品發(fā)展快速,模塊化、組件化、數(shù)字化程度不斷提高,板件中集成了大量可編程器件,在航電維修過程中,部分板件沒有資料,在對(duì)硬件理解的基礎(chǔ)上并不能掌握板件的工作原理和工作流程,提出了一種利用反匯編的方法對(duì)嵌入式板件進(jìn)行工作流程梳理。

      1 反匯編方法研究

      利用芯片公司的IDA 軟件開展電路板的在線軟件代碼讀取和備份,利用反編譯工具反編譯軟件代碼[2],得到各個(gè)模塊對(duì)應(yīng)的匯編文件,對(duì)匯編文件進(jìn)行分析,主要內(nèi)容為對(duì)模塊的初始化、數(shù)據(jù)流向、硬件空間地址分配進(jìn)行分析[3],形成數(shù)據(jù)流程圖和模塊框圖。

      1.1 形成數(shù)據(jù)流程

      分析反編譯出來的匯編文件[4]、芯片與外設(shè)間的數(shù)據(jù)交互過程,結(jié)合硬件空間地址,形成boot 的啟動(dòng)流程以及模塊間的數(shù)據(jù)交互流程[5]。某型電路板反編譯后分析的數(shù)據(jù)流程如圖1所示。

      圖1 某型電路板通過反匯編分析的程序流程圖

      1.2 模塊劃分

      結(jié)合硬件空間地址分配和boot 啟動(dòng)流程[6],分析出嵌入式板卡的大致模塊劃分情況[7],某型待測(cè)電路板劃分后的情況如圖2 所示。

      圖2 某型電路板模塊劃分

      2 測(cè)試硬件設(shè)計(jì)

      測(cè)試平臺(tái)系統(tǒng)為待測(cè)板卡提供一個(gè)信號(hào)檢測(cè)、信號(hào)激勵(lì)與仿真、電源供電等資源的通用平臺(tái),針對(duì)被測(cè)板卡提供通用的測(cè)試板卡,并提供適配的轉(zhuǎn)接板。

      機(jī)箱中集成了電源、通用測(cè)試板卡、仿真器,電源采用長(zhǎng)峰的直流電源,提供±12 V,±5 V 的電壓,測(cè)試板卡提供了GPIO、通用測(cè)試口、串口、LVDS、可編程時(shí)鐘、ADC、DAC、VGA 接口等資源,仿真器提供了Xilinx-FPGA/CPLD、TI-DSP、ADI-ARM 仿真器。方案框圖如圖3 所示。

      圖3 系統(tǒng)方案框圖

      2.1 板卡方案

      通用測(cè)試板卡為待測(cè)板卡提供適配的GPIO、串口、時(shí)鐘、LVDS、AD/DA 等資源,將常見的串口、USB、LVDS 接口等集中到板卡上,并通過轉(zhuǎn)接板與待測(cè)模塊進(jìn)行匹配,板卡設(shè)計(jì)方案如圖4 所示。

      圖4 板卡設(shè)計(jì)方案

      2.2 測(cè)試主板硬件設(shè)計(jì)

      測(cè)試主板的硬件設(shè)計(jì)框圖如圖5 所示。

      圖5 測(cè)試主板硬件框圖

      2.2.1 FPGA芯片

      主要FPGA 是XC7K325T-2FFG900I。

      2.2.2 電源設(shè)計(jì)

      電源芯片使用ADI 公司的LTM4644,將5 V 電壓轉(zhuǎn)化成1.0 V、1.8 V 和3.3 V。LTM4644 是一個(gè)四路DC/DC 降壓型且單路輸出4 A 的μModule 穩(wěn)壓器[8],內(nèi)含開關(guān)控制器、功率FET、電感器和支持組件。在4~14 V 或2.375~14 V 的輸入電壓范圍內(nèi)支持0.6~5.5 V 的輸出電壓范圍[9]。

      2.2.3 網(wǎng)絡(luò)模塊設(shè)計(jì)

      網(wǎng) 絡(luò) 芯 片 采 用W5300 芯 片[10],W5300 是 一 款0.18 μm CMOS 技術(shù)的芯片,自帶10/100 以太網(wǎng)控制器,并集成TCP/IP 協(xié)議。W5300 專為易于實(shí)現(xiàn)的Internet 嵌入式應(yīng)用程序而設(shè)計(jì),具有高穩(wěn)定性、高性能和低成本等特性[11]。

      2.2.4 串 口

      串口采用MAX3232EUE芯片和MAX490ESA芯片。

      2.2.5 A/D和D/A電路設(shè)計(jì)

      模數(shù)轉(zhuǎn)換芯片采用AD9430BSVZ,數(shù)模轉(zhuǎn)換芯片采用AD9753AST,時(shí)鐘為60 MHz。

      3 測(cè)試軟件設(shè)計(jì)

      3.1 上位機(jī)軟件設(shè)計(jì)

      3.1.1 測(cè)試功能

      上位機(jī)軟件會(huì)提供相應(yīng)的操作按鈕,只需點(diǎn)擊一下,就可對(duì)板卡的相應(yīng)部分進(jìn)行檢測(cè),如果檢測(cè)沒問題,上位機(jī)軟件在對(duì)應(yīng)測(cè)試按鈕的地方指示燈會(huì)按要求指示,同樣如果有問題,指示燈會(huì)指示,對(duì)應(yīng)的上位機(jī)軟件界面也會(huì)打印信息,供使用者查看[12-13]。測(cè)試過程示意圖如圖6 所示。

      圖6 測(cè)試過程示意圖

      3.1.2 測(cè)試原理

      通過UDP 網(wǎng)絡(luò)以及RS232 串口通信來實(shí)現(xiàn)上位機(jī)軟件與板卡之間的信息交互,根據(jù)約定好的協(xié)議報(bào)文來讀取板卡里的信息,上位機(jī)軟件的發(fā)送端對(duì)網(wǎng)絡(luò)通信的確定以及所要測(cè)試的板卡信息進(jìn)行分類發(fā)送,可集中針對(duì)測(cè)試的部分進(jìn)行測(cè)試,上位機(jī)軟件測(cè)試原理如圖7 所示,測(cè)試流程如圖8 所示。

      圖7 上位機(jī)軟件測(cè)試原理圖

      圖8 測(cè)試流程圖

      3.1.3 通信原理

      上位機(jī)軟件與板卡之間通過UDP 網(wǎng)絡(luò)進(jìn)行信息的交互,主要定義了包括IP、端口在內(nèi)的協(xié)議報(bào)文,報(bào)文里根據(jù)發(fā)送識(shí)別號(hào)的不同,分別對(duì)應(yīng)板卡各個(gè)部分的信息,板卡在接收到對(duì)應(yīng)的信息之后對(duì)上位機(jī)進(jìn)行回復(fù)操作,上位機(jī)根據(jù)該回復(fù)指令與之前的協(xié)議報(bào)文進(jìn)行對(duì)照,若出現(xiàn)不同,則亮紅燈,若相同,則表示板卡正常,亮綠燈[14]。

      在板卡出現(xiàn)故障時(shí),上位機(jī)軟件與板卡之間進(jìn)行RS232 串口通信,根據(jù)板卡之間約定好的串口號(hào)、波特率、數(shù)據(jù)位、校驗(yàn)位、停止位等信息,完成與板卡之間的串口通信。當(dāng)打開串口時(shí),板卡會(huì)回復(fù)連接正常等信息,在進(jìn)行板卡測(cè)試時(shí),串口發(fā)送端發(fā)送某一特定的數(shù)字(與板卡之間約定好的數(shù)字)就可完成對(duì)板卡特定部分狀態(tài)的檢測(cè),板卡會(huì)根據(jù)發(fā)送指令,檢測(cè)完成后給上位機(jī)串口回復(fù)該狀態(tài)信息,并顯示在上位機(jī)軟件界面,操作者根據(jù)上位機(jī)讀取到的信息進(jìn)行相應(yīng)的操作。

      3.1.4 測(cè)試結(jié)果

      根據(jù)上位機(jī)測(cè)試的結(jié)果,操作者能夠很好地檢測(cè)被測(cè)板卡的狀態(tài)信息,并快速處理板卡之間存在的問題。FPGA 調(diào)用正確板卡的信息與被測(cè)板卡信息進(jìn)行比對(duì),最后通過上位機(jī)軟件直觀地將測(cè)試結(jié)果顯示在界面上。操作者可根據(jù)測(cè)試結(jié)果記錄板卡出現(xiàn)的問題及板卡出現(xiàn)錯(cuò)誤的現(xiàn)象,測(cè)試結(jié)果如圖9所示。

      圖9 測(cè)試結(jié)果

      3.2 下位機(jī)測(cè)試軟件設(shè)計(jì)

      3.2.1 通信確認(rèn)設(shè)計(jì)

      FPGA 芯片起到接收上位機(jī)命令的作用,上位機(jī)和FPGA 之間交互數(shù)據(jù)采用的是UPD 協(xié)議,報(bào)文格式是自定義格式[15]。首先是建立連接,上位機(jī)發(fā)送詢問碼給測(cè)試主板,測(cè)試主板回復(fù)特定字符給上位機(jī),上位機(jī)正確收到,表示連接建立。通訊確認(rèn)點(diǎn)擊之后,上位機(jī)下發(fā)通訊確認(rèn)字符,測(cè)試主板收到后向系統(tǒng)串口打印字符碼。對(duì)于不同的板卡界面,當(dāng)點(diǎn)擊切換串口命令的選項(xiàng)會(huì)讓測(cè)試主板將串口連接切換到對(duì)應(yīng)的板卡接口上。如果板卡連接不對(duì),則會(huì)出現(xiàn)亂碼[16-18]。

      3.2.2 串口切換設(shè)計(jì)

      測(cè)試主板通過網(wǎng)絡(luò)收到上位機(jī)切換串口的命令。測(cè)試主板根據(jù)數(shù)據(jù)包的串口號(hào),在FPGA里將連接到上位機(jī)的串口線切換到網(wǎng)絡(luò)包指定的串口線。

      4 結(jié)束語

      文中選擇某型飛機(jī)上的3 塊典型板件,通過直接在線讀取替換或軟件移植等方式,對(duì)電路板上的處理器、存儲(chǔ)器、配置芯片和可編程邏輯器件等的內(nèi)部核心代碼進(jìn)行備份,并針對(duì)部分匯編程序開展分析,理解模塊在工作狀態(tài)的原理,再通過正向開發(fā)的方式實(shí)現(xiàn)了該類型板件的測(cè)試與故障定位,對(duì)復(fù)雜機(jī)載電路板的測(cè)試具有一定的參考價(jià)值。

      猜你喜歡
      機(jī)軟件板件板卡
      基于車身板件定位切割焊接裝置的設(shè)計(jì)
      基于動(dòng)態(tài)擇優(yōu)組合的板材切割下料算法
      基于PCI9054的多總線通信板卡的研制
      基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
      矩形鋼管截面延性等級(jí)和板件寬厚比相關(guān)關(guān)系
      道岔監(jiān)測(cè)系統(tǒng)上位機(jī)軟件設(shè)計(jì)
      基于正交試驗(yàn)法的北斗用戶機(jī)軟件測(cè)試用例設(shè)計(jì)
      一種基于光纖數(shù)據(jù)傳輸?shù)亩喟蹇ㄜ浖绦驘龑懠夹g(shù)
      PCI-e高速數(shù)據(jù)采集卡的驅(qū)動(dòng)與上位機(jī)軟件設(shè)計(jì)
      電子器件(2015年5期)2015-12-29 08:43:12
      鋁合金板件損傷修復(fù)
      罗田县| 苍溪县| 辽宁省| 宁晋县| 寻乌县| 沈阳市| 满城县| 东丰县| 五大连池市| 新竹市| 项城市| 合山市| 北碚区| 钟山县| 汉源县| 章丘市| 纳雍县| 永济市| 永修县| 秦皇岛市| 天峨县| 图木舒克市| 丰宁| 禄丰县| 陇西县| 潜江市| 西城区| 旌德县| 顺义区| 涿州市| 台湾省| 雅江县| 汤原县| 大渡口区| 宁远县| 萍乡市| 阳山县| 东阿县| 从化市| 德化县| 新密市|