新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 分析復(fù)雜器件內(nèi)部的實時可視性的設(shè)計方法

分析復(fù)雜器件內(nèi)部的實時可視性的設(shè)計方法

作者: 時間:2011-07-05 來源:網(wǎng)絡(luò) 收藏

 如果在一個系統(tǒng)中擁有幾個處理器和外設(shè),要開發(fā)具有成本效益、可靠的產(chǎn)品,尤其是在今天很短的產(chǎn)品開發(fā)時間的條件下,了解所有這些芯片的動態(tài)特性將變得非常重要。嵌入式系統(tǒng)越來越多地在多內(nèi)核ASIC或系統(tǒng)級芯片(SoC)上實現(xiàn),以利用這些所具有的低功耗、低成本和更高集成度的優(yōu)點。

本文引用地址:http://m.butianyuan.cn/article/150519.htm

  開發(fā)者所擁有的很多這些標準工具是依賴于了解老的技術(shù)產(chǎn)品的運行情況來實現(xiàn)的,已經(jīng)不適用于這些新型的、功能強大的多功能了。瓶頸、延遲和對于像總線和存儲器等共享資源的競爭這些問題,對于數(shù)據(jù)傳輸來說是致命的。為了獲得最佳性能,開發(fā)者應(yīng)比以前更需要了解芯片運行的具體情況。

  然而,對系統(tǒng)組件之間的事務(wù)處理的監(jiān)控不再是像以前那樣連接一個邏輯儀或者總線儀那么簡單了,因為很多感興趣的信號深“埋”在芯片。對SoC的需要一套硬件和軟件相混合的裝置來采集SoC本身內(nèi)部的數(shù)據(jù),并由特征描述以及關(guān)聯(lián)工具提供支持,這些工具能幫助開發(fā)者所采集的數(shù)據(jù)。

  回到現(xiàn)實情況

  傳統(tǒng)上,當(dāng)沒有邏輯分析儀可用,或者太難于設(shè)置時,開發(fā)者使用軟件測試工具來獲得對他們。他們會向目標對象增加調(diào)試代碼來采集、處理和上載調(diào)試數(shù)據(jù)。例如,在進入和離開一個函數(shù)時打開和關(guān)閉某個計時器,無論是過去還是現(xiàn)在,對于通過軟件分析器來對函數(shù)進行描述來說,這種都是一種的簡捷

  盡管這只需要增加很少的C語言printf指令到測試代碼中,對采集的數(shù)據(jù)進行格式化,并輸出到一個標準的I/O,但此時這些代碼對代碼的大小、存儲器利用、緩沖器性能、時序和系統(tǒng)資源競爭都有很大的影響。這些缺點使得printf只適合于測試非實時的控制代碼。對于實時的或者確定性代碼,

  減少干擾

  有很多可以在增加的同時減少干擾。從概念上來說,對一個系統(tǒng)進行監(jiān)測涉及到數(shù)據(jù)采集、數(shù)據(jù)緩沖、上載來自目標的數(shù)據(jù)、后續(xù)處理以及進行顯示等。認真安排這些活動在什么時候以及哪里發(fā)生,可以將它們對系統(tǒng)性能的影響減到最小。減少與測試代碼以及數(shù)據(jù)采集設(shè)備相關(guān)的存儲器區(qū)域,可以采集到更多的數(shù)據(jù),并增加對系統(tǒng)實時行為測試的精度或廣度。

  一般需要數(shù)據(jù)點幾倍大小的存儲空間來記錄關(guān)聯(lián)信息,這些關(guān)聯(lián)信息用于更準確地對其進行理解。例如,除了在采集時的數(shù)據(jù)值,可能還需要標記數(shù)據(jù)相關(guān)聯(lián)的變量名字,獲得一個數(shù)據(jù)采集時間的時間戳,并注意當(dāng)在獲得時間戳?xí)r正在執(zhí)行的函數(shù)等。有幾種方法用于獲得和組織這種關(guān)聯(lián)信息,并且不需要依賴于printf和其字符串格式化功能。通常在數(shù)據(jù)中包含pattern,如果用某種方式來采集數(shù)據(jù),那么可以推斷出一些額外的特性,而不需要將它們包含到緩沖器中。增加可視性的一些方法包括:

  1. 記錄格式

  如果在緩沖器中采集一個變量,則不再需要對所采集的什么變量進行標記。如果需要采集多個值,就可以創(chuàng)建一種記錄格式,每一個值對應(yīng)一個給定的位置,這樣避免了不得不對采集的內(nèi)容再次進行標注的情況。

  2. 多個緩沖器

  緩沖寄存器又稱緩沖器,它分輸入緩沖器和輸出緩沖器兩種。前者的作用是將外設(shè)送來的數(shù)據(jù)暫時存放,以便處理器將它取走;后者的作用是用來暫時存放處理器送往外設(shè)的數(shù)據(jù)。有了數(shù)控緩沖器,就可以使高速工作的CPU與慢速工作的外設(shè)起協(xié)調(diào)和緩沖作用,實現(xiàn)數(shù)據(jù)傳送的同步。由于緩沖器接在數(shù)據(jù)總線上,故必須具有三態(tài)輸出功能。 另有電梯緩沖器,汽車彈簧緩沖器。

  通過將相似的數(shù)據(jù)點分組在一起,可以簡化循環(huán)緩沖管理,減少對每個數(shù)據(jù)點的采集延時。同樣地,如果按照優(yōu)先級來對數(shù)據(jù)采集進行隔離,那么當(dāng)系統(tǒng)在100%的利用狀態(tài)時,可能使循環(huán)緩沖器抓取到非關(guān)鍵信息的溢出,而不是用一個非實時的上載來弄亂了實時系統(tǒng)的時限要求。在任何情況下,都需要用來標記溢出的機制。并且如果緩沖器存在一些前提條件,例如需要重構(gòu)的時間戳,則可能追蹤丟失了多少數(shù)據(jù)。

  3. 采樣數(shù)據(jù)

  把模擬音頻轉(zhuǎn)成數(shù)字音頻的過程,就稱作采樣,所用到的主要設(shè)備便是模擬/數(shù)字轉(zhuǎn)換器(Analog to Digital Converter,即ADC,與之對應(yīng)的是數(shù)/模轉(zhuǎn)換器,即DAC)。采樣的過程實際上是將通常的模擬音頻信號的電信號轉(zhuǎn)換成二進制碼0和1,這些0和1便構(gòu)成了數(shù)字音頻文件。采樣的頻率越大則音質(zhì)越有保證。由于采樣頻率一定要高于錄制的最高頻率的兩倍才不會產(chǎn)生失真,而人類的聽力范圍是20Hz~20KHz,所以采樣頻率至少得是20k×2=40KHz,才能保證不產(chǎn)生低頻失真,這也是CD音質(zhì)采用44.1KHz(稍高于40 采樣過程kHz是為了留有余地)的原因。

  通過周期性地以某一規(guī)定間隔截取音頻信號,從而將模擬音頻信號變換為數(shù)字信號的過程。每次采樣時均指定一個表示在采樣瞬間的音頻信號的幅度的數(shù)字。

  配置硬件計數(shù)器并使其運行對系統(tǒng)的影響很小。無論如何,讀取一個計數(shù)器并上載其值都是具有干擾性的。對計數(shù)器的記錄越頻繁,記錄就越準確,但采集和上載的干擾就越大。在確定確實需要更準確的信息之前,保持較低的記錄頻率。例如,一個記錄當(dāng)前哪個函數(shù)在執(zhí)行的周期性分析器能確保得到一個非常準確的代碼使用百分比情況。這樣的分析器僅收集了在每個函數(shù)調(diào)用的記錄期間所采集的信息的一部分,于是干擾很小。也可以按低優(yōu)先級任務(wù)來對數(shù)據(jù)點采樣,盡管這樣可能使得結(jié)果產(chǎn)生一些偏差。

  4. 確定性的數(shù)據(jù)

  如果數(shù)據(jù)采樣獲取的頻率固定的話,不必要加入一個時間戳。作為一種替代選擇,如果數(shù)據(jù)必須通過一組連續(xù)的運算塊,只需記錄數(shù)據(jù)值和時間戳,因為可以從時間戳的次序確定實際的程序塊。如果獲取了幾個值,可能更有效率,以確保數(shù)據(jù)流能通過一系列的程序塊,此時只需記錄函數(shù)和時間戳,并采用數(shù)據(jù)記錄格式。

  5. 動態(tài)/智能記錄

  通常只在需要時采集數(shù)據(jù)(換言之,在對某些信息感興趣的情況下),這樣減少了數(shù)據(jù)采集產(chǎn)生的影響。利用幾個調(diào)試標記,可以縮小采集的范圍。這可以通過設(shè)置一個特定的標記來實現(xiàn),節(jié)約緩沖器空間。設(shè)置或檢查一個標記只需要一個或者兩個處理器周期,因此這是非常有用的方法,即使是對于基于硬件的計數(shù)器亦是如此。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉