微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > PCI与DSP的某型导弹景象匹配制导系统设计

PCI与DSP的某型导弹景象匹配制导系统设计

时间:01-22 来源:3721RD 点击:

间不能超过30ms。按照C6211的处理速度,在30ms内可以处理48M(0.03×1600MIPS)条指令。DSP读出FIFO中的行数据并存入SDRAM,一帧图像有576行,在最后一行时会收到系统的帧中断,这时SDRAM中的图像数据总共有1440×576=810KB。让C6211用36M条指令周期的时间处理810KB的数据显然绰绰有余。粗略的计算过程如下:

系统采用快速DCT(离散余弦变换),每8×8矩阵需要11次乘法、29次加法,因此一帧图像的FDCT,共需要(11+29)×720×576×2/64=518400个指令周期;对于量化模块,每8×8矩阵需要64个量化指令周期,一帧需要64×720×576×2/64=829440个指令周期;对于编码部分,假设编码后非0元素占25%,对每8×8矩阵进行Zig-Zag扫描、编码估计需要120个指令周期,则共需120×720×576×2/64=1555200个指令周期。按以上计算,在系统中进行JPEG编码大约需要2903040个指令周期,耗时19.3536ms(TMS320C6211工作在150MHz时)。可以看出,实际需要的指令远小于36M条,而时间也远小于30ms,DSP完全可以实时处理从FIFO传过来的数据。

(3)PCI总线模块

PCI总线规范吸引人的地方不仅是其高速度,更在于它适应了现代I/O设备对系统的要求,对PCI扩展卡及器件能进行全自动配置,并且只需很少的接口逻辑就可以实现并支持其他总线系统。TMS320C6211的HPI口不支持PCI总线的无缝接口。

本系统采用TI公司的PCI2040实现DSP的HPI与PCI总线的连接。DSP处理后的数据经HPI口输出到PCI2040进行解码,然后输出到PCI总线上。其逻辑结构如图3所示:

PCI2040是TI公司设计的专门用来完成C5000系列和C6000系列DSP与PCI总线进行接口的专用芯片。PCI2040符合PCI局部总线2.2规范[6],能够方便地实现PCI总线与TMS320C54X或TMS320C6X DSP的HPI接口的无缝连接。PCI2040可以兼容3.3V和5V,以适应不同的PCI总线电压。PCI2040与C6211之间不需要信号的电平转换,也不需要额外的控制逻辑电路,接口电路十分简单。

在本系统中,PCI2040上存在两种电压:5V和3.3V。其中3.3V是HPI口电压,5V是PCI总线电压。PCI2040启动时需要对其PCI总线寄存器和HPI寄存器参数进行预加载。系统中PCI解码模块包括一块配置ROM-AT24C08A,属于EEPROM型ROM,便于对配置参数修改和升级。当系统启动时,存储在AT24C08A的数据下载到PCI2040的寄存器中并进行配置。

3 系统的软件设计

本嵌入式图像采集系统软件包括两部分:底层软件和系统软件。

底层软件主要是DSP图像处理算法以及启动等运行程序。这些程序主要在CCS环境下由C语言编写并进行汇编优化。CCS即Code Composer Studio,是TI公司发布的DSP软件运行环境。

系统软件方面,在Windows操作系统下,可以充分利用Windows的窗口特性,一方面,因为Windows技术成熟,软件编写相对比较简单;另一方面,在Windows平台下,PCI驱动无需开发,可以直接利用Windows的PCI驱动程序实现图像卡的驱动。但是Windows操作系统比较庞大,而且无法依照系统的需要进行自由裁减,不适合做成嵌入式系统。因而本系统采用了VxWorks[7]操作系统。相对于Windows操作系统,VxWorks的优点表现在:

●VxWorks系统具有较好的可裁减性,可裁剪的组件超过80个,用户可根据自己系统的功能目标通过交叉开发环境方便地配置。

●VxWorks支持应用程序的动态链接和动态下载,开发者省去了每次调试都将应用程序与操作系统内核进行链接和下载的步骤,缩短了编辑/调试周期。

●VxWorks具有较好的兼容性,它是最早兼容POSIX1003.1b标准的嵌入式实时操作系统之一。

●VxWorks具有很高的可靠性和稳定性。

●VxWorks具有很好的实时性,实时性的强弱以完成规定功能和做出响应时间的长短来衡量。VxWorks的多任务机制对任务的控制采用了优先级抢占(Preemptive Priority Scheduling)和轮转调度(Round-Robin Scheduling)机制。这充分保证了可靠的实时性,使同样的硬件配置能满足更强的实时性要求,为应用的开发留下更大的余地。

PCI设备的驱动过程主要包括下面几个步骤:

首先,PCI设备的查找。在嵌入式操作系统中一般提供相应的API函数查找。在VxWorks操作系统中通过函数pci FindDevice (PCI_VENDOR_ID,PCI_DEVICE,index, &pci Bus,&pci Device,&pci Func_可以找到供应商代码为PCI_VENDOR_ID、设备标识为PCI_DEVICE的第n(index+1)个设备,并且返回总线号、设备号以及功能号,分别保存于&pci Bus、&pci Device、&pci Func中。

其次,PCI设备的配置。通过操作系统提供的API函数访问PCI设备的配置空间,配置PCI设备基址寄存器的配置、中断

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top