摘要:敘述嵌入式計算系統在開發階段、生產環境和現場環境三種情況下的調測技術
和方法,以及如何在硬件和軟件設計中進行可觀測性和可測試性設計。
關鍵詞:在線測試 可觀測性 可測試性 BDM JTAG
引言
  對于含有微處理器的裝置來說,調測總是軟件和硬件結合的。在產品開發的階段以排錯為
主,在產品開發后期以及生產和現場運行階段">

      技術頻道

      嵌入式計算系統調測方法與技術綜述

      摘要:敘述嵌入式計算系統在開發階段、生產環境和現場環境三種情況下的調測技術
      和方法,以及如何在硬件和軟件設計中進行可觀測性和可測試性設計。
      關鍵詞:在線測試 可觀測性 可測試性 BDM JTAG
      引言
        對于含有微處理器的裝置來說,調測總是軟件和硬件結合的。在產品開發的階段以排錯為
      主,在產品開發后期以及生產和現場運行階段,則是以測試為主。不同的階段,調測的內
      容、手段和使用的工具不盡相同。
        測試接口并不是系統功能的一部分,測試接口設計本身也需要成本。對于小型簡單系統來
      說,沒有必要也不允許(成本考慮)設計測試接口;對于復雜系統來說,設計測試接口的
      花費是值得的。良好的測試接口設計可經縮短產品的開發周期,給產品維護、維修帶來便
      利。
        對于嵌入式計算系統來說,測試往往是軟件和硬件相結合的,既有借助于“正確”的軟件
      來測試硬件,也有借助于“正確”的硬件來測試軟件。由于軟件設計人員和硬件設計人員
      的技術隔膜,二者常常在出現問題后相互指責,難以界定是軟件還是硬件問題。對于嵌入
      式系統的軟件設計人員
      來說,必須對硬件有足夠的了解。這一點,和通用計算平臺上的軟件設計是不同的;反之
      ,硬件人員也必須能夠編寫一些測試軟件,以證明其設計的正確性。
      1 開發階段的調制方法
      1.1 RAM版本的目標系統調試
      通過ICE(In-Circuit-Emulate)來調試目標板是開發人員最常用的手段。在產品開發初
      期,由于各種軟件和硬件問題很多,通過仿真器并結合邏輯分析儀、示波器等硬件信號測
      試工具能夠很好地發現問題。
      在仿真器環境下,通過仿真器的監控軟件來控制用戶軟件的運行,使用斷點、單步跟蹤和
      查看變量、CPU寄存器、存儲器的數值等手段來查找問題。由于仿真器的軟件和硬件需要
      一定的CPU資源,用戶軟件在仿真器環境下運行和脫離仿真器后獨立運行是有區別的。好
      的仿真器能夠盡量減小這
      種區別。常見的仿真器從技術上區分有:單CPU仿真器、雙CPU仿真器和ROM仿真器。
      在仿真器環境下,程序一般是在仿真器的RAM存儲器中運行的,所以這種階段也稱為“RA
      M版本的目標系統調試”。
      1.2 ROM版本的目標系統調試
      在仿真器環境下,目標板運行調試正確后,一般的做法是將應用程序寫入目標板的非易失
      性存儲器中,讓目標板單獨運行。在很多情況下,目標板系統往往不能運行或者運行結果
      和仿真器環境下不一致。而沒有連接仿真器,無法觀察各種軟件狀態,給分析問題造成一
      定困難。在目標板上設
      計指示電路有助于發現問題;在電路板上增加1個LED是最簡單也是很有效的方法。對于復
      雜系統,可以設計1個數碼管顯示輸出接口,或者設計1個調試用串口,將調試信息發送到
      PC機上顯示。
      在使用PC機作為顯示輸出設備時,一般的做法是使用Winodws自帶的超級終端軟件,無需
      另外編制程序。和前二種方法相比,該方法的接口信號是雙向的,調試者可以通過PC機輸
      入信息到目標板中,設定顯示信息的類別。這一點,對于復雜系統的調試是很有價值的,
      CISCO公司的很多路由器
      產品就使用這種方法來維護和調試。
      2 生產階段的測試方法
      生產階段的測試只是對硬件電路或者系統進行測試。測試目的是為了對產品或者部件進行
      分檢,找出有缺陷的產品。測試內容包括:
      *裸板測試——檢查未安裝元器件的電路板上的開路和短路缺陷;
      *成品生產缺陷分析——檢查已安裝元器件的電路板上焊點的短路和開路缺陷;
      *成品電氣性能測試——認證每個單元器件的上電運作;
      *產品功能測試——認證電路模塊的功能。
      生產測試和開發階段的硬件測試不同,需要測試方法快速、能成批測試,易于在制造生產
      線上安裝。在生產的不同階段使用的測試工具和技術也不相同。目前常用的測試工具和技
      術有:人工視覺檢查(MVI)、在線測試(ICT)、自動光學測試(AOI)、自動X射線測試
      (AXI)。其中人工視
      醪饈裕∕VI)只能用于小批量試制產品。
      在線測試(ICT)是最常用的一種線路板測試方法:使用專門的針床與已焊接好的線路板
      上的元器件接觸,通過針床在線路板上施加微小電壓來測試線路通斷、元件是否正確安裝
      。由于需要為特定電路板設計專用夾具,適合于單一品種民用型家電線路板極大規模生產
      的測試;缺點是在高密
      鵲腟MT線路板測試困難。目前的替代解決辦法是使用光學方法測試(如AOI,AXI),或者
      使用邊界掃描技術(即基于IEEE1394標準的JTAG測試接口)測試。后者需要IC或者線路板
      支持此技術。
      功能測試是生產過程的最后階段使用,測試線路板或者系統的功能指標,一般的功能測試
      需要設計專用測試設備和測試軟件。
      3 現場測試技術
      現場測試分為三種情況:一種是在線測試,測試設備不停止運行;一種是停機測試,被測
      試設備停止運行;第三種為脫機測試,將被測部件從運行現場取出,放到專用的測試裝備
      上進行測試。從測試技術角度上說,后二者更容易進行各種測試;對于復雜系統來說,往
      往故障和問題需要在設
      備運行時才能發現和定位,必須進行在線測試。究竟采取哪種方式進行現場測試,取決于
      故障狀況和實際應用是否允許立即停機。

      開發階段產品和成熟產品的現場測試要求也不同:前者測試目的主要是發現設計中的問題
      ,由產品開發人員進行;后者側重于發現使用中的問題和失效的部件,目的是更換部件,
      由產品使用人員進行。(但測試方法和步驟也有可能是設計人員制定的。)
      現場測試和試驗室測試的最大區別就是測試設備難以安裝和連接:線路板封閉在機箱中,
      測試信號線很難引入,即使設備外殼上留有測試插座,測試信號線也需要很長,傳統的在
      線仿真器在現場測試中無法使用。另一方面,現場往往沒有實驗室里的各種測試儀器和設
      備,因此,必須有更好
      的方法和手段來完成測試。
      嵌入式處理器中目前有很多芯片具有類似Motorola公司683XX系列處理器的BDM調試接
      口(詳見第5部分)。這種接口是串行的,處理器內部固化了調試微碼,為現場測試
      帶來了方便。對于不具備這種接口的嵌入式計算系統,在系統設計時將關鍵信號點引出到
      一個測試接口插座上,通過該插座可輸入測試激勵信號和觀察輸出信號;對于軟件測試,
      可使用前文中所述的ROM板測試方法,外接顯示部件來觀察程序運行情況。
      軟件現場調試的另外一個要求是程序應能夠現場下載,以便在發現問題后能夠修改軟件。
      現場在線下載程序的方法有兩種:一種是使用具有ISP功能的處理(如Philips公司的P89
      C51RD系列MCU等),另一種方案是將軟件設計成兩部分,一部分是應用功能軟件,另一部
      分是完成前者下載到系
      持械南略贗ㄐ湃砑N蘼勰鬧址椒ǎ略氐鬧骰荘C機。如果需要達到遠程調試和下
      載的目的,則要使用后一種方案。例如,在Echelon公司的Lonwork現場總線產品中,每個
      節點中的程序均可以通過網絡下載,這種功能為多節點網絡系統的現場調試帶來了極大方
      便。
      4 可測試性設計
      在產品開發初期,產品測試的目的是驗證產品設計的正確性,而可測試性部件的存在則能
      加快測試速度,縮短產品開發周期;在生產階段,通過測試來剔除有缺陷的產品和部件;
      在使用階段,測試則用于故障定位,找出失效的部件并更換或者維修。可見,產品的測試
      在產品生命周期各階段
      均有十分重要的作用。可測試性設計應該在產品設計初期就加以考慮,結合測試在不同階
      段的作用來設計測試模塊和接口。
      產品的可測試性設計要考慮的問題有:測試的目的、測試部件的位置、測試部件的基本要
      素、內置測試部件與外部測試設備儀器之間的電氣和機械連接,添加測試部件對被測模塊
      功能和性能的影響、測試部件的成本以及何時使用測試功能等。
      如前所述,測試在產品不同階段是有差別的。在產品開發階段,很多參數需要定量和詳細
      地進行測試,以驗證產品在各種不同情況下是否能正常工作;測試參數,測試點較多,可
      以方便地連接各種外部測試儀器,也不需要考慮添加測試部件所帶來的附加成本。在產品
      生產和使用階段,測試
      的節點和參數數量也相對減少,測試一般是定性的,無需借助于外部設備的自測試,成本
      因素也必須考慮。
      測試部件一般位于被測部件的接口和邊界位置上,如圖上所示,用于產品控制被測部件的
      激勵信號和采樣被測部件的輸出信號。測試部件一般由測試信號源、信號傳輸通道、測試
      觀察裝置等組成。測試部件可以完全包含在被測部件中,也可部分位于外部(如外接信號
      源和示波器等)。對于
      自動測試,測試部件還包括被測部件的預期輸出存儲部件比較部分。
      在一個系統中,如何劃分模塊,確定測試位置(即模塊的邊界)是關系到可測試性設計是
      否合理的首要問題。模塊間最小相關原則和模塊內最小相似原則是兩個重要依據:前者保
      證測試可以獨立進行,不需要很多其它模塊的配合;后者可以使測試能正確反映被測模塊
      的大部分工況,不至于
      漏測很多工作狀態。
      很多情況下,從被測模塊的邊界直接引出信號有困難,測試信號需要經過其它模塊引入到
      被測模塊上。如果作為信號路徑的模塊對信號特征沒有改變,則稱這種測試路徑是透明的
      ,路徑模塊必須能在旁路模式和正常工作模式之間切換,實現起來有局限性。對于硬件來
      說,最簡單的透明路徑
      是使用跳線。
      對于簡單嵌入式系統來說,測試一般包括上電自測試和人為測試。后者在故障出現時進行
      。對于復雜系統來說,還包括定時自動測試,比如在大型程控交換機和飛機機載電子設備
      的運行過程中,均定時進行自檢。
      可測試性設計還應考慮測試功能所使用對象的不同。產品設計人員、產品使用人員和產品
      維護人員對測試內容的要求是同的,需要進行分層次的可測試性設計。
      對于硬件和系統的可測試性設計已有IEEE1149.1/4/5等標準可以借鑒,對于單純的軟件測
      試,目前尚無具體和統一的標準,只有諸如代碼格式分析、白盒測試、黑盒測試、覆蓋測
      試等測試方法。軟件測試的途徑有兩個。一是在源代碼中增加大量測試代碼,使用條件編
      譯指令來控制形成調試
      、測試和最終發布等不同版本。調測版本的代碼規模要比最終的發布版本大很多,在問題
      解決后,一般將臨時性測試代碼通過編譯開關屏蔽。另外一個軟件測試途徑是使用專用的
      測試軟件(如法國Telelogic公司的LOGISCOPE測試工具),這些測試軟件能完成諸如覆蓋
      測試、代碼格式分析等
      功能,但均是針對特定的語言和操作系統環境,使用上一些限制。
      還需要說明的就是“可觀測”設計的概念。可觀測性和可測試性不同,不需要加入激勵信
      號,只觀察系統運行中某些內部狀態,比如軟件中某個重要變量的數值變化,硬件電路中
      某個IC引腳的信號電平等。在設計中,應該保留這些觀察接口,以便需要時用它來判斷和
      分析系統的問題。一個
      可測試的系統,一定是可觀測的,反之則不然。設計可測試性系統的目的是為了以后修改
      和改進設計,而使系統具有可觀測性則是為了維護系統,判斷哪個是出故障的部件,以便
      更換。可測試性設計一般用于新產品,而可觀測性設計用于成熟產品。當然,在結構、安
      裝條件和成本允許的情
      況下,成熟產品也應具有可測試性。實際上,由于處理器技術和芯片的日新月異,已經不
      存在真正意義上的成熟產品了。

      在一類產品中的可測試性設計應該具有一致性,例如,用紅色LED表示電源狀態,所有電
      路板均應采用紅色LED,點亮的頻率也應該一致。作為企業,應制定相關的測試接口標準
      ,并且這些標準應符合行業習慣或者行業標準。
      5 測試和調試接口標準
      測試和調試接口標準:JTAG和BDM。
      5.1 背景調試模式
      在使用傳統的ICE來調試時,使用ICE中的CPU來取代目標板中的CPU,目標板和ICE之間使
      用多芯扁平電纜來連接,而ICE在使用時一般還需要縮主機(一般來PC)來連接。
      在一些高端微處理器內部已經包含了用于調試的微碼,調試時仿真器軟件和目標板上的C
      PU的調試微碼通信,目標板
      上的CPU無需取出。由于軟件調試指令無需經過一段扁平電纜來控制目標板,避免了高頻
      操作限制、交流和直流的不匹配以及調試線纜的電阻影響等問題。這種調試模式在Motor
      ola公司產品68300系列中被稱為背景調試模式BDM(Background Debug
      Mode)。在仿真器和目標之間使用8芯(或者10芯)的BDM接口來連接,其他公司的嵌入式
      處理器也有類似功能,不過叫法不同,例如AMD公司在其X86微處理器上提供“AMDebug”
      的調試接口。
      實際上,BDM相當于將ICE仿真器軟件和硬件內置在處理器,這使得我們直接使用PC機的并
      口來調試軟件,不再需要ICE硬件,大大節約了汽油發成本。一些調試器供應商也提供這
      種軟件產品(如XRAY)。對于用戶來說,為了調試一些特定問題,可以直接使用BDM命令
      來調試目標系統,以彌補
      商業調試軟件的不足。
      BDM接口有8根信號線,也有為10根信號線的,如圖2所示。調試軟件通過4腳使CPU進入背
      景調試模式,調試命令的串行信號則8通過腳輸入,同時4腳輸入信號步時鐘,而CPU中的微
      碼在執行命令后會在10腳輸出調試結果指示信號。可見,BDM接口引線由并口和PC機相連
      ,調試命令則是通過串行
      方式輸入的。
      目前在CPU內置的調試接口和微碼方面,各廠家尚無統一標準。處理器廠家、工具開發公
      司和儀器制造商曾于1998年組成了Nexus 5001 Forum(Nexus 5001論壇),成員包括Motor
      ola、Infineon
      Technologies、日立、ETAS和惠普公司等,正致力于制定一個統一的片上通用調試接口。
      這方面的進一步情況可查閱http://www.nexus-standard.org/網站。
      5.2 邊界掃描測試技術和JTAG接口
      邊界掃描測試技術(Boundary-Scan Test Architecture)屬于一種可測試性設計。其基本思想是在芯片引腳和芯片內部邏輯之間(即芯片邊界位置)增加串行連接的邊界掃描測試單元,實現對芯片引腳狀態的設定和讀取 ,使芯片引腳狀態具有可控性和可觀測性。
      邊界掃描測試技術最初由各大半導體公司(Philips、IBM、Intel等)成立的聯全測試行
      動小組JTAG(Join Test Action Group)于1988年提出,1990年被IEEE規定為電子產品可測試性設計的標準(IEEE1149.1/2/3)。目前,該標準已被一些大規模集成電路所采用(如DSP、CPU、FPGA等),而訪問 邊界掃描測試電路的接口信號定義標準被稱為JTAG接口,很多嵌入式處理器內置了這種測 試接口。在Cygnal公司腃8051F000系列單片機中和一些FPGA芯片中,JTAG接口不僅能用于測試,也是器件的編程
      接口。
      IEEE1149.1標準支持以下3種測試功能:
      *內部測試——IC內部的邏輯測試;
      *外部測試——IC間相互連接的測試;
      *取樣測試——IC正常運行時的數據取樣測試。
      圖3給出了具有2個芯片的系統的邊界掃描測試原理。
      圖3中,TCK為測試同步時鐘輸入,TMS為測試模式選中輸入,TDI為測試數據輸入,TDO為
      測試數據輸出,由測試移位寄存器產品。圖3中的小方框表示位于芯片外圍的邊界掃描測
      試邏輯單元,芯片每個引腳信號經過邊界掃描單元和內部的功能單元相連接。
      目前,邊界掃描技術的應用主要在數字IC的測試上,這種設計思想也可用于模擬系統、板
      級測試甚至系統測試上。IEEE也制定了和IEEE1149.1相類似的標準IEEE P1149.4(數模混
      合信號測試總線標準)、IEEE 1149.5(電路板測試和維護總線標準)。

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      下一篇:什么是PC104?
      主站蜘蛛池模板: 天天看高清无码一区二区三区| 国产香蕉一区二区三区在线视频| 男插女高潮一区二区| 国产AV天堂无码一区二区三区| 3d动漫精品成人一区二区三| 国产裸体舞一区二区三区| 亚洲一区二区三区久久| 东京热无码av一区二区| 一区五十路在线中出| 欧洲精品码一区二区三区免费看| 精品欧美一区二区在线观看| 精品人无码一区二区三区| 寂寞一区在线观看| 亚洲午夜福利AV一区二区无码| 国产一区二区在线|播放| 激情久久av一区av二区av三区| 一本一道波多野结衣AV一区| 国产91精品一区二区麻豆网站 | 色偷偷av一区二区三区| 中文字幕乱码一区二区免费| 国产精品无码不卡一区二区三区| 又紧又大又爽精品一区二区| 国产伦精品一区二区三区四区 | 亚洲国产老鸭窝一区二区三区| 国产成人高清精品一区二区三区| 天堂不卡一区二区视频在线观看 | 黑人大战亚洲人精品一区| 乱中年女人伦av一区二区| 国产福利电影一区二区三区,日韩伦理电影在线福 | 一区二区三区在线免费看| 国产成人无码一区二区在线播放 | 人妻av综合天堂一区| 亚洲AV成人精品一区二区三区| 无码一区二区波多野结衣播放搜索 | 精品无码人妻一区二区三区品| 日韩爆乳一区二区无码| 亚洲日本乱码一区二区在线二产线| 蜜臀AV在线播放一区二区三区| 亚洲第一区视频在线观看| 人妻在线无码一区二区三区| 麻豆视传媒一区二区三区|