1、 深 圳 大 学 本科毕业论文 ( 20 届) 基于 ARM Linux 设备的远程控制设计 所在学院 专业班级 电子信息工程 学生姓名 学号 指导教师 职称 完成日期 年 月 深圳大学本科毕业论文(设计)诚信声明 本人郑重声明:所呈交的毕业论文(设计),题目 基于 ARM LINUX设备的远程控制设计 是本人在指导教师的指导下,独立进行研究工作所取得的成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明。除此之外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。本人完全意识到本声明的法律结果。 毕业论文(设计)作者签名: 日期: 年 月 日 目 录 摘要 (关键词
2、). 1 1.前言 . 2 1.1 研究背景 . 2 1.2 研究意义及发展趋势 . 2 1.3 论文概述 . 3 2.系统介绍 . 3 2.1 系统概述 . 3 2.2 Web 服务器主控模块 . 4 2.2.1 TCP IP 协议 . 4 2.2.2 串口通信 . 7 2.3 I2C 协议 . 8 2.3.1 I2C 协议概述 . 8 2.3.2 I2C 协议总线接口 . 8 2.3.3 ARM 平台的嵌入式 Linux 的 I2C 总线驱动设计 . 9 2.3.3.1 I2C 总线读写时序 . 9 2.3.3.2 Linux 下 I2C 总线驱动程序概述 . 9 3.PC 页面显示处理
3、. 10 3.1 静态页面 . 10 3.2 动态页面 . 12 3.3 动态网页语言 . 12 3.3.1 动态网页语言简介 . 12 3.3.1.1 ASP 简介 . 12 3.3.1.2 PHP 简介 . 12 3.3.1.3 JSP 简介 . 12 3.3.1.4 CGI 简介 . 12 3.3.2 ASP、 PHP、 JSP、 CGI 技术性能比较 . 13 4.基于 ARM 的嵌入式 Linux 系统 . 14 4.1 ARM 介绍 . 14 4.1.1 ARM 概述 . 14 4.1.2 ARM 体系结构特点 . 14 4.1.3 开发环境介绍 . 15 4.1.3.1 IPC-
4、SAMA5D34 概述 . 15 4.1.3.2 IPC-SAMA5D34 特性 . 16 4.2 嵌入式系统 . 16 4.2.1 层次结构概述 . 16 4.2.1.1 嵌入式硬件 . 17 4.2.1.2 嵌入式操作系统 . 17 4.2.1.3 支撑软件包 . 17 4.2.1.4 应用软件 . 17 4.2.2 嵌入式系统典型开发 模式 . 18 4.3 软件系统构建 . 18 4.3.1 基于 ARM 的嵌入式 Linux 交叉编译环境 . 18 4.3.2 ARM 的嵌入式 Linux 软件系统构成 . 19 5. Switch 模块 . 20 5.1 M23636 特性 . 2
5、0 5.2 M23636 应用 . 20 5.3 有源开关配置寄存器 . 21 5.3.1 概述 . 21 5.3.2 工作流程 . 21 6.总结与期望 . 22 参考文献 . 23 致谢 . 24 Abstract(Key words). 25 深圳大学本科毕业论文 基于 ARM Linux 设备的远程控制设计 第 1 页 共 25 页 基于 ARM LINUX 设备的远程控制设计 【摘要】 当前,嵌入式系统已经广泛渗透到人们生活工作的各个领域。同时,随着嵌入式处理器性能的不断增强,嵌入式系统的处理能力和应用范围越来越广,嵌入式操作系统逐渐成为嵌入式系统中最重要的组成部分。而在各种嵌入式操
6、作系统中, Linux 凭借其代码公 开、性能稳定、效率高等多方面的优势,在嵌入式系统中被广泛地采用认可。 基于 ARM的嵌入式 linux 系统近年也得到了巨大的发展, 呈现出蓬勃发展的趋势 , 利用 ARM 和 Linux作为开发平台越来越受到大众的欢迎。 嵌入式 Web服务器是嵌入式技术和网络技术结合的产物,是嵌入式技术网络化的一项重要应用。基于 http网络协议,本系统以嵌入式处理器 IPC-SAMA5D34为硬件平台核心, Linux操作系统作为嵌入式系统的软件平台, 通过浏览器实现对嵌入式设备的远程访问及控制,并通过 芯片 M23636实现了视频高速实时切换。其中, 本文重点对比介
7、绍了 web服务器监控、串口通信、 i2c这三种通信方式,讨论了利用何种动态网页语言 实现与 Web 服务器的动态交互,阐述了 M23636的特性、工作流程和有源开关寄存器控制传输信息的原理等相关知识。 【 关键词 】 嵌入式系统;远程监控; 网络协议; 视频切换 深圳大学本科毕业论文 基于 ARM Linux 设备的远程控制设计 第 2 页 共 25 页 1.前言 1.1 研究背景 嵌入式系统是一种以应用为中心,以计算机技术为基础,其软硬件可配置,可裁减,对功能、可靠性、成本、体积、功耗有严格约束的专用计算机系统。在当前数字信息技术和网络技术高速发展的后 PC时代,嵌人式系统已经广泛地渗透到
8、科学研究、 工程设计、军事技术、各类产业和商业文化艺术以及人们的日常生活等方方面面。随着信息技术的飞跃发展,嵌入式系统也将获得广阔的发展空间。 Linux是一个类 UNIX的操作系统,任何在 UNIX下能完成的功能在 Linux下也都可以实现。Linux是一个完整的多用户多任务操作系统,可以运行在如 Intel、 Alpha、 ARM等多种硬件平台上。在嵌入式领域中, Linux表现出强大而完备的性能,在短短的十几年中 Linux已经迅速发展成一个稳定、成熟的操作系统。当前,以 ARM体系结构为处理器和以 Linux为操作系统的嵌入式产品 已经在各行各业获得了广泛的应用。 linux系统已经成
9、为三大主流 OS之一,是最有发展前景的嵌入式 OS。 其优势主要体现在以下几点: 1、源代码公开,系统升级、软件移植方便 2、性能稳定、可靠 3、内核可裁剪,功能可定制 4、优秀的网络功能、支持多种文件系统 5、支持多种体系结构的硬件平台 近年来,传统上用于办公室和商业的以太网逐渐进入了基于嵌入式设备的控制领域。 Web技术可跨越诸多设备和系统在硬件和软件产品间做到即连即用,只需用 Web浏览器通过以太网和 TCP IP协议便可控制各种信息终端。客户机可任意设置 ,只要能连上 Internet并有权访问 Web服务器,便可控制现场有关信息,给维护和管理工作带来很大的方便。 而服务器端,能够提供
10、各种各样的强大的脚本运行环境,如 CGI、 ASP、 PHP和 JSP等。这为用户开发动态网页,发布实时和交互式信息提供了有力的技术支持。 1.2 研究意义及发展趋势 随着社会的进步和发展, 生活水平的逐步提高,人们对显示视频的需求量越来越大,在大球场、户外场等大型环境都随处可见。且人们对清晰度的要求也越来越高,逐步实现发展视频源的高速实时切换。不仅如此,现实生活中的视频源足够丰富,完全可以充 分利用。因此,对视频切换系统的深入研究具有现实意义和实用价值。 嵌入式系统作为专用计算机系统,和通用计算机相比,具有多紧缩型操作系统、软硬件结合紧密、独特多样化的外观等典型特点,广泛获得技术人士的一致认
11、可。 不仅如此,基于 ARM平台的嵌入式系统发展更是迅猛,在嵌入式处理器中处于领先地位,在通讯应用、工业控制等方面得到了良好的应用。目前,在系统硬件平台上,以 ARM 为代表深圳大学本科毕业论文 基于 ARM Linux 设备的远程控制设计 第 3 页 共 25 页 的嵌入式微处理器几乎覆盖传统工业控制从低端到高端的全部领域,甚至延伸到桌面和服务器系统,具有广阔的发展前景。 而基于 ARM的嵌入式 linux系 统近年也得到了巨大的发展, 呈现出蓬勃发展的趋势 。 嵌入式系统作为一种新兴系统有着很广泛的应用前景: 1、嵌入式产品与互联网应用相互促进,快速发展,嵌入式产品将成为互联网的主要终端之
12、一, 大量的服务于嵌入式产品的软件将会出现,并有专门服务于嵌入式产品的内容。 2、 随着微电子技术的快速发展,芯片功能更加强大, SOC( System on Chip)将成趋势,这不仅能降低成本,缩小产品体积,还将增强产品的可靠性。 同时,软件硬件的紧密结合,嵌入式软件与硬件界限更加模糊,嵌入式软件时常以硬件形态存在,这种方式可提高 实时性,增强可维护性。 3、 软件硬件的紧密结合,嵌入式软件与硬件界线更加模糊,嵌入式软件时常以硬件形态存在,这种方式可提高实时性,增强可维护性。 4、 嵌入式操作系统会与嵌入应用软件协同发展。昂贵的商用嵌入式操作系统在一定程度上抑制了嵌入式系统的更广泛应用。但
13、随着免费 Linux 操作系统的日趋成熟,嵌入式 Linux 将成为新的嵌入式操作系统的研发基础。 1.3 论文概述 为了便于读者了解整个系统的构成与流程,本论文的各部分内容和安排如下: 第一章为前言,主要介绍本文研究的背景、意义和发展趋势。重点阐述了 ARM-Linux嵌入式系统所特有的优势。 第二章主要介绍本系统的总体设计目标,结构原理及模块组成,重点分析对比了模块与模块之间的通信方式,并选择最优方案。 第三章简单描述了 PC的静态页面显示,以当今流行的动态网页开发技术为背景,重点介绍了 ASP、 PHP、 JSP和 CGI动态网页开发技术各自的特点,对比总结了各种开发技术的性能。 第四章
14、简要介绍了基于 IPC-SAMA5D34的 LINUX嵌入式系统的主要特点、优势、开发环境等。详细介绍了如何构建基于 arm的嵌入式 Linux交叉编译环境。 第五章主要介绍基于 M23636芯片实现视频高速实时切换的 的 Switch模块,阐述了 M23636特性、工作流程和 M23636有源开关寄存器控制传输信息的原理等相关知识。 第六章为总结和展望,指出了在研究过程遗留的问题和期待完善的地方。 2.系统介绍 2.1 系统概述 本系统以 IPC-SAMA5D34芯片和 M23636开关交换器为背景,将 Web服务器移植到接入网络的 arm-linux嵌入式设备后,基于 TCP IP标准协议
15、的 Web服务器实现,基于 HTTP协议的 B S通信模式,基于 HTML标准的用户控制界面,借助浏览器对远端的嵌入式设备进行监测 和控制,深圳大学本科毕业论文 基于 ARM Linux 设备的远程控制设计 第 4 页 共 25 页 并由 I2C控制,通过芯片 M23636开关交换器实现高清视频的实时切换。 系统流程图如图 1 所示。 图 1 系统流程图 2.2 Web 服务器主控模块 嵌入式 Web服务器的主要功能是嵌入式设备在接收到客户端浏览器的 HTTP请求后,对其响应,并将请求内容返回给客户端。具体表现在 1: 1、客户可以根据自己的需要完成服务器的启动与关闭。 2、当 Web 服务器
16、运行时,对客户请求进行监听;当有客户请求时,将请求传送给 HTTP会 话模块,服务器继续进行监听。 3、当请求传送给 HTTP会话模块后, HTTP会话模块完成对静态页面处理模块和动态页面处理模块的调度。 4、日志功能,实现日志的记录与维护,对服务器启动、服务器关闭、客户请求的 IP地址 /端口号、请求资源类型等进行记录。 2.2.1 TCP IP协议 TCP IP 协议是 HTTP 协议的基础, HTTP 实现客户与服务器之间的请求和响应 ,而 TCPIP 实现了底层的数据传输。 TCP IP是一个协议集合,其核心功能是寻址和路由选择以及传输控制。 TCP IP协议体系结构模型如图 2所示。
17、 深圳大学本科毕业论文 基于 ARM Linux 设备的远程控制设计 第 5 页 共 25 页 图 2 TCP IP 协议体系结构模型 2.2.1.1 HTTP 协议 超文本传输协议 HTTP(HyperText Transfer Protocol)是一种 应用级 通信协议,它允许将超文本标记语言 (HTML)文档从 Web服务器传送到客户端的浏览器 。 它适应分布式超媒体协作系统对灵活性及速度的要求。它是一个简单灵活、无状态、无连接、基于 Client Server模式的协议。其传输过程为 2: 我们输入 URL后,我们的浏览器给 Web服务器发送了一个 Request, 并 有可能经过了代
18、理服务器 , Web服务器接到 Request后进行处理,生成相应的 Response,然后发送给浏览器, 浏览器解析 Response中的 HTML,这样我们就看到了网页 。 HTTP协议传输过程如图 3所示。 图 3 HTTP 协议传输过程 HTTP 消息的结构: HTTP 消息由客户端到服务器的请求和服务器到客户端的响应组成。客户端和服务器之间的信息传递是通过消息来进行的,请求消息是客户端向服务器发送的用于请求服务器提供服务的消息。响应消息是服务器接到客户端请求后返回给客户端的消息。 1客户端请求 (Request): HTTP请求由 3部分组成,分别是:请求行、消息报头、请求正文。且消
19、息报头和请求正文之间有个空行,结构如图 4所示。 图 4 客户端请求结构图 第一行中的 Method 表示请求方法 ,Path-to-resource 表 示请 求 的 资 源 ,Http/version-number 表示 HTTP 协议的版本号 。常见的请求方法如表 1 所示: 表 1 常见请求方法 浏览器 Web 服务器 代理服务器 Request Response Request Response 深圳大学本科毕业论文 基于 ARM Linux 设备的远程控制设计 第 6 页 共 25 页 请求方法 含义 GET 向服务器请求用 URL 标识的资源对象,使用最为普遍 HEAD 向服务器
20、请求资源对象的元信息,服务器不向客户端传送主题内容 POST 向服务器传送 数据,常用于 HTML 表单 PUT 创建或替换服务器端资源 DELETE 删除服务器端资源 2、服务器端响应 (Response): HTTP 响应由 3 个部分组成。分别是:状态行、消息报头、响应正文。 且消息报头和响应正文之间有个空行,结构如图 5 所示。 图 5 服务器端响应结构图 其中, HTTP-Version -numbe表示服务器 HTTP协议的版本号; Status Code表示服务器发回的响应状态码。 状态码表示服务器是否成功地满足了客户的请求。 它 由三位数字组成,第一个数字定义了响应的类别 。
21、常见状态 码如表 2所示: 表 2 常见状态码 状态码 含义 1xx 收到请求,继续处理 2xx 接收成功,理解请求并给出响应 3xx 重定向,要完成请求必须更进一步的处理 4xx 客户端错误,请求 有语法错误或请求无法实现 5xx 服务器端错误,未能实现合法的请求 HTTP 协议并没有规定必须使用 TCP/IP 协议,也没有规定必须使用基于 TCP/IP支持的层。从本质上说, HTTP 协议可以在任何其他互联网协议上实现。 HTTP 协议假定其下层协议提供可靠性的传输,任何能够提供这种保证的协议都能够被其使用。现在 TCP/IP 协议在互联网应用上非常流行, HTTP 使用 TCP 而不是 UDP 的原因在于打开一个网页必须传送很多数据,而 TCP协议提供传输控制,按顺序组织数据和错误纠正。 2.2.1.2 SNMP协议 SNMP( Simple Network Management Protocol)即简单网络管理协议,它是为网络管理服务而定义的应用层通信协议。 SNMP 被设计成与协议无关,所以它可以在 IP, IPX,AppleTalk, OSI 以及其他用到的传输协议上被使用。 其特点是: