新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 分析復雜器件內部的實時可視性的設計方法

        分析復雜器件內部的實時可視性的設計方法

        作者: 時間:2011-07-05 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/150519.htm

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

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

          回到現實情況

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

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

          減少干擾

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

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

          1. 記錄格式

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

          2. 多個緩沖器

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

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

          3. 采樣數據

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

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

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

          4. 確定性的數據

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

          5. 動態/智能記錄

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


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 四子王旗| 双鸭山市| 米泉市| 富宁县| 乌兰县| 龙川县| 漾濞| 兰考县| 江油市| 新乐市| 土默特左旗| 崇左市| 乳山市| 个旧市| 赤水市| 镶黄旗| 安龙县| 桑日县| 小金县| 隆安县| 桂阳县| 宜黄县| 元江| 塘沽区| 钟山县| 黑龙江省| 久治县| 湘潭县| 顺平县| 文昌市| 通辽市| 陆良县| 浮山县| 长沙县| 叶城县| 仙游县| 和平县| 福贡县| 丰镇市| 遵化市| 旅游|