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