基于PCI 總線的DSP 系統(tǒng)應用程序的更新
0 引言
在DSP嵌入式業(yè)務系統(tǒng)設備中,一般采用片外FLASH自舉方式來實現DSP端應用程序的加載和啟動。當DSP業(yè)務系統(tǒng)需要更新應用程序時,則可通過仿真器連接JTAG 口來控制DSP,完成DSP 外圍FLASH 的應用程序更新。然而,對于成型、交貨的設備產品,DSP業(yè)務系統(tǒng)板上一般不會留有JTAG口,或在機箱中很難插拔仿真器;另一方面,對已交貨產品經常插拔仿真器,會對硬件設備有所損傷,使設備硬件處于非控狀態(tài)。
如果系統(tǒng)設計使用了PCI作為系統(tǒng)通信總線,則可以通過PCI來完成DSP 業(yè)務系統(tǒng)應用程序的更新和加載。本設計以TI公司TMS320C6416T(簡稱C6416)芯片為例,來說明通過PCI總線來更新DSP系統(tǒng)應用程序的過程;同時本文也設計了一種C6416的上電啟動方式。
1 C6416 的PCI 特性
1.1 C6416 PCI傳輸機理
C6416 片內集成了PCI 的控制器,通過PCI 接口C6416可以完成同PCI總線上其他設備的數據交換。圖1描述了C6416的結構框圖。PCI接口通過EDMA 控制寄存器可以訪問C6416的片內存儲器/Cache,或者通過EMIF接口訪問片外存儲器。
從圖1可看出,PCI和EMIF接口都是通過EDMA傳輸控制器來與L2存儲器/Cache聯系的。EDMA 傳輸控制寄存器主要用來控制L2存儲器和設備外圍間的數據通信,包括傳輸請求隊列、地址產生器等;而通道控制器是用戶可編程部分,用戶可以設置相應的寄存器,方便的設置數據傳輸方式(一維、二維)、事件觸發(fā)選擇、傳輸通道選擇等。
所有的EDMA傳輸請求可以由L2控制器、HPI/PCI和EDMA 通道三種渠道發(fā)出。一個傳輸請求一旦遞交,將通過鏈接通道移送到傳輸交叉開關(TC),在這里它將進行優(yōu)先級設置與處理。請求鏈為請求提供了一個內在的優(yōu)先機制。假定一個請求在同一周期中只遞交一次請求,那么靠近TC的首先到達,最遠的最后到達。
但進入TC的請求,則會進入傳輸請求隊列,按照隊列優(yōu)先級進行相應處理,如圖2所示。
HPI/PCI自動產生傳輸請求來響應主機。這些請求具有Q2優(yōu)先級且對用戶是不可見的。HPI/PCI遞交請求來進行固定模式的單一單元讀、寫和短數據猝發(fā)遞增傳輸操作。
1.2 C6416 PCI操作原理C6416的PCI操作可以設置為:
主模式寫:DSP主設備通過PCI接口寫數據到外部PCI從設備。
主模式讀:DSP 主設備通過PCI接口從外部PCI從設備讀數據。
從模式寫:外部PCI主設備通過PCI接口寫數據到DSP從設備。
從模式讀:外部PCI主設備通過PCI接口從DSP從設備讀數據。
1.2.1 C6416 PCI寄存器
PCI接口有以下3種寄存器:PCI配置寄存器,PCI I/O 寄存器和映射在DSP 存儲空間的PCI 控制狀態(tài)寄存器。前兩類寄存器只能被外部主機訪問,DSP從機是不能訪問的;而最后一類寄存器,DSP從機是可以訪問的,并利用其來完成PCI通信的控制和操作。
PCI配置寄存器包含標準的PCI配置信息,包括設備標識,供應商標識,版本等信息,其可以在上電復位時自動訪問E2PROM 進行加載或上電復位時可以通過默認值初始化。
PCI I/O寄存器可以被主機用來對從機進行操作和狀態(tài)監(jiān)控。主機通過base2 存儲空間來訪問該類寄存器。該空間大小為16 B,有三個寄存器:主機狀態(tài)寄存器(HSR),主機-DSP控制寄存器(HDSR)和DSP頁寄存器(DSPP)。
1.2.2 C6416 PCI存儲器映射
PCI端口通過3種基址寄存器可以完全訪問DSP的存儲器映射。
Base0:4 MB 的可預存取空間,通過設置DSP 頁寄存器映射來對應所有DSP存儲空間,如圖3所示??梢岳斫鉃?,一個4 MB大小的存儲窗口,來遍歷整個DSP的存儲映射區(qū),而DSP 頁寄存器的值則決定了這個4 MB存儲窗的起始地址。如圖4所示。
評論