新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于SOPC的便攜式邊界掃描故障診斷儀

        基于SOPC的便攜式邊界掃描故障診斷儀

        ——
        作者:哈爾濱工業大學電氣工程及自動化學院 彭立章 楊春玲 時間:2007-08-07 來源:電子產品世界 收藏

        邊界掃描原理剖析

        邊界掃描技術的核心思想是在器件內部的核心邏輯與I/O引腳之間插入的邊界掃描單元,它在芯片正常工作時是“透明”的,不影響電路板的正常工作。各邊界掃描單元以串行方式連接成掃描鏈,通過掃描輸入端將測試矢量以串行掃描的方式輸入,對相應的引腳狀態進行設定,實現測試矢量的加載;通過掃描輸出端將系統的測試響應串行輸出,進行數據分析與處理,完成電路系統的故障診斷及定位,邊界掃描測試原理示意圖如圖1所示。

        圖1 邊界掃描測試基本原理示意圖

        邊界掃描測試的物理基礎是IEEE1149.1邊界掃描測試總線和設計在器件內的邊界掃描結構,標準的邊界掃描結構如圖2所示。其中邊界掃描測試總線由測試數據輸入(TDI)、測試數據輸出(TDO)、測試時鐘(TCK) 、測試模式選擇(TMS)和復位信號(TRST)五根信號線組成。而標準的邊界掃描結構就是在器件內部的核心邏輯I/O引腳增加了邊界掃描單元(BSC),同時還增加了和邊界掃描測試相關的指令寄存器、數據寄存器、測試訪問端口TAP控制器等電路。在測試狀態時,邊界掃描結構可以對數據寄存器或指令寄存器進行操作,即從TDI端口把測試矢量移入邊界掃描單元,從TDO端口把測試響應移出。

        圖2 標準邊界掃描結構

        總體設計方案

        便攜式邊界掃描故障診斷儀需要根據被測系統電路的描述文件生成邊界掃描測試矢量,然后轉換為IEEE1149.1邊界掃描測試總線信號自動加載到被測系統中,同時從TDI引腳自動讀取邊界掃描測試響應進行分析處理,根據邊界掃描相應算法作出故障診斷決策及定位隔離,最后通過LCD顯示診斷結果。本文采用片上可編程系統解決方案將便攜式故障診斷儀進行軟硬件協同設計在一片FPGA上,使所設計的電路系統在其規模、可靠性、體積、功耗、上市周期、開發成本、產品維護及硬件升級等多方面實現最優化(整體結構示意圖如圖3所示)。

        圖3 便攜式邊界掃描故障診斷儀電路結構示意圖

        硬件設計

        本文采用Altera公司嵌入軟核Nios處理器的FPGA作為載體來實現邊界掃描故障診斷儀的系統。邊界掃描故障診斷儀主要實現邊界掃描測試矢量的生成、JTAG總線信號發生器、邊界掃描故障診斷應用軟件、故障顯示等功能,是便攜式邊界掃描故障診斷系統的核心。利用 Builder創建Nios軟核CPU并進行參數化配置,同時構建儲存器、計時器、LCD接口組件、IEEE1149.1測試總線用戶邏輯為一體的系統,邊界掃描故障診斷片上可編程系統內部模塊配置圖如圖4所示。

        圖4 邊界掃描故障診斷SOPC系統內部模塊配制圖

        本文利用向導式界面靈活定制邊界掃描故障診斷系統,采用標準型Nios II軟核處理器,并添加了4K字節的指令緩存Cache。同時為了方便調試邊界掃描故障診斷系統的軟硬件,在處理器模塊中添加JTAG調試單元,在SOPC系統軟硬件調試成功且能獨立運行后,也可以將JTAG調試單元去掉。

        可復用IEEE1149.1測試總線控制器IP核是邊界掃描測試控制器的核心,也是整個邊界掃描測試平臺設計的關鍵所在。本文設計的IEEE1149.1測試總線控制器IP核主要功能包括:產生邊界掃描測試時鐘TCK、對被測系統電路輸出TMS控制序列、讀取被測系統的測試響應和加載測試矢量、與SOPC系統中的微處理器進行通訊及測試數據交換和在TCK和TMS配合下控制被測系統中TAP控制器完成邊界掃描測試的全部過程。

        在IP核的開發過程中采用IC的設計思想,首先根據功能需求確定外部接口,然后劃分內部結構單元,通過實現內部每個小單元的功能,最后組合完成JTAG總線控制IP核的整個設計,JTAG總線控制邏輯內部體系結構圖如圖5所示。其中TDO緩沖模塊主要由FIFO、計數器、并/串轉換及控制部分組成。

        圖5 jTAG IP 核內部體系結構圖

        系統軟件開發

        mc/os操作系統移植

        將mC/OS-II移植到Nios軟核CPU平臺上,只需修改與處理器相關的代碼OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C三個文件。同時根據本系統的功能需要,用OS_CFG.H配置內核設置系統的基本情況以及整個實時系統所需要內核和用戶的頭文件INCLUDES.H。根據各個任務的重要性和時間關鍵性,設定每個任務的優先級,以便任務調度之用。

        故障診斷軟件

        故障診斷軟件首先根據預先固化在Flash存儲器中的被測系統的邊界掃描描述文件(BSDL)和網絡表等描述文件生成兩個測試數據文件:系統鏈路信息文件和器件間互連網絡節點文件。同時還需要獲得測試器件物理引腳號碼和器件邊界掃描單元的對應關系。然后根據相應的邊界掃描測試算法和不同的測試內容生成測試數據:測試指令代碼、完整性測試數據、互連測試數據、芯片功能測試數據并且加載到被測系統掃描鏈路中及讀取邊界掃描測試響應。其次分析處理測試響應數據,剔除掃描鏈中垃圾數據,提取獲取故障診斷有用信息。最后根據測試內容不同,進行掃描鏈路完備性測試故障診斷、互連測試故障診斷、器件功能測試故障診斷、簇測試故障診斷作出診斷結果。邊界掃描測試故障診斷數據流程圖如圖6所示。

        圖6 數據流程圖

        結語

        本文設計的便攜式邊界掃描故障診斷儀不同于傳統的邊界掃描設備,不依靠PC就可實現邊界掃描測試與診斷,特別適合特殊領域的現場在線使用。尤其是在測試時間方面,克服了PC機上應用軟件與邊界掃描控制器之間數據傳輸的延時的缺點,直接進行邊界掃描測試矢量的加載和讀取,大大提高了邊界掃描測試診斷的效率。(因版面有限,本文已作部分刪節,完整版請登陸www.eepw. com.cn查詢)

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 于都县| 和平县| 内江市| 闵行区| 古浪县| 西华县| 伊宁市| 绥阳县| 梅河口市| 宁南县| 昌吉市| 藁城市| 淮安市| 夏津县| 武鸣县| 沙洋县| 江北区| 仁寿县| 施甸县| 宁远县| 威海市| 大宁县| 石林| 屏山县| 绍兴县| 扎兰屯市| 安西县| 望城县| 邯郸市| 丰顺县| 化德县| 永登县| 安远县| 易门县| 法库县| 三门峡市| 宜君县| 崇文区| 太仓市| 郎溪县| 柘荣县|