自来水厂全自动恒压供水监控系统论文

收藏关注不迷路

自来水厂全自动恒压供水监控系统论文

  • 一、摘 要
  • 二、目 录
  • 三、前 言
  • 二、 2 绪论
    • 2.1 课题研究的目的和意义
  • 三、 网络监控系统概述
    • 3.1 系统简介
    • 3.2 系统组成
    • 3.3 系统框图
  • 四、 嵌入式系统简介
    • 4.1 主流嵌入式操作系统的比较
    • 4.1.1Windows CE
    • 4.1.2Linux
    • 4.1.3VxWorks
    • 4.1.4μC/OS
    • 4.2 常用的嵌入式处理器
    • 4.2.1ARM
    • 4.2.2MIPS
    • 4.2.3PowerPC
  • 五. ARM处理器
    • 5.1 ARM构架特点
    • 5.1.1ARM的特点
    • 5.1.2ARM的模式
    • 5.1.3ARM的状态
    • 5.1.4ARM寄存器映射
    • 5.1.5ARM寻址方式
    • 5.2 现有主流ARM处理器
    • 5.2.1Samsung S3C2410
    • 5.2.2Atmel AT91RM9200
    • 5.2.3TI OMAP
    • 5.2.4Intel Xscale
    • 5.3 S3C2410硬件设计要点
    • 5.3.1S3C2410电源设计
  • 六 系统测试
    • 10.1 ffmpeg测试
    • 10.1.1查看支持的格式
    • 10.1.2从视频文件中截图
    • 10.1.3用摄像头录像
    • 10.2 ffserver测试
    • 10.2.1启动ffserver
    • 10.3 测试注意事项
  • 七. 总结
    • 谢 辞
    • 参考文献


一、摘 要

摘 要
随着越来越多的场合正向自动化无人职守迈进,尤其在安全、监控等领域。为了进一步降低成本,减少人力的投资,以及更集中、更方便的掌握现场情况,许多场合都采用了电子监控设备,如办公室,发电站,机场,海关等等领域。而这些电子设备的设计无疑涉及到这些领域的安全性,这就对监控设备的成本,稳定性,以及性能三方面都提出了更高的要求。
本系统的研究背景主要是根据现有视频监控系统的不足,旨在降低系统的成本和提高系统的性能。它采用了价格低廉的三星应用处理器S3C2410,并使用软件音、视频编解码器,能实现以250Kbps和350Kbps的编码位流速进行网络传输,并以160128和320240两种显示分辩率,可以进行良好的视频监控。同时,它的一个最大的特点是可以在终端上进行录像,而不需要通过PC机,这样既适合低功耗的场合,又可以减少的系统的复杂性。
图像采集终端则采用性价比很高的USB型摄像头,在市场上很容易买到,同时,USB型摄像头具有很好的通用性,驱动程序丰富,可以减少代码的编写。由于本系统使用标准的以太网进行传输,因此系统支持无限个终端进行级联,监控区域可以很轻易的进行扩大。
综上所述,本系统采用ARM9处理器,USB摄像头,标准以太网传输,实现了一个性能良好的视频监控系统。
关键词:嵌入式;Linux;ARM;CODEC;视频监控
Abstract
As more and more occasions no positive duty towards automation, especially in security, monitoring, and other fields. To further reduce costs and reduce manpower investment and more focused, more convenient to grasp the situation on many occasions used the electronic monitoring equipment, such as offices, power stations, airports, customs and so on the field. These electronic devices undoubtedly related to the design of these areas of security, which the monitoring equipment, the cost, stability and performance of all three areas a higher demand.
The system of background are mainly based on existing video surveillance system inadequate, aimed at reducing the cost and improve system performance. It uses the low price of Samsung’s application processor S3C2410, the use of software and audio and video codecs, to achieve 250 Kbps to 350 Kbps encoding and digital transmission network velocity, and 160 *128 and 320 * 240 two display resolution, Can be a good video surveillance. At the same time, one of its greatest feature is the terminal on the video, rather than through a PC, this is suitable for low power consumption of the occasion, can also reduce the complexity of the system.
Image Collection Terminal is a high cost-effective use of the USB-based camera, in the market is readily available, at the same time, USB-based camera has a good GM, driver rich, can reduce the preparation of the code. Since this system uses standard Ethernet transmission, the system supports an unlimited number of terminal cascade, the region can easily monitor the conduct of expansion.
In a word, this system uses ARM9 processor, USB camera, standard Ethernet transmission, to achieve a good performance of the video surveillance system.
Keyword:Embedded;Linux;ARM;CODEC;Video Surveillance

二、目 录

目 录
引言 6
2 绪论 7
2.1 课题研究的目的和意义 7
3 网络监控系统概述 8
3.1 系统简介 8
3.2 系统组成 8
3.3 系统框图 8
4 嵌入式系统简介 10
4.1 主流嵌入式操作系统的比较 10
4.1.1Windows CE 10
4.1.2Linux 10
4.1.3VxWorks 11
4.1.4μC/OS 11
4.2 常用的嵌入式处理器 11
4.2.1ARM 11
4.2.2MIPS 12
4.2.3PowerPC 12
5 ARM处理器 13
5.1 ARM构架特点 13
5.1.1ARM的特点 13
5.1.2ARM的模式 13
5.1.3ARM的状态 13
5.1.4ARM寄存器映射 13
5.1.5ARM寻址方式 14
5.2 现有主流ARM处理器 15
5.2.1Samsung S3C2410 15
5.2.2Atmel AT91RM9200 16
5.2.3TI OMAP 17
5.2.4Intel Xscale 18
5.3 S3C2410硬件设计要点 19
5.3.1S3C2410电源设计 20
5.3.2S3C2410 USB接口设计 20
5.3.3S3C2410 网络接口电路设计 20
6 嵌入式Linux开发步骤 22
6.1 GNU GCC简介 22
6.2 开发环境的搭建 22
6.2.1二进制文件的安装 22
6.2.2源码文件的安装 23
6.3 Linux内核配置编译 23
6.3.1内核配置 23
6.4 Linux内核构架详解 25
6.4.1进程和内核模式 26
6.4.2进程的实现 27
6.4.3内核同步机制和临界区 28
6.5 Linux设备驱动层 28
6.5.1设备驱动概述 28
6.5.2设备驱动的分类 28
6.5.3设备驱动重要的数据结构 29
6.5.4Linux驱动程序设备号 33
6.5.5OV511摄像头驱动 33
6.5.6V4L视频标准 34
6.6 Linux文件系统 35
6.6.1cramfs 35
6.6.2JFFS/JFFS2 35
6.6.3ext2/ext3 36
6.6.4ramdisk 36
6.7 摄像头应用程序的编写 37
7 常用的视频编码格式 40
7.1 常用视频格式 40
7.1.1AVI格式 40
7.1.2ASF格式 40
7.1.3RM(Real Media)格式 41
7.1.4MPEG格式 41
7.2 ASF格式特点 41
7.2.1可扩展的媒体类型 41
7.2.2部件下载 42
7.2.3可伸缩的媒体类型 42
7.2.4多语言 42
7.2.5目录信息 42
7.3 ASF格式结构 42
7.3.1ASF 对象定义 42
7.3.2高层文件结构 43
7.3.3ASF头对象 44
7.3.4ASF数据对象 45
7.3.5ASF索引对象 45
8 ffmpeg 视频CODEC库 46
8.1 ffmpeg简介 46
8.2 ffmpeg移植要点 46
8.3 fmpeg常用命令 46
9 ffserver视频服务器 51
9.1 ffserver简介 51
9.2 ffserver移植要点 51
9.3 ffserver配置和使用详解 51
10 系统测试 52
10.1 ffmpeg测试 52
10.1.1查看支持的格式 52
10.1.2从视频文件中截图 52
10.1.3用摄像头录像 53
10.2 ffserver测试 54
10.2.1启动ffserver 54
10.2.2载入摄像头视频流 55
10.2.3启动Windows Media Player进行远程监控 55
10.3 测试注意事项 56
11 总结 58
谢 辞 59
参考文献 60

三、前 言

现在国内的视频监控设备多数采用高成本的DSP处理器+网络传输和专用处理器+模拟传输两种方案,就目前的这两种方案而言,前者不但硬件成本高,而且由于DSP的特性,多数无法运行多任务操作系统,以致系统软件的设计也变得很复杂,通常情况下要重新编写任务管理调度程序,同时还要进行图像采集端程序的设计以及图像编解码程序的设计,无疑,仅此三大类软件设计,其成本便可见高下,除此以外,整个系统的升级尤其是软件的升级造成了很大的阻碍,原因在于没有良好操作系统的支持,应用程序没能与操作系统进行良好的交互。而后者同样也面临诸多问题,首先,专用处理器的优点是内置硬件编解码器,无疑,从性能方面来讲,这是一个优势,但同时也是它的劣势,因为内置硬件编解码器的专用处理器往往价格比普通应用处理器高出许出,虽然利用专用处理器能节省软件的开发周期,换而言之,也就降低了软件开发的成本,但高出的硬件投资,也就恰好抵消了软件的成本,最多也就实现用硬件来弥补软件的成本,而在软件升级方面则和方案一存在相同的问题,到最后,方案也未能比方案一有明显的优势。
那么,如何选择视频监控系统的方案以填补现有监控系统的不足呢?这就是本课题的研究重点,本文就如何进行方案可行性的研究、选择以及验证进行介绍。

二、 2 绪论

2.1 课题研究的目的和意义

近几年来,我国的安防系统的发展相当迅速,特别是近两年为筹备2008年北京奥运会的到来,国家更是投资了大批人力物力进行所有奥运会场的安全防御监控系统升级安装,从北京市的交通到奥运会场的监控,整个市区安装了高达百万个监控终端。这不仅说明监控设备在现在的社会安全领域起着不可或缺的作用,也说明了政府也越来越重视社会集中监控的优越性。
从现代控制理论来看,集散型控制是比较突出的一种控制方式,所以,现在流行的监控系统也同样采用此方法。从系统的上下行模式来区别,监控系统主要有Host-Client模式,也就是主从模式,这种模式主要是采用以太网传输方式,通常情况下可以一个Host实现多个Client终端,因此,监控系统采用此模式可以有效的实现多终端监控,从而节省了资源。
在我国现有的监控系统中,普遍采用的是前面所述的两种系统方案,根据前面的分析可以知道,这两种都不是最理想的方案,因此要真正的向高效化、低成本化发展监控系统,就必须重新设计新的监控系统方案。
本课题主要从实际应用的角度出发,为了进一步解决现有监控系统中的不足,并利用价格上较有优势,软件上更易升级的思想对系统进行了设计,最终以应用处理器+嵌入式Linux操作系统+以太网传输作为整个系统的核心构架,这种方案有效的克服了前面所述的两种监控系统的缺点,极大程度上解决了硬件高成本,软件不易管理的问题。
因此,本课题的研究意义在于通过重新设计监控系统,以改造现有监控系统的不足,主要突出在改变了传统监控方案:DSP处理器+网络传输和专用处理器+模拟传输两种方案,以全新的方案:应用处理器+嵌入式Linux操作系统+以太网传输,不仅具有良好的稳定性,而且从性价比等方面都有非常突出的优势。

三、 网络监控系统概述

3.1 系统简介

随着社会的秩序问题日趋严重,为了加强区域的安全性,网络监控系统越来越得到重视,到现在已经广泛的应用于交通、海关、航空等领域。本系统以全新的思路设计,整合了目前嵌入式系统的新技术,从性能、成本,操作方面进行最大的优化,使得本系统能够应用到更多的场合。系统由前端的图像采集和图像压缩,通过以太网把图像数据传输到监控端,在监控端实现现场监控的作用。

3.2 系统组成

网络监控系统是以图像采集端、网络枢纽、宿主端三部分构成。
图像采集端主要是由嵌入式主板组成,其硬件包含:嵌入式处理器、网络控制器、存储器、电源模块等,而软件则包括:嵌入式操作系统、TCP/IP协议栈、存储器管理等。通常所构成的系统的主要功能是采集现场的情况,以某种图像格式进行编码压缩,再通过网络控制器把图像信息传送给宿主端,以达到监控目的。
网络枢纽是指为了实现远程监控的功能,在网络传输过程中,需要多个网络中继站,即网络路由器,通过这种方式,可以进行网络级联,最后达到多点同时监控的目的。即节省了宿主端的数目,同时又简化了操作和管理,实现一主多从的集散型监控方式。
宿主端即监控端,通常以PC主机和显示设备组成。宿主端把各采集点回传的数据进行解压显示,以多窗口的方式显示各个监控点的现场情况,即可达到非常及时的监控效果。

3.3 系统框图

系统框图见 图 3.1

自来水厂全自动恒压供水监控系统论文_第1张图片

图 3.1系统框图

四、 嵌入式系统简介

4.1 主流嵌入式操作系统的比较

嵌入式操作系统以其微小内核、可移植、可裁剪、源码开放的特性在嵌入式领域得到广泛的应用。对于不同的产品,不同的应用场合,可以选择合适的嵌入式操作系统。到目前为此,全世界范围内出现的嵌入式操作系统高达200多种,它们专为嵌入式应用而开发,使得嵌入式产品的开发越来越方便,价格也变得越来越低廉,在航空、通信、娱乐等领域已经得到了很好的应用。
较为流行的嵌入式操作系统有:Linux,Windows CE,VxWorks,μC/OS等等

4.1.1Windows CE

Windows CE是微软公司的产品,它是以Windows操作系统核心作为基础,为有限资源的平台进行简化,并保留了多线程、优先权、多任务、可移植等特性。Windows CE和PC机使用的Windows 操作系统的最大区别是采用了模块化设计,从而使得Windows CE可以安装到存储空间并不大的嵌入式设备,通常Windows CE的内核映像文件最小可以达到200KB,对于现有嵌入式设备的存储空间有限的情况下,Windows CE仍然可以得到非常好的应用。
目前,全球范围内已经有上千家公司采用Windows CE进行各种各样的嵌入式产品开发。典型的新产品有手机、POS终端、ATM终端、工业控制系统等等。当然,Windows CE属于商业产品,当使用Windows CE进行产品开发时,需要支付3美元~20美元的授权费。

4.1.2Linux

Linux是嵌入式领域中发展最快、应用最广的一个操作系统。Linux是在GPL下发行的操作系统,与其他现有的操作系统相比有以下特点:
(1)完全源码开放
(2)可以免费获得
(3)支持数十种不同的处理器
(4)可移植
(5)可裁剪
其中,“免费”和“开源”是Linux最有竞争力的特点。在全球范围内,已经有不计其数的个人、企业正在使用Linux。随着Linux的进一步成熟,它以更小代码尺寸和更多不同平台的支持,大大的减少了新产品的成本和研发时间,吸引了越来越多的设备生产商,到现在,Linux已经成为世界主流的嵌入式操作系统。
根据IDC报告指出,Linux已经成为世界第二大操作系统。并且每年以高于25%的速度增长,再加上基于Linux的变种体,如实时性能较强的RTLinux、RTAI,Kurt和Linux/RK,能在没有MMU处理器上运行的μCLinux,更是把Linux的应用领域扩展到了工业控制和军事工业以及航空工业。

4.1.3VxWorks

VxWorks是WindRiver公司专门为实时系统而设计的一款优秀的实时操作系统。VxWorks以其超微小的内核提供了实时任务调度、中断管理、任务间通信等功能。由于WindRiver已经为VxWorks作了大量的优化工作,其优异的性能和稳定的特点使得程序员只要专心编写应用程序,根本不需要去关心系统内核的管理。除此之外,VxWorks具备完善的网络通信,文件系统等模块,可以应用到各种不同的场合。下面罗列了VxWorks的一些主要特点:
(1)任务间通信机制
(2)网络协议
(3)文件系统
(4)I/O管理
(5)超微小内核
(6)POSIX标准实时扩展
(7)支持C++语言

4.1.4μC/OS

μC/OS是由美国的Jean J.Labrosse编写的一个小型实时操作系统。该系统从1992年开始至今,已经发展到了第二个版本μC/OS II。μC/OS的特点是:公开源码,内核简洁,可移植性好,可裁剪,可固化,抢占式内核,可以管理60多个任务。该系统主要用于教育研究,和一些简单的控制系统应用。

4.2 常用的嵌入式处理器

4.2.1ARM

ARM(Advanced RISC Machines)公司是英国一家CPU核设计商,它本身并不生产CPU,而是设计出CPU以IP核的方式授权给其他公司生产。ARM处理器目前主要包括ARM7,ARM9,ARM10,ARM11以及Cortex 和SecurCore系列。ARM公司推出的嵌入式处理器几乎含盖了所有层次的处理器,主频也从50MHz到1GHz不等。到目前为此,ARM处理器已经成为嵌入式领域的神话,其市场份额高达80%以上,应用范围涉及手机,端终,控制,家电等等。

4.2.2MIPS

MIPS(Microprocessor whithout Interlocked Pipeline Stages)是一种处理器内核标准,它由MIPS技术公司开发拟定的。MIPS技术公司是一家设计制造高性能、高档次的嵌入式32位和64位处理器开发商,在RISC处理器领域占有很重要的地位。2000年,MIPS公司发布了针对MIPS 32 4 Kc的新版本以及未来64位MIPS 64 20 Kc处理器内核。
MIPS技术公司既开发MIPS处理器构架,又自己生产基于MIPS的32/64位处理器芯片。为了使用户更加方便地应用MIPS处理器,MIPS公司推出了一套集成开发工具,称为MIPS IDF(Integrated Development Framework),大大的降低了开发的难度。

4.2.3PowerPC

Power PC构架的主要特点是可伸缩性好,方便灵活。Power PC处理器品种很多,既有通用的处理器,又有嵌入式控制器和内核,应用范围非常广泛,从高端的工作站、服务器到个人PC,从消费类电子产品到大型通信设备等各个方面。
目前Power PC独立微处理器与嵌入式处理器的主频从25MHz~700MHz之间,它们的功耗,尺寸,价格相差比较大,主要的产品模块有Power PC 750 CX和 750 CXe,以及Power PC 440GP,用于嵌入式系统的有Power PC405和Power PC 440。Power PC的嵌入式处理器常用于通信,金融和其他终端设备。

五. ARM处理器

5.1 ARM构架特点

5.1.1ARM的特点

ARM主要特点:体积小、低功耗、低成本、高性能。
支持16位Thumb和32位ARM指令,Thumb指令可以减少大约30%~40%的代码大小,具有更高的代码密度,大量使用寄存器,指令运行速度更快,ARM共有37个32位寄存器,被分为若干组,其中:
-31个通用寄存器,包括程序计数器(PC)
-6个状态寄存器,用以标志CPU的工作状态和运行状态等
大多数的数据操作都在寄存器中完成,寻址方式灵活简单,执行效率高指令长度固定Load/Store加载/存储指令实批量数据传输,大大的提高了执行效率。

5.1.2ARM的模式

为了加强系统的安全性和对时间的响应,ARM设计了7种系统模式,以适应于不同的场合。
例如,在时间要求比较严格的时候,可以进入fiq模式对事件进行响应,可以减少响应时间。而在多任务操作系统下,可以使用用户模式和系统模式来加强系统的安全。
ARM七种模式如下:
(1)用户模式(usr)
(2)快速中断(fiq)
(3)外部中断(irq)
(4)管理模式(svc)
(5)数据访问中止模式(obt)
(6)系统模式(sys)
(7)未定义指令中止模式(und)

5.1.3ARM的状态

ARM具有两种不同的工作状态:ARM状态和THUMB状态,通常,ARM在上电默认是ARM状态,如要切换到THUMB状态,常用的方法是使用BX跳转指令。特别注意的是,在所有的异常模式中,都必须是在ARM状态下实现的,这是ARM固有的特点,不需要用户的干涉。

5.1.4ARM寄存器映射

ARM拥有多达37个寄存器,这些寄存器在不同的模式下不尽相同。对于一些时间要求比较严谨的场合,需要系统作出相当快的响应以确保安全,这时候,往往要立即执行紧急事件,通常的解决方法是使用Fiq(快中断),以保证响应时间。怎么让事件更快速的响应呢?方法就是减少现场保护的时间,ARM的Fiq设计不需要进行现场保护,因为在Fiq模式下,它拥有独立的寄存器,不会影响中断前的任何寄存器状态,从而大大的加快了响应速度。这也是ARM寄存器多的原因之一。同样的道理,在其他相应的模式下,它们对应的寄存数目也是有其特殊意义的。
ARM寄存器映射如图 5.1 ARM寄存器映射所示:

自来水厂全自动恒压供水监控系统论文_第2张图片
图 5.1 ARM寄存器映射

5.1.5ARM寻址方式

为了提高代码的执行效率,ARM提供了多种寻址方式,一方面,可以减少代码的编写量,另一方面提高了代码密度。尤其是ARM的多寄存器寻址和条件执行的特点,使得程序变得更加优化。
ARM支持的寻址方式如下:
(1)立即数寻址
(2)寄存器寻址
(3)寄存器间接寻址
(4)基址变址寻址
(5)多寄存器寻址
(6)相对寻址
(7)堆栈寻址

5.2 现有主流ARM处理器

5.2.1Samsung S3C2410

S3C2410是著名的半导体公司Samsung推出的一款32位ARM处理器,为手持式设备、终端设备等提供了高性价张的解决方案。S3C2410的内核是ARM920T,内置MMU(Memory Management Unit)功能,采用AMBA新型总线结构,实现了MMU、AMBA BUS、Hardvard的高速缓冲体系结构,同时支持16位Thumb 指令集,从而能以较小的存储空间需求,获得32位的系统性能。
S3C2410的主要特点:
(1)内核工作电压1.8~2.0V、存储器和外部I/O设备的供电电压3.3V
(2)16KB指令Cache和16KB的数据Cache
(3)LCD控制器,最大支持6.5K色的TFT液晶屏
(4)4个通道DMAd
(5)3路UART(IrDA1.0、16B TxFIFO、16B RxFIFO),2通道的SPI接口;
(6)2通道USB(Host/Slave)
(7)4路PWM和1个内部时钟控制器
(8)117个通用I/O,24路外部中断
(9)272PinFBGA封装
(10)16位看门狗定时器
(11)IIC/IIS控制器
(12)带PLL片上时钟发生器
S3C2410 ARM处理器支持大小端模式存储字数据,其寻址空间可达1GB,每个Bank最大支持128MB的存储器,对于外部I/O设备的数据宽度,可以是8,16,32位,所有的存储器Bank(共有8个)都具有可编程的操作周期,而且支持各种ROM引导方式(Nor/Nand)Flash,EEPROM)。其S3C2410内部结构如图 5.2 S3C2410内部结构框图所示

自来水厂全自动恒压供水监控系统论文_第3张图片

图 5.2 S3C2410内部结构框图

5.2.2Atmel AT91RM9200

AT91RM9200是Atmel公司的32位RISC ARM9处理器,它是基于ARM920T核的,主频达180MHz,运算速度为200MIPS。内置全功能MMU,支持SDRAM、SRAM、BurstFlash、CF卡、SmartMedia以及NAND Flash,具有高性能、低功耗、低成本、小体积等优点。AT91RM9200微处理器是一个多用途的通用芯片,它内部集成了微处理器和常用的外围组件,具有更高性价比的特点,可以为工控等领域提供优秀的解决方案。
AT91RM9200具有以下的丰富片上资源:
(1)16KB数据Cache、16KB指令Cache
(2)虚拟内存管理单元MMU
(3)带有Debug调试功能
(4)内置16KB的SRAM和128KB的ROM
(5)带有外部总线接口(EBI),方便用户进行扩展升级
(6)支持SDRAM、SRAM、Burst Flash、CF、SM和NAND Flash
(7)增强型时钟发生器和电源管理单元
(8)带有2个PLL的2个在片振荡器
(9)慢速时钟操作模式和软件电源优化能力
(10)4个可编程外部时钟信号
(11)周期中断、看门狗和第二计数器
(12)带有报警功能的实时时钟
(13)带有8个优先级别、可单独屏蔽中断源、Spurious中断保护的先进中断控制器
(14)7个外部中断源和1个快速中断源
(15)4个32位GPIO控制器,可以达到122个可编程I/O引脚
(16)20通道的DMA
(17)10/100M以太网接口
(18)2个USB2.0 HOST和一个USB Device
(19)4个UART
(20)3通道16位定时器/计数器
(21)两线接口
(22)IEEE1149.1 JTAG标准扫描接口

5.2.3TI OMAP

OMAP可扩展的开放式处理器平台是TI公司于1998年推出的全新多媒体应用概念,OMAP平台提供了语音、数据和多媒体所需的带宽和功能,可以在非常低的功耗下为高端的2.5G和3G无线设备提供较高的性能。TI的 OMAP处理器支持所有嵌入式操作系统,无需任何新的编程技能就可以进行无缝访问DSP。TI还提供了OMAP解决方案,将无线调制解调器与专用应用处理器完美地组合在单个芯片上。TI在提供全球范围的技术支持的同时,还提供了可降低系统成本的高度集成的解决方案。
TI OMAP处理器分类如表 5.1 TI OMAP处理器分类所示:
类别 型号 描述
单纯应用处理器 OMAP310 175MHz,具有基本的多媒体功能
OMAP1510 175MHz,与310相比增加了DSP和ARM926内核,192KB片内RAM
OMAP1610 204MHz,功耗、尺寸较1510更小,多媒体处理能力有较大的提高,增加了JAVA加速器,采用硬件方法加速应用程序的执行,集成了更多运动控制和接口器件
单纯应用处理器 OMAP1611 204MHz,增加了内部RAM和54Mbit/s的WLAN接口
OMAP1612 204MHz,比1611增加了堆叠式整合的DDR存储器,与外接存储器方式相比减少了空间和功耗
整合了数字基带功能的应用处理器 OMAP710 132MHz,性能和1510对应
OMAP730 200MHz,性能较710提高一倍,待机时间也增加了一倍
OMAP732 200MHz,类似于730,但SRAM以堆叠式整合,减少了体积
表 5.1 TI OMAP处理器分类

5.2.4Intel Xscale

Intel Xscale构架的处理器有PXA2xx系列,它属于ARM处理器的一种衍生,不过它在构架扩展的基础上保留了对以往软件的向下兼容性。
Intel 目前开发的基于ARM核 的处理器有2个系列:
(1)StrongARM-StrongARM SA1100
(2)基于XScale构架的PXA系列
较为突出的是PXA系列,它是一款功耗低、可伸缩度高的产品,并且其最大的优势就是核心频率可以高速的提升。此外,Xscale整合了以往其他ARM处理器所不支持的MMX指令,这种指令集类似桌面处理器的多媒体指令集,是一种64bit的精简指令,这种指令集可以大大地优化视频播放、3D图像显示、音频处理等应用,同时这种指令也会降低产品的开发难度。PXA采用较先进的0.18um工艺制程、内含32KB指令缓存和32KB数据缓存以及多媒体流数据专用的2KB缓存,最高支持256MB内存、包含双通道PCMCIA、CF卡、MMC/SD卡,LCD控制器、AC‘97音频、USB接口,红外接口、蓝牙接口,芯片采用PBGA封装。
PXA270内部结构如图 5.3 PXA270 内部结构所示:

自来水厂全自动恒压供水监控系统论文_第4张图片
图 5.3 PXA270 内部结构

5.3 S3C2410硬件设计要点

S3C2410是一款高速嵌入式处理器,由于它内置了很多外设模块,需要用到的模块可能要在外围电路中增加一些芯片。这样一来,加上电源、CPU最小系统以及各个模块,系统变得非常复杂。所以在绘制原理图的时候,要注意模块化的设计,可以避免出错。

5.3.1S3C2410电源设计

电源是系统的心脏,系统的稳定性很大程度上取决于电源的设计,对于S3C2410处理器,合理的电源设计如图 5.4 S3C2410系统电源设计所示:

自来水厂全自动恒压供水监控系统论文_第5张图片

图 5.4 S3C2410系统电源设计
5.3.2S3C2410 USB接口设计
本系统的摄像头使用的是USB接口,S3C2410的USB接口属于USB1.1版本,最高支持12Mbit/s,在设计的过程尽量保持信号线的等长关系,以防止时间上有延迟。下图使用了AU9254芯片进行HUB,扩展为4个USB HOST接口,可以供更多的USB设备使用,其电路原理图如图 5.5 USB 接口原理所示。

自来水厂全自动恒压供水监控系统论文_第6张图片

图 5.5 USB 接口原理
5.3.3S3C2410 网络接口电路设计
在本系统中,S3C2410核心是以网络服务器的形式接入网络的,系统采用了10M网卡芯片CS8900,以提供更高的网络带宽供传输图像。网络接口电路原理图如图 5.6所示:

自来水厂全自动恒压供水监控系统论文_第7张图片

图 5.6 CS8900网络接口原

六 系统测试

10.1 ffmpeg测试

10.1.1查看支持的格式

运行./ffmpeg –formats可以查看所编译的ffmpeg支持哪些音频、视频文件,执行后会在终端上显示出相关信息(见图8.1)。

自来水厂全自动恒压供水监控系统论文_第8张图片

图8.1 ./ffmpeg –formats截图
从截图可以看出,所编译的ffmpeg已经支持数十种音频、视频文件,完全可以满足各种音频、视频应用。

10.1.2从视频文件中截图

ffmpeg源码包目录下有个test目录,里面有一个视频文件a-mpeg1.mpg。我们可以通过命令:./ffmpeg –I a-mpeg1.mpg lena.%d.jpg把a-mpeg1.mpg视频文件中的所而帧图像分解出来,分解后共得到了48帧图片,即这个视频文件由这48帧图像组成的。以下是运行命令后显示出来的信息(见图8.2),其中包括了视频文件的尺寸,帧率,码率,格式等等。
自来水厂全自动恒压供水监控系统论文_第9张图片

图8.2 从视频文件截图
以下是输出其中的一帧图像信息,如图 10.1所示

自来水厂全自动恒压供水监控系统论文_第10张图片

图 10.1 单帧图像信息

10.1.3用摄像头录像

使用摄像头录像可以使用命令:./ffmpeg –vd /dev/video0 –an output.mpg,其中参数-vd表示video device,后面跟视频设备的绝对路径。参数-an表示不录制声音,输出文件是output.mpg,ffmpeg可以根据后缀名来确定输出视频格式,这里是mpeg格式。执行命令后的截图如下:

自来水厂全自动恒压供水监控系统论文_第11张图片

图8.4 ffmpeg摄像头录像命令
从控制台终端的输出结果显示,摄像头相关属性有:视频尺寸160x128,格式yuv420p原始图像格式,帧率25fps,码率200kb/s。编码后的输出相关属性有:视频尺寸160x128,格式mpeg,码率257.6kbps。摄像头录像的截图如图 10.2所示:

自来水厂全自动恒压供水监控系统论文_第12张图片

图 10.2 摄像头录像截图

10.2 ffserver测试

10.2.1启动ffserver

ffserver 通常通过一个配置文件进行设置相关的参数,如缓冲文件的大小、输入视频的格式、编码率等等。配置文件以ffserver.conf为例,具体文件内容如下:
Port 8090
BindAddress 0.0.0.0
MaxClients 1000
MaxBandwidth 1000
CustomLog -
NoDaemon

自来水厂全自动恒压供水监控系统论文_第13张图片

图 10.3 载入视频流数据
10.2.3启动Windows Media Player进行远程监控
当用Windows Media Player打开URL地址http://192.168.0.94:8090/test.asx时,ffserver会监听到8090端口有主机访问,然后就会把采集到的图像数据传送给该主机,即实现服务器和客服端的通信。当ffserver监听到8090端口有访问时,终端会作如下的记录(见图8.6):

自来水厂全自动恒压供水监控系统论文_第14张图片

图8.7 网络监听到客服端口访问
这时,Windows Media Player就会显示摄像头的图像数据,由于S3C2410运算速度的问题,图像传输延迟在所难免。图 10.4是通过网络监控系统拍摄到的图片的缩截图。

自来水厂全自动恒压供水监控系统论文_第15张图片

图 10.4网络监控系统拍摄

10.3 测试注意事项

在测试过程中,需要注意一些细节事项,以保证测试顺利进行。
ffmpeg测试的进程中,应先熟悉其可用参数,可以执行./ffmpeg –help来查看更多的可用选项。
ffserver测试时需要注意的是,要事先确保ffserver.conf配置文件的准确性,除了语法上不能表达错误之外,还要保证参数的正确,如:输出尺寸不能是任意的,应该是一些标准的尺寸,如160x128,320x240等等,其他如100x90,300x200都是错误的。
在进行网络监控测试时,要注意ffserver和ffmpeg启动的先后顺序,前者要先启动。此外,该实验是在局域目前网内进行的,服务器要和客服端处于同一个网段,即IP地址的前三个字节要相同,否则无法收到图像数据。

七. 总结

经过两个多月的毕业设计,自己学习到很多东西。以前,学习嵌入式系统时,一直局限于理论,分析Linux内核原理,现在真正应用到实践当中才发现,理论固然重要,但也要根据实际的情况对问题进行分析才能最终找到答案。我感到很庆幸,06年初的时候就开始了嵌入式Linux的研究,虽然一直以来,受到的挫折很多,也曾经遇到过信心严重受打击的情况,但我没有放弃,一直坚持了下来。直到今天我才发现,以前的执着是对的,没有以前的努力,我不可能如此快的完成我的毕业设计。在经历了各种各样的比赛后,毕业设计将成为我在大学期间最后一次非商业化技术研究,在企业真正的实习后才发现,以前所做的一些作品和真正商业化的产品真的不可同日而语。商业化的产品必须要通过严格的测试,EMC、RoHS等等各种各样的认证和测试是必不可少的环节,这些也正是我以后所需要学习的,也算是我将步入社会工作的学习计划吧。

谢 辞

首先,我要感谢我的父母,及所有家人,感谢他们从小对我的信任和鼓励,才让我学会勇于面对人生的困难和挫折,是他们让我找到了自信。

感谢我的指导老师陈辉老师,还有龙操老师,王详老师。正是他们在大学期间,给予我很多技术上的帮助,还提供了良好的硬件平台,并且鼓励我参加多次全国各类比赛,是他们的支持才成就了我的今天,在此,我衷心的感谢他们!
同时,也感谢我的队友杨勇,感谢大学以来多次的合作,正是因为有一位志同道合的队友,我才一直保持着我对技术的兴趣和激情。

参考文献

[l]陈章龙,唐志强,涂时亮. 嵌入式技术与系统――Intel Xscale 结构与开发。北京:北京航空大学出版社,2004
[2]马忠梅,.ARM嵌入式处理器结构与应用。北京:北航空大学出版社,2002
[3]李洋,汪虎松等编著。Red Hat Linux9系统与网络管理教程。北京:电子工业出版社,2006
[4]孙纪坤,张小全编著。嵌入式Linux系统开发技术详解—基于ARM。北京:人民邮电出版社,2006.8
[5]李玉波,朱自强,郭军编著。Linux C编程。北京:清华大学出版社,2005.9
[6]周立功等编著。ARM嵌入式系统实验教程。北京:北京航空航天大学出版社,2004.11
[7]刘淼编著。嵌入式系统接口设计与Linux驱动程序开发。北京:北京航空航天大学出版社,2006.5
[8]青青,卢祖英译。Linux网络体系结构。北京:清华大学出版社,2006.7
[9]魏永明,耿岳,钟书毅译。Linux设备驱动程序。北京:中国电力出版社,2005.11
[l0]陈莉君,张琼声,张宏伟译。深入理解Linux内核。北京:中国电力出版社,2007
[l1]Jonathan Corbet,Alessandro Rubini,and Greg Kroah-Hartman,Linux Device Drivers, Third Edition.
Published by O’Reilly Media,Inc,1005 Gravenstein Highway North Sebastopol,CA95472
[l2]杨文志。深入Linux建构与管理。北京:人民邮电出版社,2000
[l3]Arthur Griffith.GCC:The complete Reference.USA:The McGraw-Hill Companies,Inc,2002.
[l4]Tom Swan.Tom Swan’s GNU C++ for Linux.USA:QUE Corporation,2000
[l5]周巍松等。Linux系统分析与高级编程技术。北京:机械工业出版社,1999.
[l6]徐严明等。Linux编程起步。北京:科学出版社,2000
[17]毛德操,胡希明著。Linux内核源代码情景分析·第1卷.杭州:浙江大学出版社,2001
[18]毛德操,胡希明著。Linux内核源代码情景分析·第2卷.杭州:浙江大学出版社,2001
[19]赵炯著。Linux内核完全注释。北京:机械工业出版社,2004.9
[20]陈莉君著。深入分析Linux内核源代码。北京:人民邮电出版社,2002.8

你可能感兴趣的:(单片机,嵌入式毕业设计,课程设计)