微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 新型嵌入式机器视觉系统的设计研究

新型嵌入式机器视觉系统的设计研究

时间:04-21 来源:测控网 点击:

频捕捉输入端口VIP0与VIP1.VIP0可配置成24 b、16 b、和两个独立的8 b模式,VIP1可配置成16 b、和两个独立的8 b.从捕捉频率和各种配置模式可看出,针对不同的流量,可以有多种实现方法。为了存储设计简单,本方案将VIP0配置为24 b进行采集。在此模式下,最高流量为165M×24 8 = 495 MB/s,可以满足流量要求。

  从最高捕捉时钟可知,每次采集间隔在1 165M,约为6.1 ns.经计算,也为了设计方便,拟采用三个帧频均为200 f/s的Base配置的Camera Link相机,帧频控制均为外部触发方式,该Camera Link相机一次输出两个像素,每像素12 b,即2×12 b,刚好可以和VIP0的24 b匹配采集。以三路信号分时采集为例,如图3所示,3路信号的采集方法为3个相机轮流采集,即一个循环内每个相机各采一帧,这就需要实现3路分时采集的时序信号。由定时器产生一个1/200 s的脉宽,经延时环节使帧频高电平分时分路送入三个相机;3路采集信号时序关系为一个相机不进行延时,一个相机延时1/200 s,最后一个延时2/200 s。

  

  相机通过DS90LV047A收到指令后,将拍摄到的图像数据分为4路LVDS数据信号和1路LVDS时钟信号,通过接口连接器MDR26传输到DS90CR288A;DS90CR288A将串行数据转换成28路并行信号和1路随路时钟信号,并传送至TMS320DM8168视频捕捉端口VIP0进行采集。

  2.3图像存储模块

  从上述设计方案,系统存储速率约为160 MB/s,数据量较大,可选择大容量、高速的固态硬盘,通过其SATA2接口写入。

  数据采集结束后,通过配置HDVPSS子系统将数据送入VPDMA,最后转入DDR内存,当DDR内存的数据量达到设定的数据量时产生中断,中断发生后,根据存放地址启动内存和固态硬盘之间的DMA传输,将采集的图像通过SATA2接口存储在SSD上,实现数据存储。

  然后启动定时器产生下一个帧频脉冲,开始下一周期的数据采集。

  外部扩展存储器选取系统支持的DDR3(1 600)存储器。按照系统存储控制器位宽32 b来算,内存速率可达32/8×1 600M=6.4 GB/s.在该模式下,采集和存储可并行处理。缓存所采集的数据移动到DDR3内存,其速率远高于端口采集的每秒数据量。因为该方案的采集方式是每帧轮流采集,并且帧内数据已按顺序紧凑排列,可大幅减少数据的重排工作,仅需去除一些辅助数据。采集系统将其余相关信号全部置成一帧一行的形式,让相机的时钟信号与系统采集端口的时钟信号通信,图像信号前有少量的辅助数据,设置DMA起始地址时直接跳过辅助数据。所以在本系统几乎不运行程序的情况下,固态硬盘可以最少有80%的时间占据DMA控制权进行内存图像数据的存储。按所选取的硬盘的持续写入速率250 MB/s来算,250×0.8=200 MB/s大于160 MB/s,所以1 s采集的数据可以进行实时存储。数据上传后,可以选择清除原有数据,释放硬盘空间。

  2.4外围接口模块

  基于TMS320DM8168芯片丰富的外设接口,本系统能够灵活的进行外部接口设计来控制外围设备,并实现与外部处理器的通信功能。根据需求可供选取的接口有:2个具有GMII和MDIO接口的千兆位以太网MAC(10 Mb/s,100 Mb/s,1 000 Mb/s);2个具有集成2.0 PHY的USB端口;双DDR2/3 SDRAM接口等,可参考图2。

  TMS320DM8168的两个USB口可满足将采集的图像数据上传给上位机时连接键盘鼠标,LCD、VGA接口可用来直接显示图像。串口亦可用来同上位机进行通信,且可用来控制本设计方案用到的Camera Link相机。千兆网接口以其超高的速率可满足图像数据的高速传输。

  上述技术的实现主要通过软件编程驱动外设接口来实现,具体方案见软件设计。

  3、软件设计

  本系统采用Linux操作系统,带有友好的界面,使操作更加灵活自如,能运行多任务。可以通过界面进行相机控制、图像的采集、停止、显示、图像上传等。这部分的开发可由两部分组成,移植和自主开发。软件设计如图4所示。

  

  3.1移植的程序

  移植的程序包括Linux内核、网卡驱动、USB 2.0驱动、LCD驱动、串口驱动、VGA驱动、SATA2驱动。在这个方面,TI公司提供了很好的支持,有专门针对DM8168的Linux操作系统,版本为Linux 2.6.37,可以通过TI公司提供的Linux EZ软件开发套件(EZ SDK)进行开发。

  3.2自主开发的程序

  3.2.1驱动程序

为了规范地在Linux操作系统下操作,图像采集的电路部分需要图像采集应用程序相关的驱动程序进行支持。采集电路可分为多个功能模块分别进行驱动程序的编写,其中包括相机采集驱动(相应于VIP0进入数据后的操作);控制驱动(相应于对Timer进行控制);

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top