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进行控制);如果要根据外界环境改变相机工作状态,还需该部分驱动支持。采集驱动实现open,close方法。控制部分实现open,close,ioctl方法。自适应速率调整要实现open、close、ioctl、read方法。在/DEV目录下分别建立设备节点,然后应用程序通过对设备节点进行操作。
3.2.2应用程序
应用程序的开发拟采用QT开发工具。应用程序拟设计成一个多线程程序,一个主线程,一个自适应调节参数线程,应用程序主要实现采集程序,停止,显示,配置,上传程序,分别对应于相应按钮。
采集按钮相应程序调用设备节点的open方法,open方法中对相应硬件进行配置,注册中断程序,启动Timer开始采集。流程如图5所示。