欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    三种常用的嵌入式操作系统分析与比较.pdf

    • 资源ID:82113127       资源大小:1.21MB        全文页数:20页
    • 资源格式: PDF        下载积分:19.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要19.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    三种常用的嵌入式操作系统分析与比较.pdf

    三种常用的嵌入式操作系统分析与比较摘要:提要三种常用的嵌入式操作系统Palm OS、Windows CE、Linux;在此基础上、分析、比较这三种嵌入式操作系统,给出它们之间的异同点及各自的适用范围。1 嵌入式系统与嵌入式操作系统 1.1 嵌入式系统 嵌入式系统是以嵌入式计算机为技术核心,面向用户、面向产品、面向应用,软硬件可裁减的,适用于对功能、可靠性、成本、体积、功耗等综合性能有严格要求的专用计算机系统。嵌入式系统应具有的特点是:高可靠性;在恶劣的环境或突然断电的情况下,系统仍然能够正常工作;许多嵌入式应用要求实时性,这就要求嵌入式操作系统具有实时处理能力;嵌入式系统和具体应用有机地结合在一起,它的升级换代也是具体产品同步进行;嵌入式系统中的软件代码要求高质量、高可靠性,一般都固化在只读存储器中或闪存中,也就是说软件要求固态化存储,而不是存储在磁盘等载体中。1.2 嵌入式操作系统 嵌入式操作系统 EOS(Embedded Operating System)是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域。EOS 负责嵌入系统的全部软、硬件资源的分配、调度作,控制、协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前,已推出一些应用比较成功的 EOS 产品系列。随着 Internet 技术的发展、信息家电的普及应用及 EOS 的微型化和专业化,EOS 开始从单一的弱功能向高专业化的强功能方向发展。嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固化以及应用的专用性等方面具有较为突出的特点。EOS 是相对于一般操作系统而方的,它除具备了一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件处理等外,还有以下特点:可装卸性。开放性、可伸缩性的体系结构。强实时性。EOS 实时性一般较强,可用于各种设备控制当中。统一的接口。提供各种设备驱动接口。操作方便、简单、提供友好的图形 GUI,图形界面,追求易学易用。提供强大的网络功能,支持 TCP/IP 协议及其它协议,提供 TCP/UDP/IP/PPP 协议支持及统一的 MAC访问层接口,为各种移动计算设备预留接口。强稳定性,弱交互性。嵌入式系统一旦开始运行就不需要用户过多的干预,这就要负责系统管理的 EOS具有较强的稳定性。嵌入式操作系统的用户接口一般不提供操作命令,它通过系统的调用命令向用户程序提供服务。固化代码。在嵌入式系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的 ROM 中。辅助存储器在嵌入式系统中很少使用,因此,嵌入式操作系统的文件管理功能应该能够很容易地拆卸,而用各种内存文件系统。更好的硬件适应性,也就是良好的移植性。国际上用于信息电器的嵌入式操作系统有 40 种左右。现在,市场上非常流行的 EOS 产品,包括 3Com公司下属子公司的 Palm OS,全球占有份额达 50%,Microsoft 公司的 Windows CE 不过 29%。在美国市场,Palm OS 更以 80%的占有率远超 Windows CE。开放源代码的 Linux 很适于做信息家电的开发。比如:中科红旗软件技术有限公司开发的红旗嵌入式Linux和美商网虎公司开发的基于Xlinux 的嵌入式操作系统“夸克”。“夸克”是目前全世界最小的 Linux,它有两具很突出的特点,就是体积小和使用GCS 编码。2 三种常用的嵌入式操作系统 2.1 Palm OS Palm 是 3Com 公司的产品,其操作系统为 Palm OS。Palm OS 是一种 32 位的嵌入式操作系统。Palm提供了串行通信接口和红外线传输接口,利用它可以方便地与其它外部设备通信、传输数据;拥有开放的OS 应用程序接口,开发商可根据需要自行开发所需的应用程序。Palm OS 是一套具有术强开放性的系统,现在有大约数千种专用为 Palm OS 编写的应用程序,从程序内容上看,小到个人管理、游戏,大到行业解决方案,Palm OS 无所不包。在丰富的软件支持下,基于 Palm OS 的掌上电脑功能得以不断扩展。Palm OS 是一套专门为掌上电脑开发的 OS。在编写程序时,Palm OS 充分考虑了掌上电脑内存相对较小的情况,因此它只占有非常小的内存。由于基于 Palm OS 编写的应用程序占用的空间也非常小(通常只有几十 KB),所以,基于 Palm OS 的掌上电脑(虽然只有几 MB 的 RAM)可以运行众多应用程序。由于 Palm 产品的最大特点是使用简便、机体轻巧,因此决定了 Palm OS 应具有以下特点。操作系统的节能功能。由上掌上电脑要求使用电源尽可能小,因此在 Palm OS 的应用程序中,如果没有事件运行,则系统设备进入半休眠(doze)的状态;如果应用程序停止活动一段时间,则系统自动进入休眠(sleep)状态。合理的内存管理。Palm 的存储器全部是可读写的快速 RAM,动态 RAM(Dynamic RAM)类似于 PC机上的 RAM,它为全局变量和其它不需永久保存的数据提供临时的存储空间;存储 RAM(Storage RAM)类似于 PC 机上的硬盘,可以永久保存应用程序和数据。Palm OS 的数据是以数据库(database)的格式来存储的。数据库是由一组记录(records)和一些数据库头信息组成的。为保证程序处理速度和存储器空间,在处理数据的时候,Palm OS 不是把数据从存储堆(Storage Heap)拷贝到动态堆(Dynamic Heap)后再进行处理,而是在存储堆中直接处理。为避免错误地调用存储器地址,Palm OS 规定,这一切都必须调用其内存管理器里的 API 来实现。Palm OS 与同步软件(HotSync)结合可以使掌上电脑与 PC 机上的信息实现同步,把台式同的功能扩展到了掌上电脑。Palm 应用范围相当广泛,如:联络及工作表管理、电子邮件及互联网通信、销售人员及组别自动化等等。Palm 外围硬件也十分丰富,有数码相机、GPS 接收器、调制解调器、GSM 无线电话、数码音频播放设备、便携键盘、语音记录器、条码扫描、无线寻呼接收器、探测仪。其中 Palm 与 GPS 结合的应用,不但可以作导航定位,还可以结合 GPS 作气候的监测、地名调查等。2.2 Windows CE Windows CE 是微软开发的一个开放的、可升级的 32 位嵌入式操作系统,是基于掌上型电脑类的电子设备操作。它是精简的 Windows 95。Windows CE 的图形用户界面相当出色。其中 CE 中的 C 代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivity)和伴侣(Companion);E 代表电子产品(Electronics)。与 Windows 95/98、Windows NT 不同的是,Windows CE 是所有源代码全部由微软自行开发的嵌入式新型操作系统,其操作界面虽来源于 Windows 95/98,但 Windows CE 是基于 Win32 API重新开发的、新型的信息设备平台。Windows CE 具有模块化、结构化和基于 Win32 应用程序接口以及与处理器无关等特点。Windows CE 不仅继承了传统的 Windows 图形界面,并且在Windows CE 平台上可以使用 Windows 95/98 上的编程工具(如 Visual Basic、Visual C+等)、使用同样的函数、使用同样的界面网格,使绝大多数的应用软件只需简单的修改和移植就可以在 Windows CE 平台上继续使用。Windows CE 的设计目标是:模块化及可伸缩性、实时性能好,通信能力强大,支持多种 CPU。它的设计可以满足多种设备的需要,这些设备包括了工业控制器、通信集线器以及销售终端之类的企业设备,还有像照相机、电话和家用娱乐器材之类的消费产品。一个典型的基于 Windows CE 的嵌入系统通常为某个特定用途而设计,并在不联机的情况下工作。它要求所使用的操作系统体积较小,内建有对中断的响应功能。Windows CE 的特点有:具有灵活的电源管理功能,包括瞬眠/唤醒模式。使用了对象存储(object store)技术,包括文件系统、注册表及数据库。它还具有很多高性能、高效率的操作系统特 性,包括按需换页、共享存储、交叉处理同步、支持大容量堆(heap)等。拥有良好的通信能力。广泛支持各种通信硬件,亦支持直接的局域连接以及拨号连接,并提供与 PC、内部网以及 Internet 的连接,还提供与 Windows 9x/NT 的最佳集成和通信。支持嵌套中断。允许更高优先级别的中断首先得到响应,而不是等待低级别的 ISR 完成。这使得该操作系统具有嵌入式操作系统所要求的实时性。更好的线程响应能力。对高级别 IST(中断服务线程)的响应时间上限的要求更加严格,在线程响应能力方面的改进,帮助开发人员掌握线程转换的具体时间,并通过增强的监控能力和对硬件的控制能力帮助他们创建新的嵌入式应用程序。256 个优先级别。可以使开发人员在控制嵌入式系统的时序安排方面有更大的灵活性。Windows CE 的 API 是 Win32 API 的一个子集,支持近 1500 个 Win32 API。有了这些 API,足可以编写任何复杂的应用程序。当然,在 Windows CE 系统中,所提供的 API 也可以随具体应用的需求而定。在掌上型电脑中,Windows CE 包含如下一些重要组件:Pocket Outlook 及其组件、语音录音机、移动频道、远程拨号访问、世界时钟、计算器、多种输入法、GBK 字符集、中文 TTF 字库、英汉双向词典、袖珍浏览器、电子邮件、Pocket Office、系统设置、Windows CE Services 软件。2.3 Linux Linux 是一个类似于 Unix 的操作系统。它起源于芬兰一个名为 Linus Torvalds 的业余爱好,但是现在已经是最为流行的一款开放源代码的操作系统。Linux 从 1991 年问世到现在,短短 10 年的时间内已发展成为一个功能强大、设计完善的操作系统,伴随网络技术进步而发展起来的 Linux OS 已成为 Microsoft 公司的 DOS 和 Windows 95/98 的强劲对手。Linux 系统不仅能够运行于 PC 平台,还在嵌入式系统方面大放光芒,在各种嵌入式 Linux OS 迅速发展的状况下,Linux OS 逐渐形成了可与 Windows CE 等 EOS 进行抗衡的局面。目前正在开发的嵌入式系统中,49%的项目选择 Linux 作为嵌入式操作系统。Linux 现已成为嵌入式操作的理想选择。中科红旗软件技术有限公司开发的红旗嵌入式Linux 正在成为许多嵌入式设备厂商的首选。在不到一年的时间内,红旗公司先后推出了 PDA、机顶盒、瘦客户机、交换机用的嵌入式 Linux 系统,并且投入了实际应用。现以红旗嵌入式 Linux 为例来讲解嵌入式 Linux OS 的特点:精简的内核,性能高、稳定,多任务。适用于不同的 CPU,支持多种体系结构,如 X86、ARM、MIPS、ALPHA、SPARC 等。能够提供完善的嵌入式 GUI 以及嵌入式 X-Windows。提供嵌入式浏览器、邮件程序、MP3 播放器、MPEG 播放器、记事本等应用程序。提供完整的开发工具和 SDK,同时提供 PC 上的开发版本。用户可定制,可提供图形化的定制和配置工具。常用嵌入式芯片的驱动集,支持大量的周边硬件设备,驱动丰富。针对嵌入式的存储方案,提供实时版本和完善的嵌入式解决方案。完善的中文支持,强大的技术支持,完整的文档。开放源码,丰富的软件资源,广泛的软件开发者的支持,价格低廉,结构灵活,适用面广。3 三种嵌入式操作系统的比较 3.1 Linux OS 与 Windows Ce 的比较 嵌入式 Linux OS 与 Windows CE 相比的优点:第一,Linux 是开放源代码的,不在存黑箱技术,遍布全球的众多 Linux 爱好者都是 Linux 开发者的强大技术支持者;而 Windows CE 是非开放性 OS,使第三方很难实现产品定制。第二,Linux 的源代码随处可得,注释丰富,文档齐全,易于解决各种问题。第三,Linux 的内核小、效率高;而 Windows CE 在这方面是笨拙的,占用过多的 RAM,应用程序庞大。第四,Linux 是开放源代码的 OS,在价格上极具竞争力,适合中国国情。Windows CE 的版权费用是厂家不得不考虑的因素。第五,Linux 不仅支持 x86 芯片,还是一个跨平台的系统。到目前为止,它可以支持 2030种 CPU,很多 CPU(包括家电业的芯片)厂商都开始做Linux 的平台移植工作,而且移植的速度远远超过 Java 的开发环境。如果今天采用 Linux 环境开发产品,那么将来更换 CPU 时就不会遇到更换平台的困扰。第六,Linux 内核的结构在网络方面是非常完整的,它提供了对包括十兆位、百兆位及千兆位的以太网络,还有无线网络、Token ring(令牌环)和光纤甚至卫星的支持。第七,Linux 在内核结构的设计中考虑适应系统的可裁减性的要求,Windows CE 在内核结构的设计中并未考虑适应系统的高度可裁减性的要求。嵌入式 Linux OS 与 Windows CE 相比的弱点:第一,是开发难度较高,需要很高的技术实力;第二,是核心调试工具不全,调试不太方便,尚没有很好的用户图形界面;第三,与某些商业 OS 一样,嵌入式Linux 占用较大的内存,当然,人们可以去掉部分无用的功能来减小使用的内存,但是如果不仔细,将引起新的问题;第四,有些 Linux 的应用程序需要虚拟内存,而嵌入式系统中并没有或不需要虚拟内存,所以并非所有的 Linux 应用程序都可以在嵌入式系统中运行。3.2 Palm OS 与 Windows CE 的比较 3Com 公司的 Palm OS 是掌上电脑市场中较为优秀的嵌入式操作系统,是针对这一市场专门设计的系统。它有开放的操作系统应用程序接口(API),支持开发商根据需要自行开发所需的应用程序,具有十分丰富的应用程序。在掌上电脑市场上独占其霸主地位已久。从技术层面上讲,Palm OS 是一套专门为掌上电脑开发的操作系统,具有许多 Windows CE 无法比拟的优势;Windows CE 过于臃肿,不适合应用在廉价的掌上电脑中。Palm OS 是一套具有极强开放性的系统。开发者向用户免费提供Palm OS 的开发工具,允许用户利用该工具在 Palm OS 基础上方便地编写、修改相关软件。与之相比,Windows CE 的开发工具就显得复杂多了,这使得一般用户很难掌握。这也 Palm OS 与 Windows CE 的另一个主要区别。我们从常用 EOS 的大小、可开发定制、互操作性、通用性、实时性及应用领域几个方面,通过表 1 来归纳如下:表 1 Palm OS Windows CE 3.0 嵌入 Linu 大小 核心几十 KB,整个嵌入环境也不大 核心占 500KB 的 ROM 和 250KB的 RAM。整个 Windows CE 操作系统,包括硬件抽象层(HAL 和Hardware Abstraction Layer)、Windosw CE Kernel、User、GDI、文件系统和数据库,大约共1.5MB 核心从几十 KB 到 500KB。整个嵌入式环境最小才100KB 左右,并且以后还将越来越小 可开发定制 可以方便地开发定制 用户开发定制不方便,受Microsoft 公司限制较多 用户可以方便地开发定制,可以自由卸装用户模块,不受任何限制 互操作性 互操作性强 互操作性比较强,Windows C 可通过 OEM 的许可协议使用于其它设备 互操作性很强 通用性 适用于多种 CPU 和多种硬件平台 适用于多种 CPU 和多种硬件平台 不仅适应于 x86 芯片,并且可以支持 30 多种 CPU 和多种硬件平台,开发和使用都很容易 实用性 比较好 比较好 很好 适用的应用领域 应用领域较广,特别适用于掌上电脑的开发 应用领域较广。WindowsC 是为新一代非传统的 PC 设备而设计的,这些设备包括掌上电脑、手持电脑以及用于车载电脑等 由于 Linu 内核结构及功能等原因,嵌入式 Linu 应用领域非常广泛,特别适于进行信息家电的开发 结语 Palm OS、Windows CE、Linux 这三种嵌入式操作系统各有不同的特点,不同的用途;但Linux 比Palm OS 和 Windows CE 更小、更稳定,而且 Linux 是开放的 OS,在价格上极具竞争力。如今整个市场尚未成型,嵌入式操作系统也未形成统一的国际标准,而且 Linux 的一系列特征又为我们开发国产的嵌入式操作系统提供了方便,因此,我们有机会在这个未成熟的市场上占有一席之地。系统分类:汽车电子 用户分类:单片机基础 标签:无标签 来源:转贴 发表评论 阅读全文(282)|回复(4)5 本周最热门”中出现,认为够“牛”就投上一票吧!AutoHide=false 基于裸机编程的实时系统 发表于 2008-1-13 3:27:40 摘要 在系统控制过程中,实时性是系统性能的一个重要测试指标。应用实时操作系统是保证实时性的一种普遍方法,但是一些资源相对缺乏的 单片机是不适合用操作系统的。本文介绍在中低档控制系统中,在不采用实时操作系统的情况下,如何对多个任务进行控制,以达到实时性要求的方法。关键词 嵌入式系统 单片机 实时操作系统 引言 在嵌入式控制系统的设计中,如何对被控制的多个任务进行有效协调,使其动作顺序合理、响应速度快捷,往往是设计者所考虑的一个很重要的方面,也是衡量检验一个系统的综合性能的重要指标。为了在多个任务的协调控制中满足实时性的要求,设计者往往会考虑在系统中嵌入目前流行的某种实时操作系统。现在也有一些通过验证的比较优秀的实时操作系统可供选择,有的源代码甚至是免费提供的,网上也有大量的移植成功的源代码范例。基于实时操作系统编程可以大大缩短开发的周期,实时性也有足够的保证。基于实时操作系统编程的代价之一是,增加了程序代码的长度;代价之二是,需要较多的 RAM 空间,在不扩展片外存储器的情况下,中低档单片机是难以胜任的。另一方面,大部分中低档应用系统通过合理的设计,采用基于裸机编程(没有实时操作系统)的方法,也可以保证一定的实时性,从而达到实时控制的要求,这是本文所要介绍的内容。1 系统设计原理 1.1 通过定时中断间隔的设计来保证实时性 为了完成控制系统中多任务的实时响应要求,可以利用定时中断作为系统的时钟。每个中断的间隔作为时钟的最小基本单位,这个值要小于或等于被控制的各个任务中对时间要求最苛刻的任务的最大允许响应时间。定时间隔越短,响应越快捷,但系统 CPU 的负担也越重(因为 CPU 休眠的时间也越来越少)。这是一对相互矛盾的事物,需要设计者谨慎的协调才能达到最完美的效果。例如在配料控制系统中,如果加料速度为 20 kg/s,要求配料误差为 1 kg,则系统的实时性必须保证在 50 ms 之内。为了留有余地,可将定时中断间隔设置为 20 ms。1.2 通过对所有任务的及时“照看”来管理多任务 可以根据各个任务对实时性要求的不同程度,将任务分为不同的类型。对实时性要求越是苛刻的任务,就需要得到系统越频繁的“照看”。对于实时性要求不高的任务,系统对它的“照看”时间间隔可以长一些。例如,有两个任务 A 和 B,任务 A 每秒必须“照看”10 次,任务 B 每秒必须“照看”2 次,则控制流程如图 1所示。从图 1 中可以看出,任务 A 每隔 0.1 s“照看”1 次,任务 B 每隔 0.5 s“照看”1 次。对实时性要求基本相同的若干任务,可依次“照看”,其程序流程如图 2 所示。图 1 处理实时性要求不同的任务 图 2 处理实时性要求基本相同的任务 将所有任务都放在定时监控循环中来“照看”,就可以使各个任务得到实时“照看”,问题的关键是系统如何“照看”各个任务。如果某任务运行一次所需要的时间远小于定时间隔,则该任务可安排在系统“照看”它时完整地执行一次。在这种情况下,“照看”某任务和“运行”某任务是一回事。如果某任务的运行时间远大于定时间隔,例如在配料系统中,一次配料任务需要数十秒钟,而定时间隔只有 20 ms,因此,在“照看”该任务时不可能等待它完成后再“照看”其他任务,否则系统就会崩溃。为此,系统对任何任务的“照看”时间必须远小于定时间隔,只有这样才能保证系统在一个定时间隔中完成对所有任务的“照看”。由此可以看出,在本方法中,任何任务都不能较长时间单独占有 CPU,而是在不断地得到系统的“照看”,通过“照看”来维持各个任务的正常运行。1.3 将任务分解为若干状态 对于执行时间大于定时间隔的任务,其执行过程都是由若干不同状态构成的。在不同状态下,需要系统进行不同方式的“照看”,为此,为这个任务设置一个状态变量,以指示该任务当前的状态。当系统“照看”该任务时,首先读取该任务的状态变量,然后根据状态变量的值来执行对应的“照看”操作。为了使系统能够及时从某个任务脱身,以便及时“照看”另外的任务,则任何“照看”操作都必须非常简短(远小于定时间隔)。如果某个任务的某种状态需要系统较长时间的“照看”(如进行一段比较复杂的数据处理),则必须将这个状态再分解为若干状态,直到每个状态需要的处理时间均比定时中断间隔短得多。也可以设置若干标志,将这些耗时的处理过程放在后台处理。1.4 与实时操作系统的比较 本方法没有优先级的概念,所有任务都一视同仁得到“照看”,不存在“任务调度”问题,从根本上简化了系统软件设计,也大大降低了对硬件资源的要求。本方法与“时间片轮回”方法类似,但有两点不同:第一是每个任务得到的“时间片”是不固定的,与该任务的当前状态有关,当该任务处于停止状态时,其“照看”操作所需要的时间就比较短,占用的“时间片”也就比较短;第二是以“照看”操作来划分“时间片”,每个任务的“照看”都是一个完整的过程,不存在被打断的情况,故不需要为每个任务配置“堆栈”。各个任务之间的通信和同步可以通过变量和标志来完成,实现起来也比较简单。由于本方法对处于“停止状态”的任务也要不停地“照看”,显然时间利用率不高,当系统任务数量较多或实时性要求很高时就难于胜任,故本方法只能在任务数量较少的中低档系统中采用;任务数量较多或实时性要求很高的系统,仍然应该采用基于实时操作系统的编程方法。2 设计实例 现结合一个配料系统的设计实例来说明该类系统的设计方法。在配料系统中,配方中的每种成分都由一个独立的料斗来配置,并由一个独立的电子秤来计量。进行配料操作时,为了提高工作效率,各个料斗同时进行加料,达到配方中各自规定的重量后则停止加料。当所有料斗都完成加料过程后,便同时(或按预定顺序)出料,进行混合处理。各个料斗均出料结束后,间隔若干秒钟自动开始下一轮配料过程。在该系统中有如下任务需要运行:键盘管理任务。采集操作者的按键动作并解释执行,用来设置配方数据和配料次数,控制系统运行。显示任务。显示系统当前状态和相关数据。数据采集任务。读取各个电子秤当前的数据。配料控制任务。根据配方要求和电子秤当前的数据来决定料斗的工作状态。控制信号输出任务。根据料斗状态,输出相应的各路控制信号。时钟任务。为系统提供时间基准,使各个任务可以按规定节奏来运行。睡眠任务。让系统在空闲时间里进入睡眠状态,以提高系统的抗干扰能力。系统的软件结构如图 3 所示。左边是主程序,只安排了睡眠任务;右边是定时中断子程序,安排了其他所有任务。图 3 系统软件结构示意图 除配料控制任务外,其他任务运行一次的时间均远小于定时间隔,在每次定时中断中均可以完整地运行一次,故采用普通的编程方法将其运行过程写出来即可。配料控制任务无法在一次定时中断里完成,只能用不断“照看”的方法来完成。如果配料任务的运行时间(运行周期)为40 s,定时中断间隔时间为 20 ms,则每次配料过程都是通过 2000 次“照看”来实现的。设配方有四种成分,则系统有四个料斗并行工作,“配料控制”任务的“照看”操作实际上由“照看料斗 1”、“照看料斗 2”、“照看料斗 3”、“照看料斗 4”组成(如图2 所示),即每次定时中断都要依次“照看”四个料斗。四个料斗的“照看”操作方式基本相同。由于配方数据的差异,四个料斗的状态不一定每时每刻都同步。如果不考虑加料时的“落差”现象,就一个料斗而言,“照看”操作内容设计如表 1 所列。配料过程由键盘操作来启动(使“允许配料”标志1),以后各次配料操作由前一次配料的状态 5来启动,直到完成预定的配料次数。从表 1 中可以看出,所有的“照看”操作都是由“判断分支”结构组成,操作时间也很短,满足设计要求。3 小结 表 1 在实时多任务系统中,为了保证系统的实时性,采用实时操作系统是首选设计方案;但在中低档系统中,为了简化设计和降低成本,利用本文介绍的方法,基于裸机编程同样可以满足要求。在中低档系统占有很大比例的产品市场中,本文介绍的编程方法对降低成本和提高产品竞争力显然是有帮助的。系统分类:汽车电子 用户分类:单片机基础 标签:无标签 来源:无分类 发表评论 阅读全文(146)|回复(0)4 本周最热门”中出现,认为够“牛”就投上一票吧!AutoHide=false 利用串口与并口实现 51 内核单片机的在线编程 发表于 2008-1-13 3:25:59 摘要 详细说明利用并口模拟I2C 总线协议,实现 Myson MTV230 芯片的在线编程(ISP)过程,以及利用 PC 机的串口通信实现 Winbond W78E516B 的在线编程(ISP)过程;阐述 PC 机的串口与并口在单片机开发中的应用。关键词 并口编程 串口通信 在线编程 ISP MTV230 W78E516B 1 在线编程简介 51 内核的单片机在线编程模式一般分为两大类。一类是使用 JTAG 协议的在线编程模式。这类模式一般由厂家提供在线编程工具,使用方便。使用这一类模式的单片机价格往往较高,使用的厂商也不多,故不在本文的讨论之列。另一类在线编程模式是使用一条特殊的指令,使单片机进入在线编程模式。在进入在线编程模式后,要自己控制对单片机的擦除写入逻辑。这一类模式又可细分为两种不同的模式:一是进入在线编程模式后,单片机只是提供一个接口,不再运行用户的程序,擦写逻辑全由上位机(PC)提供,如以下要讨论的 MTV230 就属于这种模式;另一类是进入在线编程模式以后,芯片会运行在某一区域的用户编写的程序,芯片的编程逻辑都由芯片中这段程序控制,上位机(PC)只是作为单片机的一个数据源,向单片机传输要擦写的数据,如以下要讨论的 W78E516B。2 利用并口对 MTV230 在线编程的实现 2.1 MTV230 简介 MTV230 是由 Myson 公司出品的一块集成 OSD 功能的基于 51 内核的芯片。它使用 12MHz 晶振时可以设置为倍频工作,同时还集成了 4 路 A/D 和 4 路 PWM DAC。其中最具竞争力的便是它使用了 Flash OSD 字库。与一般的 OSD 芯片不同,它的字库不是掩膜在芯片中,用户可以自己定制。该款芯片可以满足视频应用中的控制需求,因而被广泛应用于视频类产品中。2.2 MTV230 在线编程模式的进入 要使 MTV230 具有在线编程的功能,可以添加一段程序在主应用程序中。该程序用来响应特定的单片机状态,如某一特定引脚的电平变化,或是串口接收到特定的字符以确定是否要进入在线编程模式。在执行以下程序后,MTV230 可以进入在线编程模式1:清看门狗,以防止在编程期间单片机被复位;单片机的在线编程模式是在空闲状态(idle)下进行的,所以要关闭所有中断,防止单片机被唤醒;由于 MTV230 在线编程时是作为 I2C 的从设备,因而要配置单片机的 I2C 从地址;向 ISPEN 写入 0 x93,使能在线编程功能;进入 51 的空闲模式,在线编程开始。具体程序如下:WDT=0;/1 IE=0;/2 ISPSLV=0 x7C;/3 ISPEN=0 x93;/4 PCON=0 x01;/5 以上程序中 15 与上述说明对应。以上将 I2C 地址设置为 0 x7C。值得注意的是,设置 I2C 从地址时,最低两位无效1。执行完以上程序,单片机已经变为一个 I2C 从设备,将 I2C 中 SCL 与芯片的 15脚相连,SDA 与芯片的 16 脚相连,就可以用 I2C 协议,按一定的命令格式对芯片进行在线编程。命令格式详见参考文献1,在此不再赘述。2.3 PC 机 I2C 接口的实现 对 MTV230 进行在线编程,就要实现 I2C 通信协议。作为对 MTV230 进行编程的上位机 PC 来说,实现 I2C 有三种方法:使用串口与单片机通信,再由单片机模拟 I2C 协议,成本高,I2C 速度视使用的单片机而定;对计算机的并口编程,模拟 I2C 协议,成本低,I2C 速度一般;使用 USB 接口实现 I2C 协议,成本高,I2C 速度快市场上可以买到。由于 MTV230 进行编程时,I2C 时钟速度最高为 140kHz,速度要求不高,同时考虑到成本,决定使用方案。2.4 并口 I2C 硬件的实现 由于并口的每个引脚都是单向的,只能单向输出或者单向输入;而I2C 又是一个双向协议,SDA与 SCL 都要求既能输入又能输出(有时要获取 SCL 当前状态),所以,SDA 与 SCL 要分别各由一个输出引脚与一个输入引脚构成。为了增加并口的驱动能力与可靠性,设计电路如图 1 所示。其中并口的 2、12 引脚构成 SDA 脚,并口的 3、10 引脚构成 SCL 脚。图 1 并口 IC 电路 2.5 并口 I2C 软件的实现 在 Win98 中对并口的编程非常简单,通过在 VC 中内嵌汇编,使用 IN 与 OUT 指令访问与并口相对应的端口,设置相对应端口的值中的位就可以控制相应并口引脚的高低电平值。例如:要将计算机并口 1 的第 2 引脚先置高再置低,汇编语言可以这样写:MOV DX,0 x378;设置端口地址 MOV AL,1;将待写入的位 0 的值写入 AL 中 OUT DX,AL;将值送到相应端口 MOV AL,0 OUT DX,AL 但在 Win2000/XP 中,由于系统加强了对硬件设备的保护,假如在程序中直接用 IN 与 OUT 指令访问并口,则会引发系统的非法操作;而并口访问又不像串口,直接可以使用 Windows API 函数,因而就必须使用驱动程序。可以到 网站上去下载 DriverLINX Port I/O Driver 并口驱动程序。该程序可以免费复制与分发。有了这个驱动程序,在 Win2000/XP 下编写并口程序就十分方便。安装该驱动程序后,在程序中包含相应的 dlportio.h 与 dlportio.lib 后就可以用 DlPortReadPortUchar(IN ULONG Port)来读取端口的值(相当于汇编中的 IN 指令),用 DlPortWritePortUchar(IN ULONG Port,IN UCHAR Value)来向一个端口写一个特定的值(相当于汇编中的 OUT 指令)。利用改变端口值中的一个位的值,可以使相应并口引脚输出高低电平,从而可以用其来模拟 I2C 协议,实现并口与单片机间的 I2C 通信。关于 I2C 协议,网上有很多资料,在此不再赘述。2.6 程序说明 如前文所述,MTV230 在进入在线编程模式后,就相当于一个 I2C 从设备,编程逻辑全都由在 PC上运行的程序来实现。该程序采用 VC6.0 编写。编程程序的主界面如图 2 所示,主要模块如表 1 所列。由于用并口模拟 I2C 对单片机编程,会使该线程暂时处在阻塞状态,假如在主线程(UI)中实现该过程,则在对芯片编程时,程序的主界面就无法响应用户退出命令,所以采用了多线程程序结构,在一个工作线程实现该过程,使用户可以随时退出编程过程。图 2 编程程序主界面 表 1 所列的头三个类采用了层次设计结构:上层类调用下层类,下层类为上层类提供接口,这样设计保证了代码的最大可重用性。举例来说,假如有另一芯片同样是使用I2C 接口进行在线编程,则只要重写 MTVISP 这个芯片的在线编程协议类就可以了;如果使用前面所述的并口实现方案 1 或 3,只要重写最底层的 Parallel 类便可。表 1 程序主要模块 程序工作线程的大致流程如图 3 所示。图 3 工作线程的流程 程序的特色:可以自己设置 I2C 速度的高低,模拟 I2C 的并口地址,以及使用并口的引脚。可以选择简单校验和完全校验,即对编程后的芯片是进行内部校验寄存器值的简单校验,还是将芯片中的内容全部读出与编程文件进行比较的完全校验。可以对芯片内的程序区、OSD 区进行编程,还可以读出这两区的数据(只有对可以设定进入在线编 程模式的程序才可以)。进行烧写的文件支持二进制文件格式(*.bin)与 Intel 的 Hex 文件格式(*.hex)。3 利用串口对 W78E516B 在线编程的实现 3.1 W78E516B 简介 W78E516B 是由 Winbound 公司出品的基于 52 内核的高性能芯片,外部晶振可以达到 40MHz,内部具有 64KB 的程序区与 4KB 的引导程序区,以及 256B 的 RAM 区和 256B 的 AUX-RAM 区。AUX-RAM区相当于外部存储区,进行寄存器设置后,用 MOVX 指令进行访问。在 Keil 编译器中,进行相应的设置便可使用 pdata 类型变量访问。3.2 W78E516B 在线编程模式的进入 W78E516B 在线编程模式的进入可以分为两种模式:一种为软件模式,另一种为硬件模式。当芯片进入在线编程模式后,芯片会从现在的 64KB 程序区跳转到 4KB 的引导区的 0 x00 地址处去执行程序。如前文所述,该类型芯片的在线编程逻辑都是由在这 4KB 引导区中的程序决定的,而上位机(PC)只是为在线编程提供一个数据源。(1)软件进入模式 向 CHPERN 寄存器依此写入 0 x87,0 x59 开启 CHPCON 寄存器的写模式。关闭中断。向 CHPCON 写入 0 x03 表示进行程序区编程。向 CHPCRN 写入 0 x00 关闭 CHPCON 寄存器写模式。设置好定时器为延时 12s 引发中断。将单片机转入空闲模式,开启中断。例如:将以下程序嵌入主循环中,当串口收到字符“A”时便进入在线编程模式:if(B_Temp=A/B_Temp 中存放从串口接收到的数 TR0=0;/停止定时器 TH0=TL0=256-250;/设置定时器定时值 CHPENR=0 x87;/开启 CHPCON 写模式 CHPENR=0 x59;CHPCON|=0 x03;/开启编程功能 CHPENR=0 x00;/关闭 CHPCON 写模式 TR0=1;/开启定时器 PCON=0 x01;/转入空闲模式 (2)硬件进入模式 如表 2 所列,将相应引脚设置为相应电平,在进行复位以后也可进入在线编程模式。值的注意的是,在芯片正常工作时应避免误入在线编程模式,否则后果不堪设想。表 2 中 L 代表低电平,X 代表任意电平。表 2 进入在线编程的硬件设置 3.3 W78E516B 在线编程的实现(1)单片机引导区程序 W78E516B 在线编程逻辑主要在这部分程序中实现。在参考文献2中的最后有一个示例程序,它是从外部的 SRAM 中读取数据对 64KB 程序区进行编程。将其改写一下,变为从串口读入数据。对程序区进行更新,大致流程与示例程序相同,代码也大致相同。有兴趣的朋友可以自行阅读文献 2中的程序源文件,在此只列出关键的更改处:;使用 24MHz 晶振 ;使用 WAVE 编译程序 ;其中 R3 存有待写入数据字节数-1 的高 16 位 ;其中 R4

    注意事项

    本文(三种常用的嵌入式操作系统分析与比较.pdf)为本站会员(hg158****2095)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开