摘要:以交通十字路口实时DSP图像采集系统为例,说明了基于PCI总线的DSP图像采集系统的优点,并详细阐明了系统的硬件结构和基于VxWorks操作平台的软件实现,最后介绍了系统实现的效果。 关键词:PCI总线 DSP VxWorks操作系统 图像采集系统本文从实时性和大容量两方面介绍了在通用计算机上加入DSP加速卡实现的图像采集系统。利用DSP芯片的高速处理特性完成大部分的图像处理工作,上位机只完成辅助操作和存储系统。这种方法发挥了DSP的高速性能又具有相当大的灵活性,而且开发工具比较完善。实时性要求足够的传输速度,PCI总线速度最高可达528MB/s(66MHz、64位)。这是其他总线无法比拟的速度,如ISA总线速度只有5MB/s。另外,系统中DSP的可扩展存储空间高达1GB。这完全可以满足一般图像处理系统的需要。1 基于PCI总线的DSP图像采集系统本系统主要用于路口违章车辆抓拍,包括闯红灯抓拍、超速行驶抓拍等。通过摄像头对车流进行监测,当有车辆在红灯期间越过停止线或在限速地段超速行驶,系统拍下车辆的行为并把数据传送到DSP进行处理,然后经PCI总线把处理后的数据上传到上位机。当然这套系统也可用于其他的监控系统,如楼宇监控等,其硬件系统基本一致,只是软件功能有所区别。
PCI设备的驱动过程主要包括下面几个步骤:首先,PCI设备的查找。在嵌入式操作系统中一般提供相应的API函数查找。在VxWorks操作系统中通过函数pciFindDevice(PCI_VENDOR_ID,PCI_DEVICE,index, &pciBus, &pciDevice,&pciFunc_可以找到供应商代码为PCI_VENDOR_ID、设备标识为PCI_DEVICE的第n(index+1)个设备,并且返回总线号、设备号以及功能号,分别保存于&pciBus、&pciDevice、&pciFunc中。其次,PCI设备的配置。通过操作系统提供的API函数访问PCI设备的配置空间,配置PCI设备基址寄存器的配置、中断配置、ROM基地址寄存器的配置等,这样可以得到PCI的存储器空间和I/O地址空间映射、设备的中断号等。在VxWorks操作系统中访问PCI设备配置空间的API函数有pciConfigOutLong、pciConfigInLong等,它们分别完成对PCI设备配置空间的读写操作。然后,根据PCI设备的配置参数,对不同的设备编写初始化程序、中断服务程序以及对PCI设备存储空间的访问程序。很显然,用VxWorks操作系统实现虽然有一定的难度,但是系统具有很大的灵活性,系统比较小、适应性强,并且可以在工业控制计算机上运行。图像采集系统的关键在于如何对大容量的信息进行暂存、压缩和传输等问题进行处理。本系统很好地解决了这三个难题。在图像信息暂存方面充分利用了DSP存储空间的可扩展性,保证了系统可暂存的信息量足够大;信息压缩是DSP最擅长做的事情,可以在很短的时间内完成大量的信息压缩工作;PCI总线的引入保证了信息在足够的带宽下进行快速传输。采用嵌入式VxWorks操作系统实现使得系统具有良好的灵活性和适应性,并大大降低了系统的成本。
