仿真擴展芯片(EEC)簡化高速汽車嵌入式處理器的集成
由于微控制器時鐘速度的加快,調(diào)試和校準變得更加地困難。嵌入式仿真設備能夠為汽車電子設計工程師提供高度集成的系統(tǒng)級芯片(SoC)微控制器內(nèi)部的可視性。
本文引用地址:http://2s4d.com/article/85220.htm自動代碼生成工具能夠通過基于圖示模型之上的設計生成C代碼。對該工具越來越多的使用可以節(jié)省軟件工程投入的時間,但同時也給軟件工程文化帶來巨大的變化。
軟件工程師將現(xiàn)有的模塊組合在一起,建立成一個系統(tǒng),并對該系統(tǒng)作出檢測。與把定制的模塊寫入一個系統(tǒng)中以滿足系統(tǒng)要求的方法相比,該方法的效率更高。對該通用的模塊化軟件的再利用提高了開發(fā)效率和軟件質(zhì)量。但同樣也導致結(jié)構(gòu)松散,存儲器效率低下,長時間的延遲及將設計過程從硬件中抽象出來。
在不改變基本軟件的情況下,這些系統(tǒng)的性能能夠轉(zhuǎn)變成不同版本的機械硬件。一般情況下,這是通過將許多校準了的變量包括在內(nèi)而實現(xiàn)的,因此才能夠在運行期間使能或禁止功能,調(diào)整增益,同時在運行時改變查找表。
軟件工程師依靠仿真技術(shù)來跟蹤真實系統(tǒng)中的程序流程,關(guān)注隨時更新的數(shù)據(jù),測量延遲,并且排除邏輯錯誤。但是,在為這些系統(tǒng)除錯時,由于時鐘速度過高,給多內(nèi)核存儲器系統(tǒng)級芯片的集成帶來了一些挑戰(zhàn)。
設計障礙
嵌入式非易失存儲器的體積持續(xù)增大,硅片的幾何形狀持續(xù)縮小,使得規(guī)模大的系統(tǒng)級芯片微控制器能夠與應用廣泛的高速內(nèi)部總線連接在一起,并通過這些總線將信息反饋給多個具有高速緩沖存儲器的流水線型內(nèi)核存儲處理器及協(xié)調(diào)處理器。該體系同樣能夠使微控制器子系統(tǒng)能夠被集成到更深層次的應用環(huán)境。由于存在物理連接問題(有時甚至連一根外部總線都沒有),以及時鐘速度過高、電纜長度及環(huán)境溫度等因素,將分析設備集成到深度嵌入式器件的外部總線上的難度很大。
在許多情況下,可通過外部總線察看的外部取數(shù)情況并不代表整個程序的流程,因為內(nèi)部高速緩沖存儲器及流水線能夠?qū)θ?shù)做出預測。突發(fā)模式閃存同樣由于假定的連續(xù)地址增量使得所獲得的數(shù)據(jù)的解碼變得更加復雜。
連接仿真系統(tǒng)時的首要問題在于連接長度受到限制,因為系統(tǒng)時鐘的速度過高。例如,如果使用一個頻率為150MHz的微控制器,那么,50cm長的連接線造成的傳輸時間延遲大約為2.0ns,但是時鐘周期僅為6.67ns,所以2.0ns的單向延誤時間是相當巨大的。由于在這些高頻率器件中,連接線扮演著傳輸線的角色,并且它們的終接阻抗是無法得到保障的,因此,這看似短暫的時間幾乎妨礙了任何遠離目標器件的控制功能。在這個例子中,想要忽略傳輸線造成的時間上的延遲,線路的最大長度不能超過16cm。所以,在線仿真器(ICE)具有與被測發(fā)動機電控單(ECU)相同的環(huán)境需求。
Ingineon公司的TC1796產(chǎn)品即為此類系統(tǒng)級芯片實現(xiàn)的一個很好的例子。32位的TriCore中央處理器(CPU)擁有代碼和數(shù)據(jù)分別獨立的總線,并且通過LFI與系統(tǒng)總線橋接起來,建立起一個與外設子系統(tǒng)相連的數(shù)據(jù)通道。此外,還有一個通過直接存儲器存取(DMA)與遠端外設總線相連的通道。
外設控制處理器(PCP2)也是一個32位的CPU。同樣的,該處理器也有獨立的通常無法看見的數(shù)據(jù)和程序總線。該處理器的子系統(tǒng)的最高頻率為 150MHz,外設子系統(tǒng)最高頻率為75MHz,因此,它有兩個時鐘區(qū)域。該器件被封裝于一個416引腳的球型格柵極陣列封裝中,能夠提供標準的JTAG 除錯接口以支持除錯功能。但是,要完全仿真這樣一個微控制器,需要能夠檢驗與外部針腳不相連的許多不同內(nèi)部總線之間的數(shù)據(jù)交換。巨大的嵌入式存儲器 (2Mb閃存)有廣泛的內(nèi)部取數(shù)路徑(128位)和局部高速緩沖存儲器。因此,內(nèi)置存儲器的執(zhí)行比外置(32位存取)存儲器快得多(見下方TC1796方框圖)。
多總線及多內(nèi)核存儲器的復雜性意味著,只有一個外綁器件(現(xiàn)場可編程門陣列, FAPG)才能夠達到完全除去系統(tǒng)錯誤所需的可視度水平。但是,如前面所討論的,頻率為150MHz的總線周期僅為6.67ns,一個外置的外綁控制器在這段時間內(nèi)要接收總線信息,并對其解碼,還要決定需要觸發(fā)的中斷及暫停處理器,因此,給予控制器的時間是遠遠不夠的。在這種情況下,解決問題的方法就是將仿真器安裝于外綁器件中,形成所謂的仿真設備(見下方對比圖:左方為大規(guī)模生產(chǎn)器件,右方為擁有仿真擴展芯片的仿真設備)。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論