基于PCI总线的嵌入式实时DSP图像采集系统

[11-20 17:15:04]   来源:http://www.88dzw.com  嵌入式系统   阅读:8463

文章摘要:它适应了现代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规范,能够方便地实现PCI总线与TMS320C54X或TMS320C6X DSP的HPI接

基于PCI总线的嵌入式实时DSP图像采集系统,标签:嵌入式系统开发,嵌入式开发,http://www.88dzw.com
它适应了现代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规范,能够方便地实现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中HINT[3:0]、HCS[3:0]、HRDY[3:0]、HRST[3:0]分别与四片DSP中的相应信号相连。即PCI2040可以同时与四片DSP接口。

2 系统的软件设计

本软件系统包括两部分,即底层软件和系统软件。

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

在系统软件方面,基于PCI总线的图像处理系统面临的难点颇多,其中难度最大的是PCI驱动问题。当然这对于不同的系统软件可能难度各异。若在Windows操作系统下,可以充分利用Windows的窗口特性:一方面,因为Windows技术成熟,软件编写相对比较简单;另一方面,在Windows平台下,PCI驱动无需开发,可以直接利用Windows的PCI驱动程序实现图像卡的驱动。但是Windows操作系统比较庞大,而且无法依照系统的需要进行自由裁减,不适合做成嵌入式系统。这里主要阐述在VxWorks操作系统下的软件设计方法。

相对于Windows操作系统,VxWorks的优点表现在:①VxWorks系统具有较好的可裁减性,可裁剪的组件超过80个,用户可根据自己系统的功能目标通过交叉开发环境方便地配置;②VxWorks支持应用程序的动态链接和动态下载,开发者省去了每次调试都将应用程序与操作系统内核进行链接和下载的步骤,缩短了编辑/调试周期;③VxWorks具有较好的兼容性,它是最早兼容POSIX1003.1b标准的嵌入式实时操作系统之一;④VxWorks具有很高的可靠性和稳定性;⑤VxWorks具有很好的实时性,实时性的强弱以完成规定功能和做出响应时间的长短来衡量。VxWorks的多任务机制对任务的控制采用了优先级抢占(Preemptive Priority Scheduling)和轮转调度(Round-Robin Scheduling)机制。这充分保证了可靠的实时性,使同样的硬件配置能满足更强的实时性要求,为应用的开发留下更大的余地。

为阐明如何在VxWorks操作系统下实现PCI总线的驱动,还需了解PCI设备的配置空间。PCI设备有三种物理存储空间:配置空间、存储器空间和I/O空间。配置空间是长度为256字节的一段连续空间,空间的定义如图4?眼1?演。在配置空间中只读空间有设备标识、供应商代码、修改版本、分类代码以及头标类型。其中供应商代码用来标识设备供应商的代码;设备标识用来标识某一特殊的设备;修改版本标识设备的版本号;分类代码用来标识设备的种类;而头标类型用来标识头类型以及是否为多功能设备。除供应商代码之外,其他字段的值由供应商分配。

上一页  [1] [2] [3] [4]  下一页


Tag:嵌入式系统嵌入式系统开发,嵌入式开发嵌入式系统