×
嵌入式开发 > 详情

基于PCI 总线的DSP 系统应用程序的更新

发布时间:2020-07-13 发布时间:
|

0 引言

在DSP嵌入式业务系统设备中,一般采用片外FLASH自举方式来实现DSP端应用程序的加载和启动。当DSP业务系统需要更新应用程序时,则可通过仿真器连接JTAG 口来控制DSP,完成DSP 外围FLASH 的应用程序更新。然而,对于成型、交货的设备产品,DSP业务系统板上一般不会留有JTAG口,或在机箱中很难插拔仿真器;另一方面,对已交货产品经常插拔仿真器,会对硬件设备有所损伤,使设备硬件处于非控状态。

如果系统设计使用了PCI作为系统通信总线,则可以通过PCI来完成DSP 业务系统应用程序的更新和加载。本设计以TI公司TMS320C6416T(简称C6416)芯片为例,来说明通过PCI总线来更新DSP系统应用程序的过程;同时本文也设计了一种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存储器和设备外围间的数据通信,包括传输请求队列、地址产生器等;而通道控制器是用户可编程部分,用户可以设置相应的寄存器,方便的设置数据传输方式(一维、二维)、事件触发选择、传输通道选择等。

所有的EDMA传输请求可以由L2控制器、HPI/PCI和EDMA 通道三种渠道发出。一个传输请求一旦递交,将通过链接通道移送到传输交叉开关(TC),在这里它将进行优先级设置与处理。请求链为请求提供了一个内在的优先机制。假定一个请求在同一周期中只递交一次请求,那么靠近TC的首先到达,最远的最后到达。

但进入TC的请求,则会进入传输请求队列,按照队列优先级进行相应处理,如图2所示。

HPI/PCI自动产生传输请求来响应主机。这些请求具有Q2优先级且对用户是不可见的。HPI/PCI递交请求来进行固定模式的单一单元读、写和短数据猝发递增传输操作。

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 控制状态寄存器。前两类寄存器只能被外部主机访问,DSP从机是不能访问的;而最后一类寄存器,DSP从机是可以访问的,并利用其来完成PCI通信的控制和操作。

PCI配置寄存器包含标准的PCI配置信息,包括设备标识,供应商标识,版本等信息,其可以在上电复位时自动访问E2PROM 进行加载或上电复位时可以通过默认值初始化。

PCI I/O寄存器可以被主机用来对从机进行操作和状态监控。主机通过base2 存储空间来访问该类寄存器。该空间大小为16 B,有三个寄存器:主机状态寄存器(HSR),主机-DSP控制寄存器(HDSR)和DSP页寄存器(DSPP)。

1.2.2 C6416 PCI存储器映射

PCI端口通过3种基址寄存器可以完全访问DSP的存储器映射。

Base0:4 MB 的可预存取空间,通过设置DSP 页寄存器映射来对应所有DSP存储空间,如图3所示。可以理解为,一个4 MB大小的存储窗口,来遍历整个DSP的存储映射区,而DSP 页寄存器的值则决定了这个4 MB存储窗的起始地址。如图4所示。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
大佬带你深究嵌入式系统.嵌入式系统如何远程调试