《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > ARM11的TD-LTE多模基帶平臺中的跟蹤技術(shù)分析
ARM11的TD-LTE多模基帶平臺中的跟蹤技術(shù)分析
現(xiàn)代電子技術(shù)
彭濤,,呂敏
摘要: 在嵌入式實時操作系統(tǒng)中,,由于存在多任務(wù)之間的切換,,系統(tǒng)的跟蹤信息會發(fā)生亂序或丟失的情況,。在TD-LTE多模基帶平臺產(chǎn)品開發(fā)期間,進行ARM子系統(tǒng)的運行流程控制和異常定位分析,,滿足LTE系統(tǒng)中高速數(shù)據(jù)業(yè)務(wù)的需求,,本文在雙模跟蹤技術(shù)基礎(chǔ)上對多模的跟蹤技術(shù)進行優(yōu)化,使多模跟蹤技術(shù)可靠性更好,、性能更強,,系統(tǒng)效率大大提高。
Abstract:
Key words :

引言
隨著多核產(chǎn)品的日益普及,對跟蹤調(diào)試系統(tǒng)解決方案的性能要求也愈來愈高,。ARM公司針對復(fù)雜片上系統(tǒng)(SoC)設(shè)計推出了高度可配置的跟蹤調(diào)試解決方案ARMCoreSightSoC,,它滿足了軟件開發(fā)人員在SoC設(shè)計方面需要更高可視性的要求。在嵌入式應(yīng)用系統(tǒng)復(fù)雜性越來越高的今天,,跟蹤調(diào)試技術(shù)在整個系統(tǒng)開發(fā)過程中所占的比重也越來越大。因此,,擁有高效,、強大的跟蹤調(diào)試技術(shù)可以大大減少整個系統(tǒng)的開發(fā)時間,縮短產(chǎn)品面市時間,,減輕系統(tǒng)開發(fā)的工作量,。
TD-LTE多?;鶐?/a>平臺的開發(fā)中,既要滿足多種模式(TD-LTE,、TD-SCDMA和GSM)下跟蹤技術(shù)的一致性,,又要滿足TD-LTE的高效率要求,更要保證跟蹤信息的有序性,、正確性和實時性,,這對跟蹤技術(shù)提出了更高的要求。通過對原始跟蹤技術(shù)方案與新跟蹤方案的性能進行對比分析,,來選擇更加適合TD-LTE多?;鶐脚_的跟蹤軟件技術(shù)。

1 總體概述
在多模終端的開發(fā)中,,跟蹤技術(shù)對終端的性能有著至關(guān)重要的作用,。由于本項目是多模單帶芯片的開發(fā),多種系統(tǒng)的模式切換對微處理器的要求較高,,鑒于ARM11系列處理器具有超強的性能,,采用ARM新指令架構(gòu)——ARMv6設(shè)計實現(xiàn),故本項目采用ARM1176JZ內(nèi)核。
ARMv6架構(gòu)通過以下幾點來增強處理器的性能:
①多媒體處理擴展,,使MPEG4編碼/解碼速度和音頻處理速度加快一倍,;
②增強的Cache結(jié)構(gòu),實地址Cache4減少Cache的刷新和重載,,減少上下文切換的開銷,;
③增強的異常和中斷處理,使實時任務(wù)的處理更加迅速,;
④支持Unaligned和Mixed-endian數(shù)據(jù)訪問,,使數(shù)據(jù)共享、軟件移植更簡單,,也有利于節(jié)省存儲器空間,。
在多模芯片的開發(fā)中,本項目將跟蹤技術(shù)作為芯片軟件開發(fā)中的一個小模塊來處理,,其系統(tǒng)結(jié)構(gòu)如圖1所示,。

a.JPG


當其他模塊有跟蹤信息打印時,其他模塊調(diào)用TRACE模塊提供的打印函數(shù),。TRACE模塊接收到打印信息后,,通過設(shè)置打印參數(shù)來判斷是否需要把這些打印信息發(fā)送到PC機。如果需要,,則通過UART串口將打印信息傳送到PC機的TRACE跟蹤軟件,,TRACE模塊對其進行解碼之后,通過解碼軟件顯示出來,。

2 原始跟蹤方案
2.1 緩存管理機制
原方案中的緩存管理機制采用備份緩存管理機制,,采用含跟蹤頭和跟蹤信息的跟蹤信息幀格式,將跟蹤信息寫入一個大小為128 KB的全局跟蹤信息緩存中,。為避免在任務(wù)切換頻繁時,,當前任務(wù)被高優(yōu)先級任務(wù)打斷造成數(shù)據(jù)丟失,申請一個16 KB的備份緩存用于存放高優(yōu)先級任務(wù)跟蹤信息,。若當前跟蹤源在進行寫人操作,,高優(yōu)先級任務(wù)調(diào)用跟蹤接口,當前跟蹤源的任務(wù)就被搶占,,則將高級任務(wù)的跟蹤信息寫入備份緩存中,,當前跟蹤源繼續(xù)進行當前未完成的寫操作。
每次寫完當前跟蹤信息,,檢查備份緩存中是否有數(shù)據(jù),,若有,則將備份緩存中的跟蹤信息拷回至全局跟蹤信息緩存中,,從而保證全局跟蹤信息緩存中跟蹤信息的連續(xù)性,,原始方案跟蹤緩存場景圖如圖2所示,。在本方案中,緩存機制內(nèi)部采用svnsprintf函數(shù)將跟蹤信息寫入緩存,,該函數(shù)可以滿足跟蹤源打印多個變量的值,,通過遍歷參數(shù)列表,找出跟蹤源需要打印參數(shù)的類型和個數(shù),,這樣跟蹤源在打印動態(tài)臨時字符串時使用統(tǒng)一的跟蹤接口,,使其他模塊的跟蹤源在使用跟蹤接口時更加方便。

b.JPG


2.2 跟蹤控制機制
原始方案的跟蹤通過類別和進程進行控制,,進程的控制包括變量,、主函數(shù)和子函數(shù)。PC端通過跟蹤控制工具發(fā)送相應(yīng)的AT命令,,在終端的內(nèi)存中讀取相應(yīng)的設(shè)置值,。若讀取的設(shè)置值與跟蹤源的值相等,則打印出該條跟蹤,;若不相等,,則丟棄本條跟蹤。在本方案中所有的跟蹤控制都是在跟蹤接口內(nèi)部,,這樣對各種跟蹤信息的控制更加明確和具體,,通過switch…case語句對跟蹤類型進行判斷,從而決定屏蔽跟蹤信息還是打印跟蹤信息,。原始跟蹤控制圖如圖3所示,每種模式的跟蹤控制都采用同樣的機制,,圖3中以TDS模式下的跟蹤控制為例進行介紹,。

c.JPG

2.3 傳輸控制機制
實時跟蹤系統(tǒng)通過串口在PC端和ARM子系統(tǒng)之間進行通信,采用DMA總線控制器進行跟蹤信息搬移,。DMA是一種不經(jīng)過ARM處理器的CPU,,可直接從內(nèi)存中存取數(shù)據(jù)的數(shù)據(jù)交換模式。在DMA模式下,,CPU只需向DMA總線控制器下達指令,,就可使其處理數(shù)據(jù)的傳送,接收數(shù)據(jù)傳送完畢的反饋信息,,從而大大降低了CPU資源占有率,。傳輸控制單元采取DMA同步中斷發(fā)送跟蹤信息,每次以等長字節(jié)傳輸,,將跟蹤信息搬移至串口發(fā)送寄存器中,,再通過配置串口發(fā)送寄存器,將跟蹤信息發(fā)送至PC端解析顯示單元,。

3 優(yōu)化后跟蹤方案
3.1 新跟蹤緩存的管理
本設(shè)計方案采用的緩存機制是利用所有跟蹤函數(shù)在進入跟蹤時,,均能夠確切知道當前跟蹤信息所需存儲空間長度的特點,,為當前跟蹤信息預(yù)留出所需要的存儲空間。當?shù)蛢?yōu)先級任務(wù)的跟蹤信息被高優(yōu)先級任務(wù)跟蹤信息搶占時,,內(nèi)存中已經(jīng)為低優(yōu)先級任務(wù)的跟蹤信息預(yù)留了存儲空間,,不會導(dǎo)致跟蹤信息丟失和錯亂的情況,新緩存機制圖如圖4所示,。

d.JPG


通過維護兩個寫索引和一個全局讀索引來管理緩存,,其中兩個寫索引分別為全局寫索引和當前寫索引,全局寫索引用來與全局讀索引進行匹配,,通過這兩個索引來計算緩存的剩余空間和已用空間,,從而判斷何時發(fā)送和寫入跟蹤信息;而當前寫索引的作用就是為當前的跟蹤信息預(yù)留空間,。在本設(shè)計中摒棄了svnprintf函數(shù),,采用memcpy函數(shù)直接將跟蹤信息寫入緩存中,并且采用固定參數(shù)的跟蹤接口,,跟蹤源根據(jù)跟蹤信息的不同需求,,調(diào)用相應(yīng)變量的跟蹤接口。
3.2 新跟蹤控制機制
新跟蹤控制機制的所有控制都由各個模塊的跟蹤源以函數(shù)宏定義的形式對跟蹤接口進行重新封裝,,將跟蹤信息的判斷放在跟蹤接口的外部,。跟蹤控制的場景不再進行詳細的劃分,考慮采用橫向和縱向兩個方面來對跟蹤進行控制,。橫向的控制通過對跟蹤信息的重要程度來劃分,,包括全開放、半開放,、速率測試,、用戶釋放和測試終端等方面;縱向的控制是系統(tǒng)中各個模塊的跟蹤信息的控制,,當開發(fā)人員需要查看某個或某些模塊的跟蹤信息時,,通過設(shè)置相應(yīng)的值來輸出預(yù)想模塊的跟蹤信息。新跟蹤控制圖如圖5所示,。

e.JPG



4 性能對比分析
通過原始跟蹤方案與新跟蹤方案的性能測試與對比分析得出,,新跟蹤方案提高了ARM執(zhí)行效率表現(xiàn)在3個方面:
①在跟蹤控制方面,原始跟蹤方案的跟蹤控制過于細致,,跟蹤判斷過程過于復(fù)雜繁瑣,,多層的switch…case嵌套判斷消耗了一些處理器的時間;新跟蹤的控制采用跟蹤接口外部控制,,若當前跟蹤不需要打印時,,則當前任務(wù)不會進入跟蹤接口,直接丟棄本條跟蹤,,這樣避免了函數(shù)上下文切換的過程,,減少了任務(wù)棧的切換,,從而提高了執(zhí)行效率。
②緩存管理方面,,原始跟蹤方案采用嵌套緩存,,高優(yōu)先級任務(wù)的跟蹤信息寫入嵌套緩存中,當需要輸出跟蹤信息時,,需要將嵌套緩存中的數(shù)據(jù)回拷到全局跟蹤信息緩存,,在回拷的過程中白白地消耗了處理器的時間。而新跟蹤緩存中,,將所有的跟蹤信息全部存儲到一個緩存中,,直接將跟蹤信息輸出,節(jié)省了回拷過程的時間,,從而為處理器處理其他事件提高了效率,。
③新跟蹤方案在跟蹤接口內(nèi)部摒棄了svnprintf函數(shù),直接將跟蹤數(shù)據(jù)memcpy轉(zhuǎn)移到跟蹤緩存中,。原始方案中,,跟蹤數(shù)據(jù)的原始碼流通過svnprintf函數(shù)在ARM內(nèi)部進行字符串的轉(zhuǎn)化過程,再通過PC端的解碼軟件來解析原始碼流,,從而轉(zhuǎn)化成可見字符串,,省去了函數(shù)遍歷參數(shù)的過程(該過程消耗了ARM的執(zhí)行時間)。從變參的跟蹤接口優(yōu)化成定參跟蹤接口,,這種方式大大地提高了ARM的執(zhí)行效率,。
對于兩種跟蹤方案的測試分析,采用調(diào)用一條相同的跟蹤信息所消耗的TD-LTE中一個子幀的時間片來統(tǒng)計時間,,從而對比原始跟蹤方案與新跟蹤方案的效率提高程度,。TD-LTE的一個無線幀長為10 ms,一個無線子幀又分為兩個5 ms的半幀,,每個半幀中有5個1 ms子幀,每個子幀有0x7800個時間片,。

f.JPG


跟蹤性能分析圖如圖6所示,,在原始跟蹤方案中調(diào)用5次跟蹤接口打印字符串”ts_00_tra01_01tdynamicTrace01”及相應(yīng)個數(shù)的變量的值,跟蹤信息消耗的時間為T_old=(0x5679-0x481C)×(1/0x7800)=0.119 7 ms,。在新跟蹤方案中,,同樣調(diào)用5次新跟蹤方案,跟蹤接口打印同樣字符串的內(nèi)容及相應(yīng)個數(shù)的變量的值,,跟蹤信息消耗的時間為T_new=(0x4809-0x4188)×(1/0x7800)=0.052 6 ms,。由此可見,T_old的消耗時間大約是T_new的2倍,,新跟蹤方案節(jié)省了一半以上的時間,,然后又多次對各種跟蹤接口進行驗證,、測試、對比后,,再次確認了新跟蹤方案對ARM的執(zhí)行效率有很大的提高,。

結(jié)語
在多模基帶的跟蹤方案中,,由于跟蹤的傳輸通道只有一個,,不能在不同的系統(tǒng)模式下采用不同的跟蹤方案,并且TD_LTE多模方案中不僅要求跟蹤信息的可靠性,、時序性和正確性,,對跟蹤方案在ARM子系統(tǒng)中的執(zhí)行效率也有所要求,不能影響TD-LTE的高速率的業(yè)務(wù)需求,。綜上考慮,,本項目中采用新的跟蹤方案可以滿足TD-LTE多模基帶平臺下ARM子系統(tǒng)的執(zhí)行效率要求和數(shù)據(jù)業(yè)務(wù)的速率要求,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。