课程设计(论文)-基于arm的视频图像采集系统

上传人:aa****6 文档编号:30010624 上传时间:2018-01-26 格式:DOC 页数:11 大小:441KB
返回 下载 相关 举报
课程设计(论文)-基于arm的视频图像采集系统_第1页
第1页 / 共11页
课程设计(论文)-基于arm的视频图像采集系统_第2页
第2页 / 共11页
课程设计(论文)-基于arm的视频图像采集系统_第3页
第3页 / 共11页
课程设计(论文)-基于arm的视频图像采集系统_第4页
第4页 / 共11页
课程设计(论文)-基于arm的视频图像采集系统_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《课程设计(论文)-基于arm的视频图像采集系统》由会员分享,可在线阅读,更多相关《课程设计(论文)-基于arm的视频图像采集系统(11页珍藏版)》请在金锄头文库上搜索。

1、基于 arm 的视频图像采集系统摘要:本系统采用了 Samsung 公司生产的 S3C2440 芯片作为嵌入式处理器,再结合系统所需的外围硬件构成基本硬件电路。主要包括二大部分:处理器和存储器部分;电源时钟复位电路部分;外围接口电路部分。在对各部分硬件进行详细设计后,接下来详细介绍了嵌入式软件平台的构建,包括如何移植 Linux 操作系统:基于嵌入式 Linux 下 USB 接口摄像头视频设备采集;移植 H.264 视频压缩库和视频传输程序的编写。1 抓拍系统开发环境的构建本文所设计的采集系统按功能可划分为嵌入式主控模块、视频采集模块、网络传输模块、等三大部分。图 1-1 为本系统的系统框架图

2、 :1. USB 数字摄像头采集图像数据:2.采集传输应用程序通过摄像头驱动从摄像头获取到采集的图像数据:3.采集传输应用程序调用 H.264 编码库对图像数据进行压缩:4.采集传输应用程序将压缩后的图像数据通过网络传输给 windows PC 上的显示程序:5. Windows 上的显示程序对图像数据进行解码并显示:图 1-1 软件架构图本系统的嵌入式主控模块是基于 Samsung 公司生产的 S3C2440 这款处理器,主要作用是实现对各模块数据的响应、处理以及控制。在硬件上,主控模块包括电源、时钟、复位电路、存储模块、以太网接口电路等。在软件上,主控模块上运行 Linux 操作系统,管理

3、各应用程序模块进程并调度各进程。1.1 采集系统的硬件平台设计本系统的核心处理器为二星公司的 S3C2440,外扩 64M 的 SDRAM 存储器以及64M 的 FLASH 存储器,外围接口电路模块: 包括 USB 接口电路,以太网网卡 DM9000 接口电路以及网眼 3000 的数字摄像头等。本系统的硬件结构如图 1-2 所示。图 1-2 系统硬件架构图1.1.1 电源、时钟模块设计系统各部分硬件要求提供 1.8V 和 3V 的电压。其中 S3C2440 处理器内核需要提供1.8V 电源,NandFlash, SDRAM 及 DM9000 等芯片需要提供 3V 电源,所以本系统采用了LM11

4、17-3.3 和 LM1117-1.8 电压转换芯片设计稳压电源,得到 1.8V 和 3.3V 的所需电压。USB 控制器需要提供 5V 的电源。本文采用了 5V 直流电压供电。 LM1117 是一个低压差电压调节器系列。其压差在 1.2V 输出,负载电流为 800mA 时为 1.2V 。LM1117 有 5 个固定电压输出(1.8V, 2.5V, 2.85V, 3.3V 和 5V)的型号。根据本系统的需要,这里选用了电压输出为 1.8V 和 3.3V 两型号。时钟电路为 CPU 和其它外围电路提供精准的工作时钟,按照电路中设计使用的器件特性分为有源和无源晶振,在本系统的设计电路中采用的是无源

5、晶振。ARM 芯片均提供时钟发生电路,结合一定的辅助电路的配合就可以得到所需要的时钟信号。基十 ARMS 的这款S3C2440 芯片的时钟控制逻辑可以产生为 CPU 核供给时钟信号的 FCLK、为 AHB 总线供给时钟信号的 HCLK、为 APB 总线供给时钟信号的 PCLK。1.1.2 外部存储器的扩展S3C2440 微处理器存储空间仅有 32M,应用于本系统,需要外扩存储器。本设计采用两片二星公司的 HY57V 来扩展 64M 的 SDRAM。它们均 4M* 16bit*4bank 的 SDRAM 芯片,这样,两片 SDRAM 实现了位扩展,数据总线达到了 32bit,构成 64M 寻址空

6、间。图1-3 为 S3C2440 与 NandFlash 的接口图。图 1-3 S3C2440 的存储器扩展框图1.1.3 外围接口电路设计S3C2440 内部集成了 2 个 USB host 和一个 USB device 接口。USB 的分时处理机制实现了外设的即插即用。在 USB 接口电路中的 D+, D-均为数据输入端。USB 接口中其它两根线接电源和地,设计电路中用到的电感、电阻、电容主要起滤波作用。其中还用到了起限流作用的电阻,主要是在短路时防止烧毁供电电路。抓拍系统将抓拍到的图像数据通过以太网传输到 PC 机客户端。由于微处理器S3C2440 内部没有集成网络控制器,应本系统网络的

7、需求,这里使用 DM9000 网卡芯片进行扩展。DM9000 快速以太网控制处理器是 DAVICOM 公司推出的,合成了 NINIU, MAC和 PHY。图 1-4 为 DM9000 与 S3C2440 的连接示意图。图 1-4 以太网接口电路本设计采用了 16 位的连接模式。因为 DM9000 没有专用的地址线,是通过地址线与数据线复用来实现。其中的 CMD 是命令类型控制信号,如果 CMD 为高,传送的为数据:如果 CMD 为低,传送就是地址。其中 AEN 是地址使能信号线,即 DM9000 的片选信号线,通过把 LnGCS4 设置为低电平控制选通 DM9000。中断信号线 INT 占用

8、S3C2440 的 7 号中断,使得 S3C2440 可以响应 DM9000 的中断。DM9000 与网络之间的连接由发送信号线TX+, TX-和 I 接受信号线 RX+, RX 一通过隔离变压器 E-2023 与以太网水晶接口 RJ45 相连。其中隔离变压器的最主要的作用是将嵌入式系统和外部线路相隔离,防止干扰以及烧坏元器件,并实现带电插拔功能。1.2 终端系统软件平台的构建1.2.1 交叉编译环境的建立因为在嵌入式系统开发时,不可能有足够的资源提供给开发系统直接运行开发工具以及调试工具等。通常,嵌入式系统软件开发是采用一种交叉编译调试的方式进行开发。开发时,先使用宿主机上的一些交叉编译、汇

9、编和链接工具等形成只能在目标板上执行的可执行代码。1.2.2 Bootloader 的移植在交叉工具安装完成以后,需要移植嵌入式操作系统,它为应用程序的开发提供良好的软件平台。嵌入式 linux 系统从上电到运行用户的应用程序,一般要经历三个过程:一是加载 Bootloader;二是启动 linux;三是挂载根文件系统,为了使整个系统顺利运行,接下来做下面三方面的工作:Bootloader 移植;制作根文件系统;裁剪内核。下面详细介绍Bootloade 移植。在基于 ARM 的嵌入式系统中,当进行上电或复位操作时,执行的第一段程序就是Bootloader。它主要是初始化硬件、建立内存地址映射表

10、,建立合适的系统硬件环境,也为最后调用操作系统的内核做好充分的准备。在嵌入式开发中,没有一个标准的 Bootloader,因为它是依赖于实际的硬件和应用环境。下面根据本系统的硬件修改通用的 U-Boot。1.选择移植参考开发板:首先选择 MCU 相同的开发板,在 uboot-2008.10 中不支持MCU 为 S3C2440 芯片的开发板,如果 MCU 没有找到参考开发板,则选择 MPU 相同的作为参考,S3C2440 的 MPU 为 arm920T, uboot-2008.10 中 smdk2410 开发板其 MPU 也为arm920T,故选择 smdk2410 作为参考开发板。2.在顶层

11、Makefile 中添加新的配置选项,使用 smdk2410 已有的配置项目为起点。3.修改 CPU/arm920t/start.s,修改编译条件使其支持 S3C2440、添加寄存器的定义、修改中断禁止和对时钟的设置(S3C2440 主频设置为 405MHZ)。4.在 cpu/arm920t/s3c24x0 目录下的文件 interrupts. c , speed. c 等添加对 S3C2440 的支持及对分频的设置做些修改。5.选择板级配置:#make Mzy2440_ config,即选择的 board 是 Mzy2440o6.编译 uboot,#make CROSS COMPILE=ar

12、m-linux-,编译成功后会产生 u-boot.bin 文件,它将被自动复制到当前主目录。1.2.3 系统内核移植解压内核到/home/meizhaoyun/zhuapai,清理内核中间文件、配置文件,选择参考配置文件,#cp config-zhupai.config。下面对内核的配置进行简单的介绍:这里使用了网眼 3000 的 USB 摄像头来采集视频图像,linux 对该摄像头使用的芯片为OV511 芯片提供了很好的支持。Linux 操作系统下实现视频图像采集,必须在内核中加载二个模块:USB 设备驱动、OV511 模块和 video4linux 模块。在内核源码目录下运行命令 make

13、 menuconfig,具体步骤如下:1.在配置菜单中选择“multimedia devices-Video for linux”选项,这样在内核中加载了 Video4 Linux 驱动,为视频采集设备提供了编程接口。2.在配置菜单中选择“USB Support-USB Multimedia devices-USB OV511 camera support”选项,这样就在内核中加入了对采用 OV511 接口芯片的 USB 数字摄像头的驱动支持。1.2.4 根文件系统移植linux 文件系统体系对复杂系统进行抽象化,是 linux 系统的核心组成部分,可以做为linux 系统文件和数据的存储,也

14、可以作为系统的配置文件或者应用程序调用所需的库文件。没有根文件系统的 linux 系统不能正确启动,所以为了存储引导程序、内核以及应用程序,需要创建合适的根文件系统。mzy2440 根义件系统的制作:1.创建根文件系统主目录/nfsroot/rootfs:#make -p /nfsroot/rootfs#cd /nfsroot/rootfs#mkdir bin dev etc lib proc sbin sys usr mnt tmp var#mkdir usr/bin usr/lib usr/sbin lib/modules2.创建设备文件内核在引导时,设备节点 console、null 必

15、须存在#cd /nfsroot/rootfs/dev/#mknod -m 666 console c 5 1#mknod -m 666 null c 1 33.编译内核模块:#make module ARCH=arm CROSS COMPILE=arm-linux 一安装内核模块到根文件系统#make modules install ARCH=arm INSTALL MOD PATH=/nfsroot/rootfsbusybox 为一个工具集合,根文件系统的许多命令均可以通过 busybox 编译来获得,像 cd, ls 等。实际上, busybox 是把许多工具集合到一个非常小可执行文件中,

16、用户只要使用命令就可以运行其中相应的服务。解压 busybox,配置 busybox。进入 busybox setting-build options-选中Build busybox as a static binary静态链接,本系统中目标板没有这些库,故采用静态链接的方式。2 系统应用程序设计该系统由 USB 视频采集模块,数据处理模块,图像显示模块 3 大部分组成,其中USB 视频采集模块由 USB 摄像头, USB 摄像头驱动程序两部分构成。数据处理模块由H.264 编码库和采集传输应用程序组成。图像显示模块则由运行于 windows 之上的解码显示程序充当。2.1 基于 Video4 Linux 的 USB 设备视频图像采集Video4 Linux 是 Linux 内核中支持影像设备的一组 APIs,它配合适当的视频采集设备和相应的驱动程序,可以实现影像采集、AM/FM 广播、频道切换等功能,因此它在远程会议、可视电话、视频监控系统中有着广泛的应用。图 2-1 图像采集流程图 2-1 是 linux 下视

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号