主动视觉(active vision)是当今计算机视觉和机器视觉研究领域中的一个热门课题。主动视觉强调的是视觉系统与其所处环境之间的交互作用能力。具体地说,主动视觉系统应具有根据自己在当前环境中所处的状态,如几何位置、姿态、摄像机的成像光学条件等,调整自身各部分的状态参数,使其能够达到一个最佳成像状态,从而使系统能够最方便地完成特定的视觉任务,如动态地跟踪物体的运动。主动视觉系统的研制与开发具有重要意义和广泛的应用前景,如各类导弹的成像导引头、机器人、人机交互研究等。
以往的主动视觉系统大多采用以图形工作站为中心,由图形工作站完成图像的采集、处理、跟踪控制,再通过rs232等接口控制执行机构运动以完成跟踪任务。以图形工作站为中心的系统虽然应用灵活,但具有体积庞大、价格昂贵、可靠性差等缺点。随着电子技术的发展,单芯片的计算能力发生了质的飞跃。以往往往需要由许多颗芯片才能完成的计算任务,现在只需要极少量的芯片便可实现。嵌入式系统是针对特定应用设计和优化的计算机软硬件系统,具有体积小、重量轻、可靠性高和价格低廉等优点。本文正是在这样的大背景下研制和开发了基于dsp的嵌入式主动视觉系统。
1 系统需求分析
主动视觉系统主要用于人机交互和高速视觉伺服任务,根据这一用途在设计中主要考虑以下几个问题:
首先是系统的图像处理能力。标准pall电视信号的帧频率为25 hz,分辨率约为720x576像素;场频率为50 hz,图像分辨率约为720x288像素,因此系统的图像处理能力应该能够满足处理pal传输视频的要求。
其次考虑系统的动力学响应要求。人眼正常运动角速度约为60度/秒,扫视运动时可高达700度/秒,因此要求电机控制系统能够达到近似的运动速度。
最后系统应该具有一定的通用性和灵活性,以便接收测试数据和实现灵活多样的任务,因此平台应具有灵活、丰富的计算机接口和充足的计算资源。
2 总体设计
基于以上对系统性能要求的分析,系统采用ti高性能数字信号处理芯片tms320c6711实现图像的处理功能并采用tms320e2812高性能控制芯片完成电机的控制、传感器数据采集和实现与pc机之间的通讯功能。tms320c6711主要用于通讯、声音信号处理和数字图像的处理,具有
900mflops的浮点运算能力和很高的性价比。tms320f2812是ti专门针对运动控制而开发的高性能控制芯片,具有16通道12-bit adc、丰富的片上资源和多种通讯接口,如mcbsp、can和sci接口等。系统将c6711和f2812两款高性能芯片相结合,充分利用f2812丰富的接口资源弥补c6711在控制和通讯功能上的不足,从而充分发挥c6711的计算功能,最终实现高性能的主动视觉系统。ms320c6711的时钟频率为150 mhz并采用了bga封装,给设计和制造带来很大困难。c6711 dsk是低价位、易用性c6000 dsp开发板。该板不仅能够充分发挥c6711dsp的性能,还提供了丰富的功能,例如声音采集和eep并口在线开发等等。本设计通过扩展c6711 dsk的图像采集功能缩短开发周期、降低开发成本。
系统整体结构如图1所示。在c6711dsk基础上,通过其外围扩展接口扩展图像采集功能。tms320c6711和tms320f2812之间通过mcbsp接口实现芯片之间信息的交换。f2812与pc机之间通过can总线或者rs232实现通讯。系统中采用的倾角传感器是具有rs232接口的智能传感器。通过f2812的sci可以实现rs232串口,进而实现倾角传感器配置和数据采集。
3 系统硬件设计
3.1 图像处理系统的设计与实现
系统采用philips公司提供的专用视频解码芯片saa7111实现模拟视频信号的采集。saa7111与c6711之间通过专用视频帧存储器al422实现,外围接口逻辑由一片epm7032实现,如图2所示。
3.2 i2c总线实现
saa7111不支持即插即用功能,需要通过i2c总线对其进行初始化。由于c6711没有i2c接口模块,需要采用通用i/o接口和软件来模拟实现。c6711没有专门的通用i/o接口,需要通过配置多通道缓冲串行口(mcbsp)使其成为通用i/o接口。c6711具有2个mcbs接口,可将其中的一个配置成通用io接口。c6711的时钟频率比i2c总线的频率要求高,在设计时需要注意i2c总线的时序要求,尤其是对数据保持时间的要求。
3.3 c6711与al422接口实现
图像采集设计中需要考虑的主要问题之一是图像帧缓冲结构的设计。采用先进先出存储器(fifo)只占用单页地址映射空间,可以节省大量地址空间。而且如果将帧存储体映射到地址空间的高段,会使其对dsp的影响降低到最小,因此系统采用了基于fifo的图像帧缓冲结构。
al422是专门用在视频领域的大容量视频帧存储器,设计中需要考虑的主要问题是接口逻辑的实现。虽然al422的读写与wck、rck同步,但是与普通的同步fifo不同的是其必须保证wck、rck至少1 mhz的独立时钟,并且在进行不规律读写时只能由wen或ben进行控制。c6711采用100mhz的外部时钟,需要通过降频合成al422的rck。由于c6711输出的外部时钟频率为100 mhz,而al422b的最高rck为50 mhz,因此采用将c6711输出的外部时钟二分频作为al422的rck。al422的ren、oen可以采用dsk板上的db_aren、db_oen、db_ce2信号通过组合逻辑实现。而rrstn可采用dsk的一个通用i/o接口实现。dsk的外部时钟频率为ioomhz,因此在设计时应该考虑逻辑器件本身的时延并采用同步设计方式。系统采用epm7032实现上述fifo接口逻辑,并将fifo的输出数据与c6711dsk扩展接口的数据总线相连,将ce2存储空间分配给fifo,从而最终实现了c6711与fifo之间的接口。
3.4 f2812与c6711接口实现
由于tms320c6711和tms320f2812都支持mcbsp接口并且相互兼容,所以系统采用mcbsp接口实现两者之间的通讯。mcbsp是多通道缓冲串行口的简称,能够同步发送和接收8/16/32位串行数据。接收和传送均采用独立的时钟和帧信号,其来源、频率、极性等均可由用户进行编程。mcbsp包括数据流路径和控制路径,通过6根信号线连接到外部设备。数据信息通过传输引脚dx发送,接收引脚dr接收。时钟和帧同步控制信息由发送时钟、接收时钟、发送帧同步和接收帧同步引脚来产生。mcbsp提供了双倍缓冲传送和三倍缓冲的接收。接收数据到达引脚dr后,移入接收移位寄存器rsr1,当整个字信息被接收之后,又被复制到接收缓冲寄存器rbr,最终复制到数据接收寄存器drr,由cpu读取。而发送数据由cpu写入发送寄存器dxr,再复制到发送移位寄存器xsr。在帧同步信息发送后,发送器开始将xsr的内容移位到dx引脚。
f2812具有一个mcbsp模块,而c6711自带了两个mcbsp模块,二者之间完全兼容的。由于第一组mcbsp的信号被配置成为通用i/o接口用于i2c总线的扩展,故只能使用c6711的第二组mcbsp实现与f2812之间的通讯。在硬件上采用双机接收/发送端互连,即c6711的数据发送、时钟发送、帧发送同步信号管脚连接到f2812对应的接收管脚;反之亦然。
通过对相关寄存器的配置来实现数据的接收和发送操作,具体流程如下:
1)设置相关引脚为mebsp引脚。
2)复位接收器、发送器及采样率发生器。
3)禁止数字回送、时钟停止、多通道模式。
4)接收和发送帧:单相,字长32位,每帧2个码字,使能帧同步忽略,无压缩扩展,1位数据延迟,右对齐高位填0,产生中断方式为检测到帧同步脉冲,帧同步脉冲高有效,时钟信号为上升沿触发。
5)发送时钟信号和帧同步信号来自内部采样率发生器,接收时钟信号和帧同步信号来自外部相应的接收引脚。时钟频率为37.5mhz,帧频率为1.25m,帧宽度为1个时钟脉冲宽度。采样率发生器时钟来源于内部cpu。
6)使能接收中断和发送中断,使能接收器、发送器及采样率发生器。
在相应的中断子程序中,通过读取和写入dxr1、dxr2、drr1、drr2寄存器实现f2812和c6711之间数据的读写。
4 系统软件设计
4.1 c6711软件实现
c6711软件设计过程中充分地考虑流水线处理的特点,充分发挥流水线的功能实现多种任务并行执行是设计的关键。因为系统采用帧缓冲存储结构只能完整地保存一行图像数据,所以当一行结束时必须及时将数据从帧缓冲存储中读出来。设计中采用c6711的qdma功能实现图像数据的读取,减少c6711计算资源的占用并实现c6711运算资源的最大利用。软件流程如图3所示。
4.2 f2812电机控制实现
主动视觉系统对平台运动速度提出比较高的要求。步进电机在高速转动控制中容易出现失步的问题。电机失步会引起角度控制的误差,在控制中必须加以避免。避免步进电机失步是电机控制软件设计中的关键。为避免步进电机在加速和减速时出现失步,在加速和减速时采用升速/降速曲线进行控制,其控制软件流程如图4所示。
5 实验应用
5.1 图像采集实验
图像采集是系统中非常重要的一环,图像采集质量的好坏直接影响到目标检测的成败。实验中通过编写专门的图像采集程序,将采集到的图像存放在c6711dsk的sdram中,然后通过ccs2.0的图像调试工具读取图像,并在ccs调试界面中显示出来,从而验证图像采集质量的好坏。图像采集的实验结果如图5所示,实验结果说明图像清晰完整且颜色正常。
5.2 目标跟踪实验
在实验室真实环境下采用桔红色的排球作为跟踪目标,在距离系统正前方1.5米左右处以不同方式运动。跟踪控制采用比例控制实现,通过对静止、水平往复运动、垂直往复运动、圆周运动目标的跟踪性能的分析验证系统的性能。图6显示了系统对水平往复运动目标进行跟踪的结果。
6 结论
文中将tms320c6711的运算能力和tms320f2812的控制能力和丰富的外围接口相结合实现了高性能主动视觉系统。图像采集由专用视频解码芯片完成,通过fifo实现视频解码器与c6711的互联,通过dma方式读取fifo中的数据。这样的设计充分发挥了c6711流水处理的特点,提高计算资源的利用率。采用f2812提供的接口实现了传感器数据采集和pc机之间的通讯,弥补了c6711在运动控制和接口资源方面的不足。实验结果表明设计可行,系统性能达到设计要求。
感知世界的最新利器、毫米波技术的继任者——超宽带(UWB)雷达技术
智能照明场景大拓宽及未来发展趋势
如何进行激光切割设备的检测工作
果蔬机有用吗?保证食品安全才ok!
华为新机重拳出击,美国有点慌?
采用DSP芯片实现了高性能主动视觉系统的设计
通鼎互联发布了2019上半年报告营业收入18.11亿元同比减少了22.39%
平安科技智能VIP识别系统的人像捕获率达99%
人工智能简称什么
详细介绍变频器假负载的原理、应用和注意事项
全新电动外骨骼提高10%的跑步速度
数字混频原理及程序设计
双摄像头OPPO R11火速曝光:TFBOYS的王俊凯用上真机了?
干货:自耦变压器和隔离变压器的区别
详解上汽第二代10速EDU电驱系统
中小河流水文监测系统的产品特点是什么
功率因数基础知识与功率因数变送器测试应用
谁在控制我们体内的科技? 论我们身边的“电子人”世界
如何检查系统集成的正确性?
当站长遇上云计算 如何选择适合自身云产品?