文档库 最新最全的文档下载
当前位置:文档库 › 基于嵌入式系统的图像采集系统

基于嵌入式系统的图像采集系统

基于嵌入式系统的图像采集系统
基于嵌入式系统的图像采集系统

题目:基于嵌入式系统的图像采集系统

一、主要内容和基本要求

图像采集系统作为一种比较通用的图像采集装置,在各个行业有着广泛应用,本题目设计以嵌入式系统为核心的图像采集系统,具有一定的通用性.

基本要求:

1.设计系统的总体方案.

2.设计图像传感器与嵌入式系统的接口.

3.设计图像采集和存储的软件.

4.部分实验及调试.

5.撰写毕业设计论文,答辩.

二、主要参考资料

1.方彦军. 嵌入式系统原理与设计,国防工业出版社 2011.7

2.赵燕. 传感器原理及应用,北京大学出版社, 2011.7

3.伊拉希 (美)(ElahiA.). 网络通信技术,科学出版社,2007.12

4. 任哲. 嵌入式实时操作系统uC/OS-II原理及应用(第2版),北京航空航天大学出版社.2009.10

5. 张绮文. 解书刚.ARM嵌入式常用模块与综合系统设计实例精讲(第2版), 电子工业出版社.2008.10

6. 刘文耀. 数字图像:采集与处理, 电子工业出版社, 200

7.8

三、进度要求

17周-18周:根据本课题的具体设计任务,熟悉课题,收集相关资料,进行调研和分析.

19周-20周:确定总体方案.撰写并完善开题报告,进行开题答辩.

01周-04周:学习相关知识,设计系统的总体方案.嵌入式图像采集系统的硬件设计.

设计图像传感器与嵌入式系统的接口.

05周-08周:嵌入式图像采集系统的软件设计.设计图像采集和存储的软件.

09周-10周:实验及调试.

11周-13周:总结毕业设计阶段的工作,撰写毕设论文,毕业设计答辩.

指导教师:(签字)

专业负责人/系主任:(签字)

摘要

Linux是个开源的操作系统,由于其源代码开源、内核功能强大、安全性高、支持的硬件平台多等特点,linux在嵌入式系统和服务器上中得到了极其广泛的应用,Linux也是当前最热门的嵌入式操作系统,嵌入式市场占有率最高.近几年,随着android的兴起,商用linux的市场越来越大,很多大公司在linux内核基础上开发新的操作系统,并把linux用到更广泛的领域.

将Linux内核应用到一个特定的嵌入式图像采集系统首要的工作就是Linux系统移植和驱动开发.这部分工作完成后,就为上层应用程序的开发屏蔽了硬件平台的复杂性与多样性,极大提高了产品开发的效率.

本毕业设计选用FL2440平台,以完成一个嵌入式图像采集系统为目标,该平台使用三星S3C2440A片上系统为底板,选用Linux2.6.12版本内核,涉及的工作主要是linux USB驱动移植,数据采集程序,用于发送视频的通信服务器端和数据接收的客户端编写.

毕业设计论文的主要内容为:

1、研究linux内核的usb驱动模型,给出嵌入式linux开发环境的搭建方法和编写linux驱动代码的方法,并移植开源的gspca驱动到内核中.

2、研究linux服务器端数据采集程序接口(v4L)和tcp/ip协议接口,编写上层的数据采集程序和基于tcp/ip的图像传输程序(服务器端).

3、在Ubuntu Linux PC上编写客户端,利用SDL显示图像.

关键词:ARM9 Linux 嵌入式视频监控USB驱动V4L

Abstract

Linux is an open source operating system, and with the character of open source code, powerful kernel, safe, supporting more hardware platforms, Linux get a very wide range of applications in embedded systems and server.Linux is currently the most popular embedded operating systems,and has the highest market share. In recent years, with the android rising, commercial linux market is growing, Many large companies to develop a new operating system on the basis of the linux kernel and try to use it in wider areas.

Linux system porting and driver development is the primary work to apply Linux kernel to a particular embedded image acquisition system. When this part of the work is completed,the kernel will shield the complexity and diversity of the hardware platform for the upper layer application development, greatly increase the efficiency of product development.

This graduation design use FL2440 platform, in order to complete the embedded video monitoring system as the goal, the platform using the Samsung S3C2440A chip selecting Linux2.6.12 version of the kernel, the work involved in the linux USB drive transplant, the data acquisition program used to send the video communication server side and client data receiving programming.

The main content of the graduate design thesis as follows:

1. Study linux kernel usb driver model, given the structures of embedded Linux development environment and the preparation of the linux driver code.

2.Study linux server-side data collection program interface (v4L,) and tcp / ip protocol interface, write the top of the data collection procedures and tcp / ip-based image transmission program (server side).

3.Writing the client on Ubuntu Linux PC with SDL library to display images.

Key words: ARM9 Linux Embedded Video Monitor USB Driver

目录

摘要 (Ⅲ)

Abstract (Ⅳ)

引言 (1)

1 概述 (2)

1.1 课题任务与目的 (2)

1.1.1课题任务 (2)

1.1.2课题目的 (2)

2 总体方案设计 (3)

2.1系统的总体方案设计 (3)

2.2硬件设计 (3)

2.3软件设计 (4)

3嵌入式Arm-Linux交叉开发环境的配置 (7)

3.1 交叉开发环境概述 (7)

3.2 GNU工具链 (7)

3.2.1 交叉编译工具链 (7)

3.2.2 交叉编译相关工具 (7)

3.2.3 交叉编译的构建 (8)

3.3 系统硬件平台配置 (9)

3.3.1 ARM9处理器介绍 (9)

3.3.2 USB摄像头原理 (11)

4 Linux USB驱动程序 (14)

4.1 Linux驱动程序 (14)

4.1.1设备驱动的简介 (14)

4.1.2设备驱动程序结构 (15)

4.1.3 linux设备模型 (18)

4.2 Linux USB驱动 (22)

4.2.1 usb协议 (22)

4.2.2 内核中的USB框架 (24)

4.2.3 usb驱动程序设计 (26)

4.3 内核、文件系统及驱动移植 (28)

4.3.1 USB摄像头设备驱动移植 (28)

4.3.2 Linux 文件系统移植 (30)

5 嵌入式图像采集系统的服务器端 (31)

5.1 Linux V4L视频采集 (31)

5.1.1 Linux V4L视频采集编程接口分析 (31)

5.1.2 服务器端视频采集程序 (33)

5.2 Linux网络编程 (38)

5.2.1 linux套接字编程API (38)

5.2.2 linux多线程API和线程间的通信方式 (44)

5.3 服务器端程序 (46)

6 图像采集系统的客户端程序 (48)

6.1 SDL库 (48)

6.2 客户端程序 (50)

结论 (53)

致谢 (54)

参考文献 (55)

引言

1、研究背景与意义

近年来,随着通信、计算机技术的飞速发展,尤其是移动互联网的发展和消费电子产品尤其是智能手机、pad上网本等设备的大众化,电子产品的微型化和专业化成为潮流,嵌入式产品日渐成为IT产业的中流砥柱.Linux从1991年产生到现在,二十多年时间已经发展成为功能极其强大的操作系统;可运行在X86、Alpha、Sparc、MIPS、PPC、Motorola、NEC、ARM等各类硬件平台,并且开放所有源代码,可以按需定制,可与传统的windows竞争.

目前,Linux应用相当广泛,如信息家电,移动计算设备,网络设备,工控,仿真,医疗仪器等智能信息和通信产品.[1]因为嵌入式市场远大于pc市场,Linux在嵌入式市场的大作为也吸引了许多大公司、科研单位和高校进行研究.嵌入式Linux开发的主要部分是驱动开发,即对新的硬件芯片进行内核的支持,是当前的嵌入式的热门.

图像采集系统作为视频监测的一个部分,在安全防范领域有着广泛的应用,也是嵌入式Linux的一个应用方向.视频监测系统其直观、方便、信息内容丰富而被广泛应用于许多重要场合,成为监控的主要手段.监控系统作为现代企业不可或缺的重要组成部分,已广泛应用于交通、医院、银行、家居和教育等诸多领域,可以有效地避免安全隐患,提高工作效率.[2]

2 、本毕业设计论文的主要工作

论文主要解决的问题是在飞凌公司的FL2440开发平台上,通过移植linux2.6.12内核和usb网络摄像头的驱动,并编写通信的服务器端程序和客户端程序,从而实现图像的采集,编码,传输和保存,最终初步实现一个视频监控系统.

本毕业设计的主要工作分为5部分,分别是对linux编程环境的熟悉,对linux 下usb驱动进行移植,对linux内核的进行裁剪和配置,对服务器端的采集和发送程序的编写,linux客户端pc的程序编写.

Linux的入门是一项艰辛的工作,由于linux的开源特性,linux社区中上有大量的参考资料,对于本毕业设计的完成有很大的帮助,本毕业设计也是站在巨人的肩膀上,对嵌入式linux系统的图像采集系统做一个初步的探索.

实现嵌入式图像采集系统需要作很多的硬件和软件工作,通过本毕业设计,本人参考阅读了大量的linux源代码和USB的规范,对usB总线协议有了一定的理解,会熟练使用嵌入式交叉开发环境,对linux c语言编程开发,多线程编程和跨平台的图形开发框架qt都有深入的理解和掌握.

1 概述

1.1 课题任务与目的

1.1.1课题任务

图像采集系统作为一种比较通用的图像采集装置,在各个行业有着广泛应用,本题目设计以嵌入式系统为核心的图像采集系统,具有一定的通用性.

基本要求:

1. 设计系统的总体方案.

2. 设计图像传感器与嵌入式系统的接口.

3. 设计图像采集和存储的软件.

4. 部分实验及调试.

5. 撰写毕业设计论文,答辩.

1.1.2课题目的

在当前的数字信息技术和网络技术高速发展的后pc时代,嵌入式系统已经广泛的渗透到科学研究、工程设计、军事技术以及人们生活的各个方面之中.

嵌入式系统的定义是指以应用为核心,以计算机技术为基础,软硬件可剪裁,对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统.它一般由嵌入式操作系统、外围硬件设备、嵌入式微处理器以及应用程序等部分组成,用于实现特定的功能.[3]

嵌入式最大的特色是与人们的生活密切相关,基于嵌入式技术的电子产品已经普及到大众生活各个角落,像MP3,手机,上网本等娱乐设备,智能家电、车载GIS 导航仪.嵌入式设备在总数量上已经远超过个人PC.

视频监测是安全防范系统的重要组成部分,是一种用于保护个人隐私,以及公共安全等其他用途的技术.近年来,随着网络通信以及图像处理技术的飞速发展,视频监测技术也有了长足的进步.Linux由于其内核具有强大的网络通信功能,是嵌入式监控系统的一个优选.对于本毕设的研究,结合了arm9微处理器、网络、图像处理和传输技术于一体的嵌入式网络视频图像监测系统的研究,意义非常明显.本人通过本毕业设计初步掌握嵌入式系统设计的全部流程,也掌握了监控系统的设计思路和解决方案.本毕业设计主要是针对病人监测而提出的初步解决方案.

2 总体方案设计

2.1系统的总体方案设计

整个系统由硬件和软件两部分组成.

硬件部分由主控制板处理器、usb摄像头图像采集模块、网卡传输模块和视频监控PC等组成.软件部分由linux 2.6.12标准内核、gspca usb摄像头、有线网卡驱动以及图像的v4l采集程序、服务器端和客户端程序等构成.

系统组成结构如图2-1所示.首先,通过usb驱动打开摄像头,然后摄像头中内置的DSP芯片产生JPEG流,主板上通过usb接口接收jpeg流,对接收到的数据进行处理及存储,当客户端启动连接时,主板中的linux套接字程序通过有线网卡将图像发送出去,最后客户端的pc对图像进行显示.

图2-1 总系统构成

2.2硬件设计

将飞凌公司的FL2440开发板作为主板,使用USB摄像头进行图像的采集,作为采集模块,并通过USB传输到主板.传输模块使用有线网卡,采用基于IEEE 802.3x 以太局域网标准,对数据进行发送和接收.RS232串口把宿主机和开发板连接起来,主要用作调试和通信使用.整个硬件设计如图2所示.

图2-2 系统硬件图

⑴主控制板

主控制板芯片底板为S3C2440A,它是功能强大的SOC;内置的ARM920T内核的32位RISC微处理器S3C2440,主频最高可达400MHz,可以完成JPEG图像压缩以及传输的基本要求.FL2440对S3C2440A进行了扩充,其外设资源包括256MB NAND Flash、64MB SDRAM,串口和USB等接口电路.

⑵数字摄像头

采用中星微的ZC301PH USB摄像头,该摄像头通过内部A/D转换和DSP芯片,输出JPEG图像流,图像分辨率最高能达到640×480,最小为160X 120.

2.3软件设计

程序开发环境是在ubuntu Linux系统下搭建的,所以首先需要在pc上搭建好嵌入式Linux的环境,然后才可以调试、编译和运行应用程序.

⑴嵌入式Linux环境的建立

本文选用的是FL2440开发板,飞凌公司的开发板自带了建立嵌入式Linux环境所需要的开发包,依次将boot-loader,kernel,yaffs文件系统下载到开发板上对开发板.

⑶Usb摄像头驱动和网卡驱动的移植

将开发板自带的有线网卡驱动源代码以及在网上将万能usb摄像头驱动程序源代码gspca webcam drivers下载下来,gspca webcam drivers 是linux下摄像头支持的最广泛的一个驱动, 这是由一个法国医生(http://mxhaard.free.fr/)所设计编写的开源驱

动,针对FL2440开发板修改后,把它们放在相应的内核目录下,修改相应的Kconfig,Makefile和编译器,内核选项等修改后,通过make menuconfig命令进入内核配置界面,选择模块的方式,重新编译内核,最终得到它们相应的驱动(.ko文件).亦可用驱动补丁直接将gspca驱动加进内核中,此方法较简单.

⑷基于V4L的视频采集程序

视频采集是整个视频采集模块的核心.Video4Linux(简称V4L)是Linux专门针对视频设备提供的应用程序接口,是Linux对视频设备的内核级驱动.通过它可以执行打开、读写及关闭等操作.视频采集程序的流程如图2-3所示.

图2-3 视频采集流程图

⑷网络传输程序

本文选用的是基于802.3x的以太局域网,可支持高达54Mbps的速率,而FL2440选用的以太网卡,可支持高达100Mbps的数据流.采用套接字编程,初步利用利用TCP /IP协议基于线程对数据进行无线传输.整体程序分为服务器端和客户端.通信流程如图2-4所示.

图2-4 网络传输流程图

在服务端,利用pthread_create()创建server_th线程,使用socket()创建流式套接字,用bind()函数绑定端地址与和套接字,用listen()将刚创建的套接字转化到监听模式下,提醒内核应接受来自客户端的连接请求.而此时,服务器的状态从close转换到了listen监听状态.

在客户端PC,创建socket(),使用connect()函数连接服务器端.当TCP的三次握手完成后,服务器端采集程序将图像数据从图像缓冲区映射到网络传输缓冲区,最后将图像数据发送给客户端程序.客户端程序通过接收图像,把数据存放在数据缓冲区中,对其处理后,显示在监控PC上.

3嵌入式Arm-Linux交叉开发环境的配置

3.1 交叉开发环境概述

嵌入式系统的开发环境和通用计算机是大不相同的,从硬件资源上说它有很大的局限性,比如存储空间小,处理器频率低,没有键盘和鼠标等设备,这限制了已有的开发工具的在其上的使用.除此之外,硬件资源的局限性会给嵌入式软件带来一定的约束,比如内存的使用.经过的嵌入式开发人员的长期探索,提出了一中方便和有效的开发模式,即宿主机--目标板交叉开发环境模式.

宿主机--目标板交叉开发环境模式主要有两部分组成:一是宿主机,就是平时使用的桌面计算机.二是目标板,指的是嵌入式开发板.通过交叉开发环境的方式,在宿主机上利用已有的成熟的开发工具,专门针对目标板定制一套系统,包括引导程序,内核,文件系统,然后下载目标板上测试执行,最后利用宿主机上的调试工具对目标板上运行的程序进行远程调试.

Linux系统作为一款非常优秀的开源操作系统,使用了大量的GNU软件,包括shell、glibc、gcc、gdb等,还有强大的程序,比如vim和emacs.

通常,宿主机和目标板的连接方式有四种,分别是串口、以太网接口、usb接口和JATG接口.在本开发板中,使用串口和usb接口连接的方式来进行调试和测试工作.

3.2 GNU工具链

3.2.1 交叉编译工具链

交叉编译工具链是一个由编译器、链接器和解释器组成的集成开发环境.和本地编译类似,交叉编译的过程也是由编译、链接等阶段组成,源程序通过交叉编译器编译生成目标模块,并由交叉链接器最后链接成可在目标平台上执行得代码.

交叉编译工具链主要包括:

⑴标准库

⑵编译器

⑶链接器

⑷汇编器

⑸调试器

3.2.2 交叉编译相关工具

⑴glibc库

glibc 是gnu发布的libc库,也即c运行库.glibc是linux系统中最底层的api(应用程序开发接口),几乎其它任何的运行库都会依赖于glibc.

⑵gcc编译器

Gcc是一个跨平台的编译器,它是GNU Compiler Collection的缩写,目前被许多unix/linux系统作为默认的编译器.Gcc最初被命名为GNU C Compiler,后来,随着支持的编译语言越来越多,编程更加强大的GNU Compiler Collection.目前,gcc已经被移植到多种处理器架构上,并且在商业、专利和开源软件商广泛使用.

Gcc编译器编译的过程一般分为四个阶段,分别为预处理、编译、汇编和链接.在linux shell中对gcc提供了强大的命令支持,在实际编程中可以灵活运用.

⑸binutils开发工具包

Binutils是一组开发工具包,包括链接器、汇编器和其他用于目标文件和档案的工具.Binutils中的不少工具和gcc相似,binutils工具包是嵌入式系统开发中必须掌握的,主要包括addr2line、ar、as、c++filt、gprof、ld、nm、objcopy、objdump、ranlib、readelf、size、strings、strip、libiberty、libbfd和libopcodes.

⑹gdb调试器

GDB全名是Gnu Debugger,是GNU C自带的调试工具,它是一款非常强大的调试器,功能上可以与visual studio 媲美,它支持多种硬件平台,目前支持的主要调试语言有c/c++、java等

⑺KDEVELOP IDE

KDevelop的是一个自由,开放源码的Linux,Solaris和FreeBSD的IDE(集成开发环境),Max OS X和其他Unix系统.它是一个功能全面,可扩展的IDE,可以使用C / C++和其他编程语言的插件,功能非常强大,可以媲美VC++ IDE.本毕业设计的软件编程都是用Kdevelop IDE进行编译调试的.

⑻linux shell简介

linux 有多个版本的shell,一般默认的是bash shell.Shell中文的意思是外壳,实际上是操作系统内核和用户进行交互的接口,shell和windows下面的dos命令行非常相似.常用的命令有ls,cd,rm,cp,mv,du,man,mount等.

3.2.3 交叉编译的构建

交叉编译的过程本身并不复杂,完成交叉编工具链的制作却是比较困难的,网上又有很多交叉编译的构建方法可以提供参考.制作交叉编译工具链之前,需要明确目标平台,本平台的嵌入式开发是在arm平台下,所以选择交叉编译工具为arm-linux-gcc,arm-linux-gdb等.

对于本平台的所开发的系统,直接选用网上配置好的交叉编译工具链,虽然不够灵活,已经满足本系统的开发需求.

3.3 系统硬件平台配置

FL2440硬件平台的主要配置介绍:

⑴S3C2440A处理器,主频400MHz,可倍频至533MHz;

⑵64M字节SDRAM,可扩展到256M ;

⑶4M NOR Flash,256M字节NAND Flash;

⑷12MHz系统外部时钟源;32.768KHz的RTC时钟源;

⑸支持3.3V或5V电压供电;

⑹两个三线串口,一个TTL串口;

⑺一个100M网口,采用DM9000AE,带联接和传输指示灯;

⑻四个USB HOST接口;一个USB Device接口;

3.3.1 ARM9处理器介绍

本论文从应用领域、设计需求和开发的难易程度等因素进行考虑,最终选用三星公司的嵌入式微处理器S3C2440.下面分别介绍ARM处理器的优点和具用ARM9内核的S3C2440的特点.

ARM处理器以其完整的体系结构发展系列,以及极小的体积、极低的功耗、极低的成本和极高的性能,并能及时根据嵌入对象的不同进行功能上的扩展的优势,从众多种类的嵌入式微处理器中脱颖而出.基于ARM技术的微处理器占据了32位RISC 微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面.

采用RISC架构的ARM微处理器一般具有如下特点:

(1)支持Thumb (16位)/ARM (32位)双指令集,能很好的兼容8位/16位器件;

(2)大量使用寄存器,指令执行速度更快;

(3)加载存储结构,数据处理的操作只针对寄存器的内容,而不直接对存储器进行操作;

(4)简单的寻址模式,所有加载和存储的地址都只由寄存器的内容和指令域决定,执行效率高;

(5)统一的和固定的指令域,简化了指令的译码;

(6)每一条数据指令都对算术逻辑单元(ALU)和移位器进行控制,以实现对ALU 和移位器的最大利用;

(7)地址自动增加和自动减少的寻址模式实现了程序循环的优化;

(8)多存储器加载和存储指令实现了最大数据吞吐量;

(9)所有指令的条件执行实现了最快速的代码执行。

目前,ARM处理器有ARM7,ARM9,ARM9E,ARM10,ARM11和SecurCore 等系列。每个系列除了具有ARM体系结构的共同特点以外,都有各自的特点和应用领域。

S3C2440是韩国三星电子基于ARM920T内核构建的高性能多媒体应用处理器,采用5级流水线,并集成指令和数据缓存以及一个32位ABMA接口,具有MMU管理单元,能够支持Symbian,Linux和WindowsCE。其在硬件上还包括16KB的指令数据Cache,16KB指令数据TCM,通过ABMA,AHB和APB组成的内部总线和外部模块相连。它不仅具有强大的硬件编解码单元,完善的外设,而且拥有高达400MHZ 的运行频率。即当ARM Core电压为1.2V的时候,可以运行到300MHz;在1.3V的情况下,可以运行到400MHZ。

ARM9处理器是为了有效地提供高性能处理能力而设计的,其实ARM公司并不是不能设计出运行在更高频率的处理器,但是要同时保证处理器具有超高性能、低功耗和小面积等特点就不是那么容易了。ARM9优秀的流水线设计是这些功能的重要保证。ARM9的多媒体处理能力和低功耗等特点使得ARM9处理器必将被广泛应用于各种无线产品和消费类电子产品中,包括PDA、数字电视、机顶盒、家用路由器、MP4播放器、商业银行终端等。而其高数据吞吐量和高性能的结合则非常适合网络处理应用。另外,在实时性和浮点处理等方面,ARM9也可以满足汽车电子应用的需求。S3C2440内部结构复杂,芯片内部集成了以下资源:1个LCD控制器(支持TFT-24bit真彩色带有触摸屏的液晶显示屏),SDRAM控制器,NAND Flash控制器,支持4通道UART口,32通道DMA,4通道具有PWM功能的计数器和1个内部时钟,全功能的SPI,IIC总线接口(支持2个I2C控制器),IIS数字音频总线接口,3个PLL,看门狗计数器,USB HOST(支持usb1.0和1.1版本),3通道MMC/SD控制器等。[4]

3.3.2 USB摄像头原理

摄像头(CAMERA)作为一种视频输入设备,在过去被广泛的运用于视频会议、远程医疗及实时监控等方面.近年来,互联网技术的发展,图像传感器技术的成熟,使得摄像头的图像质量得到明显改善,同时摄像头的价格也大幅度下降.摄像头在人们的日常生活中扮演着越来越重要的角色.

摄像头分为数字摄像头和模拟摄像头两大类.模拟摄像头可以将视频采集设备产生的模拟视频信号转换成数字信号,进而将其储存在计算机里.模拟摄像头捕捉到的视频信号必须经过特定的视频捕捉卡将模拟信号转换成数字信号,并加以压缩后才可以转换到计算机上运用.数字摄像头可以直接捕捉影像,然后通过串、并口或者USB 接口传到计算机里.现在市场上的摄像头主要以数字摄像头为主,而数字摄像头中又以接口简单的USB数字摄像头为主,以下主要介绍USB数字摄像头.

USB数字摄像头的工作原理为:景物通过镜头(LENS)生成的光学图像投射到图像传感器表面上,然后转为电信号,经过A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片DSP中加工处理,将其转化为特定的图像格式,如JPEG 格式,再通过USB接口传输到处理器中处理,实现图像显示存储或编码传输.

USB数字摄像头的结构框图如图3-1所示.

图3-1 USB数字摄像头的结构框图

在组成摄像头的所有重要部件当中,最为核心的两个部件是图像传感器芯片和DSP芯片.

图像传感器(SENSOR)是一种半导体芯片,其表面包含有几十万到几百万的光电二极管.光电二极管受到光照射时,就会产生电荷.它可以分为CCD(charge couple device)和CMOS(complementary metal oxide semiconductor)两类,它们的性能将直接决定摄像头的最大分辨率和图像的质量.CCD的优点是灵敏度高,噪音小,信噪比大,但是生产工艺复杂、成本高、功耗高.CMOS的优点是集成度高、功耗低(不到CCD的1/3)、成本低,但是噪音比较大、灵敏度较低、对光源要求高.从成本考虑,市场上大多还是采用CMOS的图像传感器,各厂商通过采用影像光源自动增益补偿技术,自动亮度、白平衡控制技术,色饱和度、对比度、边缘增强以及伽马矫正等先进的影像控制技术,完全可以达到与CCD摄像头相媲美的效果.

数字信号处理芯片DSP一般包括这三个模块:镜像信号处理器ISP(image signal processor),JPEG图像解码器(JPEG encoder),USB设备控制器(USB device controller),主要功能是通过一系列复杂的数学算法运算,对数字图像信号进行优化处理(如压缩编码),并把处理后的信号通过USB等接口传到PC等设备.DSP 芯片类型的不同将直接影响图片格式的差异.

目前主要有国内的中星微,台湾的松翰、凌越和凌阳这些企业生产摄像头的DSP芯片.虽然市场上摄像头种类繁多,但绝大部分采用了以上公司的DSP芯片.特别是国内的中星微,凭借其产品良好的兼容性、较高的性价比和中国政府的大力支持,很快占领了摄像头DSP芯片市场的大半壁江山.如今中星微电子的“星光”系列数字多媒体芯片成功占据了全球计算机图像输入芯片市场60%的市场份额,更占据国内市场的90%.这是具有我国自主知识产权的集成电路芯片第一次在一个重要应用领域占到领先地位.本论文中采用的正是中星微系列芯片的USB 摄像头zc301.

USB摄像头的图像格式主要有以下几种:JPEG格式、YUV格式和第三格式.中星微的zc301p和松翰的sn9c105采用的是JPEG格式;凌阳的spca506和spca508采用YUV格式;松翰的sn9c101和凌阳的spca56la采用第三格式.第三格式是指厂家用自己的图像压缩算法对RGB数据压缩后得到的图片格式.同一种图像格式的摄像头由于采用芯片型号的不同,捕获的图像数据流可能也会存在微小的差异.有些芯片会在JPEG图像数据前加一定长度的头部,如中星微的zco301p;有些则没有,如松翰的sn9c105.有些YUV格式的芯片采用YYUV的数据流格式,而有些则采用YUVY数据流格式.表2-1列出了一些主要芯片的图像格式.

表3-1 主流DSP芯片及其图像格式

4 Linux USB驱动程序

4.1 Linux驱动程序

4.1.1设备驱动的简介

驱动程序本质上是硬件和应用程序之间的中间层.驱动程序工作在内核空间,应用程序一般运行于用户空间(32位Linux操作系统一般把内存地址的0~3g 空间作为用户空间,3~4G空间作为内核空间).Linux下驱动程序和dos或windows 下的区别很大.设备驱动程序是作为内核与机器硬件之间的接口,而系统调用则是内核和应用程序的接口.设备驱动为应用程序屏蔽了硬件的细节,硬件设备对于应用程序来说只是一个设备文件,应用程序可以像操作普通程序一样对硬件设备进行操作.[5]设备驱动是内核的一部分,一般完成以下功能:

⑴设备的初始化和释放.

⑵把数据从内核传送到硬件和从硬件读取数据到内核.

⑶读取应用程序传送给设备文件的数据和回送应用程序的请求的数据.这

需要在用户空间、内核空间、总线以及外设之间传送数据.

⑷检测和处理设备出现的错误.[6]

Linux设备驱动的特点是可以以模块的形式加载各种设备驱动,因此允许驱动的开发人员随着内核版本的更新,在最新版本的内核上对各种新的硬件进行设备驱动的编写和开发,这对嵌入式系统非常重要,因为嵌入式设备往往具有大量独有的外设,开发人员需要把主要的精力放在设备驱动方面.

1.设备的分类

Linux支持三种硬件设备:块设备、字符设备、网络设备.字符设备是指那些无缓冲可以直接进行读写的设备,如系统的串口通信设备.块设备则只能以块为单位进行读写,一般块大小是512和1024 Byte,块设备的存取是通过buffer和cache进行并且可以随机访问,一般通过文件系统来访问块设备,只有块设备可以安装文件系统.块设备主要针对慢速设备,一般采用缓存技术,支持数据的随即读写,典型的块设备是硬盘和cd-rom等.对于用户来说,块设备和字符设备的访问接口都是一样的,都是一组基于文件的系统的调用,如read、write等,实际上它们的细节区别仅在内核和驱动程序的软件接口上.

Linux操作系统中的网络设备的实现方法不同于字符设备和块设备,它面对的上一层是网络协议层,而不是字符型和块设备所面向的文件系统层.

嵌入式系统设计与应用

嵌入式系统设计与应用第五章程序设计与分析(1) 西安交通大学电信学院 任鹏举

本章主要内容 Software Design Cycle ●嵌入式软件中的组件(状态机 、循环缓存器、队列) ●编程模型,如数据流和控制图●编译方法介绍 ●根据性能、大小和功耗来分析 和优化程序 ●如何测试程序以验证其正确性

1 嵌入式程序组件 ●状态机(State machine) 用变量来表示内部的状态,根据输入完成状态的转移交通灯控制、CPU design controller ●循环缓冲区(Circular buffer) I/O input buffer ●队列(Queue)

状态机(1) ● 反应系统(reactive system ):响应外部事件的系统。 ●外部输入是间歇到达● 适合使用状态机描述 ● 有限状态机是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。 ●Moore 机:● Mealy 机:输出只由当前状态确定 输出依赖于当前状态和输入

状态机(2) 例子:一个简单的座位安全带控制器 idle buzzer seated belted 未入座/-入座/定时器启动 未系安全带且定时器未超时/- 未系安全带/定时器启动系好安全带/-系好安全带/蜂鸣器关闭 定时器超时/蜂鸣器启动 未入座/-未入座/蜂鸣器关闭输入/输出-= 无动作

状态机(3) #define IDLE 0#define SEATED 1#define BELTED 2#define BUZZER 3switch (state) { case IDLE: if (seat) { state = SEATED; timer_on = TRUE; } break; case SEATED: if (belt) state = BELTED; else if (timer) state = BUZZER; break; case BELTED: if (!seat) state = IDLE; else if (!belt) state = SEATED; break; case BUZZER: if (belt) state = BELTED; else if (!seat) state = IDLE; break; } Inputs :seat, belt, timer Outputs: buzzer

嵌入式系统模拟试题及答案

学习中心/函授站_ 姓名学号 西安电子科技大学网络与继续教育学 院 2014学年下学期 《嵌入式系统》期末考试试题 (综合大作业) 题号一二三四五总分 题分2010302020 得分 考试说明: 1、大作业于2014年12月25日下发,2015年1月10日交回; 2、考试必须独立完成,如发现抄袭、雷同均按零分计; 3、答案须手写完成,要求字迹工整、卷面干净。 一、问题简述(每小题4分,共20分) 1、简述嵌入式系统的定义和组成结构。 答:嵌入式系统是以应用为中心,以计算机技术为基础,并软硬件可剪裁、功能、 ,可靠性、体积、重量、成本、功耗、成本、安装方式等方面符合要求的专用计算机系统。 嵌入式系统一般由嵌入式微处理器、存储与I/O部分、外设与执行部分、嵌入式软件等四个部分组成。 2、简单说明ARM微处理器的特点。 答:(1) 体积小、低功耗、低成本、高性能。 (2) 支持Thumb(16位)/ARM(32位)双指令集,能很好地兼 容8位/16位器件。

(3) 大量使用寄存器,指令执行速度更快。 (4) 大多数数据操作都在寄存器中完成,通过Load/Store结 构在内存和寄存器之间批量传递数据。 (5) 寻址方式灵活简单,执行效率高。 (6) 指令长度固定。 3、简述嵌入式系统产品的设计和开发过程。 答:①在嵌入式系统的开发过程中,一般采用的方法是首先在通用PC机上的集成开发环境中编程;②然后通过交叉编译和链接,将程序转换成目标平台(嵌入式系统)可以运行的二进制代码;③接着通过嵌入式调试系统调试正确;④最后将程序下载到目标平台上运行。 要强调,选择合适的开发工具和调试工具,对整个嵌入式系统的开发都非常重要。 4、简述嵌入式系统设计中要考虑的因素。 答:在嵌入式系统的开发过程中,要考虑到实时性、可靠性、稳 定性、可维护性、可升级、可配置、易于操作、接口规范、抗干 扰、物理尺寸、重量、功耗、成本、开发周期等多种因素。 5、什么是BootLoader,了解其在嵌入式系统中作用。 答:就是启动载入或引导加载又叫自举装载。由于系统加电后需 要首先运行BootLoader这段程序,因此它需要放在系统加电后 最先取指令的地址上。嵌入式处理器的生产厂商都为其处理器预 先安排了一个在系统加电或复位后最先取指令的地址。 二、名词解释(每小题2分,共10分) 1、DSP(Digital Signal Processor),数字信号处理器,一种特别用于快速处理数字信号的微处理器。DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。 2、RTOS Real Time Operating System. 译为实时操作系统。实时系统是指一个能够在指定的或者确定的时间内,实现系统功能和对外部或内部、同步或异步事件作出响应的系统。 3、BSP设计板级支持包(BSP)的目的主要是为驱动程序提供访问硬件设备寄存器的函数包,从而实现对操作系统的支持。类似于PC机上的BIOS,是一个承上启下的软件层次。由嵌入OS和用户开发相结合取得。BSP一般是在嵌入式系统上固化存放。 4、总线竞争就是在同一总线上,同一时刻,有两个以上器件要通

基于嵌入式Linux的视频图像采集与传输

基于嵌入式Linux的视频图像采集与传输 摘要:视频图像采集及处理技术在远程视频监控和可视电话中有着广泛的应用前景,驱动视频采集设备和获取视频数据并进行相应的处理,是实现这些应用的基础。针对这些应用,构建了一个基于嵌入式Linux和PXA270微处理器的视频采集与传输系统,利用Video4Linux实现USB摄像头视频数据采集,采集的视频数据经JPEG压缩后,在PXA270为核心的系统控制下通过以太网进行传输,并通过重新编译移植Webcam_server应用程序实现了实时视频采集。实验结果表明,该系统动态刷新良好,具有一定的实用性。关键词: PXA270;嵌入式Linux;USB摄像头;图像采集与传输Abstract:Video image acquisition and processing technology had a broad application prospect in the long distance supervisory control with video and video telephone. Driving video acquisition equipments and gaining video data to process accordingly are the basis of realization the applications. Aiming at the applications, designed a video acquisition and transmission system based on PXA270 with embedded Linux. The system used USB camera combined with Video4Linux to implement video data acquisition, then were encoded in JPEG, and sent by Ethernet under the control of the PXA270. In the

嵌入式系统知识点

嵌入式系统知识点 1.什么是嵌入式系统。 2.嵌入式系统三要素 3.嵌入式处理器的类型 4.大端存储格式的规则是______;小端存储格式的规则是。 5.ARM是______的处理器,有_____个工作状态,工作在_____状态时,执行的是32位指令集,工作在_____状态时,执行的是16位指令集。_____指令集是_____指令集的子集。 6.ARM有_____种工作模式。它们的名称和缩写分别是:()。其中特权模式是指:(),异常模式又是指:()。当前工作模式状态及设置是由_____寄存器中的M[4:0]五位决定的,每种模式对应的M[4:0]值是:()。 7.ARM的异常中断有_____种,它们的名称是:(),对应的中断入口地址是:(),默认的优先级是:()。 8.ARM核内共有_____寄存器,分_____、_____两类。按工作模式不同可分_____个寄存器组。在ARM状态时的寄存器有:所有模式下均能访问的寄存器是();除()模式外均能访问寄存器R0-R12,()模式只使用自己的专用寄存器R8-R12;在()模式中,每个模式均有自己的R13、R14、SPSR 寄存器。其中R13是作_____寄存器共_____个、R14是作_____寄存器共_____个、R15是作_____寄存器共_____个。在Thumb状态下的寄存器:通用寄存器是_____,有_____组;SP堆栈指针寄存器共有_____个,LR_____寄存器共有_____个;PC_____寄存器有_____个,CPSR_____寄存器有_____个,SPSR_____寄存器有_____个。 9.ARM7系列是_____级流水线,即_____、_____、_____。程序计数器R15(PC)总是指向取指的指令,因此PC总是指向第_____条指令。 对于ARM指令有: PC值=当前程序执行位置+_____; 对于Thumb指令有: PC值=当前程序执行位置+_____。 10.ARM的寻址方式有七种,它们是:()。 11.LDR指令 LDR R4, STSRT ;将存储地址为START的字数据读入R4

(完整word版)嵌入式系统设计与应用

嵌入式系统设计与应用 本文由kenneth67贡献 ppt文档可能在W AP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 课程名称:课程名称:嵌入式系统设计与应用 总学时:其中讲课36学时,上机实践环节12 36学时12学时总学时:其中讲课36学时,上机实践环节12学时教材:嵌入式系统设计教程》教材:《嵌入式系统设计教程》电子工业出版社马洪连参考书:参考书:1、《嵌入式系统开发与应用》北航出版社、田泽编著. 嵌入式系统开发与应用》北航出版社、田泽编著. 2、《ARM体系结构与编程》清华大学出版社杜春雷编著ARM体系结构与编程体系结构与编程》嵌入式系统设计与实例开发—ARM ARM与C/OS3、《嵌入式系统设计与实例开发ARM与μC/OS-Ⅱ》清华大学出版社王田苗、魏洪兴编著清华大学出版社王田苗、ARM嵌入式微处理器体系结构嵌入式微处理器体系结构》4、《ARM嵌入式微处理器体系结构》北航出版社、马忠梅等著. 北航出版社、马忠梅等著. 张石.ARM嵌入式系统教程嵌入式系统教程》5、张石.《ARM嵌入式系统教程》.机械工业出版2008年社.2008年9月 1 课程内容 绪论:绪论: 1)学习嵌入式系统的意义2)高校人才嵌入式培养情况嵌入式系统设计(实验课)3)嵌入式系统设计(实验课)内容安排 第1章嵌入式系统概况 1.1 嵌入式系统的定义1.2 嵌入式系统的应用领域及发展趋势1.3 嵌入式系统组成简介 第2章嵌入式系统的基本知识 2.1 2.2 2.3 嵌入式系统的硬件基础嵌入式系统的软件基础ARM微处理器的指令系统和程序设计ARM微处理器的指令系统和程序设计 2 第3章 3.1 3.2 3.3 基于ARM架构的嵌入式微处理器基于ARM架构的嵌入式微处理器ARM 概述嵌入式微处理器的组成常用的三种ARM ARM微处理器介绍常用的三种ARM 微处理器介绍 第4章 4.1 4.2 4.3 4.4 4.5 4.6 嵌入式系统设计 概述嵌入式系统的硬件设计嵌入式系统接口设计嵌入式系统人机交互设备接口嵌入式系统的总线接口和网络接口设计嵌入式系统中常用的无线通信技术 3 第5章嵌入式系统开发环境与相关开发技术 5.1 5.2 5.3 5.4 5.5 6.1 6.2 6.3 6.4 概述嵌入式系统的开发工具嵌入式系统调试技术嵌入式系统开发经验嵌入式系统的Bootloader Bootloader技术嵌入式系统的Bootloader技术μC/OS-II操作系统概述C/OS-II操作系统概述ADS开发环境ARM ADS开发环境C/OS-II操作系统在ARM系统中的移植操作系统在ARM μC/OS-II操作系统在ARM系统

嵌入式系统试题闭卷及答案

《嵌入式系统》试题 闭卷答题时间:30分钟 一、填空题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。 1、一般而言,嵌入式系统的构架可以分为4个部分:分别是()、存储器、输入/输出和软件,一般软件亦分为操作系统相关和()两个主要部分。 2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为嵌入式微控制器,(),()以及片上系统。 3、操作系统是联接硬件与应用程序的系统程序,其基本功能有()、进程间通信、()、I/O资源管理。 4、从嵌入式操作系统特点可以将嵌入式操作系统分为()和分时操作系统,其中实时系统亦可分为()和软实时系统。 5、内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的(),内核的基本服务是()。 6、嵌入式开发一般采用()方式,其中宿主机一般是指()。 7、哈佛体系结构数据空间和地址空间(),ARM7TDMI采用()的内核架构,ARM920T采用()的内核架构。 采用()级流水线结构,ARM920TDMI采用()级流水线。 9.按操作系统的分类可知,Dos操作系统属于顺序执行操作系统,Unix 操作系统属于()操作系统,VxWorks属于()操作系统。 10、ARM7TDMI中,T表示支持16位Thumb指令集,D表示(),M表示内嵌乘法器Multiplier,I表示(),支持在线断点和调试。 二、选择题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。 1、要使CPU能够正常工作,下列哪个条件不是处理器必须满足的。() (A)处理器的编译器能够产生可重入代码(B)在程序中可以找开或者关闭中断(C)处理器支持中断,并且能产生定时中断(D)有大量的存储空间 2、下面哪种操作系统最方便移植到嵌入式设备中。() (A)DOS (B)unix (C)Windowsxp (D)linux 3、下面哪个选项不是SUB设备的特点。() (A)串行通信方式(B)不可热拨插 (C)分HOST、DEVICE和HUB (D)通信速率比RS232快 4、下面哪种嵌入式操作系统很少用于手机终端设备上。() (A)Symbian (B)WinCE (C)uc/os (D)linux 5、以下哪项关于SRAM和DRAM的区别是不对。() (A)SRAM比DRAM慢(B)SRAM比DRAM耗电多 (C)DRAM存储密度比SRAM高得多(D)DRM需要周期性刷新 6、uc/os操作系统不包含以下哪几种状态。() (A)运行(B)挂起 (C)退出(D)休眠 7、0x07&0x11的运算结果是。() (A)0x01 (B)0x11 (C)0x17 (D)0x07 8、以下哪种方式不是uc/os操作系统中任务之间通信方式。() (A)信号量(B)消息队列 (C)邮件(D)邮箱 9、以下哪种方式不是文件系统的格式。() (A)FAT (B)DOS (C)NTFS (D)Ext 10、在将uc/os操作系统移植到ARM处理器上时,以下哪些文件不需要修改。() (A) (B) (C) (D)OSTaskInit 三、判断题:共5小题,每小题2分,满分10分。 1、所有的电子设备都属于嵌入式设备。() 2、冯诺依曼体系将被哈佛总线所取代。() 3、嵌入式linux操作系统属于免费的操作系统。() 4、移植操作系统时需要修改操作系统中与处理器直接相关的程序。() 5、的最大通信速率为12M/S。() 简答题:共2小题,每小题10分,满分20分。 1、根据嵌入式系统的特点,写出嵌入式系统的定义。 2、试分析实时操作系统的工作状态特点及相互之间的转换。

嵌入式系统原理与接口复习要点及思考题答案(计)

嵌入式系统原理与接口复习要点及思考题答案(计)

各位:根据掌握要点认真复习,后面附有作业题答案。 第1章掌握要点 1.1.1节嵌入式系统的概念 1.1.3节嵌入式系统的特点 1.3节嵌入式处理器 1.4节嵌入式系统的组成(看课件,有补充的内容) 补:1.嵌入式系统开发过程? 2.嵌入式系统调试常用的基本方法 3.交叉编译和交叉调试 4.嵌入式操作系统 第2章掌握要点 2.1节计算机体系结构分类 2.3.1节 ARM和Thumb状态 2.3.2节 RISC技术 2.3.3节流水线技术 2.4.1 ARM存储系统 2.4.2 Cache:写通、写回、读操作分配cache、写操作分配cache、工作原理、地址映像 2.4.3节 ARM存储系统 补充: (见课件) 1. ARM简介:ARM的命名方式、5种变形

2.理解片内Flash的3种编程方法。 3.理解ARM7芯片存储器存储空间分布。(8个bank,每个bank32MB)第3章掌握要点 3.1节ARM编程模式:处理器模式、处理器工作状态、寄存器组织、 异常中断 3.2节指令格式和寻址方式 3.3节指令系统:掌握和熟练应用课件所讲的指令、可编程序段 第5章掌握要点 5.1节键盘接口:行扫描法原理、掌握编写驱动程序 5.2节 LED显示器接口:理解工作原理,掌握编写驱动程序 5.5.1节 UART异步串行接口:异步通信格式、接收的4种错误类型、初始化、发送程序、接收程序 第1章作业题答案: 1.什么是嵌入式系统? ?第一种,根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。 ?第二种,嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专 用计算机系统。

嵌入式系统设计与应用复习资料.docx

嵌入式系统设计与应用复习资料 (一)?单项选择题: 1. 下面哪个系统属于嵌入式系统。 ( 八、“天河一号”计算机系统 C 、联想S10±网木 D ) B 、联想T400笔记本计算机 D 、联想OPhone 手机 2. 软硕件协同设计方法与传统设计方法的最大不同Z 处在于(B )。 A 、软硬件分开描述 C 、协同测试 3. 卜?面关于哈佛结构描述正确的是(A A 、程序存储空间与数据存储空间分离 C 、程序存储空间与数据存储空间合并 4. 下面哪一种工作模式不属于ARM 特权模式 A 、用户模式 B 、系统模式 C 、 5. ARM7TDM1的工作状态包括(D )。 A 、测试状态和运行状态 C 、就绪状态和运行状态 6. USB 接口移动硬盘最合适的传输类型为( A 、控制传输 B 、批量传输 C 、 7. 下而哪一种功能单元不属于I/O 接口电路。(D ) A 、USB 控制器 B 、UART 控制器 C 、以太网控制器 &下面哪个操作系统是恢入式操作系统。(B ) As Red-hat Linux B 、 PCLinux C 、 Ubuntu Linux D 、 SUSE Linux 9. 使用Host-Target 联合开发嵌入式应用,(B )不是必须的。 A 、宿主机 B 、银河麒麟操作系统 C 、目标机 D 、交叉编译器 10. 下面哪个系统不属于嵌入式系统(D )。 A 、MP3播放器 B 、GPS 接收机 C 、“银河玉衡”核心路由器 D 、“犬河一号”计算机系统 11. 在嵌入式系统设计中,嵌入式处理器选型是在进行(C )吋完成。 A 、需求分析 B 、系统集成 C 、体系结构设计 D 、软便件设计 12. 下面哪一类嵌入式处理器最适合于用于工业控制(B )。 A 、嵌入式微处理器 B 、微控制器 C 、DSP D 、以上都不合适 13. 关于ARM 了程序和Thumb 了程序互相调用描述正确的是(B )。 A 、 系统初始化Z 后,ARM 处理器只能工作在一种状态,不存在互相调用。 B 、 只要遵循一定调用的规则,Thumb 子程序和ARM 子程序就可以互相调用。 C 、 只要遵循一定调用的规则,仅能Thumb 子程序调用ARM 子程序。 D 、 只耍遵循一定调用的规则,仅能ARM 子程序调用Thumb 子程序。 14. 关于ARM 处理器的异常的描述不正确的是(C )。 A 、复位属于异常 B 、除数为零会引起异常 B 、软硬件统一描述 D 、协同验证 B 、存储空间与10空间分离 D 、存储空间与10空间合并 (A )0 软中断模式 D 、FTQ 模式 B 、挂起状态和就绪状态 D 、ARM 状态和Thumb 状态 B )0 中断传输 D 、等时传输 D 、LED

江苏科技大学通信专业嵌入式系统设计及应用_复习大纲

嵌入式系统设计复习 题型: 1、填空,15分左右 2、选择,30分左右 3、简答题40分左右 4、综述15分左右 第一章嵌入式系统概述 提纲: 1、掌握嵌入式系统的定义 2、了解嵌入式系统的一般组成 嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序 (嵌入式系统一般由嵌入式计算机和执行部件组成。其中嵌入式计算机是整个嵌入式系统的核心,主要包括硬件层、中间层、系统软件层以及应用软件层) 知识点: 1、嵌入式系统的定义与特点 定义:是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统 特点:软件硬件可裁剪 ①专用性:嵌入式系统具有特定的功能,用于特定的任务; ②低成本:嵌入式系统极其关注成本; ③低功耗:嵌入式系统大都有功耗的要求; ④高实时性OS; ⑤嵌入式系统的运行环境广泛; ⑥嵌入式系统的软件通常要求固态化存储; ⑦嵌入式系统的软件、硬件可靠性要求更高; 2.RISC指令系统的特点 答:指令系统:RISC设计者把上要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对不常用的功能,常通过组合指令来实现。因此,在RISC机器上实现特殊功能时,效率可能较低。但可以利用流水技术和超标量技术加以改进和弥补。 存储器操作:RISC对存储器操作有限制,使控制简单化 程序:RISC汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计 中断:RISC机器在一条指令执行的适当地方可以响应中断 CPU:由于RISC CPU包含少的单元电路,因而面积小、功耗低 设计周期:RISC微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术易用性:RISC微处理器结构简单,指令规整,性能容易把握,易学易用 应用范围:由于RISC指令系统的确定与特定的应用领域有关,所以RISC机器更适合于嵌入式应用 3、嵌入式系统由硬件与软件组成,其中软件的组成 答:由实时多任务操作系统、文件系统、图形用户界面接口、网络系统及通用组件模块组成 4、嵌入式系统的运行可靠性指标

《嵌入式系统》考试试卷及答案

《嵌入式系统》课程试卷 考试时间:__120___分钟开课学院___计算机___ 任课教师____________ 姓名______________ 学号_____________班级_______________ 一.单项选择题(2 × 20): 1下面不属于Xscale微架构处理器的主要特征有:( ) A.采用了7级超级流水线、动态跳转预测和转移目标缓冲器BTB技术(Branch Target Buffer)。 B.支持多媒体处理技术、新增乘/累加器MAC、40位累加器、兼容ARM V5TE 指令和特定DSP型协处理器CP0。 C.采用了32KB的指令Cache。 D.采用了64KB的数据Cache。 2以下不属于XScale超级流水线的流水级是( ) A.寄存器文件/移位级(FR) B.写回级(XWB) C.寄存器读取级 D.和执行级二(X2) 3 目前嵌入式系统领域中使用最广泛、市场占有率最高的实时系统是:() A. Symbian B. Windows CE C. VxWorks D. QNX 4 下面那句话的描述是不正确的?( ) A.在一个基于XScale内核的嵌入式系统中,系统在上电或复位时通常都从

地址0x00000000 处开始执行 B.引导装载程序通常是在硬件上执行的第一段代码,包括固化在固件中的 引导代码(可选)和Boot Loader两大部分。 C.在嵌入式系统中,Boot Loader不依赖于硬件实现。 D.Boot Loader就是在操作系统内核运行之前运行的一段小程序。 5 通常情况下,目标机上的Boot Loader通过串口与主机之间进行文件传输,下面不属于通常使用的传输协议的是:( ) A.modem协议 B.xmodem协议 C.ymodem协议 D.zmodem协议 6 Make预置了一些内部宏,其中$@表示:() A.没有扩展名的当前目标文件 B.当前目标文件 C.当前目标文件最近更新的文件名 D.当前目标文件最近更新的文件名 7 在Default kernel command string “root=1f03 rw console=ttyS0,115200 init=/linuxrc”中,代表根文件系统(“/”) 的设备文件主号码是什么?( ) A.1f B.03 C.ttyS0 D.115200 8 用命令dd if=/dev/zero of=ramdisk_img bs=1k count=8192创建的ramdisk_img 其空间大小为多少?( ) A.8M bit

开题报告_基于嵌入式系统的图像采集系统

北京联合大学毕业设计(论文)开题报告题目:基于嵌入式系统的图像采集系统 专业:电子信息工程指导教师:高美娟 学院:信息学院学号: 2008080303107 班级: 0808030301 姓名:华永奇 一、课题任务与目的 1、课题任务 图像采集系统作为一种比较通用的图像采集装置,在各个行业有着广泛应用,本题目设计以嵌入式系统为核心的图像采集系统,具有一定的通用性。 基本要求: ⑴设计系统的总体方案。 ⑵设计图像传感器与嵌入式系统的接口。 ⑶设计图像采集和存储的软件。 ⑷部分实验及调试。 ⑸撰写毕业设计论文,答辩。 2、课题目的 嵌入式是当今最为热门的概念之一,嵌入式系统是指以应用为核心,以计算 机技术为基础,软硬件可剪裁,对功能、可靠性、成本、体积和功耗有严格要求 的专用计算机系统。其应用已经渗透到各个领域,无论是在工业控制、交通管理、 信息家电、安防,还是个人手持设备,都有着非常广泛的应用。而且,随着智能化、信息化和网络化发展,“后PC时代"已经来临,这预示着嵌入式系统技术 将会获得更为广阔的发展空间。例如,在通信领域,数字技术正在全面取代模拟 技术:在广播电视领域,美国已经开始实施模拟电视数字化,我国在2015年之前,也将会全面实现数字电视;在个人领域,各种嵌入式产品也将为个人提供移 动数据处理和网络通信等功能。而这些都离不开嵌入式技术的应用。 视频监测是安全防范系统的重要组成部分,它是一种防范能力较强的综合系统。视频监测以其直观、准确、及时和信息内容丰富而广泛应用于许多场合。近 年来,随着计算机网络以及图像处理、传输技术的飞速发展视频监测技术也有了 长足的进步。正是由于数字视频监测具有传统模拟监测无法比拟的优点,而且符 合当前信息社会中数字化、网络化和智能化的发展趋势,所以数字视频监测正在 逐步取代模拟监测,广泛应用于各行各业。

嵌入式系统原理与应用复习知识点总结

第一章 1、嵌入式系统的应用范围:军事国防、消费电子、信息家电、网络通信、工业 控制。 2、嵌入式系统定义:嵌入式系统是以应用为中心,以计算机技术为基础,软件 与硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专 用计算机系统。(嵌入式的三要素:嵌入型、专用性与计算机系统)。 3、嵌入式系统的特点:1)专用性强;2)实时约束;3)RTOS;4)高可靠性;5) 低功耗;6)专用的开发工具和开发环境;7)系统精简; 4、嵌入式系统的组成: (1)处理器:MCU、MPU、DSP、SOC; (2)外围接口及设备:存储器、通信接口、I/O 接口、输入输出设备、电源等;(3)嵌入式操作系统:windows CE、UCLinux、Vxworks、UC/OS; (4)应用软件:Bootloader 5、嵌入式系统的硬件:嵌入式微处理器(MCU、MPU、DSP、SOC),外围电路, 外部设备; 嵌入式系统的软件:无操作系统(NOSES),小型操作系统软件(SOSE)S,大型 操作系统软件(LOSES)注:ARM 处理器三大部件:ALU、控制器、寄存器。 6、嵌入式处理器特点:(1)实时多任务;(2)结构可扩展;(3)很强的存储区 保护功能;(4)低功耗; 7、DSP处理器两种工作方式:(1)经过单片机的DSP可单独构成处理器;(2) 作为协处理器,具有单片机功能和数字处理功能; 第二章 1、IP核分类:软核、固核、硬核; 2、ARM 处理器系列:(1)ARM7系列(三级流水,thumb 指令集,ARM7TDMI); (2)ARM9系列(DSP处理能力,ARM920T)(3)ARM/OE(增强DSP)(4)SecurCone 系列(提供解密安全方案);(5)StrongARM系列(Zntle 产权);(6)XScale系列(Intel 产权);(7)Cortex 系列(A:性能密集型;R:要求实时性;M:要求低 成本) 3、ARM 系列的变量后缀:(1)T:thumb 指令集;(2)D:JTAG调试器;(3)快

嵌入式系统试卷及答案

嵌入式系统试卷及答案

2014年上学期11级计算机专业嵌入式系统期末试卷 专业班级学号姓名___ _____ 考试时间120分钟考试方式闭卷考试成绩__________ _ 题号一二三四五六 得分 一、选择题(本大题共10个小题,每小题1分,共10分) 1、和PC机系统相比,下列哪点不是嵌入式系统所特有的:( C) A、系统内核小 B、专用性强 C、可执行多任务 D、系统精简 2、ADD R0,R1,#3属于( A)寻址方式。 A、立即寻址 B、多寄存器寻址 C、寄存器直接寻址 D、相对寻址 3、GET伪指令的含义是:(A) A、包含一个外部文件 B、定义程序的入口 C、定义一个宏 D、声明一个变量 4、μCOS-II操作系统不属于:(C) A、RTOS B、占先式实时操作系统 C、非占先式实时操作系统 D、嵌入式实时操作系统 5、FIQ中断的入口地址是:(A) A、0x0000001C B、0x00000008 C、0x00000018 D、0x00000014 6、ARM指令集和Thumb指令集分别是(D)位的。 A、8位,16位 B、16位,32位 C、16位,16位 D、32位,16位 7、BL和BX的指令的区别是( D ) A、BL是跳转并切换状态;BX带返回的跳转并切换状态。 B、BL是带返回的连接跳转;BX带返回的跳转并切换状态。 C、BL是跳转并切换状态;BX是带返回的连接跳转。 D、BL是带返回的连接跳转;BX是跳转并切换状态。 8、Boot Loader 的启动过程是( A ) A.单阶段 B. 多阶段 C.单阶段和多阶段都有 D.都不是 9、以下说法不正确的是( B ) A 、任务可以有类型说明 B 、任务可以返回一个数值 C 、任务可以有形参变量 D 、任务是一个无限循环 10、若已定义的函数有返回值,则以下关于该函数调用叙述中错误的是(D) A、函数调用可以作为独立的语句存在

基于嵌入式系统的图像采集系统

题目:基于嵌入式系统的图像采集系统 一、主要内容和基本要求 图像采集系统作为一种比较通用的图像采集装置,在各个行业有着广泛应用,本题目设计以嵌入式系统为核心的图像采集系统,具有一定的通用性. 基本要求: 1.设计系统的总体方案. 2.设计图像传感器与嵌入式系统的接口. 3.设计图像采集和存储的软件. 4.部分实验及调试. 5.撰写毕业设计论文,答辩. 二、主要参考资料 1.方彦军. 嵌入式系统原理与设计,国防工业出版社 2011.7 2.赵燕. 传感器原理及应用,北京大学出版社, 2011.7 3.伊拉希 (美)(ElahiA.). 网络通信技术,科学出版社,2007.12 4. 任哲. 嵌入式实时操作系统uC/OS-II原理及应用(第2版),北京航空航天大学出版社.2009.10 5. 张绮文. 解书刚.ARM嵌入式常用模块与综合系统设计实例精讲(第2版), 电子工业出版社.2008.10 6. 刘文耀. 数字图像:采集与处理, 电子工业出版社, 200 7.8 三、进度要求 17周-18周:根据本课题的具体设计任务,熟悉课题,收集相关资料,进行调研和分析. 19周-20周:确定总体方案.撰写并完善开题报告,进行开题答辩. 01周-04周:学习相关知识,设计系统的总体方案.嵌入式图像采集系统的硬件设计. 设计图像传感器与嵌入式系统的接口.

05周-08周:嵌入式图像采集系统的软件设计.设计图像采集和存储的软件. 09周-10周:实验及调试. 11周-13周:总结毕业设计阶段的工作,撰写毕设论文,毕业设计答辩. 指导教师:(签字) 专业负责人/系主任:(签字)

嵌入式系统原理与设计知识点整理

第一章嵌入式处理器 1嵌入式系统的概念组成: 定义:以应用为主,以计算机技术为基础,软硬件可裁剪,满足系统对功能、性能、可靠性、体积和功耗有严格要求的计算机系统。 组成:硬件:处理器、存储器、I / O设备、传感器 软件:①系统软件, ②应用软件。 2.嵌入式处理器分类特点: 分类:①MPU(Micro Processor Unit)微处理器。一块芯片,没有集成外设接口。部主要由运算器,控制器,寄存器组成。 ②MCU(Micro Controller Unit)微控制器(单片机)。一块芯片集成整个计算机系统。 ③EDSP(Embled Digital Signal Processor)数字信号处理器。运算速度快,擅长于大量重复数据处理 ④SOC(System On Chip)偏上系统。一块芯片,部集成了MPU和某一应用常用的功能模块 3.嵌入式处理器与通用计算机处理器的区别: ①嵌入式处理器种类繁多,功能多样 ②嵌入式处理器能力相对较弱,功耗低 ③嵌入式系统提供灵活的地址空间寻址能力 ④嵌入式系统集成了外设接口 4.①哈佛体系结构:指令和数据分开存储————————(嵌入式存储结构) 特征:在同一机器周期指令和数据同时传输 ②·诺依曼体系结构:指令和数据共用一个存储器——(通用式存数结构) 数据存储结构(多字节): 大端方式:低地址存高位;小端方式:高地址存高位 6.ARM指令集命名:V1~V8 (ARMV表示的是指令集)

7.ARM核命名:. 命名规则:ARM{x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{S}{x}——系列(版本) {y}——当数值为“2”时,表示MMU(存管理单元) {z}——当数值为“0”时,表示缓存Cache {T}——支持16位Thumb指令集 {D}——支持片上Debug(调试) {M}——嵌硬件乘法器 {I}——嵌ICE(在线仿真器)——支持片上断点及调试点 {E}——支持DSP指令 {J}——支持Jazzle技术 {F}——支持硬件浮点 {S}——可综合版本 8. JTAG调试接口的概念及作用: ①概念:(Joint Test Action Group)联合测试行动小组→检测PCB和IC芯片标准。(P CB→印刷电路板IC→集成芯片) ②作用(1)硬件基本功能测试读写 (2)软件下载:将运行代码下载到目标机RAM中 (3)软件调试:设置断点和调试点 (4)FLASH烧写:将运行最终代码烧写到FLASH存储器中。 9.GPIO概念:(General Purpose I/O Ports)通用输入/输出接口,即处理器引脚。 10.S3C2410/S3C2440 GPIO引脚 S3C2410共有117个引脚,可分成A——H共8个组,(GPA,GPB,…GPH组) S3C2440共有130个引脚,可分成A——J共9个组,(GPA,GPB,…,GPH,GPJ 组) 11.GPxCON寄存器,GPxDAT寄存器,GpxUP寄存器的功能,各位含义和用法 ①GPxCON寄存器(控制寄存器)——设置引脚功能 →GPACON(A组有23根引脚,一位对应一个引脚,共32位,拿出0~22位,其余没用) (若某一位是)0:(代表该位的引脚是一个)输出引脚 1:地址引脚 →GPBCON——GPH/JCON(用法一致,两位设置一个引脚) 00:输入引脚 01:输出引脚 10:特殊引脚 11:保留不用 GPBCON ②GPxDAT寄存器(数据寄存器)——设置引脚状态及读取引脚状态 若某一位对应的是输出引脚,写此寄存器相应位可令引脚输出高/低电平。 若某一位对应的是输入引脚,读取此寄存器可知相应引脚电平状态。GPBDAT

嵌入式Linux试题答案

《嵌入式开发》期中试卷 试卷适用范围:2011级计算机科学与技术(本)1、2班 一、填空题(每空1分,共46分) 习题 1 1.填空题 (1)嵌入式系统是以应用为中心、以计算机技术为基础,软、硬件可裁剪,适应于应用系统对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统。 (2)嵌入到对象体系中的专用计算机系统。嵌入性、专用性与计算机系统是嵌入式系统的三个基本要素。对象系统是指嵌入式系统所嵌入的宿主系统。 (3)嵌入式系统按形态可分为设备级(工控机)、板级(单板、模块)、芯片级(MCU、SOC)。 (4)嵌入式系统由硬件和软件两大部分组成,硬件一般由高性能微处理器和外围接口电路组成,软件一般由操作系统和应用程序构成,软件和硬件之间由所谓的中间层(BSP层,板级支持包)连接。 (5)嵌入式系统从组织层次上看,嵌入式系统一般由硬件层、中间层、软件层和功能层组成。 (6)在专用的嵌入式板子上面运行GNU/Linux系统已经变得越来越流行。一个嵌入式Linux系统从软件的角度看通常可以分为四个层次:引导加载程序、 Linux内核、文件系统、用户应用程序。 (7)嵌入式系统硬件的核心部件是各种类型的嵌入式处理器。 (8)嵌入式系统的核心部件是嵌入式处理器,一般把嵌入式处理器分成4类,即微处理器、微控制器、数字信号处理器、和嵌入式片上系统。 (9)ARM公司首创了 chipless 的生产模式,专门从事基于RISC技术芯片的设计开发,公司本身并不生产芯片,而是设计出高效的IP内核,授权给半导体公司使用。 (10)ARM7TDMI中,T表示支持Thump指令集。D表示支持片上调试(Debug)。M表示内嵌硬件乘法器(Multiplier)。I表示支持片上断点和调试点。 (11)ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。 (12)ARM微处理器有两种工作状态:Thump状态、ARM状态。 (13)通用寄存器分为三类:未分组寄存器、分组寄存器、程序计数器(PC)。 (14)异常是由内/外部源引起的需要处理器干预的一个事件。 (15)精简指令集计算机RISC(Reduced Instruction Set Computer)和复杂指令集计算机CISC 是当前CPU的两种架构。 (16)ARM微处理器的在较新的体系结构中支持两种指令集: ARM指令集、Thump指令集。 (17)MMU的作用有两个:将虚拟地址转化为物理地址、对存储器访问的

03嵌入式视频图像采集和处理

光电学院电子信息工程专业“嵌入式信息系统课程设计”任务书

第一章基础知识 一、编程原理 如何对各种音视频设备进行操作是在Linux上进行音频编程的关键,通过内核提供的一组系统调用,应用程序能够访问驱动程序提供的各种音视频设备接口,这是在Linux 下进行音视频编程最简单也是最直接的方法。在Linux下,设备驱动程序可以看成Linux 内核与外部设备之间的接口。设备驱动程序向应用程序屏蔽了硬件实现了的细节,使得应用程序可以像操作普通文件一样来操作外部设备,可以使用和操作文件中相同的、标准的系统调用接口函数来完成对硬件设备的打开、关闭、读写和I/O控制操作,而驱动程序的主要任务也就是要实现这些系统调用函数。本系统平台使用的嵌入式Linux系统在内核主要功能上与Linux操作系统没本质区别,所以驱动程序要实现的任务也一样,只要编译时使用的编译器、部分头文件和库文件等要涉及到具体处理器体系结构,这些都可以在Makefile文件中具体指定。 Video4Linux(简V4L)是Linux中关于视频设备的内核驱动,它为针对视频设备的应用程序编程提供一系列接口函数,这些视频设备包括现今市场上流行的TV卡、视频捕捉卡和USB摄像头等。对于电视卡、摄像头,其驱动程序中需要提供基本的I/O操作接口函数open、read、write、close的实现。对中断的处理实现,内存映射功能以及对I/O通道的控制接口函数ioctl的实现等,并把它们定义在struct file_operations中。这样当应用程序对设备文件进行诸如open、close、read、write等系统调用操作时,Linux内核将通过file_operations结构访问驱动程序提供的函数。例如,当应用程序对设备文件执行读操作时,内核将调用file_operations结构中的read函数。在系统平台上对摄像头驱动编译进内核后,摄像头就可正常工作了,接着就可以进行了本课题的主要内下一步对视频流的采集编程。 摄像头被驱动后,只需要再编写一个对视频流采集的应用程序就可以了。根据嵌入式系统开发特征,先在宿主机上编写应用程序,再使用交叉编译器进行编译链接,生成在目标平台的可执行文件。宿主机与目标板通信采用打印终端的方式进行交叉调试,成功后移植到目标平台。本设计编写采集程序是在安装Linux操作系统的宿主机PC机上进行的。 Linux 的帧缓冲设备Framebuffer 是在Linux 内核架构版本2.2 以后推出的标准显示设备驱动接口。采用mmap 系统调用,可以将framebuffer 的显示缓存映射为可连续访问的一段内存储针,进行绘图工作。而且多个进程可以映射到同一个显示缓冲区。由于映射操作都是由内核来完成,所以我们基本上不用对Framebuffer 做改动。 Framebuffer 驱动程序的实现分为两个方面:一方面是对LCD 及其相关部分的初始化,包括画在缓冲区的创建和对DMA 通道的设置,我们做的工作主要体现在这方面;另外一方面是对画面缓冲区的读写及控制,具体到代码为read、write、ioctl 等系统调用接口。至于将画面缓冲区的内容输出到LCD 显示屏上,则由硬件自动完成。对于软

相关文档