完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1 引言
目前国内各大烟草制造企业的香烟包装都是在高速流水线上进行的,设备自动化程度 高,机械和电气控制复杂,生产中经常产生包装不合格的产品。目前的解决方法主要是通过 采集卡将烟包图像传输到工控机中,应用图像处理技术,检测出不合格的产品。这是一种 PC-based 的检测方法。现有的采集卡一般不具备图像处理的能力并且多是PCI 接口,存在 安装和使用不方便,不支持热插拔等问题。 本文提出了一种应用TI 公司高性能DSP 处理器TMS320DM642,视频解码器和Altera 新推出的CPLD EPM240 组成的嵌入式的具有初步图像处理功能的采集系统。应用USB 接口将检测到的不合格产品图像信息实时传输到工控机上,供生产人员做进一步分析和统计 包装中出现的问题,以及时对生产设备进行维护,降低企业生产成本。 2 系统设计 DSP 处理器的视频口接收视频解码器输出的视频数据,采集一帧图像,通过EDMA 将缓存在视频口FIFO 中的数据搬移到SDRAM 中。经过图像处理判定有无反包,拉线错位 及破损等错误。若要剔除烟包,工控机发出读请求唤醒USB 芯片EZ-USB SX2(CY7C68001) ,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 编程实现。 3 USB 通信接口硬件设计 系统中将 SX2 配置在DM642 的CE1 空间,四个端点(EP2,EP4,EP6,EP8)的地址空 间是0xA0000000“0xA0001BFF。控制接口(EP0)的地址空间为0xA0002000”0xA000203F。 CY7C68001 与DSP 之间使用异步读写方式完成二者之间数据和命令的交换。中断信号占用 DM642 的外部中断EXT_INT5,四个状态信号(READY、FLAGA、FLAG 和FLAGC)和 唤醒信号分别配置在EPM240G中的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分别是DM642 视频口和与SX2 通信的EMIF 口的底层驱动,完成对相应硬件外设的 硬件抽象与配置管理。 DSP/BIOS中的设备驱动程序由两层组成,上层是类驱动(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 设备驱动程序向主机应用程序提供函数接口,如像Ezu***_Creat(),Ezu***_Close() 等函数。应用程序调用函数Ezu***_Create(),返回唯一的Windows 句柄后,才能调用驱动程 序的其他函数。应用程序通过调用标准Win32 API 函数CreateFile()来实现对Ezu***_Create() 的访问。 控制与数据传送接口。应用程序使用 API 函数DeviceIoControl()来执行这样的操作。 驱动程序将这个函数调用转化为一个带IRP_MJ_DEVICE_CONTROL 功能码的IRP。像读取与写 入FIFO 数据、endpoint0 的操作均是通过异步IO 的方式来完成的。 6 结论 本文所设计的带有 USB 接口的DM642 图像采集与处理系统,一方面充分利用了DM642 的强大处理能力和丰富的外设功能,另一方面使用了新架构的MAXIIZ 系列CPLD 有效的 降低系统的功耗。软件方面,以DSP/BIOS 为核心,实现了USB 的固件程序,并在主机端 开发USB 的设备驱动程序。该嵌入式图像采集与处理系统针对香烟生产流水线上的包装检 测而设计,基本上满足香烟条包在线检测的需要。 |
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2543 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2331 浏览 5 评论
3155 浏览 3 评论
2801 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2759 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
607浏览 1评论
852浏览 0评论
965浏览 0评论
618浏览 0评论
445浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 00:12 , Processed in 1.170093 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号