图像跟踪器性能检测设备的设计与应用

2013-04-21 05:42张彦铎于宝成王春梅
武汉工程大学学报 2013年6期
关键词:双口跟踪器总线

张彦铎,邓 超,于宝成,王春梅

(武汉工程大学计算机科学与工程学院,湖北 武汉 430074)

0 引 言

随着现代科学技术的发展,一些基于图像的目标跟踪技术已经成为机器视觉和图像处理的重要研究方向之一,无论是在军用方面还是民用方面,都有着广泛的应用前景.在实际使用过程中,这种图像跟踪系统对设备的可靠性、实时性和准确度都有着很高的要求,而由于实际环境比较复杂,导致图像中所引入的干扰、目标运动轨迹以及形状的改变都对跟踪结果产生巨大的影响,因此研制一套通讯设备,使其能够实时的收集并分析跟踪器反馈的目标相关信息,进而改进跟踪器中的软件算法,提高图像跟踪器的跟踪精度,变得十分重要.这样就对通讯设备的要求比较高,如果采用普通的串口、USB等通讯方式,都存在着一定程度上的速度或者数据丢失等缺陷.本设计以外设部件互联标准(Peripheral Component Interconnect,以下简称:PCI)总线技术为基础,使用PCI9054芯片作为桥接芯片,结合现场可编程门阵列(Field-Programmable Gate Array,以下简称:FPGA)芯片作为逻辑控制单元,实现PCI总线与双口随机存储器(Random Access Memory,以下简称:RAM)之间的通讯,然后按照相关通讯协议读取对应地址单元中反馈的目标信息,并且与目标真实信息比较计算得到图像跟踪器的跟踪精度,以此判断跟踪效果,进而改进图像跟踪器的跟踪算法以提高跟踪精度.本设计采用LabVIEW语言编写上层人机交互界面.

1 系统硬件总体设计

本系统硬件部分主要由PCI9054桥接芯片单元、FPGA逻辑控制单元以及双口RAM数据存储单元共三部分组成,系统硬件结构图如图1所示.

图1 系统硬件结构图Fig.1 System hardware structure diagram

系统工作方式为:上位机通过PCI总线接口将数据传递给PCI9054,然后FPGA逻辑控制芯片通过控制PCI9054和双口RAM相关引脚,将PCI9054中需要传输的数据传输到双口RAM中.当双口RAM回传其内部存储数据时,FPGA逻辑控制芯片也使用相同的控制方式首先将数据传输到PCI9054中,然后再经过局部总线到PCI总线的转换,将数据传输到上位机中,完成整个传输过程.

PCI9054是由美国PLX公司生产的一种符合PCI V2.2规范的32位总线接口控制芯片.PCI9054既可作为PCI受控设备,实现基本的传输要求,也可作为PCI 总线主控设备,访问其它PCI总线设备.在与电脑主机相连的PCI总线端,PCI9054支持32位的数据宽度,而在本地端即PCI9054端支持8位、16位和32位共三种数据传输模式,并且同时支持复用和非复用两种模式的地址数据传输[1].在实际使用过程中,PCI9054的数据传输过程比较复杂,本质上它只是一种通用PCI接口功能芯片,因为不同的使用者有不同的需求,所以需要对其寄存器配置按照需要进行相关配置.对PCI9054的配置包括电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,以下简称: EEPROM)的初始化、局部功能寄存器的配置和PCI配置寄存器的配置.根据芯片接口手册中给出的相关信息,选择仙童半导体(Fairchild Semiconductor)公司的FM93C56作为串行配置芯片完成对PCI9054寄存器的配置.FM93C56共有八个引脚,分别为片选CS、串行时钟SK、串行输入DI、串行输出DO、接地GND、空引脚NC两个和电源引脚VCC.使用其中的CS、SK、DI和DO分别与PCI9054提供的四个管脚相连接,具体连接电路如图2所示.

图2 PCI9054配置电路图Fig.2 Configuration circuit diagram of PCI9054

整个通讯过程中,FPGA起着协调控制整个系统的作用,需要通过在FPGA内部进行编程来对PCI9054本地总线的主要控制信号进行逻辑控制,完成PCI9054与双口RAM之间数据的传输.FPGA是在通用阵列逻辑(Generic Array Logic,以下简称: GAL)、复杂型可编程逻辑器件(Complex Programmable Logic Device, 以下简称:CPLD)这些可编程器件的基础上更进一步发展的产物,因为FPGA中有大量基本门电路的存在,使得通过对FPGA编程来控制其他电子元器件变得简单.FPGA芯片选择Cyclone系列中的一款,PCI9054本地总线的控制信号如表1所示[2].

依据PCI9054数据手册,其本地总线工作模式共有三种情况,分别为M、C和J模式,其中M模式是专门为摩托罗拉设计的一种工作模式,C模式下9054芯片将PCI总线的地址线和数据线分开使用,J模式下地址线和数据线复合使用,需要严格遵守PCI总线时序[3].因C模式下可以将PCI总线的地址线和数据线分开,这样在FPGA编程中比较简单,所以在此选用C模式.PCI9054在不同工作模式下,需要通过硬件电路对其模式选择引脚MODE1和MODE0进行控制,查询PCI9054数据手册可知, MODE1为1,MODE0为0时,为系统保留状态;当MODE1为0,MODE0为1时,PCI9054工作在J模式;当MODE1和MODE0都为1时,PCI9054工作在M模式;当MODE1和MODEL0都为0时,PCI9054工作在C模式:所以在实际电路中,需要将MODL1和MODE0两个引脚直接接地拉低,使其工作在C模式下.

IDT7024是美国IDT公司20世纪90年代生产的一种4K×16bit的高速双端口静态RAM,它在一个SRAM存储器上拥有两套完整并且独立的数据线、地址线和控制芯片存储的读写控制线,在进行操作时,允许芯片同时对其存储系统进行随机性的访问,可以实现存储数据的共享[4]. IDT7024的控制信号如表2所示.

表1 PCI9054本地总线信号Table 1 Local bus signal of PCI9054

表2 IDT7024控制引脚Table 2 Control pins of IDT7024

因IDT7024为16位数据存储器,而依据PCI9054的芯片手册,当9054的局部总线分别工作在8位、16位和32位数据时,需要对LBE[3:0]#四个引脚进行配置.查询可知,当PCI9054用来传输8位数据时,LBE0#用来当作地址0位,LBE1#用来当作地址1位,LBE2#、LBE3#不使用;当传输16位数据时,LBE0#为低8位数据使能位,LBE1#为地址1位,LBE2#不使用,LBE3#为高8位数据使能位;当用于32位数据传输时,LBE0#为低8位数据的使能位,LBE1#为8位-15位数据的使能位,LBE2#为16位-23位数据的使能位,LBE3#为高8位数据的使能位,所以在FPGA的逻辑编程中,需要将LBE1#作为PCI9054地址线的1位来使用.PCI9054、FPGA、IDT7024三者连接图如图3所示

图3 电路连接图Fig.3 Circuit connection diagram

2 系统软件总体设计

系统软件部分主要由上位机测试程序和下位机逻辑控制程序两部分组成.

2.1 上位机测试程序

人机交互界面如图4所示,使用LabVIEW语言编写测试界面,LabVIEW是一种图形化的语言,常用于仪器控制和数据采集软件[5].利用该系统可以实现以下功能:①往双口RAM中写入数据,并读取相同端口所写入数据,测试数据读写是否正确;②在已知存储地址情况下,读取图像自动跟踪器通过双口RAM另一端口所写入的数据.

图4 人机交互界面Fig.4 Interactive interface

在实际使用过程中,被测图像跟踪器部件与双口RAM的一端相连,当图像传输到跟踪器的时候,跟踪器将会判断出图像中哪个是要跟踪的目标,然后依据跟踪器部件中的相应算法判断出目标的位置、灰度等相关信息,并依据检测设备与跟踪器的通讯协议,将目标相关信息存储在双口RAM的单元地址中,每处理一幅图像就存储一次相关信息,同时PCI9054通讯端将在双口RAM另外一端取出固定单元地址中的内容,并且按照协议进行保存,当全部图像处理完成之后,使用跟踪器反馈数据与真实目标数据进行对比分析,即可得到跟踪器的跟踪精度等信息.程序设计步骤如下:首先,使用底层驱动函数连接PCI板卡,将PCI9054板卡打开,然后使用写入双口RAM函数,往双口RAM固定地址中写入数值,若进行数据读取,则调用读双口RAM函数,读取相应地址中的数据,最后将相关数据进行存储分析,得到图像跟踪器性能.人机交互程序流程图如图5所示.

图5 人机交互程序流程图Fig.5 Human-computer interaction program flowchart

2.2 下位机逻辑控制程序

下位机逻辑控制程序主要是通过在FPGA芯片内部编程来控制PCI9054本地总线信号,使其能在相应的时钟周期内完成对双口RAM的读或者写.PCI9054支持单周期和突发模式的数据传输,本设计采用突发模式[6].设计S0-S6共7种状态机,其中S0、S1为等待状态,S2为单周期读写状态,S3为中间空闲状态,S4、S5为突发模式读写状态,S6为数据传输完成状态,图6为7种状态机切换图.

图6 状态机切换图Fig.6 State machine switches Fig

3 试验结果

本检测设备为某图像处理系统性能检测设备的一部分,该系统工作平台如图7所示.

图7 工作平台Fig.7 Working platform

其中检测设备与被测件连接所用的适配器接口装置如图8所示.

图8 适配器接口装置Fig.8 Adapter interface equipment

在实际检测过程中,使用如图9所示的一序列图像进行测试,其中图像中心黑色圆形为目标,图9(a)为目标起始位置图像,图9(b)为目标终止位置图像,目标运动速度为x方向6像素/幅,y方向8像素/幅,得到某次15幅图像的跟踪结果与实际数据对比如表3所示.

图9 测试图像Fig.9 Test images

帧号真实x坐标真实y坐标反馈x坐标反馈y坐标136824038024823742483782543380256386260438626438826853922723962766398280404286740428840629284102964102969416304420308104223124263161142832043032212434328436334134403364463401444634444835015452352456358

依据跟踪器研发人员所提供的被测件跟踪精度计算方法,设当前第i帧图像数的检测结果为x(i),真实目标的位置为y(i),则检测跟踪精度可以计算为:

式中:n为图像总幅数,x(i)、y(i)均为二维向量.根据表3可计算得到跟踪精度σ=7.13.在跟踪器研发人员对被测件内部算法作出调整后,重新测试,得到表4中修改算法后的对比数据.

表4 改进算法后的对比数据Table 4 Comparative data of the modified algorithm

根据表4可计算得到被测件内部算法调整后的跟踪精度σ=4.00,可见在被测件算法不同的情况下,检测设备可以得到不同的检测结果,达到了使用要求.

4 结 语

本文介绍了一种基于PCI总线技术的用来测试图像跟踪器性能的检测设备的设计,检测设备以FPGA芯片作为控制核心,采用PCI9054和双口RAM通讯来收集图像跟踪器反馈的相关信息,计算出图像跟踪器的跟踪精度,使用LabVIEW编写上位机测试界面.通过实际实验表明,采用本文的设计,能够有效完成被测设备数据的采集与分析.

致谢

感谢武汉工程大学智能机器人湖北省重点实验室的鲁统伟老师在测试设备开发过程中给予的帮助与支持.

参考文献:

[1] 瞿世尊,陈健. PCI9054在PCI总线高速数据采集中的应用[J].电子技术,2004,31(2):59-61.

[2] 彭杰,汪国有,张天序.PCI9054本地总线控制可编程逻辑设计[J].计算机仿真,2003,20(9): 74-76.

Peng Jie, Wang Guoyou, Zhang Tianxu. Pro-grammable Logic Design on PCI9054 Local bus Control[J].Computer simulation, 2003, 20 (9): 74-76.(in Chinese)

[3] 孙丽英,王晓峰.PCI9054及其在数据采集系统中的应用[J].仪器仪表标准化与计量,2006(5):24-26.

Sun Liying, Wang Xiaofeng. Application of PCI9054 in Data Acquisition System[J].Instrument Standardization & Metrology, 2006(5):24-26.(in Chinese)

[4] 赵峰.高性能双口RAM及其应用[J].现代电子技术,1997(1):33-36,50.

Zhao Feng. High-Performance Dual-Port RAM and its Application[J]. Modern Electronics Technique,1997(1) :33-36, 50.(in Chinese)

[5] 夏志全,吴和保,龙玉阳,等.基于labvIEW的快速热分析仪数据采集系统的研究[J].武汉工程大学学报,2011,33(5):94-96.

Xia Zhi-quan, Wu He-bao, Long Yu-yang,et al.Research of fast thermal analyzer data acquisition system based on LabVIEW[J]. Journal of Wuhan Institute of Technology, 2011,33(5):94-96.(in Chinese)

[6] 李贵山,戚德虎.PCI局部总线开发者指南[M].西安:西安电子科技大学出版社,1997.

猜你喜欢
双口跟踪器总线
光伏跟踪器阵列跟踪精度的测算方法研究
浅析一种风光储一体化跟踪器
双口RAM在航天伺服系统中的应用
超长待机的自行车位置跟踪器
一种基于CAN总线的误码测试方法
Matching mechanism analysis on an adaptive cycle engine
双向多轨迹判定方法在目标跟踪中的应用研究
高效的双CPU系统安全数据交互机制的应用
CAN总线并发通信时下位机应用软件设计
基于CAN总线的水下通信系统设计