您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于USB摄像头的嵌入式图像采集系统设计
USB总线技术的应用目录一、课题简介...................................................................................................................................3二、系统框图...................................................................................................................................3三、系统工作原理...........................................................................................................................43.1USB设备基础..................................................................................................................43.2USB驱动体系结构..........................................................................................................5四、硬件设计...................................................................................................................................74.1USB摄像头SPCA561A....................................................................................................74.2USB主机控制器CH374..................................................................................................84.3USB同步传输原理.........................................................................................................84.4视频数据采集过程.........................................................................................................9五、软件设计...................................................................................................................................95.1USB摄像头初始化.........................................................................................................95.2同步传输和图像帧处理...............................................................................................105.3图像数据的预编码.......................................................................................................11六、结语.........................................................................................................................................12基于USB摄像头的嵌入式图像采集系统设计一、课题简介名称:手势识别功能:通过摄像头对手势的前后左右的识别,使显示器上的页面完成转向、翻页、放大、缩小等操作。包含的总线:USB总线VGA总线CPU内部的数据和地址总线等本文主要介绍与USB相关的内容。二、系统框图摄像头采集图像信息,通过USB总线传到MCU的FIFO缓冲区,MCU对图像信息数据进行识别和处理,并控制显示器的页面做出与手势动作相对应的操作。系统框图如下所示:图2系统框图USBMCUVGA显示器存储设备摄像头FIFO三、系统工作原理典型的USB图像采集系统如图3所示。USB系统包含主机和物理设备两个最基本的元素,一个USB系统只能有一个USB主机,可以连接多个物理设备。本设计中的设备是USB摄像头,USB主机由USB主机控制器、微处理器及驱动软件构成。USB系统工作层次分明:USB接口层提供主机控制器和设备的物理连接;设备层中,USB主机调用驱动程序通过端点0发送并获取USB设备的控制信息;功能层进行实际数据的传输,主机必须选择合适的接口和端点,调用底层驱动提供的接口函数获取USB摄像头的视频数据流。图3USB视频采集系统示意图3.1USB设备基础USB设备由断点、接口和配置组成,USB驱动程序通常绑定到USB接口上,而不是整个USB设备。下面介绍几个重要的概念:1.端点USB通信最基本的形式是通过一个名为端点(endpoint)的东西。USB端点只能往一个方向传送数据,从主机到设备(称为输出端点)或者从设备到主机(称为输入端点)。端点可以看作是单向的管道。USB端点有四种不同的类型,分别具有不同的传送数据的方式:(1)控制端点:它用来控制对USB设备不同部分的访问。它们通常用于配置设备、获取设备信息、发送命令到设备,或者获取设备的状态报告。每个USB设备都有一个名为“端点0”的控制端点,USB核心使用该端点在设备插入时进行设备的配置。USB协议保证这些传输始终有足够的保留带宽以传送数据到设备。(2)中断端点:当USB宿主要求设备传输数据时,中断端点就以一个固定的速率来传送少量的数据。它们通常还用于发送数据到USB设备以控制设备,不过一般不用来传输大量的数据。USB协议保证这些传输始终有足够的保留带宽以传送数据。(3)批量端点:它传输大批量的数据。这些端点通常比中断端点大得多(它们可以一次持有更多的字符)。它们常见于需要确保没有数据丢失的传输的设备。USB协议不保证这些传输始终可以在特定的时间内完成。如果总线上的空间不足以发送整个批量包,它将被分割为多个包进行传输。这些端点通常出现在打印机、存储设备和网络设备上。(4)等时端点:它同样可以传送大批量的数据,但数据是否到达是没有保证的。这些端点用于可以应付数据丢失情况的设备,这类设备更注重于保持一个恒定的数据流。实时的数据收集(例如音频和视频设备)几乎毫无例外都使用这类端点。2.接口USB端点被捆绑为接口。USB接口只处理一种USB逻辑连接,例如鼠标、键盘或者音频流。一些USB设备具有多个接口,一个USB接口代表了一个基本功能,而每个USB驱动程序控制一个接口,因此对于具有多个接口的USB设备来说,Linux需要有多个不同的驱动程序来处理一个硬件设备。3.配置USB接口本身被捆绑为配置。一个USB设备可以有多个配置,而且可以在配置之间切换以改变设备的状态。3.2USB驱动体系结构通用串行总线(USB)是一种外部总线结构,特点是接口统一、方便扩展、支持热插拔,简化了计算机与不同类型外设间的连接。USB是一种分层总线结构,并且由一个主机控制器来控制,USB主机控制器(hostcontroller)负责询问每一个USB设备是否有数据需要发送,USB不支持设备的直接通信。图3.2给出了Linux中USB驱动的体系结构。图3.2Linux下USB驱动体系结构LinuxUSB主机驱动由三部分组成:USB主机控制器驱动、USB驱动和不同的USB设备类驱动。其中USB主机控制器驱动(HCD)是USB主机直接与硬件交互的软件模块,它为上层提供统一的接口,屏蔽掉硬件具体细节。USB驱动(USBD)是整个USB主机驱动的核心,主要为USB设备类驱动提供相关的接口、提供应用程序访问USB系统的文件接口。而USB设备类驱动是最终与应用程序交互的软件模块,主要为访问特定的USB设备和应用程序提供接口。四、硬件设计图4初步设计框图4.1USB摄像头SPCA561A视频信号的采集一般选择USB摄像头来实现。如图4.1.1所示,USB摄像头SPCA561A集成了镜头、CMOS传感器、USB图像处理器以及USB控制器。图4.1SPCA561A芯片示意图比起直接与微处理器接口的CMOS传感器,使用USB摄像头虽然成本偏高,但是易于实现,节省CPU资源,传输速度远远高于串口、并口的速度,而且驱动支持非常丰富。SPCA561A提供了一种单芯片摄像头解决方案,它将一个CIF的CMOS传感器、一个图像处理器和USB控制器集成于单芯片,从而大大降低了成本和开发难度;缺点是只有10万像素,每秒帧数较少,然而非常适合应用于图像要求不高的小型监控系统。4.2USB主机控制器CH374CH374是一个嵌入式USB总线的通用接口芯片,支持USB主机方式和USB设备方式,支持低速和全速的控制传输、批量传输、中断传输以及同步传输。在本地端,CH374具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到DSP/MCU/MPU等控制器的系统总线上。大多数嵌入式的USB主机接口芯片并不提供同步传输模式,而CH374的一大特点就是提供了同步传输,使得视频和音频流的传输成为可能。本系统使用CH374作为USB主机控制器,如图4所示。CH374用总线方式与S3C44B0相连,微控制器通过读写CH374寄存器实现USB主机驱动。4.3USB同步传输原理同步传输主要用来传输音频或视频信号。这种信息是周期的,又是实时的,对信息实时性有很高的要求,但是对误码率却可以容忍。所以USB为这种信息保留90%的带宽,其他类型的传输在同步传输期间不可以占用。为保证数据传输的实时性,同步传输不进行数据错误的重传,也不在硬件层次上响应一个握手资料包。同步传输的主机每隔1ms发送一个SOF同步信号,随后接收设备发送的信号,其数据流程如图4.3所示。图4.3同步传输流程图在同步传输中,每一个信包的容量是一定的。拿SPCA561来说,在启动同步传输之前必须设置相应的接口号。不同的接口号决定将要发送多大的信包容量,如接口号1每次发送的信包容量是128字节,接口号6的信包容量是896字节。接口号通过USB标准设备请求SET_INTERFACE来设置。由于CH374的缓冲区最大为128字节,所以本设计中使用接口号1,同步传输每接收一个信包的大小是128字节容量的信包。4.4视频数据采集过程如图4.4所示,视频信号由摄像头SPCA561A采集得到,经过内部的图像处理芯片后编码为规定的格式,一般为RGB或者YUV格式,但是SPCA561采用比较特殊的S561图像格式(类似于RGB格式)。因为一帧图像的数据量很大,无法在一个同步信包内传送,所以将其分割成多个单元,每个单元前添加包头(包头的内容包括当前包序号和此图像帧信息),组成多个同步信包,通过FIFO缓冲发送到USB总线上。主机控制器用同步方式接收每个信包,并去除包头合并成S561格式的数据,组成一个完整的图像帧。最后由软件将此图像
本文标题:基于USB摄像头的嵌入式图像采集系统设计
链接地址:https://www.777doc.com/doc-4296058 .html