嵌入式Linux系统开发教程 教学课件 ppt 作者 978-7-302-22520-1 第十二章

上传人:E**** 文档编号:89375617 上传时间:2019-05-24 格式:PPT 页数:47 大小:971.50KB
返回 下载 相关 举报
嵌入式Linux系统开发教程 教学课件 ppt 作者 978-7-302-22520-1 第十二章_第1页
第1页 / 共47页
嵌入式Linux系统开发教程 教学课件 ppt 作者 978-7-302-22520-1 第十二章_第2页
第2页 / 共47页
嵌入式Linux系统开发教程 教学课件 ppt 作者 978-7-302-22520-1 第十二章_第3页
第3页 / 共47页
嵌入式Linux系统开发教程 教学课件 ppt 作者 978-7-302-22520-1 第十二章_第4页
第4页 / 共47页
嵌入式Linux系统开发教程 教学课件 ppt 作者 978-7-302-22520-1 第十二章_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《嵌入式Linux系统开发教程 教学课件 ppt 作者 978-7-302-22520-1 第十二章》由会员分享,可在线阅读,更多相关《嵌入式Linux系统开发教程 教学课件 ppt 作者 978-7-302-22520-1 第十二章(47页珍藏版)》请在金锄头文库上搜索。

1、重点内容: 系统设计背景 系统总体设计 系统详细设计 系统测试,第十二章 嵌入式视频监视系统开发实例,一、系统设计背景,在国民经济快速发展,人民生活质量普遍提高的背景下,视频监控系统已经越来越广泛的出现于银行、交通部门、政府部门、学校、军队、家庭等各种场合,视频应用也呈现出多样化的发展趋势,并具有越来越多的数字化,网络化,实时性等特性。,一、系统设计背景,目前国内外市场上大部分视频监控系统,无论是数字控制的模拟视频监控系统还是数字视频监控系统,大都采用了专门的软、硬件和专用的视频信号传输系统,这造成了比较昂贵的价格,阻碍了视频监控系统的进一步普及。嵌入式系统的设备一般都具有体积小、性能强、功耗

2、低、可靠性高以及成本相对较低的突出特征,在监控领域,嵌入式的应用也是越来越广泛,尤其是随着32位嵌入式微处理器和数字信号处理器应用的普及性能的不断提高,嵌入式系统在视频监控领域得到了很大发展。,二、系统总体设计,系统总体设计思路 系统的设计要求及特点 系统总体架构设计,二、系统总体设计,1. 系统总体设计思路,系统总体构架,二、系统总体设计,2. 系统的设计要求及特点,依照要求,在实现网络视频监控功能的前提下,本系统主要有以下几个特点: 系统实现视频监控及相关功能成本较低; 保证硬件设备兼容性、通用性、稳定性; 具有一定安全性(用户识别、身份认证机制); 较好的系统设计延续性及功能可扩展性。,

3、二、系统总体设计,3. 系统总体架构设计,(1)系统的硬件架构 (2)系统的软件结构 (3)系统的安全性考虑 (4)系统的可扩展性,二、系统总体设计,3. 系统总体架构设计,(1)系统的硬件架构,二、系统总体设计,3. 系统总体架构设计,(2)系统的软件结构,系统的软件构架主要由三个个模块组成,即USB驱动模块,网络视频服务器模块和终端视频信号处理模块。 USB驱动模块中包含了USB总线驱动,USB摄像头数据输入驱动,这个模块的功能即驱动摄像头设备并采集视频信号。,二、系统总体设计,3. 系统总体架构设计,(2)系统的软件结构,视频服务器模块包括视频信号处理模块和基于TCP/IP协议的视频信号

4、传输程序模块,这个模块的功能即处理摄像头采集到的视频信号并将视频信号传输到被允许的视频监控终端。 终端视频信号处理模块包括视频信号接收、存储及播放程序。,二、系统总体设计,3. 系统总体架构设计,(3)系统的安全性考虑,在本设计中,由于系统需要接入Internet以实现网络视频监控功能,故需要考虑到数据传输中的安全性问题。综合本设计的ARM-Linux操作系统及使用的硬件设备的考虑,采用如下方式保证系统的安全性:在嵌入式视频服务器软件内做IP地址过滤,对视频信号传输请求的IP地址过滤。,二、系统总体设计,3. 系统总体架构设计,(4)系统的可扩展性,Linux操作系统本身是一个功能非常强大,尤

5、其是网络功能非常强大的操作系统,其针对ARM处理器的嵌入式版本ARM-Linux,同样的具有上述的特点。基于本系统的硬件设计及其ARM-Linux操作系统,系统可以在本地存储扩展、视频信号压缩处理、简单的图像的识别、系统的网络安全等等几个方面还有进一步扩展的余地以及功能的提高的空间。,三、系统详细设计,1.系统的硬件设计与调试 2.系统的软件设计与调试 3.USB数据输入驱动移植 4.USB摄像头数据输入驱动测试 5.嵌入式网络视频服务器的设计 6.Video4Linux程序设计,三、系统详细设计,(1)总体硬件模块 (2)USB摄像装置 (3)系统调试接口,1.系统的硬件设计与调试,三、系统

6、详细设计,(1)总体硬件模块,1.系统的硬件设计与调试,本系统以S3C2440芯片为核心进行外围功能芯片及电路的扩展的硬件模块图,三、系统详细设计,(2)USB摄像装置,1. 系统的硬件设计与调试,本设计中采用的视频摄像的实验装置为目前使用广泛的采用USB输出的数字摄像头。数字摄像头的工作原理为:景物通过镜头(LENS)生成的光学图像投射到图像传感器表面上,转为电信号,经过模数转换(A/D)转换后变为数字信号,再送到专用的数字信号处理芯片(DSP)中进行压缩编码处理,再通过接口电路传输到PC中进行处理。,三、系统详细设计,(2)USB摄像装置,1. 系统的硬件设计与调试,采用USB输出的数字摄

7、像头相比其他种类的视频采集装置,其优点比较明显: 分辨率一般都大于或等于30万象素,均可实现VGA级(640x480)的压缩视频信号输出; 内置专用DSP芯片,可对原始视频信号做前期压缩编码处理,减少系统中MCU时间占用与程序编写的工作量;一般采用USB数据输入的数字摄像头价格较低,使系统成本进一步降低。,三、系统详细设计,(2)USB摄像装置,1. 系统的硬件设计与调试, USB接口传输速度较快,且向下兼容低版本协议,USB1.1接口设备其带宽也完全满足VGA级压缩视频数据传输。 一般采用USB数据输入的数字摄像头价格较低,使系统成本进一步降低。,三、系统详细设计,(2)USB摄像装置,1.

8、 系统的硬件设计与调试,基本知识: 1)USB总线 USB英文全名为Universal Serial Bus,即通用串行总线,是目前应用最为广泛的一种连接外围设备的总线标准。其最大的优点在于支持USB设备支持硬件设备的热插拔,并且可以通过一个USB控制器管理最多7级127个USB设备。,三、系统详细设计,(2)USB摄像装置,1. 系统的硬件设计与调试,1)USB总线 USB总线目前有USB1.1和USB2.0两种协议标准,理论传输速度分别为12Mbps/s和480Mbps/s,无论是前者,还是后者,其传输带宽理论上均可以满足分辨率为640x480、15f/s的VGA级别的视频信号传输要求。,

9、三、系统详细设计,(2)USB摄像装置,1. 系统的硬件设计与调试,2)S3C2440 USB接口电路 在S3C2440片内集成了一个USB Host Controller,也就是说它是可以直接通过USB硬件接口电路与USB设备相连接,并可以通过USB HUB进行USB设备数量的扩展。S3C2440的USB Host Controller是符合USB 1.1的协议标准的硬件控制器,由于USB协议的向下兼容性,符合USB 2.0协议标准的设备同样可以接在这个接口上使用USB 1.1的协议进行数据传输。,三、系统详细设计,(2)USB摄像装置,1. 系统的硬件设计与调试,2)S3C2440 USB

10、接口电路,三、系统详细设计,(3)系统调试接口,1. 系统的硬件设计与调试,本设计使用RS232串口作为系统的调试接口与PC机进行通信。系统与PC机通过串口线连接,加电后在PC机上使用Linux操作系统下的Minicom或Windows操作系统下的超级终端等串口终端软件即可以查看系统输出的启动、运行状态信息并可以通过输入命令行进行系统配置或运行相关程序。,三、系统详细设计,(3)系统调试接口,1. 系统的硬件设计与调试,S3C2440通过MAX232串口接口芯片连接到两个9针RS232接口电路,三、系统详细设计,(1)嵌入式Linux开发环境的构建 (2)Linux下通用USB摄像头数据输入驱

11、动 (3)SPCA5xx通用驱动的架构 (4)SPCA5xx通用驱动核心程序分析,2. 系统的软件设计与调试,三、系统详细设计,(1)嵌入式Linux开发环境的构建,2. 系统的软件设计与调试,按照教材第七、八、九、十章介绍的方法建立一个完整的嵌入式Linux基本系统,这里限于篇幅,我们就不重复了。下面我们重点介绍USB摄像头的驱动设计。,三、系统详细设计,(2)Linux下通用USB摄像头数据输入驱动,2. 系统的软件设计与调试,本设计中使用的是针对Linux2.6版本内核的spca5xx-Light-Edition,这个版本的特点是编译生成后的驱动程序文件体积比较小,节省驱动加载及应用程序

12、运行的存储空间,比较适合运行嵌入式Linux的嵌入式系统使用。,三、系统详细设计,(2)Linux下通用USB摄像头数据输入驱动,2. 系统的软件设计与调试,经过对源代码的研究与分析,spca5xx-Light-Edition与其他版本在功能上的不同之处主要在于: 减少了音频部分的驱动及接口函数,简化了应用程序的编写; 减少了对视频信号的JPEG编码、压缩的功能,大大减少系统中CPU的工作量,更适合低工作频率、无协处理器的嵌入式MCU使用。,三、系统详细设计,(3)SPCA5xx通用驱动的架构,2. 系统的软件设计与调试,Spac5xx的实现是按照标准的USB Video设备的驱动框架编写,整

13、个程序由三个主要模块组成(/usr/src/linux/drivers/usb/usbvideo.c): 1) USB设备模块的初始化模块和卸载模块; 2)上层软件接口模块; 3)数据传输模块。,三、系统详细设计,(4)SPCA5xx通用驱动核心程序分析,2. 系统的软件设计与调试,1)USB设备模块的初始化模块和卸载模块,在设备模块的初始化模块和卸载模块中几个关键数据结构有: static struct usb_driver spca5xx_driver = / USB驱动结构,即插即用功能的实现 “spca5xx“, spca5xx_probe, / 注册设备自我侦测功能 spca5xx_

14、disconnect, / 注册设备自我断开功能 NULL,NULL ;,三、系统详细设计,(4)SPCA5xx通用驱动核心程序分析,2. 系统的软件设计与调试,2)上层软件接口模块,包括以下部分: Open功能模块 Read功能模块 Mmap功能模块 Ioctl功能模块,三、系统详细设计,(4)SPCA5xx通用驱动核心程序分析,2. 系统的软件设计与调试,3)数据传输模块。,程序采用tasklet来实现同步快速传递数据,并通过spcadecode.c上的软件解码函数实现JPEG图像的解码。此模块的入口节点挂在spca_open函数中,其具体的函数为spca50x_init_isoc。当设备

15、被打开时,同步传输数据也已经开始,并通过spca50x_move_data函数将数据传递给驱动程序,驱动程序通过轮询的办法实现对数据的访问。,三、系统详细设计,3. USB数据输入驱动移植,Linux的设备驱动程序有两种加载模式,一种是内核直接加载,也就是说Linux启动后就驱动程序直接进入内核,在映射内存中占用一定的空间;另一种就是模块加载,即Linux启动以后,通过insmod命令加载驱动到内核,并且可以rmmod命令从内核中卸载该驱动。 在本设计中,摄像头的驱动加载将以模块的方式进行加载入内核。,三、系统详细设计,3. USB数据输入驱动移植,本设计的驱动源码是Linux内核源代码之外的

16、,那么就需要其他的一些工作来实现SPCA5XX驱动的内核定制。基本步骤如下: (1)将SPCA5XX的驱动选项加入到MENUCONFIG 的MENU之中,以供选择并在编译中编译进入内核; (2)然后在根目录下,修改MAKEFILE; (3)接着配置内核编译参数并编译内核; (4)选择对对视频设备支持;,三、系统详细设计,3. USB数据输入驱动移植,基本步骤如下: (5)配置USB设备,选择支持USB DEVICE 并选择静态编译入内核; (6)选中S3C2440的OHCI支持; (7)在VIDEO DEVICE 中选择对SPCA5XX的模块化编译,开机后手动加载,也可通过配置文件“/usr/etc/rc.local”自动加载。,三、系统详细设计,4. USB摄像头数据输入驱动测试,测试的具体步骤如下: (1)挂载驱动模块并挂载摄像头设备; (2)建立设备挂载点,使用“ mkno

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

当前位置:首页 > 高等教育 > 大学课件

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