IEEE1394视频视觉系统中DSP软硬件设计
由于AM12LV400B的访问时间为70ns,DSP访问Flash时至少应加入5个等待周期。
DSP软件设计
DSP的软件开发是在TI公司提供的Code Composer(CC)环境一,结合DSP硬件仿真器完成。代码的开发根据实际情况使用C语言和汇编语言的混合编程。在实际设备自标识的过程中使用C语言,这是因为这个过程逻辑关系比较复杂,但只在总线复位初始化时执行一次,用C语言可以提高可读性,减小开发难度,同时也不会对系统的性能有太大影响。而在进行图像处理和响应数据读请求包时,则使用了汇编语言。原因是这些代码使用频繁,直接影响系统的速度。
响应1394总线的自标识过程是系统设计的难点,也是1394接口设计最重要的部分。DSP的响应必须符合IEEE1394a协议中规定的自标识步骤,图3描述了DSP的动作流程。
自标识过程实际上是根节点(主机)请求读取叶节点(设备)配置ROM的过程。可以执行事务的1394串行总线节点都应该实现配置ROM,它为配置和参数与设备相关的问题提供了一些必要的信息。例如,对于一个连接到计算机上的1394设备而言,设备中电后,计算机首先读取配置ROM中的内容,从而分辨出这是一个什么样的设备。配置ROM中包含的信息有:
·为识别本设备驱动程序所需要的信息;
·为识别诊断软件所必须的信息;
·为指定设备设计总线的各种性能所需要的信息;
·为指定可选的模块、节点以及元件特征和参数所需要的信息。
正常格式的配置ROM形成了一个树结构,它包括很多分支和叶子,这些分支和叶子都是由指针联系起来的,其中有限选项也有任务项。
DSP要做的就是把配置ROM的内容以异步读应答包的形式发出计算机,而配置ROM的内容是开发人员根据所开发的系统自已定义的。当计算机正确读完配置ROM的内容后,就会显示发现新硬件或自动装入相应的1394设备驱动程序。
所有的1394数据传输都是以包为单位。其中包头含此次传输的传输速率(Spd)、事务标签(tLable)、事务代码(tCode)、源节点ID、目的节点ID等信息。这些信息必须符合协议要求,例如一个读请求数据块应答包,传输速率为400Mbps,那么Spd=10、tCode=7,源节点ID和目的节点ID分别是请求包的目的节点ID和源节点ID,tLable和请求包的相等。
自标识完成后,DSP开始处理采集好的图像数据,同时以中断子程序的方式启动数据发送。由于本系统采用1394总线的异步传输方式,每次数据传输都由主机(PC)发起,所以DSP以中断的方式响应主机发来的读请求,每次中断服务中发送一个数据包。在采集、处理、传输三个步骤中,显然处理是最耗费时间的,为了确保这三个步骤都完成后再切换到流水线的下一个周期,中断子程序中还要判断是否一帧图像已经发完,如果已经发完一帧,则关闭中断,等到图像处理步骤完成后,帧缓存切换完毕再打开中断。
整个软件部分完成后,烧写Flash并实现程序的引导加载(Boot-Loader)也是重要的一步。TMS320VC33的引导加载功能是通过DSP复位后自动运行驻留在片内ROM的地址0x45处的一段代码实现的。这段代码可以根据复位时INT0~INT3引脚上的状态决定装载的源地址(只能是0x1000、 0x400000、0xFFF000或串口0),并将源地址处的代码转移到指定的片内RAM中,然后从指定的程序入口点开始运行。
帧间平均运行检测算法的改进与实现
运动目标检测跟踪是计算机视觉中十分重要的一个热门研究领域,近年来出现了许多新的算法。但可以归结为以下四大类:基于光流场分析的算法、基于主动轮廓的算法、基于编译模型的算法以及基于图像差分的方法。并三种算法与第四种方法相比,具有精度高、定位准并且能够得出运动参数的优点。但是算法的复杂性较高,目前难以在普通的硬件平台上实现实时处理。因此,图像差分方波被广泛用于实时运动检测系统。
在实际应用中差分图像的获得有两种途径:其一是利用相邻两帧之间的差来获得差分图像;其二是通过将当前帧和固定的背景帧相减来获得差分图像。第一种方法在应用中容易出现"空洞"现象,检测结果的大小与目标运动的速度有关,从而影响了动目标检测的精度;第二种方法,由于背景是固定的,那么若外界条件有较明显的变化,例如光照等条件发生变化时,当前的实际背景图像就会发生变化,从而获得的差分图像是不准确的,噪声比较大。故这种方法仅适用于背景条件不变或者是变化限制在一定范围内的情况。
本文针对背景和摄像机都静止这一特定应用场合,选用了基
- USB与IEEE 1394的比较(10-17)
- PPTC器件在汽车电子IEEE 1394网络中的应用(01-22)
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)