关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 一种遥控式可存储的图像采集系统的设计与实现

一种遥控式可存储的图像采集系统的设计与实现

作者: 时间:2010-08-09 来源:网络 收藏
2 模块
目前数据的方式有很多种,如硬盘、FLASH、光盘等,其中容易携带且使用方便的应是移动硬盘、优盘、SD卡,这几种方式都可以通过USB口来传输数据(SD卡或CF等可借助相应的读卡器再通过USB口传输数据),可见USB总线的应用已经很普遍,USB总线的即插即用、速度快、可以自供电等优点也的确是其他设备所不能比的。所以部分成USB设备,USB设备分为USB主(Host)设备和USB从(Device)设备,USB从设备只能被动地由主设备写入或读出数据,不符合本的要求。所以选择了USBHost设备,只要将优盘等USB从设备插到的USB口上,就可以将当前要存储的图片存储到U盘等存储设备中。
USB Host设备的典型例子是PC机,这种Host功能是在操作系统下完成的,所以现在市面上可以移植操作系统的微控制器芯片大多都集成了USB Host功能,像三星和飞利浦的ARM芯片、君正公司开发的MIPS核芯片JZ4740等。这种采用带操作系统的方案对有一定经验的开发人员来说开发起来比较容易,但对生手来说需要一定的熟悉过程。只为了USB Host功能就选择用操作系统的方式完成整个系统的控制是没有必要的,这样做不仅浪费资源,而且会增加底层驱动的开发时间。所以本选择了比较简单的方式,只用一片单片机和一个USB接口芯片来完成USB Host功能。这样只要会用单片机的开发人员都可以做USBHost设备。市场上USB从设备的接口芯片有飞利浦的PDIUSBDl2和ISPl581等,但USB Host接口芯片则比较少。经试验,最终确定VNClL-1A这款芯片作为USB Host控制器。
2.1 USB Host控制器
VNClL-1A芯片在FTDI公司Vinculum系列中第一个嵌入了USB主控制器,不仅能处理USB Host接口和数据,还内置了MCU和FLASH,而且也封装了USB Device类。它集成了12~48 MHz的时钟倍频器,支持上电复位功能,嵌入了64 KB FLASH ROM,4 KB SRAM,拥有FTDI提供的标准的USB固件库,支持USB 2.O的全速(12 Mb/s)和低速(1.5 Mb/s)速率。28个GPIO可以做通用I/O和命令监测接口,具有2对USB总线接口,可以用串口或者磁盘方式对其烧写程序。当芯片作为主设备要与优盘等从设备通信时,它可以处理FAT文件系统,支持FATl2,FATl6,FAT32格式,文件命名方式为传统的8.3格式,即文件名不超过8个字符,扩展名为3个字符,如文件名可以为text.txt。在执行具体的操作时只需要向VNClL发送一个简单的命令就能完成像新建文件夹、新建文件、读文件、写文件、打开关闭文件等功能。比如要在优盘中创建一个hello.-txt文件,可以用字符方式向VNClL逐一写入“OPW+空格+hello.txt+回车”的字符,就可以在优盘中看见一个hello.txt的文件,或者用十六进制代码的方式发送“09 20 file OD”,其中file为hello.txt各字符的相应ASCII码值。厂家在网站上提供了免费的目标代码,用户可以根据不同的需求下载不同的目标代码,在本设计中,选择用一个USB口作USBHost功能的VDAPFUL_V3_65.ROM目标代码,并设计成串口方式将目标代码烧录到芯片中。所以用户不用关心VNClL内部程序是怎么执行的,只关心需要它完成USB主设备还是从设备还是其他功能,去找相应的目标代码就可以了,烧录完程序的VNCIL芯片就相当于一颗接口芯片,只要接口连接正确,时序操作正确需要的功能就会正常运行。VNC-lL拥有专门的UART,SPI和并口引脚,所以对它进行控制时可以选用三种接口中的任意一种,如果想看一下操作命令的返回值,可以用串口方式连接到PC机上,在PC机上用串口调试助手向VNClL发送相应的命令后,会看到对应的返回值情况。
2.2 存储过程的
位图在计算机中使用很广泛,例如在Windows中,记事本、写字板中的文字就是用位图表示出来的。许多以其他格式存储的,就是在位图图像的基础上,进行优化处理后得到的,例如JPEG图像等。在数字图像处理中,许多算法就是针对24位真彩色位图或灰度位图设计的。因此,将的图像以位图的格式存储便于后期对图像的处理。位图的存储格式分为24位真彩色格式和灰度位图格式,24位真彩色格式比灰度位图格式大2/3,因为灰度图像是用一个字节表示一个像素,而24位真彩色位图是用三个字节表示一个像素,所以本设计用灰度位图格式存储图像。
当要存储一帧图像时,ATmega8L向VNClL发送新建文件命令,在存储设备中就会新建一个.BMP文件,然后ATmega8L再将位图的14 B的文件头、40 B的信息头、1 024 B的颜色索引表写入.BMP文件的开始部分,写完后ATmega8L给FPGA一个ready信号,FPGA收到此信号后直接将图像数据通过VNC1L送到存储设备的.BMP文件中;FPGA送完一帧图像数据后再给ATmega8L一个结束信号,之后ATmega8L执行关闭当前文件命令,至此一个BMP图存储结束。本设计希望此系统的所有图像在存储设备中用单独的文件夹存储,这样每次在新插入存储设备时ATmega8L要先向VNC1L发送一个查询命令,查询当前根目录中是否已存在本系统专用的文件夹,如果没有则新建此文件夹,有则在此文件夹中查询是否已经有.BMP文件,如果没有则新建,并且文件名以数字编号O开始命名,如果有则要查询当前哪个文件名的编号最大,然后以最大编号数加一的方式作为要新建文件的文件名。当要从存储设备中读取一幅图像时,ATmega8L同样要执行查询文件夹和文件是否存在的命令,如果都存在则从文件名编号最大的那张图片开始读取。读取过程与写过程类似,只是用的命令不同,而且读的时候要等VNC1L将位图的1078B的文件信息读完后才能将图像数据传给FPGA。VNC1L与FPGA和ATmega8L用并口的方式进行通信,只需8条数据线和4根信号线即可完成数据传输,接口连接如图2所示。


评论


相关推荐

技术专区

关闭