嵌入式linux应用开发教程-视频采集程序设计(编辑修改稿)内容摘要:

l 通道 USB 设备控制器 (1. 1 版 ); 4通道 PwM/ 1通道内部定时器/看门狗定时器; 8通道 10 比特 ADC 和触摸屏接口;具有日历功能的 RTC; 数码相机接口 (支持最大 4096x4096 像素的输入、 2048x2048 像素的可缩 放输入 ); AC’ 97解码器接口; 130 个通用 I/O, 24 路外部中断; 具有普通、慢速、空闲和掉电模式;带有 PLL 片上时钟发生器。 2存 储器的设计 嵌入式系统存储器一般包括 SDRAM 和 FLASH 两部分, FLASH 是一种可进行电 擦写,掉电后信息不会丢失的存储器,用于存放程序代码、常量表以及一些系统掉电后需要保存的用户数据等,而 SDRAM 是系统的内存,它不具有掉电保持数据的特性,但其存取速辽 宁 工 业 大 学 课 程 设 计 说 明 书 (论文) 6 度大大高于 Flash 存储器,在系统中主要用作程序的运行空间、数据及堆栈区,当系统启动时, CPU 首先从复位地址 (一般是 Ox00000000 地址 )读取启动代码,在完成系统的初始化后,程序代码被调入 SDRAM 中运行以提高系统的运行速度。 本系统的存储模块采用两片 32M 的 SDRAM 和一片 64M 的 NAND FLASH 相结合, 完成系统存储电路的设计。 $3C2410A 的存储控制器提供了访问外部设备所需的信号,$3C2440A 共有 8 个 BANK,每个 BANK 可以连接 128M 的存储器,复位后代码总是从 BANKO开始启动, $3C2440A 支持两种启动模式:从 NAND FLASH 引导启动和从 NOR FLASH 引导启动。 3 USB 接口设计 USB 是通用串行总线 (Universal Serial Bus)的简称,是一种可以同时处理 主机与具有 USB 接口的外设之间通信的电缆总线。 USB 的分时处理机制真正在硬 件意义上实现了外设的即插即用。 USB 系统被定义为三个部分: USB 集线器 (USB HUB),USB 设备 (USB DEVICE) 和 USB 主机 (USBHOST)。 在一个完整的 USB 拓扑上,仅可以有一个主机,一个或 多个 US8 集线器和设备。 为 USB 器件连接主机系统提供主机接口的部件被称为 USB 主机控制器,它是由硬件、软件和固 (Firmware)组成的复合体。 $3C2440A 处理器有 2 个 USB 主机接口和 1个 USB 设备接口,因此电路设计相对简单,不需要扩展 USB控制器。 摄像头工作原理 景物通过镜头 (LENS)生成的光学图像投射到图像传感器表面上,然后转为电信号,经过 A/D(模数转换 )转换后变为数字图像信号,再送到数字信号处理芯片 (DSP)中加工处理,再通过 USB 接口传输到 开发板 中处理, 通过流媒体传输到 Inter 中,远程用户通过打开 WEB 页面就 可以看到图像了。 辽 宁 工 业 大 学 课 程 设 计 说 明 书 (论文) 7 第 3 章 硬件设计 硬件原理 本文使用的系统平台硬件功能框图如图 1 所示。 该平台采用 Samsung 公司的处理器S3C2410。 该处理器内部集成了 ARM 公司 ARM920T 处理器核的 32 位微控制器,资源丰富,带独立的 16KB 的指令 Cache 和 16KB 数据 Cache、 LCD 控制器、 RAM 控制器、 NAND 闪存控制器、 3 路 UART、 4路 DMA、 4 路带 PWM 的 Timer、并行 I/O 口、 8路 10 位 ADC、 Touch Screen接口、 I2C 接口、 I2S 接口、 2个 USB 接口控制器、 2路 SPI,主频最高可达 203MHz。 在处理器丰富资源的基础上,还进行了相 关的配置和扩展,平台配置了 16MB 16 位的 Flash和 64MB 32 位的 SDRAM。 通过以太网控制器芯片 DM9000E 扩展了一个网口,另外引出了一个 HOST USB 接口。 通过在 USB 接口上外接一个带 USB 口的摄像头,将采集到的视频图像数据放入输入缓冲区中。 然后,或者保存成文件的形式,或者运行移植到平台上的图像处理程序,对缓冲的图像数据直接进行相关处理,再保存并打成 UDP 包。 最后,通过网络接口将图像发送到 Inter 上。 本文只讨论其中视频采集部分的具体实现。 图 1 硬件框图 辽 宁 工 业 大 学 课 程 设 计 说 明 书 (论文) 8 图 2 SAMSUNG $3C2410A 芯片结构图 辽 宁 工 业 大 学 课 程 设 计 说 明 书 (论文) 9 第 4 章 软件设计 USB 摄像头驱动程序设计 USB 主机控制器驱动 (HCD)是 USB 主机驱动程序中直接与硬件交互的软件模块; USB驱动 (USBD)是 USB 主机驱动的核心,实现了与 USB 主控制器通信和控制 USB 主控制器的一些根本细节,并且它对系统软件的其他部分是隐蔽的。 而 USB 设备类驱动则是与应用软件交互的软件模块,它主要实现特定的 USB 设备的访问、为应用程序提供访问接口等。 USB 设备使用 USB 核心提供函数与设备通信, 所以它应该是与平台无关的。 本系统采用 的是基于 ZX301P 芯片的 USB 摄像头,采用 Michel Xhaard 主持 的一个开源的 Linux 下的。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。