简析单片机嵌入式程序的开发构成

点赞:13642 浏览:57879 近期更新时间:2024-03-09 作者:网友分享原创网站原创

【摘 要】本文首先分析了单片机嵌入式程序开发中有关实时操作系统的设计,然后阐述了单片机嵌入式软件编码的实现过程和设计思路,并进一步剖析了系统的引导装入设计,最后介绍了此程序中的低功耗设计以及干扰技术.

【关 键 词】单片机;嵌入式程序;实时操作系统

嵌入式程序是指在计算机技术的基础上,以应用为核心,硬件软件可剪裁,满足应用程序对成本、可靠性、功能、功耗和体积的严格标准的一套专用计算机程序.这也是一套将现代电子技术、半导体技术、计算机技术等各行业的具体应用统一整合而产生的资金和技术密集型产物.

一、单片机和嵌入式操作系统的定义

单片机是嵌入式系统程序的主控单元.其大部分软件都是针对某种应用来专门设计的,且往往只是其中一个微观实时操作系统,系统程序拥有实时信息处理或实时过程控制能力,同时要求能对外部发生的即时事件作出响应并能快速解决.

实时嵌入式程序的操作系统则是针对应用系统的需求提出的.通常所说的单片机即是微控制器,是一个将那些程序端口、数据存储器及相关系统等计算机需要的外设集成在一张芯片上的单片集成系统.单片机系统在硬件上无法和以分时操作系统为核心的计算机系统相比拟.但在软件设计上,单片机系统的具体应用以及使用环境却相对单一而固定,这一点使得单片机嵌入式程序的实时操作系统的开发有了可实现性.

嵌入式操作系统主管任务的控制、调度、任务间的同步与通信、存储和资源管理,在嵌入式应用系统中起灵魂性中心作用.对比其他的操作系统它不仅没有图形用户接口和shell,甚至其他某些功能也不具备,而只有一个微内核.同时鉴于嵌入性和专用性,应用程序与操作系统紧密联系而共同运行在同一个空间内,两者几乎无法有明确的分类,甚而能将操作系统视为应用程序的组成部分.但因嵌入式系统其较小的内存容量,往往使用其实际物理地址,所以存储管理的模块也十分简单.如此一来将大大减小内核体积,使之成为名副其实的微内核.

二、单片机嵌入式程序的软件编码

嵌入式系统的软件开发过程,也是经历了分析需求、设计功能、设计结构、具体设计、实现编码和集成测试的过程,但有一点与普通的台式机软件开发相区别,嵌入式软件的开发与制作几乎都属于跨平台开发,同时多数的代码要对硬件设备进行直接控制,因此其对硬件有很强的依赖性,对时序也有十分苛刻的要求,甚至其运行状态在多数情况之下都具备不可再现性.

嵌入式系统的应用软件设计中的亮点是拥有可使用的工具包,同时,工具包也因不同设计阶段的需求差异而内容不同.例如在软件设计的早期,首先使用内部电路模拟器,将其插入微处理器与总线间的电路时,设计者能够通过它来控制全部输入输出和微处理器的动作.但又容易因为模拟器是异体而引发不稳定情况.但设计者能够清楚地对系统底层上所有的活动进行观察,从而无需仅靠经验来对底层的软硬件进行猜测.

如今,嵌入式操作系统已日趋成熟,各类开发板功能和集成开发环境也将逐步得到优化升级,因此嵌入式应用系统的应用软件开发也较以往简单得多.同时,各类集成开发环境也集成代码编辑器、连接器、编译器、模拟器、调试器等等,这使设计者能够在摆脱了目标硬件环境之后迅速开发出相应应用软件的原型.而硬件开发板也为设计者提供了即使处于与目标硬件不相兼容的环境下也能调试相关应用程序的能力.

简析单片机嵌入式程序的开发构成参考属性评定
有关论文范文主题研究: 关于嵌入式的论文范本 大学生适用: 本科毕业论文、函授论文
相关参考文献下载数量: 41 写作解决问题: 毕业论文怎么写
毕业论文开题报告: 论文模板、论文目录 职称论文适用: 期刊发表、职称评中级
所属大学生专业类别: 毕业论文怎么写 论文题目推荐度: 免费选题

一般说来,大多数厂家在生产开发板时都驻留了与微机通信的相应控制程序,这可以使主机和开发板能够通过以太网口或串口来通信,同时主机中的应用软件和系统软件的原型可执行映像也能直接被下载入开发板.代码会在主调试中主开发板的硬件上执行,此时的用户界面可以等同于微机室内集成开发环境.这一切让设计者能更多关心如何更好地实现软件功能.

三、单片机嵌入式系统程序的引导装入设计

(一)工作过程.引导装入程序具体的工作过程:当嵌入式设备的单片机系统主复位或收到命令时,主系统的引导装入程序在接受到相当于“允许引导装入”的信号之后,立刻把单片机配置成为接受代码的状态,此时的信号便会从指定的主机上下载相对应的程序代码,并把代码数据传输至单片机的FLASH储存器内,将单片机的内部程序中的储存器主系统进行重新编程.当引导装入程序主下载成功之后便自动转入执行新系统程序的操作中.

(二)硬件设计.在主机同单片机的通信外设之间成功建立连接后,便使单片机开始设计引导装入程序.

1、引脚分配.数字交叉开关被单片机用来为数字外设配置作为外设接口处的端口引脚.一般来说,交叉开关可以是数字外设任意的组合,但必须满足软件可以更改器件中的引脚分配问题.为了便于分配,引导装入程序一般会使用和最终应用一致的引脚来分配.

2、引导装入允许.系统为了能在复位或者其余条件中均能顺利完成在系统中的编程任务,通常会先将一个引脚作为输入信号,然后通知系统开始下载并向引导装入传输允许信号.最后将读取当作是引导装入信号的1/0引脚,让主机或者其它硬件可以通知单片机启动装入过程.

(三)软件设计.当接收到允许命令后,系统中的引导装入程序应当让单片机做好接收数据的准备.第一步,系统中的引导装入程序需要配置有用的通信外设.第二步,引导装入程序要擦除用来下载的系统存储器,并同意对其写入.为了将通信链路建立起来,引导装入程序将利用自动波特率来检测明确位速率.第三步,主机与MCU器件均使用预定好的波特率,当器件做好接收数据的准备后,主机便能收到通知,随之主机发送出数据,并将在有关数据中附上与下载内容相关的信息.

四、单片机嵌入式系统程序的低功耗设计

通常以单片机为主要程序的嵌入式系统会有很多使用环境处于供电困难的状态,例如空中、井下或者野外.此时还需要电池为小型便携式仪表仪器提供电源.所以,很有必要为嵌入式系统设计低功耗使用.从实质上来说,CMOS器件使得低功耗嵌入式系统比普通系统功耗更低.因此,我们先来分析CMOS器件的数字集成电路特点:首先,低功耗CMOS电路在工作时的所有功耗是由静态和动态的功耗总量组成.动态功耗不单只受负载的影响,在电路内部,实质上也与工作频率、输出电平、集成度及电源电压等联系密切;其次,当电压值范围大时,CMOS电路正常工作需要3—18V的供电值,逻辑电平又紧密联系着供电电压Vdd.当所输出的逻辑电平摆幅越大,高逻辑的电平就越与电源电压相接近,低逻辑的电平则越与OV相接近.


(一)硬件的设计

通过以上总结,可以分析出设计低功耗系统的原则:重点控制动态功耗、时钟频率以及电源电压.归纳起来即是三相宜原则:时钟宜慢不宜快、器件(系统)宜静不宜动、电压宜低不宜高.

(二)软件的设计

1、用中断替代查询.虽然在程序中无论是查询方式还是中断方式均能应对那些较为简单的应用,但却在低功耗特性的结果上相差甚远.使用查询方式的CPU会因需要对1/0寄存器不断地进行访问而损失额外的功耗.而如果是使用中断方式的CPU,则不需要做任何事,甚至可以直接转入等待或停止模式.

2、用定时器定时代替延时子程序定时.系统中的延时子程序定时是通过CPU不间断地进行毫无实际意义的空操作指令,并结合减一非零的转移指令来实现的.这样的结果却是,因为加大了CPU的工作量而浪费了功耗.所以要克服这个问题,就必须用定时器来结合中断.

3、间歇运行1/0模块.即通过关掉间歇性工作的1/0模块或不工作的1/0模块来降低功耗.例如,RS232的驱动只需要用单机片中的一个1/0引脚去控制,当不需要通信工作时则关掉驱动.将其余不使用的1/0引脚设置为输入或输出,并通过上拉电阻来拉高.如果不初始化引脚,将可能增加单机片操作时的漏电流.

4、工作时序的合理安排.空闲或者掉电的工作方式能让CPU遇到不执行程序的情况后能自动停止工作,如此,就毋须不停地按照空操作指令执行或一直处于等待状态,进而达到了降低功耗的目的.因为系统的功耗会因为CPU的长时间运行而浪费极大,所以要尽量减少CPU的运作时间,使单片机系统处于长时间的空闲状态或者掉电状态,这样才是在设计软件中使得系统功耗降至更低的不二法门.系统上电将在初始化操作完成后,立即转入低功耗状态,只有在接收到发出的中断信息后,才会将单片机唤醒而继续工作.同时它将以最快的速度处理完数据或信息,然后立即恢复低功耗状态,直到下一个中断.

5.更改实现复杂运算的方式.诸如浮点乘除、指数运算之类的复杂运算会因占用很多系统的时序而减少相应休眠的时间.所以,需要用查表方式,即利用大容量表格去替代现场计算,从而节省了单片机的启动时间.

五、单片机嵌入式程序系统的抗干扰技术

在工业环境中,以脉冲的形式进入系统的干扰主要有三种形式:空间干扰、过程通道干扰以及供电系统干扰.单片机系统被干扰之后会出现例如控制操作故障,采集数据时的误差相对增大等系统状态失灵的现象.因此,需要对硬件和软件同时着手来应对干扰.

(一)硬件的抗干扰措施

1、电源干扰控制.采用双隔离方式改进电源变压器,将压敏电阻并联于电源的初次级中,来抑制浪涌、尖峰型的电压.同时利用低道滤波器来过滤掉干扰所携带的高次谐波,以改善电源的波形.

2、隔离技术.用光电耦合器切断单片机与前后向以及其余控制器的电路联系.也可用隔离变压器切断环境,进行电磁隔离.

3、屏蔽技术.用金属箱体套于单片机嵌入式系统外部,金属便会将外部干扰电磁削弱或消除.

4、去耦技术.在所有集成电路电源与地之间均安装去耦电容.既能蓄储所在集成电路上的电容,提供并吸收从该电路中由开关门瞬间发出的充放电能量,又能将高频噪声旁路掉.

(二)软件的抗干扰措施

1、指令冗余技术.NOP指令的使用及重要指令冗余是两种常用的技术.在双字节和三字节指令中加入两个单字节的NOP指令,可以避免因程序“跑飞”到操作数上而造成的指令操作错误,从而保证了程序的正轨运行.

2、软件陷阱技术.将一些拦截程序设置在非程序区内,将失控的“跑区”程序引到处理错误程序的入口地址ERR或复位入口地址OOOOH,并利用LJMP指令让程序恢复正轨运行.

六、结束语

嵌入式应用系统的核心是单片机嵌入式操作系统以及嵌入式软件的设计技术.两者更是嵌入式系统技术研究的热点,因此在信息家电手持设备等领域将会有越来越广泛的应用.虽然目前有关单片机嵌入式系统的研发仍处于起步阶段,但随着研发的不断深入,将对嵌入式软件设计的应用与发展有重要的实践和借鉴意义.