基于PCI總線的DSP系統(tǒng)應(yīng)用程序的更新
摘要:當(dāng)需要更新DSP業(yè)務(wù)系統(tǒng)的應(yīng)用軟件時,為了避免利用仿真器所帶來的不便和硬件損壞,采用了PCI總線技術(shù)來取代仿真器,完成系統(tǒng)應(yīng)用程序的更新;針對帶有外圍FLASH的DSP系統(tǒng),設(shè)計了一整套DSP外圍FLASH啟動流程和應(yīng)用程序的PCI更新方法;通過實驗證明,DSP業(yè)務(wù)系統(tǒng)可以通過上位機利用PCI總線完成DSP外圍FLASH的應(yīng)用程序的更新,同時在DSP上電啟動時,也可以根據(jù)上位機的命令,選擇貯存在FLASH中不同的應(yīng)用程序加載運行。
關(guān)鍵詞:DSP業(yè)務(wù)系統(tǒng);PCI;FLASH自舉;二級引導(dǎo)
在DSP嵌入式業(yè)務(wù)系統(tǒng)設(shè)備中,一般采用片外FLASH自舉方式來實現(xiàn)DSP端應(yīng)用程序的加載和啟動。當(dāng)DSP業(yè)務(wù)系統(tǒng)需要更新應(yīng)用程序時,則可通過仿真器連接JTAG口來控制DSP,完成DSP外圍FLASH的應(yīng)用程序更新。然而,對于成型、交貨的設(shè)備產(chǎn)品,DSP業(yè)務(wù)系統(tǒng)板上一般不會留有JTAG口,或在機箱中很難插拔仿真器;另一方面,對已交貨產(chǎn)品經(jīng)常插拔仿真器,會對硬件設(shè)備有所損傷,使設(shè)備硬件處于非控狀態(tài)。
如果系統(tǒng)設(shè)計使用了PCI作為系統(tǒng)通信總線,則可以通過PCI來完成DSP業(yè)務(wù)系統(tǒng)應(yīng)用程序的更新和加載。本設(shè)計以TI公司TMS320C6416T(簡稱C6416)芯片為例,來說明通過PCI總線來更新DSP系統(tǒng)應(yīng)用程序的過程;同時本文也設(shè)計了一種C6416的上電啟動方式。
1 C6416的PCI特性
1.1 C6416 PCI傳輸機理
C6416片內(nèi)集成了PCI的控制器,通過PCI接口C6416可以完成同PCI總線上其他設(shè)備的數(shù)據(jù)交換。圖1描述了C6416的結(jié)構(gòu)框圖。PCI接口通過EDMA控制寄存器可以訪問C6416的片內(nèi)存儲器/Cache,或者通過EMIF接口訪問片外存儲器。
從圖1可看出,PCI和EMIF接口都是通過EDMA傳輸控制器來與L2存儲器/Cache聯(lián)系的。EDMA傳輸控制寄存器主要用來控制L2存儲器和設(shè)備外圍間的數(shù)據(jù)通信,包括傳輸請求隊列、地址產(chǎn)生器等;而通道控制器是用戶可編程部分,用戶可以設(shè)置相應(yīng)的寄存器,方便的設(shè)置數(shù)據(jù)傳輸方式(一維、二維)、事件觸發(fā)選擇、傳輸通道選擇等。
所有的EDMA傳輸請求可以由L2控制器、HPI/PCI和EDMA通道三種渠道發(fā)出。一個傳輸請求一旦遞交,將通過鏈接通道移送到傳輸交叉開關(guān)(TC),在這里它將進行優(yōu)先級設(shè)置與處理。請求鏈為請求提供了一個內(nèi)在的優(yōu)先機制。假定一個請求在同一周期中只遞交一次請求,那么靠近TC的首先到達,最遠的最后到達。但進入TC的請求,則會進入傳輸請求隊列,按照隊列優(yōu)先級進行相應(yīng)處理,如圖2所示。
HPI/PCI自動產(chǎn)生傳輸請求來響應(yīng)主機。這些請求具有Q2優(yōu)先級且對用戶是不可見的。HPI/PCI遞交請求來進行固定模式的單一單元讀、寫和短數(shù)據(jù)猝發(fā)遞增傳輸操作。
評論