基于PCI 總線的DSP 系統(tǒng)應(yīng)用程序的更新
0 引言
在DSP嵌入式業(yè)務(wù)系統(tǒng)設(shè)備中,一般采用片外FLASH自舉方式來實(shí)現(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口,或在機(jī)箱中很難插拔仿真器;另一方面,對已交貨產(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傳輸機(jī)理
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ù)通信,包括傳輸請求隊(duì)列、地址產(chǎn)生器等;而通道控制器是用戶可編程部分,用戶可以設(shè)置相應(yīng)的寄存器,方便的設(shè)置數(shù)據(jù)傳輸方式(一維、二維)、事件觸發(fā)選擇、傳輸通道選擇等。
所有的EDMA傳輸請求可以由L2控制器、HPI/PCI和EDMA 通道三種渠道發(fā)出。一個傳輸請求一旦遞交,將通過鏈接通道移送到傳輸交叉開關(guān)(TC),在這里它將進(jìn)行優(yōu)先級設(shè)置與處理。請求鏈為請求提供了一個內(nèi)在的優(yōu)先機(jī)制。假定一個請求在同一周期中只遞交一次請求,那么靠近TC的首先到達(dá),最遠(yuǎn)的最后到達(dá)。
但進(jìn)入TC的請求,則會進(jìn)入傳輸請求隊(duì)列,按照隊(duì)列優(yōu)先級進(jìn)行相應(yīng)處理,如圖2所示。
HPI/PCI自動產(chǎn)生傳輸請求來響應(yīng)主機(jī)。這些請求具有Q2優(yōu)先級且對用戶是不可見的。HPI/PCI遞交請求來進(jìn)行固定模式的單一單元讀、寫和短數(shù)據(jù)猝發(fā)遞增傳輸操作。
1.2 C6416 PCI操作原理C6416的PCI操作可以設(shè)置為:
主模式寫:DSP主設(shè)備通過PCI接口寫數(shù)據(jù)到外部PCI從設(shè)備。
主模式讀:DSP 主設(shè)備通過PCI接口從外部PCI從設(shè)備讀數(shù)據(jù)。
從模式寫:外部PCI主設(shè)備通過PCI接口寫數(shù)據(jù)到DSP從設(shè)備。
從模式讀:外部PCI主設(shè)備通過PCI接口從DSP從設(shè)備讀數(shù)據(jù)。
1.2.1 C6416 PCI寄存器
PCI接口有以下3種寄存器:PCI配置寄存器,PCI I/O 寄存器和映射在DSP 存儲空間的PCI 控制狀態(tài)寄存器。前兩類寄存器只能被外部主機(jī)訪問,DSP從機(jī)是不能訪問的;而最后一類寄存器,DSP從機(jī)是可以訪問的,并利用其來完成PCI通信的控制和操作。
PCI配置寄存器包含標(biāo)準(zhǔn)的PCI配置信息,包括設(shè)備標(biāo)識,供應(yīng)商標(biāo)識,版本等信息,其可以在上電復(fù)位時自動訪問E2PROM 進(jìn)行加載或上電復(fù)位時可以通過默認(rèn)值初始化。
PCI I/O寄存器可以被主機(jī)用來對從機(jī)進(jìn)行操作和狀態(tài)監(jiān)控。主機(jī)通過base2 存儲空間來訪問該類寄存器。該空間大小為16 B,有三個寄存器:主機(jī)狀態(tài)寄存器(HSR),主機(jī)-DSP控制寄存器(HDSR)和DSP頁寄存器(DSPP)。
1.2.2 C6416 PCI存儲器映射
PCI端口通過3種基址寄存器可以完全訪問DSP的存儲器映射。
Base0:4 MB 的可預(yù)存取空間,通過設(shè)置DSP 頁寄存器映射來對應(yīng)所有DSP存儲空間,如圖3所示??梢岳斫鉃?,一個4 MB大小的存儲窗口,來遍歷整個DSP的存儲映射區(qū),而DSP 頁寄存器的值則決定了這個4 MB存儲窗的起始地址。如圖4所示。
評論