基于DSP TMS320DM642芯片实现运动控制卡的设计

目前,视频运动控制卡的研究已经成为热点。本文针对ti公司的视频高速处理芯片tms320dm642,设计了对目标物体进行视频实时跟踪的运动控制卡。希望通过本文分享dm642平台应用中的一些经验。
1 系统方案与原理
系统主要由视频解码器、cpld采集控制、tms320-dm642、视频编码器等部分组成。其总体框架如图1所示。ccd摄像头摄取视频图像,输出标准 pal制式的模拟视频信号。视频解码器收到模拟视频信号,将其转换为标准格式的数字视频数据流,由cpld控制视频解码器将数据采集到高速缓存中暂存,避免了数字视频数据长时间占用dsp外部总线。然后dsp的edma控制器通过dma方式从高速缓存中将视频数据搬运到sdram中,采集到的视频数据经过 dsp图像处理后,一方面通过视频编码器将图像数据以pal制式的模拟信号传送给视频转换盒,然后通过usb接口连接pc,显示跟踪结果。另一方面, dsp通过串口发送与目标物体三维坐标相关的控制命令,从而控制驱动器操纵舵机,实现对目标物体的跟踪与抓取。
2 图像采集的cpld控制
系统采用cpld控制视频解码器saa7111a采集图像数据,送到高速缓存。saa7111a芯片提供了很多同步信号来实现系统工作同步,逻辑控制器对这些信号进行逻辑运算,完成同步控制。
图2为控制图像采集的逻辑框图。其中虚线框部分由cpld完成。cpld上电后,首先使d触发器输出为高电平,控制fifo写信号或门中的1路信号为高电平,这样fifo写信号禁止,从而关闭图像采集开关。行计数器和像素计数器处于等待计数状态。待dsp、saa7111a、edma和fifo初始化完成后,由dsp发出启动图像采集的信号。在vref为高电平且href为所要行时,行计数器开始计数,达到512行时行计数器复位。同时,在href为高电平且像素是想要的像素时,像素计数器开始计数,并在达到512个像素时计数器复位。经过saa7111解码得到的pal制式的图像最大分辨率为720× 576,要求采集的图像大小为512×512像素,只取其中部分像素。saa7111a的像素时钟llc2频率为13.5 mhz,作为cpld的工作时钟。由saa7111a的时序图可知,输出图像分为奇偶单场。奇偶单场中的vref高电平都对应行有效,单场为288行 (288个href);输出vref低电平表示场消隐信号,为25行(25个href)。由于单场为256行,要求采集图像为512行,所以不采集单场有效行的前16行和后16行图像数据。此处设计行计数器是用来达到取中间256行有效像素的目地。图3为采集一场图像的时序仿真图。同样,输出的href高电平表示1行有效像素,为720个llc2周期,每行要求只采集中间的512个像素。因此编写像素计数器,目地是在href上升沿出现后,取中间的512 个像素作为有用的像素。
3 dsp的软件系统设计
3.1 双目视觉算法
本文所采用的摄像机的空间关系如图4所示。假设c1与c2摄像机的焦距相等,各内部参数也相等,且2个摄像机的光轴平行,x轴重合。由于光轴与图像平面垂直,故2个摄像机的图像坐标系x轴重合,y轴平行。因此,将第1个摄像机沿其z轴平移一段距离后与第2个摄像机完全重合。
当双摄像机这样配置时,2个摄像机坐标系只相差x轴方向上的1个平移,将平移距离1记为b。
如图4所示,o1o2为c1及c2坐标的x轴。po1o2平面与2个图像平面i1及i2的交线分别为e1和e2。由于2个图像平面位于同一平面,则e1与 e2为该平面上的同一直线。又由于图像平面平行于x轴,故e1和e2与x轴平行。p1和p2分别为o1p与i1,及o2p与i2的交点,则p1与p2分别在e1和e2上。事实上,一幅图像上的任一点,在另一幅图像上的对应点只可能位于1条特定的被称为极线的直线上,而e1和e2就是此系统的2条极线。
假设c1坐标系为x1y1z1,c2坐标系为x2y2z2。在上述摄像机配置下,若任何空间点p的坐标在c1坐标系下为(x1,y1,zz),在c2坐标系下为(x1-b,y1,z1)。由中心摄影的比例关系可得:
可见,由p1与p2的图像坐标(u1,v1)、(u2,v2)可求出空间点p的三维坐标x1、y2、z1。
上述公式组中,b称为基线(baseline)长度,(u1-u2)称为视差(disparity)。分析表明,基线长度越长,x1、y1、z1的计算相对误差越小。但基线长度不可太长,否则,由于物体各部分的互相遮挡,2个摄像机可能不能同时观察到p点。视差是由于双摄像机位置不同,使p点在图像中投影点的位置不同引起的。由z1式可见,p点的距离越远(即z1越大),视差越小。事实上,当p点趋于无穷远时,o1p与o2p趋于平行,视差趋于零。
3.2 嵌入式实时系统dsp/bios设置
本文对嵌入式实时系统dsp/bios的配置分为4个部分:
①系统设置。配置系统的存储器为外部sdram,并指定存储地址。
②实时分析。指定调试函数,用于记录系统运行时间和调试结果。
③任务调度。采用rf5框架,定义了4个执行任务,分别完成视频输入、处理、控制、输出。
④同步控制。用于完成上位机对目标物体的设定。
系统dsp/bios设置如图5所示。
图8中第1行为视频跟踪卡应用在由舵机搭建手臂上,对三维空间小球的实时跟踪效果图。第2行为视频控制卡反馈回pc机的4路图像:第1路为左摄像头拍摄的真实图像,第2路为右摄像头拍摄的真实图像,第3路为对第1路图像中的小球进行颜色识别后图像分割的效果图,第4路为对第2路图像中的小球进行颜色识别后图像分割的效果图。
结语
本文设计的视频检测运动控制卡,可以在三维空间内准确定位目标物体,同时采用动态跟踪的方式对目标物体进行夹取。采用dsp与cpld相结合的方式,并嵌入实时dsp/bios操作系统,提高了系统对视频处理的速度。该系统定位准确,功耗低,适合应用于移动机器人等领域。


迫近“端到端”的TD-LTE产业链
便携式产品中模拟开关的选择要注意的问题
喜视的AI人脸识别访客4G无线门禁一体机
大数据计算框架简介
NVIDIA Texture Tools Exporter如何加速Texture Tools 3.0压缩器技术
基于DSP TMS320DM642芯片实现运动控制卡的设计
世界首架纯电动飞机首次试飞任务成功完成
中软国际AIGC模型工厂、场景案例及“昇腾云+混合云一体机”方案成功发布
各种非制冷红外阵列传感器技术的对此分析
首家把集成5G芯片放到手机上的华为,技术壁垒到底有多高
疫情已被证明是云应用和扩展的加速器,将继续推动云计算发展
红米将全产品线布局,雷军劝说两年卢伟冰终加入
照明光源的频闪是怎么回事
LG将展示最新一代可卷式超高清OLED显示屏
计算机系统对数值类型的编码、运算、转换原理介绍4
掌握可穿戴设备超长续航的秘密
LED产业如何高质量发展
为什么物联网离不开边缘计算
ECU用VR技术模拟培训大规模伤亡事件
断路器应该怎么连线呢?