引言
目前国内各大烟草制造企业的香烟包装都是在高速流水线上进行的,设备自动化程度 高,机械和电气控制复杂,生产中经常产生包装不合格的产品。目前的解决方法主要是通过 采集卡将烟包图像传输到工控机中,应用图像处理威廉希尔官方网站 ,检测出不合格的产品。这是一种 PC-based 的检测方法。现有的采集卡一般不具备图像处理的能力并且多是PCI 接口,存在 安装和使用不方便,不支持热插拔等问题。
本文提出了一种应用TI 公司高性能DSP 处理器TMS320DM642,视频解码器和Altera 新推出的CPLD EPM240 组成的嵌入式的具有初步图像处理功能的采集系统[2]。应用USB 接口将检测到的不合格产品图像信息实时传输到工控机上,供生产人员做进一步分析和统计 包装中出现的问题,以及时对生产设备进行维护,降低企业生产成本。
2 系统设计
DSP 处理器[3]的视频口接收视频解码器输出的视频数据,采集一帧图像,通过EDMA[4] 将缓存在视频口FIFO 中的数据搬移到SDRAM 中。经过图像处理判定有无反包,拉线错位 及破损等错误。若要剔除烟包,工控机发出读请求唤醒USB 芯片EZ-USB SX2(CY7C68001) [5],DSP 启动EDMA 将SDRAM 中的图像传输到USB 的FIFO(EP6)中。系统框图如图1 所示。
图1 系统结构图
DM642 是TI 公司推出的一款面向多媒体应用的定点数字信号处理器,设计主频为 500~ 720MHz,采用C64x 内核,2 级存储器结构,同时片上还集成了视频口(VP),外部 存储器接口(EMIF)等丰富的资源。DM642 特有的EDMA 负责片内L2 存储器与其他外设 之间的数据传输。EPM240Z 是Altera 最新推出的MAX II Z 系列CPLD。该系列采用非易失 的嵌入Flash 工艺,以及创新的查找表(LUT)逻辑结构,突破了传统宏单元器件的成本和功 耗限制。在MAX 系列基础之上,功耗只有十分之一,而容量增加了四倍,性能提升了一倍。
EZ-USB SX2(CY7C68001)集成有USB2.0 收发器,串行接口引擎SIE,4KB 的FIFO, 可以选择的8 位或16 位总线方式。片上SIE 能完成大部分的USB 协议操作,简化了用户设 置代码,但由于其内部不含微处理器,应用层协议由DSP 编程实现。
系统中将 SX2 配置在DM642 的CE1 空间,四个端点(EP2,EP4,EP6,EP8)的地址空 间是0xA0000000~0xA0001BFF。控制接口(EP0)的地址空间为0xA0002000~0xA000203F。 CY7C68001 与DSP 之间使用异步读写方式完成二者之间数据和命令的交换。中断信号占用 DM642 的外部中断EXT_INT5,四个状态信号(READY、FLAGA、FLAG 和FLAGC)和 唤醒信号分别配置在EPM240G[6]中的USB 状态寄存器(USB_STS)和USB 唤醒积存器中 (USB_WAKEUP) 。EPM240G 占用DM642 的CE1 空间, 地址范围是 0x9A080000~0x9A080020。接口电路如图2 所示。
主要接口信号包括控制信号,数据总线和地址总线。
控制信号: USBINT:中断信号。由SX2 提供,SX2 有六个中断源,中断发生时,DSP 读数据总线, 获取中断标志位判断具体哪个中断发生了。
FLAGA,FLAGB,FLABC:状态信号。由SX2 提供,分别反映当前选中的FIFO 的状态,可编程,满,空。
CE1,CE2:片选信号。由DSP 提供,选中CE1 或CE2 空间。
OE,RE,WE:输出允许信号,读使能信号,写使能信号。由DSP 提供。
地址总线:
AEA22,AEA[15..13],AEA[7..3]:地址总线。由DSP 提供,设定外设地址。
4 USB 通信接口DSP 端软件设计
DSP 图像采集与处理系统的软件包括设备驱动和客户应用程序。系统软件是在TI DSP/BIOS 操作系统的基础上开发的,如图3 所示。DSP/BIOS 是整个DSP 系统软件的核心, 各底层设备驱动程序完成硬件的驱动与管理,并对上层提供统一的接口;各应用任务模块完 成相应的应用功能,并由DSP/BIOS 提供实时任务调度与操作系统的支撑。VP driver、USB driver[7]分别是DM642 视频口和与SX2 通信的EMIF 口的底层驱动,完成对相应硬件外设的 硬件抽象与配置管理。
DSP/BIOS[8]中的设备驱动程序由两层组成,上层是类驱动(Class driver),其典型功能 是提供多线程的串行化与服务请求的同步,另外还要处理设备实例的管理。这一层与驱动无 关,它是DSP/BIOS 本身所集成的一部分模块,主要包括SIO、PIP 及GIO 三种类驱动模型, 本系统采用的是GIO 类驱动。下层是微驱动程序(Mini driver),GIO 类驱动使用与具体设 备相关的微驱动程序来操作SX2,以实现主机应用程序图像发送与接收的功能。微驱动程序 对SX 的配置过程见图4。
5 USB 通信接口主机端驱动程序设计
与传统的 PC 总线(如PCI 总线)设备的驱动程序相比,USB 设备驱动程序不直接与硬 件对话。这些工作由微软提供的USBD.SYS 来完成。USB 设备驱动程序的主要工作就把客 户软件的请求翻译成USBD.SYS 能执行的事务。USB 设备驱动程序主要完成以下功能:发 现、配置、关闭USB 设备。
USB 设备驱动程序向主机应用程序提供函数接口,如像Ezusb_Creat(),Ezusb_Close() 等函数。应用程序调用函数Ezusb_Create(),返回唯一的Windows 句柄后,才能调用驱动程 序的其他函数。应用程序通过调用标准Win32 API 函数CreateFile()来实现对Ezusb_Create() 的访问。 控制与数据传送接口。应用程序使用 API 函数DeviceIoControl()来执行这样的操作。 驱动程序将这个函数调用转化为一个带IRP_MJ_DEVICE_CONTROL 功能码的IRP。像读取与写 入FIFO 数据、endpoint0 的操作均是通过异步IO 的方式来完成的。
6 结论
本文所设计的带有 USB 接口的DM642 图像采集与处理系统,一方面充分利用了DM642 的强大处理能力和丰富的外设功能,另一方面使用了新架构的MAXIIZ 系列CPLD 有效的 降低系统的功耗。软件方面,以DSP/BIOS 为核心,实现了USB 的固件程序,并在主机端 开发USB 的设备驱动程序。该嵌入式图像采集与处理系统针对香烟生产流水线上的包装检 测而设计,基本上满足香烟条包在线检测的需要。
-
dsp
+关注
关注
553文章
7998浏览量
348849 -
图像采集
+关注
关注
2文章
300浏览量
41280 -
usb
+关注
关注
60文章
7943浏览量
264577
发布评论请先 登录
相关推荐
评论