(控制理论与控制工程专业论文)基于wince的短距离无线通讯系统的设计.pdf_第1页
(控制理论与控制工程专业论文)基于wince的短距离无线通讯系统的设计.pdf_第2页
(控制理论与控制工程专业论文)基于wince的短距离无线通讯系统的设计.pdf_第3页
(控制理论与控制工程专业论文)基于wince的短距离无线通讯系统的设计.pdf_第4页
(控制理论与控制工程专业论文)基于wince的短距离无线通讯系统的设计.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(控制理论与控制工程专业论文)基于wince的短距离无线通讯系统的设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

i 摘 要 随着计算机技术的飞速发展,各类计算机设备特别是嵌入式设备被大量的应用 到社会生活中,在享受计算机设备所带来便捷的同时,人们逐渐注意到该如何实现 各类设备的互联互通,这也是迫切需要解决的问题。 目前绝大部分设备之间的连接仍然采用有线的方式,有时需要使用复杂的线缆 把一些设备连接起来,这显得非常的不便,因此我们希望借助于一种无线的方式对 设备进行连接。本文利用射频技术组成无线网络,实现无线网络中的嵌入式设备与 其它设备的信息传输,以无线方式来代替传统网络中错综复杂的电缆。 本文采用nrf401作为无线通讯的传输模块,无线通讯的一方是用户端信息处理 系统,它以单片机为核心;无线通讯的另一方是控制端信息处理系统,以arm为硬 件核心,操作系统采用wince。本文重点研究了嵌入式无线通讯平台的软硬件实现 方法、实现关键技术环节以及基于单片机的应用系统设计。在硬件系统方面,重点 讨论了嵌入式微处理器和外围扩展接口硬件选型、相互之间的连接方式,单片机串 口及spi接口应用;在软件功能方面,重点论述了在以arm为核心的电路板上如何实 现bootloader、wince内核裁减及移植、流接口驱动程序及基于evc的应用程序设 计。最后,对系统平台进行了整体测试,结果表明系统各硬件模块工作正常,软件 驱动程序和应用程序运行正常,基本功能实现。 关键词:关键词:wince;射频;无线通讯;嵌入式系统 ii abstract with the rapid development of computer technology, many kinds of computer devices, especially embedded devices, are applied in many aspects of our life. on one hand, people are enjoying the convenience brought by the computer devices; on the other hand, more and more people become aware of that it is really a compressing problem to solve the communication among different devices. now most devices are connected by cable. however, it is very uneasy to connect some devices in special circumstance. therefore, we hope to take the way of wireless connection instead of cable. in this thesis, rf technology is used to implement wireless connection. over the wireless network, embedded systems transfer information to other systems, and a lot of cables are replaced with wireless. the main part of this thesis is to implement the communication between receiving/transmitting chips based on nrf401, one of the communication ends is client information system using mcu as core, the other one is terminal device that can operate information using arm9s3c2440 as core and wince as embedded operating system. the main important research is how to design hardware and software of the embedded system and how to design system based on mcu. about hardware design, we mainly finish the interface connecting arm with the serial and spi interface of mcu. about software design, we mainly finish making bootloader, selecting wince component, and modifying stream interface driver. we also code interface of serial by evc. in the end, we test the whole system, the result shows that all the hardware works well and the software acts as expected. keywords:windows ce;radio frequency;wireless communication; embedded system 独创性声明 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工 作及取得的研究成果。尽我所知,除文中已经标明引用的内容外,本论 文不包含任何其他个人或集体已经发表或撰写过的研究成果。 对本文的 研究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意 识到本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、 使用学位论文的规定, 即: 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版, 允 许论文被查阅和借阅。 本人授权华中科技大学可以将本学位论文的全部 或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描复制 保存手段和汇编本学位论文。 保 密 ,在 年解密后适用本授权书。 本论文属于 不保密 。 (请在以上方框内打“”) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 1 1 绪 论 1.1 引言引言 近十年来,微处理器技术取得了突飞猛进的发展,不论是种类还是成本,其变 化之快都令人目眩。在这10年中,用于众多微处理器通讯的网络技术发展也比较快。 网络技术是指采取一定的通讯协议,将分布在不同地点上的多个独立系统,通过互 联通道连接在一起,从而实现数据和服务共享的技术。网络技术,是现代计算机技 术与通讯技术相结合的产物。目前广泛应用的网络系统有internet,以及大大小小的 企业lan等,每个网络都是由不同的要素(软件与硬件)所组成的系统。一个网络 通常由三个组成部分组成:可以共享的网络资源;提供网络传输的通道;保证通讯 的协议,这三部分又常称为网络三要素1。 像信息技术的许多行业一样,无线通讯行业也在迅速地发展,其前进的驱动力 来自协议与标准,它们提供了越来越大的带宽,并把声音、数据和视频会议聚到了 一个网络里。无线通讯技术分为固定无线技术与移动无线技术,固定无线技术的基 本定义是指在发射器和接收器位于固定位置(例如家庭或者办公室)的环境下所使 用的一切无线技术;移动无线技术被称为基本蜂窝电话服务,它的发展经历了1g、 2g、2.5g和3g几个阶段。另外,短距离无线网络技术是市场应用的一个热点,目前 主要有基于802.11体系结构的wlan1。 无线网络技术在一些行业中正发挥着日益重要的作用,在发达国家,无线网络 得到了极为广泛的应用,特别是应用于服务行业,而服务行业的产值在国民生产总 值中所占有的比重越来越高,各国都十分重视服务行业的发展。网络技术对于提高 劳动生产率,促进服务行业的产业升级,提高竞争力具有十分重要的意义。由于一 个网络就是一个多要素组成的系统,这些网络系统大的有internet,小的如蓝牙网络 等。在组建网络时需要综合考虑到网络多要素组成等方面的因素,我们可以采用系 统科学和系统工程的方来研究网络系统1。 2 1.2 嵌入式系统技术的特点与发展 1.2.1 嵌入式系统的特点 嵌入式系统(embedded system)是将先进的计算机技术、半导体工艺、电子技 术和通讯网络技术与各领域的具体应用相结合的产物,是以应用为中心和以计算机 技术为基础的,并且软硬件是可裁剪的,能满足应用系统对功能、可靠性、成本、 体积、功耗等指标的严格要求的专用计算机系统,其目的就是要把一切变得更简单、 更方便、更普遍、更适用。它的硬件和软件都必须高效率地设计,量体裁衣、去除 冗余,力争在同样的硅片面积上实现更高的性能2。 嵌入式系统通常以下几大部分组成。 (1)嵌入式处理器:嵌入式处理器是嵌入式系统的核心部件,它与通用处理器 的最大不同点在于嵌入式处理器大多工作在为特定用户群设计的系统中,它通常把 通用系统中许多由板卡完成的功能集成在芯片内部,从而有利于嵌入式系统设计趋 于小型化,并具有高效率、高可靠性等特点2。 (2)嵌入式外围设备:指嵌入式硬件系统中除了中心控制部件(mcu,dsp,soc) 以外的完成存储、通讯、保护、调试、显示等辅助功能的其他部件,随着嵌入式系 统应用的不断扩大,其外围设备类型也在不断增加2。 (3)嵌入式操作系统:在嵌入式大型应用中,为了使嵌入式开发更方便、快捷, 就需要具备相应的管理存储器分配、中断处理、任务间通讯和定时器响应,以及提 供多任务处理等功能的稳定、安全的软件模块集合,即嵌入式操作系统。嵌入式操 作系统的引入大大提高了嵌入式系统的功能,方便了嵌入式应用软件的设计,但同 时也占用了宝贵的嵌入式资源,所以一般在比较大型或需要多任务的应用场合才考 虑使用嵌入式操作系统2。 (4)嵌入式应用软件:嵌入式应用软件是针对特定的实际专业领域的,基于相 应的嵌入式硬件平台的,并能满足用户要求的时间和精度要求,完成用户预期任务 的计算机软件。由于嵌入式应用对成本十分敏感,因此为了减少系统的成本,除了 精简每个硬件单元的成本外,还要求嵌入式应用软件在保证正确性、安全性、稳定 3 性的前提下尽可能地优化,减少资源消耗2。 1.2.2 嵌入式系统的现状与发展趋势 嵌入式系统可以被定义为:以应用为中心,以计算机技术为基础,软件硬件可 裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系 统3。嵌入式系统是面向用户、面向产品、面向应用的,是定制的系统,它的发展依 赖于特定的应用背景。因此在设计实现特定功能的嵌入式系统的过程中,设计者对 系统硬件和软件的设计开发都注重考虑具体应用环境的因素,如系统功耗、体积、 成本、稳定性、速度、处理能力、电磁兼容性等方面。因此,有别于通用计算机, 嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣,去除冗余,力争在同样 的硅片面积上实现更高的运算速度和更可靠的稳定性2。 为实现系统硬件的高效率设计,设计者会根据实际应用要求,选择不同型号的 芯片。设计人员具体设计时,根据不同应用领域的要求,选择不同的微处理器,比 如intel公司的pxa270型处理器为多媒体娱乐等应用设置了特定的硬件资源使得它更 多应用在多媒体处理领域; cirrus公司推出的ep9315由于其内部资源独特使得其更适 合用在工控领域2。 在嵌入式操作系统方面,它的种类繁多,大体上可分为商用型和免费型。目前 商用型操作系统主要有vxworks、wince、palm os、lynxos、qnx等,它们的优 点是功能稳定、可靠、有完善的技术支持和售后服务,而且提供了入图形用户界面 和网络支持等嵌入式系统要求的高级功能;缺点是要支付相关费用2。免费型则以 linux为代表,它们在价格方面具有很大的优势。下面将具体比较wince和linux的 主要优缺点。 (1)wince 操作系统 microsoft windows ce 是针对有限资源的平台而设计的多线程、完整优先权、 多任务的操作系统,但它不是一个硬实时操作系统。高度的模块化是 wince 的一 个特性,这使得它适合于各类电子系统的功能定制与实现。wince 操作系统的基 本内核至少需要 200k 的 rom。 4 wince最大的特点是能提供与pc机类似的图形界面和类似的应用程序, 这样, 只要是对 pc 机的 windows 操作系统比较熟悉的用户, 就能很快地使用基于 wince 嵌入式操作系统的嵌入式设备2。 (2)linux 操作系统 linux 类似于 unix,是一种免费的、源代码完全开放的、符合 posix 标准规 范的操作系统。linux 拥有现代操作系统所具有的内容:真正的抢先式多任务处理, 支持多用户、内存保护、虚拟内存,支持对称多处理机 smp(symmetric multi-processing),符合 posix 标准,支持 tcp/ip,支持绝大多数的 32 位 cpu2。 1.3 本论文的研究背景及发展现状本论文的研究背景及发展现状 本论文研究基于wince的短距离无线通讯网络的组成,针对当前的许多无线通 讯技术,下面将介绍几种流行的无线通讯网络3。 (1)红外数据通讯:红外通讯一般采用红外波段内的近红外线,波长在0.75微 米至25微米之间。红外数据协会(irda)成立后,为了保证不同厂商的红外产品能够 获得最佳的通讯效果,红外通讯协议将红外数据通讯所采用的光波波长的范围限定 在850nm至900nm之内3。 (2)家庭射频(homerf)技术:它是无绳电话技术(数字式增强型无绳电话或者 简称为dect)和无线局域网(wlan)技术相互融合发展的产物。wlan ieee802.11 采用csma/ca(载波监听多点接入/冲突避免)方式,特别适合于数据业务;而dect 使用tdma(时分多路复用)方式,特别适合于话音通讯,将二者进行融合构成家庭射 频使用的共享无线应用协议(swap:shared wireless access protocol)。swap用 tdma+csma/ca方式,适合话音和数据业务,并且特地为家庭小型网络进行了优 化3。 (3) 射频(radio frequency,rf)技术: 使用几个特定频率中的一个频率传输数据, 主要是指ism(industrial scienific medical)频段, 对这些频段的使用不需要经过通讯委 员会的许可便可直接使用,这些频率的工作范围包括433.92mhz-434.32mhz, 902mhz-928mhz, 2.4ghz-2.4853ghz。在中等衰弱的建筑物中,rf信号一般可以穿 5 透一到三堵墙,它可以用于室外、开放或者封闭的室内3。 (4)蓝牙技术:它随着现代通讯技术和家用电子电器的发展。无论办公室还是 居室到处都充满了各种各样的电缆。为解决有线电缆固有缺点如使用不便、连线频 出故障、各种电缆之间不通用等诸多伤脑筋的问题,“蓝牙”技术应运而生。所谓蓝 牙技术,是一种低功率短距离的无线链接技术标准的代称,其实质是要建立通用的 无线空中接口及其控制软件的公开标准,使通讯和计算机进一步结合,使不同厂家 生产的便携式设备在没有电线或电缆相互连接的情况下,能在近距离范围内具有互 用、互操作的性能3。 通过上面的描述,可以看出irda技术适用于传输速率高、使用次数少、移动范 围小的设备,如打印机、扫描仪和数码相机等。ieee802.11标准适用于传输距离长、 速度要求高的应用,它主要面向大规模工业和商业方面的应用;蓝牙技术面向的是 小范围的移动设备,从技术本质上来说,它是一种电缆替代技术,它适合在嵌入式 的便携设备中使用。可以说,它们都有各自的优点和缺点。 红外线技术的优点是信道干扰少,无需向无线电管理委员会申请频段;缺点是 红外线是直线传输。相比而言,射频技术具有很大的优势,由于无线射频具有穿透 能力, 数据传输不易受阻挡, 布线简单, 而且射频技术的收发距离比红外线的要远4。 本论文采用了射频技术来传输数据,选用了nrf401射频传输芯片。nrf401是一 种抗干扰强,频率稳定性好的无线射频模块,数据传输率最高可达20kb/s,该模块 具有较强的抗干扰性和较高的数据传输率,并且价格低,因此本文中所建立的无线 通讯系统采用了这个通讯模块5。此无线通讯系统可以被广泛的应用到生活中,比如 说餐饮业、智能机器人控制等6。 1.4 本文的主要研究工作本文的主要研究工作 本论文的主要工作是设计出无线通讯网络中相关设备的软硬件平台,在硬件平 台设计的前提下,使无线网络中的嵌入式设备和其它设备进行可靠的通讯,以达到 信息无线传输的目的。 本文采用nrf401作为无线通讯的传输模块,无线通讯的一方是用户端信息处理 6 系统,它以单片机为核心;无线通讯的另一方是控制端信息处理系统,它以arm为 硬件核心,wince为嵌入式操作系统7。本文重点研究了嵌入式无线通讯平台的软 硬件实现方法、实现关键技术环节以及基于单片机的应用系统设计。在硬件系统方 面,重点讨论了嵌入式微处理器和外围扩展接口硬件选型、相互之间的连接方式, 单片机串口及spi接口应用;在软件功能方面,重点论述了在arm开发板上实现 bootloader和wince内核裁减及移植、流接口驱动程序及基于evc的应用程序设计。 最后,对系统平台进行整体测试,看系统各硬件模块软件驱动程序和应用程序是否 运行正常。 7 2 嵌入式短距离无线通讯系统的总体设计 2.1 系统的整体结构图 2.1.1 无线传输模块简介 控制端信息处理系统与各用户终端系统之间以无线数据传输方式传送控制信息 或数据信息,无线通讯采用以nrf401射频收发芯片为核心构成。芯片内包含有发射 功率放大器、低噪声接收放大器、晶体振荡器、锁相环、压控振荡器、混频器等电 路,工作频率为ism频段433mhz,采用fsk调制解调、晶体振荡和pll频率合成技 术,接收灵敏度为-105dbm,发射功率为10dbm,待机状态电流消耗非常小。在接收 模式中,射频输入信号被低噪声放大器放大,经由混频器变换,这个被变换的信号 在送入解调器之前被放大和滤波,经解调器解调,解调后的数字信号在dout端输出。 在发射模式中,压控振荡器的输出信号是直接送入到功率放大器,din端输入的数字 信号被频移键控反馈送到功率放大器输出。 nrf401可方便地嵌入在各种测量和控制系统中,尤其在车辆监控、无线抄表、 无线数据通信、计算机遥控遥测等系统中得到了广泛应用。相比于nrf903等其它射 频模块,nrf401性价比更高,能很方便的嵌入到本文的嵌入式微处理器中,所以选 择了nrf401为无线传输模块。 2.1.2 系统结构图 系统由用户端信息处理系统与控制端信息处理系统两部分构成,用户端信息处 理系统与控制端信息处理系统通过无线方式连接,无线传输模块采用 nrf401。系 统结构如图 2-1 所示, 控制端信息处理系统采用嵌入式处理器 arm, 它的硬件以核 心板与扩展板结构构成,软件部分包括 bsp 开发与应用程序的开发。用户端信息处 理系统的硬件以单片机为核心,软件部分包括键盘输入、led 显示、信息的无线通 讯控制等的功能实现。 在硬件设计中, nrf401 与 arm、 单片机都是采用串口连接。 8 用户端信息处 理系统 应 用 程 序(串 口、用 户 图 形 界面、网 络 接 口) 操 作 系 统(内 核、驱 动) 硬件核心板(微处理芯片、存储 单元、jtag) 控 制 端 信 息 处 理 系 统 硬 件 部 分 软 件 部 分 nrf401 图 2-1 系统结构框图 2.1.3 无线通讯的协议 由于是无线通讯,数据可能在传送过程中丢失,当用户端系统不断传送数据时, 控制端系统后面收到的数据会覆盖前面收到的数据,造成传送失败,因此必须制定 通讯协议来保证通讯的正常。 系统的具体实现方法为:一方发送数据后,另一方必须返回一数据,表示数据 收到,在确定收到的前提下,系统再继续发送数据。本系统没有考虑太复杂的通讯 情况,因此只制定了最基本的通讯协议。 2.2 控制端信息处理系统的设计 控制端信息处理系统的硬件以三星公司的 s3c2440 为核心,wince 为操作系 统组成8。由于嵌入式系统的复杂性很高,调试往往很复杂,所以软硬件的协调设 计就显得很重要,一般采用软件和硬件配合调试,针对某一具体硬件芯片的测试代 码来测试硬件。本次设计的具体流程如图 2-2 所示,首先进行系统需求分析,根据 系统所要实现的功能来进行软硬件功能分配9,控制端系统功能主要是利用串口来 控制 nrf401,其次,软硬件设计并行开展,wince 下的应用软件开发是可以完全 脱离开硬件进行的,这样可以缩短开发周期,提高开发效率。接下来,在硬件电路 9 制板完成后,在硬件电路上加载、调试 bootloader,通过 bootloader,编写一些具 体硬件芯片的测试代码来测试硬件电路。在硬件电路调试完成后,利用 bootloader 引导 wince 内核加载,然后在 wince 内核上加载驱动程序,在完成驱动程序及 oal 层的开发的基础下,最后着手应用程序的开发,实现系统功能。 系 统 规 格 硬 件 设 计 基 于 wince 的 应 用 程 序 开 发 硬 件 调 试 加 载 bootloader 调 用 内 核 调 用 驱 动 程 序 调 用 应 用 程 序 图 2-2 arm9 设计流程图 arm 微处理器目前包括 arm7、arm9、arm9e、xscale 等几个系列,以及 其它厂商基于 arm 体系结构的处理器,除了具有 arm 体系结构的共同特点以外, 每一个系列的 arm 微处理器都有各自的特点和应用领域10。 arm9 系列微处理器在高性能和低功耗特性方面提供最佳的性能,它具有以下 特点11:(1)5 级整数流水线,指令执行效率更高。(2)提供 1.1mips/mhz 的哈 佛结构。(3)支持 32 位 arm 指令集和 16 位 thumb 指令集。(4)支持 32 位高 速 amba 的总线接口。(5)全性能的 mmu,支持 windows ce、linux 等各种主 流嵌入式操作系统。(6)mpu 支持实时操作系统。(7)支持数据 cache 和指令 10 cache,具有更高的指令和数据处理能力。 arm9 系列微处理器主要应用于无线设备、 仪器仪表、 安全系统、 高端打印机、 数字照相机和数字摄像机等。arm9 系列微处理器包含 arm920t、arm922t 和 arm940t 三种类型,以适用于不同的应用场合11。 本设计中采用的是 arm920t 核, arm920t 是 arm920tdmi 一族的通用微处 理器,它在 arm920tdmi 核的基础上增加了 cache(缓存)和 mmu(内存管理单 元)11。本文中的设计采用三星公司的 arm9 内核的 s3c2440 芯片来开发完成。 相比于其它 arm9 处理器,s3c2440 运行频率更高,可以达到 499mhz,使用 资源更丰富, 它可以利用引脚扩展出 can 总线接口, 也可以嵌入 2d 图形加速芯片, 加入图形加速芯片后,系统的显示能支持 crt 显示,并且分辨率能达到 1024*768, 这些对今后系统的功能扩展很有作用,所以选择了三星公司的 s3c2440。 2.3 用户端信息处理系统的设计 客户端信息处理系统采用以单片机为核心构成。 市场上单片机种类很多,由于系统要求具有扩展 can 接口的功能,所以选择 了性价比较很高的 c8051f040 单片机。相比于其它单片机,c8051f040 内部集成有 bosch can 控制器,它兼容 can 技术规范 2.0a 和 2.0b。其主要由 can 内核、 消息 ram(独立于 cip-51 的 ram) 、消息处理单元和寄存器组成。整个硬件结构 图如图 2-3 所示,系统由下面几个部分组成:(1)c8051f040:8bits mcs-51 核单 片机。(2)系统时钟:由外部 11.0592m 晶振提供。(3)zlg7289:矩阵按键及 led 显示译码器。(4)nrf401:无线收发芯片。 com0 p1 com1 图 2-3 硬件结构图 c8051f040 处理器 pc nrf401 收 发 器 zlg7289 驱动芯片 11 系统以 c8051f040 为核心,串口 0 连接到 pc 端以方便调试串口,并显示控制 端发送过来的数据,串口 1 连接到 nrf401 射频模块,p1 口控制 zlg7289 显示译 码驱动芯片。由于只是功能的模拟,因此输入信息的方式是通过矩阵按键,利用按 键的组合可以模拟一些信息;信息的显示采用最简单的 led 方式,显示控制信息 端传送来的数字信息。 12 3 基于 wince 的控制端信息处理系统设计 3.1 硬件设计及电路结构 硬件电路是基于含 arm920t 核的三星 s3c2440 进行设计的, s3c2440 支持多种 外围电路接口模式,硬件电路的设计根据功能需要对其进行了适当的裁减,比如系 统中不需要摄像、 大容量信息存储等功能, 所以硬件设计中也没有进行 sd 卡、 cam 接口的相应电路设计。 3.1.1 总体硬件设计 如图 3-1 所示, 整个硬件电路由下面几个核心部分组成:(1) s32440: 16bits/32bits arm920t 核。(2) 系统时钟: 由外部 24m 晶振提供。(3) sdram: 64mbits(32mbits2) 内存芯片。(4)nandflash:64mbits 存储器。(5)norflash:2mbits 存储器。(6) 3 通道 uart。(7)10/100m 以太网。(8)1 个 usb 主控制器,一个 usb 设备控 制器。(9)tft lcd 可扩展触摸屏。(10)spi 接口。 图 3-1 硬件电路组成框图 3.1.2 部分模块功能结构 下面具体分析一下组成最小系统的部分模块的功能和结构。 (1)时钟 s3c2440 的时钟由外部的晶振提供,通过内部的 pll,产生 mpll 和 upll 信号。 s3c2440 处理器 串口 lcd 接口 usb 接口 网络接口 jtag 接口 norflash 接口 nandflash 接口 sdram 接口 13 这两种信号和输入晶振的关系为 mpll (upll)=(m*fin)/(p*2s),其中 m=m+8, p=p+2, s=s, fin 为输入晶振,m、p、s 可在 pll 的配置寄存器里直接配置,从 upll 导出 uclk,mpll 导出 fclk、hclk、pclk。 s3c2440 的 om3、om2 引脚可以决定系统的时钟选择方式,本系统中 om3 和 om2 都接低电平,表示 mpll=xtal,upll=xtal12。 (2)电源管理 硬件电路由直流 12v 电源供电,电路板上有+12v、+5v、+3.3v、+1.8v 四种 电压, 首先通过lm2576将+12v稳压到5v, 再通过lm1117-3.3将+5v稳压到+3.3v, 最后通过max3869将+3.3v稳压到+1.8v, 其中, s3c2440的arm核需要供电+1.8v, s3c2440 的外围接口和挂在总线上的设备,如 sdram 等都为+3.3v 供电,而像串 口、usb,lcd 接口等都是+5v 供电,通过一个 rc 电路在电源旁引出一个复位信 号,作为开发板上的硬复位2。 (3)jtag 接口 仿真器 mufti-ice 通过 20 针的扁平电缆同电路板的 jtag 接口相连, 主要通过 测试数据输入(tdi )、 测试数据输出(tdo)、 测试时钟(tck)、 测试模式选择引脚(tms) 和异步测试复位引脚(trst)组成。在本系统中需要通过 jtag 接口烧写 bootloader 程序2。 (4)norflash 硬件电路采用了 16 位的 2mbit 的 am29lv800,地址空间被映射到 s3c2440 存 储空间的 bank0 上,硬件通过 s3c2440 的 ngcs0 引脚选中。本系统采用 norflash 启动方式,s3c2440 会默认的从 bank0 的基地址开始运行,bootloader 等引导代码 放在 norflash 中,上电后自动运行。 (5)nandflash nandflash 和 norflash 的作用相同,可以放引导程序或大型的数据和代码。 nandflash 地址空间被映射到 s3c2440 存储空间的 bank7 上,通过设置 s3c2440 的 om1:0硬件引脚可以选择是用 norflash 启动还是用 nandflash 启动 bootloader: 当 om1:0=00 时,系统从 nandflash 启动;当 om1:0=01(16bit)或 10(32bit)时, 14 从 norflash 启动。 当 nandflash 做引导用时,上电或重启后,nandflash 的头 4k 字节代码将复制 到s3c2440内部的4k字节的sram中并执行, 接着, 后续的代码将被复制到sdram 中。nandflash 与 norflash 相似,但还是有所区别:nandflash 的数据线和地址线 是复用的,而 norflash 中二者是分开的;nandflash 只支持单位为页的写操作,而 不像 norflash 使用字写入的操作;nandflash 采用了硬件纠错码(ecc)可以更好地 验证数据的有效性13。在硬件电路的设计上同时设计了两种 flash,可以根据需 要只用其中一种就可以正常工作,另一种可以根据需要保留以作大容量存储时的扩 展14。电路如图 3-2 所示: 图 3-2 nandflash 电路 (6)sdram s3c2440 带有存储器控制器,可以为多种存储器提供控制信号,它具有如下特 点:1)支持大端、小端口模式。2)寻址空间:每段(bank) 128m 字节,8 段一共可以 寻址 1gb。3)除 0 段外其它段的入口大小(8/16/32 位)可编程。4)8 个段中,6 个可分 配给 rom,sram 等,两个可分配给 rom,sram,sdram 等。5)灵活的段起 始地址和可编程的段大小。6)支持 sdram 的自刷新和节电模式。 设计中采用现代的两片 32mb 的 sdram hy57v561620ct-h 扩展成 64mb, 15 32bits 来做 arm 的内存使用。这款 sdram 内部包括 4 个段,每段由 8k 行和 512 列组成,支持自刷新模式,每 64 毫秒刷新 8192 次14。 电路如图 3-3,图 3-4 所示: 图 3-3 flash 低 16 位电路 图 3-4 flash 高 16 位电路 (7)通用异步串行接口 s3c2440 中含有两个基于 dma 或中断的 uart 模块,还有一个支持红外的 uart 模块。uart 模块发送和接收的数据帧是可编程的,它包括一位开始位,5 到 8 位数据位,1 位可选的奇偶校验位,1 到 2 位停止位,这些可通过 ulcon 寄 存器进行配置11。硬件设计中 com1 的功能主要是调试时使用,它与 pc 连接,输 出相应调试信息,以此来调试系统启动程序及驱动程序。com0 与 nrf401 连接, 应用程序来控制 nrf401,进行信息的收发。在三星公司给出的参考应用电路中 com3 用于 irda 的通讯接口,本次硬件设计中没有使用 com3。com0 与 com1 的硬件电路设计类似, 都使用了 max3232 芯片。 max3232 是双通道的符合 rs232 标准的驱动器和接收器, 串口的接口电路图如图 3-5 所示, 串口 0 和串口 1 只是 tx 和 rx 的引脚连接不同。 16 图 3-5 uart 电平转换电路 (8)usb 通用串行总线(usb)是一种新兴的计算机外围串行通讯接口标准,它克服了传 统计算机串/并口的缺陷,具有热插拔,即插即用,数据传输可靠,扩展方便,低成 本等优点,已成为当前计算机必备接口之一,同时也被广泛的应用到嵌入式系统设 计中。 usb 接口分为 usb 主机(host)和 usb 外设(device), usb 主机负责对 usb 外 设进行控制并向外设供电11。 usb 协议是分层的,主控物理及数据链路层负责 usb 物理信令的生成、usb 数据包的发送与接收,并进行错误校验;主控系统栈管理的主端口操作,包括协议 管理、装置盘点、事物调度以及状态处理等,它控制较底层的活动,并为 usb 装 置驱动的连接提供一个共用接口。 usb 总线包括 4 根信号线,用于传送信号和提供电源,其中,d+和 d-为信号 线,传送信号,是一对双绞线,vbus 和 gnd 是电源线,提供电源和接地。usb 主机对设备提供的电源电压为 5v,最大电流为 500ma,当设备第一次被 usb 主机 检测到时,设备从 usb 主机接入的电流值应小于 100ma。 在应用程序的开发中,它通常利用 usb 接口在线下载并调试。 (9)lcd 接口 arm 端采用 lcd 液晶屏的显示方式, 显示的分辨率达到了 640*480。 arm 内 部含有一个 lcd 驱动控制器,能自动产生 lcd 驱动控制所需的控制信号,lcd 显 17 示缓冲区映射在系统的存储器空间上,程序只需将像素点内容写入存储器对应地址 就可以实现对应 lcd 屏上像素点颜色的显示。lcd 的主要外部接口信号有11: 1)vframe: lcd控制器和lcd驱动器之间的帧同步信号,它通知lcd屏新的一帧 的显示,lcd控制器在一个完整帧的显示后发出vframe信号。 2)vline: lcd控制器和lcd驱动器间的同步脉冲信号,lcd驱动器通过它来将水 平移位寄存器中的内容显示到lcd屏上,lcd控制器在一整行数据全部传输到lcd 驱动器后发出vline信号。 3)vclk:此信号为lcd控制器和lcd驱动器之间的象素时钟信号,lcd控制器在 vclk的上升沿发送数据,lcd驱动器在vclk的下降沿采样数据。 4)vm:lcd驱动器所使用的交流信号,lcd驱动器使用vm信号改变用于打开或关 闭象素的行和列电压的极性,vm信号在每一帧触发。 5)vd23:0:lcd象素数据输出端口。 lcd接口电路如图3-6。 图 3-6 lcd 接口电路 (10)网络接口 以太网接口模块由以太网控制器、隔离变压器及其外围电路构成,这里采用支 18 持 10mb 以太网的 cs8900 作为以太网控制器,在系统与处理器之间采用总线方式 连接11。cs8900 工作在 16 位模式下,网卡芯片复位默认工作方式为 i/o 连接,寄 存器默认地址是 300h,网口芯片的硬件电路如图 3-7 所示。 图 3-7 网络接口电路 3.2 bootloader 层的设计 硬件电路设计好后,就开始程序的编制。首先遇到的是 bootloader 的设计, bootloader 的设计难度比较大,最复杂的是部分代码要和具体处理器平台的汇编指 令打交道,本系统的实现中使用到了 arm 的部分指令。 3.2.1 bootloader 的实现功能 bootloader 是在操作系统内核运行之前运行的一段小程序,通过这段小程序, 可以初始化硬件,建立系统的内存空间映射图,从而将系统的软硬件环境带到一个 19 已知的状态,以便为最终调用操作系统内核准备好正确的环境15。bootloader 最终 把操作系统内核映像加载到 ram 中,并将系统控制权传递给它。 每种不同的 cpu 体系结构都有不同的 bootloader,但是 bootloader 的开发流 程与开发思路几乎都一样。bootloader 有两种模式运行: (1)启动加载模式 这种模式是 bootloader 的正常工作模式, bootloader 从存储介质将操作系统加 载到 ram 中,并从 ram 中启动运行操作系统。 (2)下载模式 bootloader 从开发工作站下载操作系统运行时映像文件到目标设备的 ram, 然而再将它写到目标设备的 flash 等存储介质中7。 为了实现下载模式,开发工作站和目标设备之间必须建立一种连接,包括以太 网连接、usb 连接或者串口连接等,bootloader 使用这种连接从开发工作站下载操 作系统运行时映像到目标设备。 一旦操作系统被加载,bootloader 就可以来用监视或者调试目标设备。 启动程序(bootloader)使用 ads 开发, ads(arm developer suite)是 arm 公司 推出的 arm 集成开发工具,运行界面如 3-8 所示。 图 3-8 ads 开发工具 3.2.2 bootloader 的模块功能 硬件设计中引脚 om1 和 om0 决定系统的启动方式,本系统硬件设计中 om1:0=10,系统将从 norflash 启动,所以 bootloader 的启动加载模式的代码存 20 放在 norflash 中,具体实现时,此部分代码采用了 uboot 的移植。bootloader 下载模式的代码存放在 nandflash 里, 具体实现此功能的是 eboot 代码, 采用 eboot 调试下载内核。 在硬件的调试过程中,bootloader 的启动顺序是首先执行 uboot,uboot 启动后跳转到 eboot,eboot 来实现操作系统的下载及调试功能;在硬件调试完 毕后,bootloader 的启动则是首先启动 uboot,uboot 启动后跳转到操作系统 镜像,wince 开始执行。 3.2.3 uboot 的实现 uboot 的前身是 ppc-boot,ppc-boot 自 2.0 版本后改名为 uboot,它依照 gpl 发布的开源软件, 作为系统启动的引导模块, uboot 支持多种处理器结构16。 uboot 采用的开发方法是移植针对具体处理器的代码部分,针对设计的电路,修 改对应硬件资源及地址信息,本系统 uboot 的具体开发步骤如下: (1)首先要实现初始化硬件的功能 在 uboot 的目录下,有一些 init.s 或 reset.s 等.s 文件,这样的文件是 cpu 加 电后最先执行的程序,此处是用汇编语言编写的,它们与 cpu 关系密切,所以 uboot 移植的主要部分在此,不同处理器的寄存器不同,所以寄存器的定义及相 应初始化流程都需要修改16。 uboot 的入口函数在以下 arm 汇编代码中: resethandler led_on 0 x3 ;点亮指示灯 ldr r0,=wtcon ;看门狗禁止 ldr r1,=0 x0 str r1,r0 ldr r0,=intmsk ldr r1,=0 xffffffff ;屏蔽所有中断 str r1,r0 ldr r0,=intsubmsk ldr r1,=0 x7ff ;所有子中断禁止 str r1,r0 21 ldr r0, = intmod mov r1, #0 x0 str r1, r0 以上汇编代码表示:系统上电后,首先点亮电路板上的上电指示灯,然后关掉 看门狗寄存器,屏蔽所有硬件中断及子中断,之后 uboot 将进行 irq,fiq 等相 关寄存器的初始化工作,本系统的这部分功能可以参考 uboot1.2 版本中相应代 码,移植过来的相关代码几乎不用修改。 在 pc 端可以用串口调试工具,显示这部分结果如图 3-9 所示。 图 3-9 uboot 启动代码执行结果 (2)主控部分 从这一部分开始,均用 c 语言编写。 为了增加 bootloader 对平台的控制,一般 bootloader 都会设计为支持命令输 入的方式,通过串口来接收用户的命令。在平台调试完毕后,可以在不用人工干预 的情况下自动加载 ce,这也是 bootloader 必需的功能之一,在调试阶段,基本上 是通过 uboot 所支持的命令来进行操作的17。 流程图如图 3-10 所示: 22 图 3-10 uboot 实现流程图 在 pc 端可以用串口调试工具可以查看运行结果,这部分结果如图 3-11 所示。 图 3-11 主控部分执行结果 初始化 mmu 初始化串口 开启指示灯 打印执行信息 nandflash初 始化 跳转到 eoobt 入 口地址 从nandflash 中读 eboot 开始 结束 23 3.2.4 eboot 的实现 在调试阶段,uboot 执行后,它调用 eboot 用来调试内核和下载内核,系统 的存储空间分配中,eboot 位于 nandflash 的第 3 个 block 里。当调试阶段完成后, eboot 将不起任何作用,uboot 启动后,执行代码直接跳转到内核处开始执行, wince 开始启动。eboot 可以采用两种方式烧写,可以采用 jtag 直接烧写的方式 和调用 uboot 命令的方式烧写。本系统在调试中采用了调用 uboot 命令的方式 烧入 eboot,具体步骤如下: (1) erase 1:10-20 erase 为 uboot 已实现并可提供给用户使用的清除命令,用串口输入此行, 意

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论