嵌入式课程设计报告样本
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式课程设计报告
一、课程设计目的
1.1 掌握linux开发环境的搭建;
1.2巩固嵌入式交叉编译的开发思想;
1.3掌握嵌入式GUI软件设计技。,.
二、课程设计要求
输入信号为1 路A V 视频信号,要求系统能对1 路输入信号进行实时采集,数字化处理,压缩,存储,要保证一定的录像质量. 根据设计题目的要求,选择确定ARM 芯片型号,视频采集芯片型号,完成系统硬件设计和程序设计.
三、课程设计内容
设计原理ARM10 系列微处理器为低功耗的32 位RISC 处理器,最适合用于对价位和功耗要求较高的消费类应用.
ARM10 系列微处理器的主要应用领域为:工业控制,Internet 设备,调制解调器设备,移动电话等多种多媒体和嵌入式应用.
视频监控系统总体设计首先需要对系统进行总体规划,将系统划分成几个功能模块,确定各个模块的实现方法.整个视频监控
系统采用C/S 结构,从主体上分为两部分:服务器端和客户端.服务器端主要包括S3C4510 平台上运行的采集,压缩,传输程序,客户端是PC 机上运行的接收,解压,回放程序.视频监控终端从摄像头捕获实时的视频信息,压缩之后经过以太网传输到视频监控服务器上.
视频图像采集和打包发送在服务器端完成,图像的接收解包和回放将在客户端完成. 采集图像数据压缩打包发送接收
系统的硬件设计系统采用模块化设计方案,主要包括以下几个模块:主控制器模块,储存电路模块, 外围接口电路模块,电源和复位电路,
S3C4510 主控器模块
主控器模块是整个系统的核心,采用的S3C4510B 处理器.Samsung 公司的S3C45 10B 是基于以太网应用系统的高性价比16/32 位RISC 微控制器,内含一个由ARM 公司设计的16/32 位ARM7TDMI RISC 处理器核,ARM7TDMI 为低功耗,高性能的16/32 核,
系统存储电路模块
主控器还需一些外围存储单元如Nand Flash,和SDRAM.Nand Flash 中包含Lin ux 的Bootloader,系统内核,文件系统,应用程序以及环境变量和系统配置文件等;S DRAM 读写速度快,系统运行时把它作为内存单元使用.
外围电路模块
外围电路主要是以下几个电路,复位电路图,电源电路图以及JTAG 电路,
三、课程设计设备及工具
硬件: UP-NETARM2410-S嵌入式实验仪、PC机、ov511摄像头;
软件: PC机操作系统REDHAT LINUX 9.0、MINICOM、AMR-LINUX开发环境。
四、设计方案
本次课程设计采用arm10开发平台。该平台采用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口的摄像头, 将采集到的视频图像数据放入输入缓冲区中。然后, 对缓冲区中的视频数据进
行压缩成帧, 并把每一帧图片在网页中显示出来, 每秒钟刷新两次, 得到一个动态的视频界面, 然后经过局域网访问该主机的网页, 得到网络视频信息。本次课程设计主要是完成得到视频图片及网页刷新的过程。
本次设计要求在局域网环境中进行。
五、开发环境配置
5.1 摄像头驱动加载
在Linux下, 设备驱动程序能够看成Linux内核与外部设备之间的接口。设备驱动程序向应用程序屏蔽了硬件实现了的细节, 使得应用程序能够像操作普通文件一样来操作外部设备, 能够使用和操作文件中相同的、标准的系统调用接口函数来完成对硬件设备的打开、关闭、读写和I/O控制操作, 而驱动程序的主要任务也就是要实现这些系统调用函数。本系统平台使用的嵌入式arm-Linux系统在内核主要功能上与Linux操作系统没本质区别。
Video4Linux(简V4L)是Linux中关于视频设备的内核驱动, 它为针对视频设备的应用程序编程提供一系列接口函数, 这些视频设备包括现今市场上流行的TV卡、视频捕捉卡和USB摄像头等。
ov511的驱动, 2.4的内核中就有, 因此我们只需重新编译内核, 将下边的选项都选上, 然后重新烧写内核就能够了。也就是直接静态加载。
( 1) 在arm linux的kernel目录下make menuconfig。
( 2) 首先(*)选择Multimedia device->下的Video for linux。加载
video4linux模块, 为视频采集设备提供编程接口;
( 3) 然后在usb support->目录下(*)选择support for usb和usb camera ov511 support。这使得在内核中加入了对采用OV511接口芯片的USB数字摄像头的驱动支持。
( 4) 保存配置退出。
( 5) make dep; make zImage就生成了带有ov511 驱动的内核。
接下来就经过uboot将内核烧到flash里去。这时你将摄像头插上, 系统就会提示发现摄像头-ov511+, 这说明驱动正常。:-), 驱动加载就成功了。
5.2 安装jpeg库
在地址ftp:///graphics/jpeg/jpegsrc.v6b.tar.gz中下载jpeg库的压缩包。
# tar -zxvf jpegsrc.v6b.tar.gz //解压库文件
# cd jpeg-6b
# ./configure --prefix=/usr/local/jpeg6--enable-shared //生成MAKEFILE文件
# make //编译安装文件
#mkdir /usr/local/jpeg6
#mkdir /usr/local/jpeg6/include
#mkdir /usr/local/jpeg
#mkdir /usr/local/jpeg/lib
#mkdir /usr/local/jpeg/bin