一种遥控式可存储图像采集系统的设计与实现
时间:03-20
来源:互联网
点击:
图像采集技术随着科技的不断进步在全球的应用已越来越广泛,如军用工业、医疗、电子等各领域。在国内,各行各业对采用图像采集技术的工业自动化、智能化需求也广泛出现,逐步开始了工业现场的应用,比如,制药行业的药品检测分装、印刷业的印刷色彩检测、PCB板的表面质量检测、LCD屏的质量检测等。所以,以图像采集功能为核心,开发一款适合工业领域应用且功能齐全、操作方便的图像采集系统会给用户带来很大的实惠。
目前图像采集方面已有很多且很完善的方案,本文设计选择了利用FPGA进行图像采集的方案,设计了一套图像采集系统。与普通应用于工业方面的图像采集系统不同,本系统添加了存储功能,并对传统的控制操作的方式进行了改进。
1 系统总体设计
系统总体设计如下:图像通过VGA接口用显示器显示,显示速率可达25 f/s;系统可以将在显示器上看到的当前图像以位图的格式存储到优盘或其他USB设备中,并可以对存储的图像进行回显;用遥控器代替了按键的控制方式,可以在几米范围内用遥控器调节曝光、增益、十字线、存图和读图等所有功能,操作灵活方便。系统用美光公司的130万像素MT9T001作为图像传感器;Altera公司的FPGA芯片EP2C8Q208来完成图像采集和显示功能的控制,在实时浏览图像时,它从MT9T001中采集出Bayer阵列的黑白图像数据,然后将采集的数据用插值算法转换成24位RGB数据,由于采集图像的速度为40 MHz,而VGA显示的速度只有25 MHz,所以FPGA将转换完的数据放到SDRAM中缓存一下再送给驱动VGA显示的ADV7125芯片;ADV7125为ADI公司的高速数模转换芯片,将数字真彩色图像数据转换成可以用VGA接口传输的模拟视频信号;用Atmel公司的ATmega 8L芯片来完成遥控器的解码、读写USB设备的控制以及位图格式的创建等;用集成了文件系统的FTDI的VNC1L-1A芯片作为与USB设备通信的接口芯片,单片机加一片接口芯片完成USB的Host功能,省去了对文件系统的处理,节约了软件的开发时间。将这款带存储功能和遥控控制方式的图像采集系统应用到了工业领域,做成产品,作为工业众多工业相机中的一种。图1是其总体设计框图。
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发送相应的命令后,会看到对应的返回值情况。
目前图像采集方面已有很多且很完善的方案,本文设计选择了利用FPGA进行图像采集的方案,设计了一套图像采集系统。与普通应用于工业方面的图像采集系统不同,本系统添加了存储功能,并对传统的控制操作的方式进行了改进。
1 系统总体设计
系统总体设计如下:图像通过VGA接口用显示器显示,显示速率可达25 f/s;系统可以将在显示器上看到的当前图像以位图的格式存储到优盘或其他USB设备中,并可以对存储的图像进行回显;用遥控器代替了按键的控制方式,可以在几米范围内用遥控器调节曝光、增益、十字线、存图和读图等所有功能,操作灵活方便。系统用美光公司的130万像素MT9T001作为图像传感器;Altera公司的FPGA芯片EP2C8Q208来完成图像采集和显示功能的控制,在实时浏览图像时,它从MT9T001中采集出Bayer阵列的黑白图像数据,然后将采集的数据用插值算法转换成24位RGB数据,由于采集图像的速度为40 MHz,而VGA显示的速度只有25 MHz,所以FPGA将转换完的数据放到SDRAM中缓存一下再送给驱动VGA显示的ADV7125芯片;ADV7125为ADI公司的高速数模转换芯片,将数字真彩色图像数据转换成可以用VGA接口传输的模拟视频信号;用Atmel公司的ATmega 8L芯片来完成遥控器的解码、读写USB设备的控制以及位图格式的创建等;用集成了文件系统的FTDI的VNC1L-1A芯片作为与USB设备通信的接口芯片,单片机加一片接口芯片完成USB的Host功能,省去了对文件系统的处理,节约了软件的开发时间。将这款带存储功能和遥控控制方式的图像采集系统应用到了工业领域,做成产品,作为工业众多工业相机中的一种。图1是其总体设计框图。
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发送相应的命令后,会看到对应的返回值情况。
电子 自动化 PCB LCD FPGA 显示器 USB 传感器 Altera ADI Atmel 单片机 总线 ARM MIPS MCU 红外 相关文章:
- 利用蓝牙技术和远程信息控制单元实现汽车诊断(11-13)
- 六大特点助CMOS图像传感器席卷医疗电子应用(11-13)
- 汽车网络的分类及发展趋向(11-13)
- 多核嵌入式处理技术推动汽车技术发展(11-18)
- CAN总线的客车轻便换档系统设计与实现(02-13)
- 高性能嵌入式ARM MPU在医疗电子系统中的设计应用(05-12)