新闻中心

EEPW首页 > EDA/PCB > 设计应用 > CCD系统下基于FPGA的PCI图像采集卡设计与实现

CCD系统下基于FPGA的PCI图像采集卡设计与实现

作者:时间:2012-04-28来源:网络收藏

4 VxWorks下驱动软件的编写
VxWorks是一种高可靠、微内核、可裁剪的实时嵌入式操作,由于它具有高效的实时任务调度、中断管理等优点,成为了航空、航天、医疗、通信等领域首选的实时操作图像采集卡的驱动就是基于VxWorks实时操作进行开发的。
4.1 设备驱动开发
每个设备都有一容量为256字节并具有特定结构的地址空间,前64个字节包含PCI接口的信息,也成为PCI配置头。其余的192个字节可以由板卡的设计自己定义。为了让VxWorks支持PCI驱动,需要对BSP中的sysLib.c文件进行修改,使得系统支持初始化配置支持库和中断支持库,以提供对PCI设备配置空间的访问租PCI中断复用功能的支持。
设备驱动程序初始化PCI图像采集卡的流程一般如下:根据PCI设备的厂商ID和设备ID号来找到PCI设备的总线号、设备号和功能号;根据总线号、设备号和功能号来映射PCI设备的地址空间;并且配置中断线性寄存器;最后使能PCI内存空间。其他寄存器要根据具体应用来配置。
4.2 数据采集方式
由于前端数据量很大,所以简单的单次传输不能满足系统的整体需求。必须用DMA方式进行传送。通知数据可以读取通常有两种模式,查询模式和中断模式。由于查询模式要大量消耗CPU资源,所以采用DMA结合中断模式进行数据采集。
对数据的采集使用乒乓操作。当写满一片SRAM中就发中断给CPU,通知数据已经准备好,这个时候驱动程序就开始读取数据,同时前端数据继续写入另一片SRAM,写满后再次发送中断。如此反复,直到PCI图像采集卡接收到应用程序的停止传送数据命令。
4.3 中断的运用和管理
在VxWorks中,中断的响应速度非常快。经测量,在我们的系统中PCI图像采集卡从发出中断到进入中断处理函数的时间为7 μs。通过函数intConnect把中断处理函数和中断向量挂接起来。
在VxWorks中,中断服务程序拥有独立于各种任务的程序上下文,所以中断服务程序不能执行需要任务上下文的函数。

5 结果验证
我们对整个系统进行了验证,成像系统把采集的图像数据经变化,如加上校验和传送给PCI图像采集卡。用逻辑分析仪对PCI的一些关键信号进行了测量。如图5所示。

本文引用地址:http://www.eepw.com.cn/article/190453.htm

a.JPG


从图中不难看出,PCI图像采集卡一直处于数据传输状态,经测试,传输速度完全满足系统的要求。在应用程序中对图像数据进行了存盘,并计算校验和,发现校验和正确。

6 结论
本文设计的PCI图像采集卡以为核心,在PCI核的基础上用逻辑实现了PCI图像采集卡Initiator下的突发模式传输,从而实现了视频数据的高速传输。为了传输的稳定性和可靠性,使用低压差分信号技术进行图像数据的接收和控制数据的发送。最后在VxWorks平台上实现了PCI图像采集模块的驱动编写。经过测试,图像数据传输稳定可靠,传输速率也能满足系统的整体需求。


上一页 1 2 3 4 下一页

关键词: FPGA CCD PCI 系统

评论


相关推荐

技术专区

关闭