电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

多任务设计范文

来源:开心麻花作者:开心麻花2026-01-071

多任务设计范文(精选12篇)

多任务设计 第1篇

一、设计目标, 在驱动中定位导航

目标是教学的内在动因, 目标科学具体明确, 会调动、增强学习的自觉性和积极性。教学目标是教学的根本指向、核心任务、归宿灵魂, 是任务设计的关键, 支配着教学的全过程。优化教学目标设计, 是优化任务教学的首要工作。因此, 设计的任务要有明确的目标和指向, 必须以课程标准为依据, 科学、准确、系统、合理地选择、划分和安排确定任务内容, 必须弄清学生将获得什么, 为什么要教这些内容, 教到什么程度。为任务教学准确的定向, 呈现清晰的设计意图、评价标准、达标程度, 蕴涵知识能力情感态度价值观, 便于学生朝着一个明确的方向努力, 也便于任务完成后的评估, 避免不着边际。

如在教学人教版九年级政治课时“建设社会主义精神文明”单元, 教师设计了“小组预习展示交流”的任务单, 并开展活动。任务一 :搜集并展示能体现“精神文明”的典型实物, 在课堂上对全班同学进行解说。任务二 :搜集能体现“精神文明”的正面典型事例和全班分享。任务三 :用肢体语言或表演的形式描述一个你所理解的“精神文明”。任务四 :在预习的基础上, 每人对本课提出1~2个有价值的问题, 小组负责收集整理同学们提出的问题。这一任务设计意在引导学生自主学习, 在增进对精神文明建设的感性认识上, 梳理知识, 并提出问题, 从整体上架构教材。

二、聚焦核心, 在驱动中强化固化

聚焦是一个物理学名词, 延伸到任务驱动式教学指的是将学习任务尽可能会聚于某一项、某一点的过程和方法。课堂教学时间的有限性及学生认知水平的有限性决定了一堂课不可能解决很多问题, 任务的设计如果追求面面俱到, 就会导致面面不到。聚焦才会让课堂有重心和根基, 才会让各种力量生发开来, 充满张力。在课堂教学时, 可以聚焦某个核心点, 避免蜻蜓点水、浅尝辄止, 不深入、不到位的虚化境地, 让能力形成、强化、固化, 让课堂富有深度、效度。聚焦的任务可以是一个小栏目、一个核心观点、一种能力、一种思维模式等, 力避“贪多嚼不烂”的现象。

如在教学人教版八年级上册“男生女生”时, 教师设计了一个培养学生阅读能力的任务 :阅读书本P38~41《男生女生》第四节至第八节正文内容, 要求 :A组 :在本组小老师的帮助下, 自己能找到中心句或者归纳中心句, 归纳出一节正文内容 ;B组 :精炼地归纳每节正文的中心意思 ;C组 :不仅能精炼归纳每节正文中心意思, 还能弄懂每节正文之间的关系 ;D组 :厘清《男生女生》这一框每节正文之间的关系, 会用简单的知识结构图归纳出本框的大致内容。这一任务设计聚力阅读能力培养的几个核心要素, 对阅读能力进行针对性、全方位的培养。

三、分解模块, 在驱动中降位着落

任务分解是把教学内容中的关键知识点分解成若干个小模块, 针对学生实际水平和教学外在条件, 将某一部分内容设计成一个大任务, 再将大任务按学习主题分为小任务, 在小任务中将学科知识与技能训练蕴含其中, 让学生在任务驱动下自发地学习知识、分析问题、塑造情感、养育德性, 体验学习的乐趣。在任务的完成过程中其小组合作意识、探究能力等素养都会得到很好的锻炼和提升。设计时, 可以针对一个学习单元或阶段来设计多节课的任务, 再将大任务分解成二级甚至三级四级子任务来完成, 也可将一个分支任务分解为若干学习步骤, 让每一位学生都承担一定的具体学习步骤, 形成一个比较全面系统的任务体系。

在教学人教版九年级“建设社会主义精神文明”时, 教师为提升学生对先进文化的认同感, 激发追求更高思想道德目标和提高自己科学文化素质的自觉性这一任务, 设计了三个趣味话题 :话题一 :中国国家形象调查。呈现国家形象调查排名下降的图表。1请结合文字注释对数据图进行解读。2小组合作探究 :为进一步提升中国国家形象, 你有哪些好的建议?话题二 :电子涂鸦墙。观点一 :电子涂鸦墙, 与时俱进, 以疏代堵, 效果立竿见影, 值得推广。观点二 :电子涂鸦墙, 是对陋习的妥协和纵容, 不能根治不文明的行为。小组讨论 : 对这一举措, 我们想表达的观点是?理由是?话题三 :我若盛开, 阳光自来。呈现校园文化艺术节的活动。1请为老师们介绍一下这个活动?学校还有哪些类似的活动?2请分享一下你参加过的“校园文化艺术节”活动或其他类似活动的经历和感受。这一设计将大任务首先从国家、社会、学生三个视角进行分解, 然后通过情境的设计再进行二级分解。

四、拾阶而上, 在驱动中分层梯进

教学应从儿童潜在的发展水平开始, 不断创造新的“最近发展区”, 应根据学生的“最近发展区”来建立支架, 通过支架的作用不停地将学生的智力从一个水平引导到另一个更高的水平。教师应以事物生发的过程、轨迹和形态为摹本, 遵循生成性逻辑, 着眼于理解科学世界方式的建构。教师可在学习总体目标的框架上, 把总目标细分成一个个台阶式的、相互关联的小目标、小任务, 环环相扣, 体现能级层次发展的螺旋式轨道, 遵照思维的逻辑顺序, 让先前任务对后继任务起到激发的作用, 在循序渐进的爬升过程中对学生进行分层指导, 进而达到发展个性和智能, 实现递进的目的。

如在教学人教版八年级下册“忠实履行义务”时, 教师设计了五个任务 :任务一 :如何忠实履行义务?课本提出三个观点, 请将观点中的关键词划出来, 想一想他们的意思。任务二 :观看三段素材, 说说各体现了哪种观点?素材一 :2013年感动中国人物 :刘盛兰 ;素材二 :香港保钓人士的行动 ;素材三 :昆明“301”事件。任务三 :请你例举能体现这三种观点的事例。任务四 :自学课本相关内容, 并小组讨论 :1为什么法律鼓励做的我们要积极去做?2为什么法律要求做的我们必须去做?3为什么法律禁止做的我们坚决不做?任务五 :案例分析 :某校学生张某骑自行车上学。路上因闯红灯被交警拦住, 并受到了交警的批评。张某来到学校, 又因没完成英语老师布置的作业, 受到了英语老师的批评。然而张某却说 :“做不做作业是我的自由, 成绩好坏是我个人的事。”下午, 张某因违反校纪, 班主任老师让其回家请家长, 由于家长不在家, 他便抱起足球到楼下草坪上踢了起来, 被小区管理员狠狠地批评了一番。晚上在家, 张某又因不尊重爷爷, 加上父母知道张某一天的情况, 受到了父母的严厉批评和教育。张某感叹道 :“我真是倒霉透了, 一点儿自由也没有!”问 :1张某认为自己“倒霉透了”, 他这种“认为”对吗?请你分析一下他之所以“倒霉”的原因。2请你为张某摆脱“倒霉”境地, 设计一个行之有效的方案。这些任务让学生经历着拾级而上的过程。

五、问题异质, 在驱动中整合融合

事物虽然千秋各异, 但在众多差异背后, 潜藏着本质上的一致性、同一性。很多问题虽然情境材料千变万化, 但是却遵循着相同的规律, 有着共同的思维方式, 考查、培养的是同一种能力和情感, 我们把这类问题称之为“形异质同”问题。学科思维和能力都是多元化的, 同一性的问题重复的问, 既消磨教学的有效时间, 也不利于学生能力的形成。任务设计应从多种维度和视野切入, 让能力在主体活动系统中经历贯穿交叉、渗透交合的过程, 对异类性质的资源、素材、问题进行组合、整合、融合。

如在教学人教版九年级“实施可持续发展战略”时, 教师设计了“绿色志愿者进我家”的任务 :1周末早晨, 奶奶让你扔垃圾。你却发现垃圾袋中不仅有清扫出的灰尘纸屑, 还有摘剩的瓜皮菜叶, 吃剩的鱼头鸡骨, 喝空的易拉罐, 还有用完的电池等, 这时你该怎么办?2扔完垃圾, 和妈妈到一家早餐店吃早饭。你发现店里既有一次性碗筷也有普通的消毒碗筷。而妈妈拿起一次性木筷就准备吃, 这时你怎么办?3爸爸的单位距家只有步行约10分钟路程, 公交也很方便, 而他每天上下班都喜欢开着他那辆排量2.0的别克。今天他又准备开车去加班了。这时你怎么办?4爷爷爱好收集象牙制品, 最近他又想购入一对象牙制品。这时, 你知道了你怎么办? 5过了几天, 你无意间发现舅舅的造纸厂偷偷地往河里排废水, 这时你怎么办?6姑姑家最近在装修, 她打算买全套的实木家具, 这时你怎么办? 7叔叔带着小堂弟到你家玩。吃饭的时候, 小堂弟撒了很多饭粒在桌上, 碗里的饭也没吃完。这时你怎么办?8你去姨妈家拜访。发现表妹的作业本常常写了一半就不要了。这时, 你要怎么办? 这些繁多的任务表现出一定的同质性, 大部分局限于家庭生活领域, 以虚拟的人物进行了串联, 所有任务都指向于对环境资源问题的践行, 缺乏思辨等重要能力的培养, 如果教师能将领域拓展到学校与社会, 展示复杂的生活样态, 隐含多元化的学科能力, 可能更利于培养学生的综合素养。

六、满足需要, 在驱动中生长生成

造成任务低效的主要原因是没有正确认识学生的学习需求, 没有分析学生己经知道了什么、能做些什么等。“实际是什么”的问题以及一堂课结束后学生必须达到的状态, 所需解决的问题层次过深、跨度过大或者过于低幼、简单, 都会导致学生现有的知识水平和认知结构的无法达成或低效重复, 无法引起有效思考, 导致半途而废或者感到无事可做的现象, 最终降低了任务驱动的效率。教师应当做好课前的学情测试, 了解学生的原点、触点、生长点, 设计贴近学生生活和经验的问题情境, 设计不同难度的任务, 满足不同层次学生对知识存量、学习能力、情感价值的需求, 让任务充满探究性、挑战性。

如在教学人教版九年级“实施可持续发展战略”时, 教师设计了这样一组任务:第一组 (课本研读组) :负责钻研课本, 告诉大家课本的知识体系。第二组 (社会透视组) :调查社会上已经实施了可持续发展战略的案例或现象。第三组 (两会观察组) :看看两会议题中有没有这方面的内容, 和大家分享。第四组 (绿色志愿者组) :设计绿色志愿者组织的徽章, 并解释其意义。第五组 (公益广告组) :设计一条公益广告。要求以理服人, 以情动人 ;语言要流畅、优美、具有感召力。这一组任务可满足不同类型学生的发展需求, 也让课堂趣味横生。

七、延伸扩展, 在驱动中践行内化

缺乏践行与跟进, 学生的价值观是难以认同和内化的, 任务的设计还要对学生那些未知的现象和运动做适度的延展、辐射, 形成主体世界的意义视域与行动策略。教师进行任务设计时, 应遵循明理到践行的逻辑, 为学生提供尽量丰富的与生活背景相关的素材或进行实践探索的机会和空间, 设计、构造出一系列典型的操作性任务, 通过对任务的创设、分析、探究、评价和延伸, 构建起属于自己的知识结构体系和主体思维方式, 让学生在完成实践性任务中掌握知识、技能和方法, 深化、升华道德情感, 降解复杂、艰深的理论观点。

如在教学人教版七年级上册“丰富多样的情绪”时, 教师为促进学生掌握理性情绪疗法的思维方式, 设计了情绪管理记录表, 进行跟踪观察记录, 分阶段提出改进建议的任务。观察学生在日常行为和学习活动中的表现, 搜集评价信息, 为进行有针对性的评价提供依据。

多任务设计 第2篇

关键词:单片机任务线程并行处理

引言

首先要指出的是一点是,我们不是讨论嵌入式实时多任务操作系统(RTOS)的设计。我们讨论的是,在不使用RTOS的控制系统中,如何体现多任务多线程机制的程序设计思想。

一些嵌入式设备可以需要操作系统,例如掌上电脑、PDA、网络控制器等高性能的手持设备和移动设备。它们往往和无线通信、互联网访问和多媒体处理等复杂而强大的功能联系在一起;对CPU要求也很高,往往是以通用CPU为原型的各种高端嵌入式处理器。

作为一个完整的操作系统,RTOS有一个可靠性很高的实时内核,将CPU时间、中断、I/O、定时器等资源都包括起来,留给用户一个标准的应用程序接口(API);根据各个任务的优先级,合理地在不同任务之间分配CPU的时间,保证程序执行的实时性、可靠性。内核一般都能提供任务调度和中断服务等功能,部分高档商业化产品,如WindowsXPEmbedded,甚至支持32位地址空间、虚拟存储管理、多进程以及嵌入式操作系统中不多见的动态链接库(DLL)。对于这些RTOS来说,多任务实时处理不是件困难的事情。

但更多的情况下,用户使用的是另一类CPU――微控制器,即单片机,往往是按照某一流程执行单一任务。出于成本和技术上的原因,这类软件开发多数还是基于处理器直接编写,没有选配实时多任务操作系统作为开发平台,也不需要将系统软件和应用软件分开处理。但是在实际应用中,有时也会面临同时处理多个并行任务的要求,这就需要安排一种运行机制,来模拟RTOS中的处理方法。

1RTOS中的设计思想

单处理机多道程序系统具有如下特征:

①从宏观上看,几种程序“同时运行”。即它们先后开始了各自的运行,且均未结束。

②从微机上看,几道程序“交替执行”。对于单处理机系统而言,它们只能轮流地占用CPU。

其实质是指几道程序在处理机中“交替执行”。我们按照现在常用的方法,把一道程序和一个任务对应,把任务中的每个分开的、独立执行的部分称之为线程。

具体到RTOS来说,一方面,实时操作中的多任务引起的并发性和实时性,要求操作系统对资源分配具有更强的控制能力。通常的办法是采取设立前台与后台两个作业的分配办法。前台作业中包含实时采集、控制、处理有关的任务,任务优先级较高;后台作业一般是对数据进行分析、输出数据、响应操作员请求等任务,优先级较低。后台作业中与后台作业并非完全孤立的;后台作业所需数据由前台作业存储共享内存区内,作业之间通过共享存储区进行数据交换。

另一方面,实时任务总是由某个事件发生或时间条件满足来激活。事件有两种:内部事件和外部事件。时间驱动也有两种:按绝对时间驱动和按相对时间驱动。内部事件驱动是指某一程序运行的结果导致另一任务的启动,这个结果可能是数据满足一定条件,也可能是释放了某一资源;而最典型的实时任务是由外部事件驱动的。在实时系统中,外部事件发生有时是不可预测的,由外部事件驱动的任务一般是需要立即执行的任务,它的优先级最高。绝对时间驱动是指在某指定时刻执行的任务,也就是在自然时钟的绝对时间执行。相对时间驱动是指周期性执行的任务,总是相对上一次执行时间计时,执行时间间隔一定。除了周期性任务外,还有一些同步任务也可能由相对时间驱动,如等待某种条件到来。等待时间是编程设定的。相对时间可用计算机内部时钟或软件计时。

图2独立并行任务

多任务设计 第3篇

【摘 要】文章以单片机芯片AT89C51为依托,利用高级编程C语言设计出8位单片机的多任务处理的方法。介绍了其设计的原理,从单任务入手逐步分析多任务处理的具体过程,从而实现多任务并发执行的功能。

【关键词】AT89C51;C语言;多任务

传统的单片机程序一般采用单任务机制。所谓"单任务机制"是指该系统不能支持多任务并发操作,宏观串行地执行一个任务。由于程序只能按顺序依次执行,缺乏灵活性。多任务机制则可以宏观并行(微观上是串行)地"同時"执行多个任务。笔者设计的这种多任务机制,不需使用汇编,采用常用的C语言编写,按照所给出的参数,添加自己的任务代码,就可以实现多任务的并发执行。

1、单片机多任务机制的工作流程

本文采用美国 ATMEL 公司生产的 MCS51 系列兼容芯片,在通常的单片 AT89C51应用情况下,程序被设计成一段无限循环的代码while(1),即构成一个连续执行的单任务系统。

2、多任务并发设计

假设要控制一个LED灯的闪烁,其实现过程为:点亮LED,延时,关闭LED,延时,依次循环下去。但是,如果需要控制两个LED灯的闪烁,一个是每一秒闪烁一次,另一个没0.5秒闪烁一次,这就需要考虑将处理器的时间进行分割,不同的任务获得一定时间片段来执行程序,当这个时间片到期了,就中断转而由另外任务来获得处理器的资源。本文所设计的方法为:采用一个自定义的进程控制器(变量stp)将其分成四个部分。在LEDLight()函数中实现的伪代码如下。

void LEDLight(vopid){

switch(stp)

{case 0:亮灯;stp++;break;

case 1:延时;stp++;break;

case 2:灭灯;stp++;break;

case 3:延时;stp=0;break;}}

每次进入LEDLight这个函数只执行了其中的一个小部分。接下来,对其中的每个小部分进行改进为某个小的任务,而每个小任务又分成多个小部分。这样,就形成了如下图1所示的多任务机制。

图1 多任务结构程序流程图

由于每个任务的执行时间不尽相同,因此引入定时器来处理不同的延时。其工作原理是程序判定任务的记时器是否满足条件而决定任务是否继续执行。因此上面的程序就改为:

void LEDLight(void){

static unsigned int stp=0;

switch(stp)

{case 0:亮灯;stp++;定时器初始化;break;

case 1:if(定时器未到)break;stp++;break;

case 2:灭灯;stp++;定时器初始化;break;

case 3: if(定时器未到)break;;stp=0;break;}}

定时器就是用变量做累加或者递减,当所设定的值自增或自减到了一定数量后(即消耗掉一定的时间)则作为一种程序的判定,如果定时器未到,则转为下一个任务执行,如果定时器到了,就开始执行本地的任务。为了使软件定时器更精准,就可以对硬件定时器的溢出次数计数。那软件定时器的定时时间就是硬件定时器溢出时间的整数倍。因此程序改为:

unsigned char Timer[2]; /*两个软件定时器*/

void Timere0Irq(void) interrupt 1

{Timer[0]++;Timer[1]++;}

void LEDLight(void){

static unsigned int stp=0;

switch(stp)

{case 0:亮灯;stp++;Timer [i]=0;break;

case 1:if(Timer[i]

case 2:灭灯;stp++;Timer[i]=0;break;

case 3: if(Timer[i]

3、结束语

实现多任务操作除了本文中所介绍的方法之外还有其他的方法,如ARM开发常用的?C/OS-II、RTX-51TINY等。但是RTX-51TINY必须采用Keil公司的C51编译器,?C/OS-II则对芯片的RAM空间要求比较高,51系列的芯片内存空间有限无法装入此?C/OS-II系统。

文章所采用的方法其结构清晰,不需使用汇编语言,所用代码较少,易于理解有效的提高了单片机处理器的效率。

作者简介:

文辉(1979-),男,汉族,江西萍乡人,江西信息应用职业技术学院计算机技术系网络教研室教师,研究方向:嵌入式系统。

余丽萍(1985-),女,汉族,江西进贤人,南昌航空大学自动化学院06级信号与信息处理硕士研究生,研究方向:图像处理与模式识别。

参考文献:

[1] 阿占文等.单片机多任务操作的多功能采集卡设计[J].自动化仪表.2014(1).

[2]郭天祥.新概念 51 单片机 C 语言教程: 入门、提高、开发、拓展全攻略[M]. 北京: 电子工业出版社.2009.

嵌入式多任务程序设计 第4篇

1 嵌入式系统多任务分析

嵌入式实时控制系统中往往有执行多任务的需求,按任务性质及其响应特征可分为以下几种:

(1) 定时处理类。系统在一定的时间阶段会执行固定的一个或多个任务,且每个任务都需在一定的时间内完成,而不同任务的处理时间可以不同;

(2) 突发类。任务会在不可预知的时间出现,且需要及时得到处理,如系统故障处理,否则会导致严重的后果;

(3) 可预知的突发类。可以确定在某一阶段甚至整个程序运行期间有某任务需执行,但无法预知其发生的准确时刻,每次任务也可能不同。例如,主从通信中的被动方,需在任务请求时及时进行处理。

2 有操作系统的多任务设计

嵌入式操作系统为用户提供了多任务的环境,可以方便用户的上层开发。文中以VxWorks操作系统为例,分析其调度机制,并提供解决优先级翻转问题的方法。

2.1 基于优先级的任务调度

VxWorks共有256个优先级,编号为0~255,0为最高优先级,255为最低优先级,优先级抢占调度就是高优先级就绪状态的任务可以抢占正在运行的低优先级的任务,中断可以抢占任何任务,这样就可以保证系统的实时性[1,2]。但这种调度算法也增加了系统的复杂性,系统任务的执行流程是不可控的。对于共享资源需要加以保护,同时要小心使用任务间的同步机制,防止出现系统死锁。

在优先级抢占调度方式中,调度程序保证高优先级的任务先执行。但是由于任务间的资源竞争会使一个高优先级的任务被迫等待一个低优先级任务完成,才能执行。这种情况就是优先级翻转。

解决方法如下:

(1) 优先级继承的方法。

占有临界资源的任务可以继承等待该临界资源的所有任务中优先级最高的那个任务的优先级,这样就可以有效防止优先级的翻转。VxWorks操作系统为用户提供的互斥信号量就是采用优先级继承的方法,来完成对互斥资源的保护[1,2]。

(2) 动态设置最高优先级的方法。

将占有临界资源的任务优先级暂时抬高到所有应用任务中最高的优先级MAX_PRIORITY,这样就可以防止此任务被较低优先级任务打断,产生优先级翻转,同时可以保证最高优先级任务的实时性,并且可以使临界资源尽快得到释放。应用此方法对临界资源的保护。

2.2 基于时间片的任务调度

VxWorks任务默认的调度方式是基于优先级的抢占式调度,允许和时间片轮转调度共存,基于时间片的调度就是为每个任务分配固定的时间段,从而避免长时间占用CPU。要使用基于时间片的轮转调度,必须显式的进行声明kerneTimeSlice( ),这样同级的任务就会按照时间片的方式轮转运行,这并不会影响优先级的抢占。同级的每个任务都包含一个运行时间计数器,任务每运行一个时间滴答此计数器加1。任务的时间片用完之后,就进行任务切换,停止执行当前正在运行的任务,并将它放入就绪队列尾部,对运行时间计数器清零,并开始执行就绪队列中的下一个任务。当运行任务被更高优先级任务抢占时,此任务的运行时间计数器被保存,直到该任务下次运行[1,2]。图1是一个轮转调度及优先级调度结合的实例。

设有3个任务task1,task2和task3,它们的入口函数分别为function1(void),function2(void)和function3(void ),优先级分别为high_priority,low_priority和low_priority,优先级顺序为high_priority> low_priority。分配的堆栈分别为stacksize1,stacksize2和stacksize3,期望的时间片为timeslice,则在VxWorks中优先级与时间片相结合的任务调度的程序框架即可编写出来。

如果task2和task3得到CPU资源,会按照设定的时间片timeslice运行,此时如果task1变为就绪,就会打断task2和task3的运行,直到task1让出CPU,但被打断的任务的时间片并不会减少。

此外,还可以利用操作系统提供的任务间的通信机制如信号量等来协助任务的调度。可以看出,操作系统为用户提供了可靠且方便的平台,用户可以将更多的精力放到应用程序上,且容易实现复杂功能的程序。

3 无操作系统的多任务设计

3.1 基于中断的多任务调度

对于无操作系统的嵌入式系统,较难实现多任务的并发运行,考虑到中断可以打断当前程序的运行,而转到中断服务程序中执行,执行完中断服务程序后,会根据堆栈中保存的被中断的环境返回。根据中断的特点,文中提出了应用一个中断来实现多任务调度的方法。

3.1.1 轮转调度方法

为了实现多个任务的轮转执行,将每个任务都设为一个无限循环体,当执行完一个循环后,将下一个要运行的任务主函数地址设为中断向量,调用此中断,则期望的任务便会得到执行,这样可以实现多个任务的相互切换,每次切换,每个任务都能完整的运行一次。由于只是利用中断的指令跳转功能,并不需要其返回,因此需要将此中断堆栈中存放的被中断的环境数据清除[4,5,6]。不失一般性,设有3个任务task1,task2和task3,依次切换运行,采用一软中断,设其中断号为N,一条INT N指令即可以将CPU的控制权交给其对应的中断向量处的程序段。

task1执行完一个while循环,就会执行task2:task3执行完一个while循环,就又会跳到task1执行。

这种调度方法适用于任务固定的情况,需要处理器支持软中断,只要一个软中断就能实现多任务的有效调度,任务只要分配合理,就能较好的满足工程需要。

3.1.2 时间片调度方法

此方法同样根据中断的特点,应用一定时中断可以方便的控制每个任务的运行时间,时间的长短可以动态改变。将每个任务都设为一个无限循环体,为每个任务开辟一块数据区设为此任务的控制块task_TCB[2],用来存放此任务被中断的运行环境和期望运行的时间片。当一个运行任务的时间片用尽后便会产生定时器中断,中断服务程序开始时会将被中断任务的运行环境压入堆栈,然后将被中断任务的环境出栈并保存到此任务的控制块中,以便下次运行可以完全恢复被中断的运行环境。然后将期望运行任务的控制块中的环境信息压入堆栈,并根据此任务控制块中设置的时间片的大小来设置定时器的初值,这样中断返回后,就会在期望运行任务上次被中断的地方继续执行,直到其时间片耗尽产生定时中断。

每个任务的框架如下:

timer_ISR为定时器的中断服务程序,timer_ISR()的流程图,如图2所示。

图2是程序的框架,可以用汇编语言编写,若用C语言编写,可以嵌套汇编来实现,只要系统中能够产生硬件定时器中断,采用以上机制就可以方便的实现多任务时间片调度,并且各个任务期望运行的时间片是可以随意控制的,能够较好的满足工程需要。但缺点是任务多时,定时中断里的判断逻辑比较复杂。

3.2 基于近似线程的多任务调度

为了满足系统各个任务对实时性的要求,需要实现各任务的并行运行。可将任务分成多个部分,每次执行时不是一次完成所有功能部分,而是只执行一部分功能。尤其是当任务有延时等待的需要时,就将过程打断,转入下一个任务。

采用这样的程序框架可以实现多个任务的并行运行,对系统要求低,并且容易实现。如果各个任务的功能分布特性好,就能满足各个任务较好的实时性,具有较高的实用价值。

4 结束语

讨论了嵌入式系统多任务调度方法,给出了无操作系统时的多任务实现方法,有较强的实际意义。

摘要:对嵌入式系统中的任务进行了分析,针对有操作系统的情况,以VxWorks操作系统为例分析了其调度机制,并对优先级翻转提供了解决方法;对于无操作系统的情况,文中提供了多种实现多任务调度的方法。

关键词:嵌入式系统,多任务,VxWorks

参考文献

[1]孔祥营,柏桂枝.嵌入式实时操作系统VxWorks及其开发环境Tornado[M].北京:中国电力出版社,2002.

[2]WindRiver.VxWorks Programmer s Guide[Z].USA:Win-dRiver System Inc,1999.

[3]李洪亮,侯朝桢,周绍生.VxWorks下实时多任务程序的实现[J].微计算机信息,2008(7-2):90-91,154.

[4]王生虎,于国华.嵌入式实时多任务操作系统中的程序设计[J].电子科技,2002(9):34-36.

[5]戴梅萼,史嘉权.微型计算机技术及应用[M].北京:清华大学出版社,2003.

多任务设计 第5篇

陕西国资委党委高度重视第一批党的群众路线教育实践活动整改落实工作,强调要增强向中央基准看齐的责任意识和攻坚克难的担当意识,多措并举抓好整改落实。

一是坚持党委统揽全局,建立整改落实领导班子成员责任分工和重大问题集体研究工作机制,从发挥党委的核心领导作用上保证整改落实。

二是牢牢把握思想引领这个中心环节,以深入学习总书记系列重要讲话精神为主线,从提高思想认识上增强整改落实的动力。

三是建立整改落实责任制,明确每名领导班子成员和具体部门的整改责任,从强化责任落实上推动整改落实。

四是定期通报整改情况,从坚持整改公开上促进整改落实。

五是坚持主要领导亲自抓难点问题,从发挥带头作用上带动整改落实。

六是实行开门抓整改,从有序组织群众参与上促进整改落实。

七是充分发挥党支部作用,从加强党内监督上推进整改落实。

八是坚持边整边改,着力解决干部职工反映的突出问题,从解决实际问题上营造整改落实氛围。

方便快捷的多任务切换 第6篇

Glovebox(侧边应用盒)

这是一款多任务处理的绝佳利器,能够实现程序的快速启动,从左侧滑出抽屉上下移动,指到需要的应用即可启动。Glovebox的手势交互很方便,从边缘滑动呼出应用面板,上下移动选择应用,往回滑动是取消选择。

打开应用之后,勾选Glovebox,以保持应用后台运行。在使用之前,首先点击“Configuration”配置应用,然后可以通过“Bar List”来设置面板上的应用,通过“Theme”来更换主题。虽然免费版只提供8个应用位置而且没有主题功能,但是常用的应用应该都包含在里边了(如图1)。它的不足之处就是更换面板上的应用比较麻烦,必须要打开Glovebox 进行配置。

Swapps(滑出程序)

Swapps可能是安卓设备上的多任务切换做得最好的应用之一了。通过一个简单的滑动操作,你就可以快速访问你想要的任何应用程序。只要你保持启动器的后台运行,那么当你玩游戏、读书或听音乐时,你总是可以滑动并切换到另一个应用程序。

Swapps 面板有三部分:我的最爱、最近使用和所有应用。可以长按面板上应用进行更换编辑,十分方便贴心(如图2)。经测试,我的最爱应用最多可以支持 15 个,而且很重要的一点是, Swapps 是中文版的哦。

Swapps的使用也非常简单。触摸屏幕左侧或右侧的边缘,当手机振动后,向屏幕中间滑动,就会出现程序列表,然后选择你要启动的应用程序,就是那么简单。

多任务设计 第7篇

一、任务驱动法在成本会计教学中的整体设计

将整个成本会计课程的内容分为 “两大模块,11 个项目”,根据需要设计教学子实训项目。 以虚拟企业成本核算案例为载体,培养学生的实践动手能力。 项目名称:虚拟公司的成本核算工作。 学生9 名一组,成立代理记账公司,模拟企业会计人员进行成本核算、 成本报表编制及成本分析等工作。 具体的工作内容包括:要素费用的归集和分配、辅助生产费用的归集和分配、制造费用的归集和分配、生产损失的归集和分配、 生产费用在完工产品和在产品之间的分配、产品成本的计算、成本报表的编制及分析。 在第17 周(即在学期结束)之前完成全部成本核算工作并将全套资料归档。

在任务驱动教学过程中, 学生通过分组独立完成探索式的学习项目,提高了学习的积极性和主动性,教师通过任务设计、组织引导教学过程,提高了教学能力。 下面以品种法为例,将任务驱动法运用于成本核算流程这一单元教学。

二、案例介绍

华飞轮胎厂主要生产自行车和摩托车车胎。 该企业设有两个基本生产车间:内胎车间、外胎车间。 设有两个辅助生产车间:动力车间、机修车间。该企业属于大量大批生产,成本核算采用品种法。 产品成本核算要求:(1)产品成本中原材料费用按定额耗用量比例(包装材料和内胎车间用的嘴子按产品产量分配)分配;工资及福利费、制造费用按生产工时比例分配。(2)生产费用在完工产品和月末在产品之间的分配:内胎产品由于各月在产品数量较均匀,采用在产品成本按年初固定数计算; 外胎产品各月在产品数量变化较大,采用约当产量法。内外胎产品原材料在生产开始时一次投入。(3)辅助生产:动力车间为企业提供风、水、电服务。外购动力费用先计入“辅助生产成本———动力车间”,月末随同动力车间费用一同分配; 机修车间为全厂提供修理服务。 为简化核算,两个辅助生产车间发生的管理、组织生产的费用,不通过“制造费用”账户核算,直接记入“辅助生产成本”科目。 辅助生产费用分配采用交互分配法。 产品生产工艺图、领料单、材料费用汇总表、材料费用分配表、工资结算清单、人工费用分配表、折旧费用计算表、制造费用分配表、辅助生产费用分配表、成本计算单、主要明细账及成本核算流程图略。

三、设计任务

通过此项目的训练使学生达到的能力目标为:(1)能通过各类原始凭证、 明细账归集各类要素费用、 辅助生产费用、制造费用;(2)能根据要求,正确选用相应的方法分配以上费用;(3)能将各中间计算结果正确填入各成本计算单相应位置;(4)能根据要求,正确选用相应的方法将生产费用在完工产品和在产品之间进行分配;(5)能编制完工产品成本汇总表及单位成本。同时,由于企业的成本会计人员必须要了解本企业的生产经营情况, 必须要了解企业的生产工艺流程。 为此,将任务分解为如下两类:了解企业的组织机构及生产工艺流程; 成本核算过程中的各项要素费用的归集与分配及产品成本的核算。 具体为:任务一:材料费用的归集和分配;任务二:人工费用的归集和分配;任务三:外购动力费用的归集和分配;任务四:辅助生产费用的归集和分配;任务五:制造费用的归集和分配;任务六:生产费用在完工产品和在产品之间的分配;任务七:产品成本的计算;任务八:产品成本的汇总。

四、多任务驱动的实施

以上任务一至四,设计分别由4 组学生平行进行,在同一个10 分钟内完成,将数据向其他任务组传递输送,具体如下:

1.材料费用归集分配操作流程。

第一组(材料组)学生根据实验资料数据,及已掌握的材料费用的核算流程,操作10 分钟。 此过程中将阶段性核对中间结果, 并由学生主动到黑板写出材料费用的分配分录, 其他同学将各产品应承担的材料费用对应填到四张产品计算单本月发生“直接材料”成本项目中。

2.工资费用归集分配操作流程。

第二组(人工组)学生根据实验资料数据,操作10 分钟。此过程中将阶段性核对中间结果,并由学生主动到黑板写出人工费用的分配分录, 其他同学将各产品应承担的人工费用对应填到四张产品计算单本月发生“直接人工”成本项目中。

3.动力费用归集分配操作流程。

第三组(动力组)学生根据实验资料数据,操作5 分钟,阶段性核对中间结果, 并由学生主动到黑板写出外购动力费用核算的分录。

4.折旧费用的计算。 第四组(折旧费用组)学生根据实验资料数据,操作5 分钟,阶段性核对中间结果,并由学生主动到黑板写出厂房及设备计提折旧的分录。

5. 通过辅助生产费用明细账归集辅助生产费用并分配。 第五组(辅助生产费用组)学生根据以上四个流程得出的数据及劳务量清单,按照要求的交互分配法,操作15 分钟。此过程将阶段性核对中间关键结果,并由学生主动到黑板写出对内分配、对外分配的分录。

6.通过制造费用明细账归集制造费用并分配。 第六组(制造费用组)学生根据以上五个流程得出的数据,操作10分钟。此过程将阶段性核对中间关键结果,并由学生主动到黑板写出制造费用分配的分录。 其他学生根据第5、6 流程得出的数据, 填入四张成本计算单本月发生的 “燃料及动力”“制造费用”成本项目中去。 时间5 分钟。

7.四张产品成本计算单的计算。 第七组(成本计算组)学生根据实验资料要求,分别采用相应方法对内胎产品、外胎产品进行成本核算,并进行相应的账务处理,时间10 分钟。

8.汇总产品成本及单位成本。 同样由第七组(成本计算组)学生完成,时间5 分钟。

9.总结程序图15 分钟。 由教师对各组学生进行的任务进行梳理,在黑板绘出完整的程序流程图,并详细解释说明此流程。

五、教学效果评价

成本核算流程这一单元,对学生来讲,基本没有陌生内容,只是将以前学习的各知识点串起来,教师协助学生形成一根逻辑主线,因此,此单元应用任务驱动法具有一定的可行性,学生有一定的可操作性。教师在学生任务的实施过程中,指导启发学生运用以前所学知识,一步步完成任务,并理清数据的来龙去脉。 这种教学模式很好地体现了以学生为主体,变知识本位为能力本位的理念。

参考文献

[1]王倩.浅谈会计教学中项目教学法的合理运用[J].世界华商经济年鉴·科技财经,2013,(01).

[2]李淑瑞.项目教学法在翻转课堂中的应用——以应用型本科高校会计专业为例[J].佳木斯职业学院学报,2014,(09).

[3]潘霄雅.基于任务驱动法的《会计学》课程教学模式探析[J].经济研究导刊,2014,(04).

[4]李家政.项目教学法在会计教学中的应用[J].安徽冶金科技职业学院学报,2011,(03).

[5]李蕾蕾,魏静.析项目教学法在应用型本科《基础会计》课程中的应用[J].商业会计,2012,(24).

多任务型嵌入式车载终端系统设计 第8篇

实时操作系统μC/OS-Ⅱ具有任务、时间、内存管理等功能, 它是基于优先级调度的抢占式嵌入式实时操作系统, 其内核可以任意裁减, 移植比较简单, 并且能够提供各类功能函数如信号量、邮箱队列等, 实现多个任务之间的通信, 适用于实时性要求较高的场合。本文利用ARM嵌入式处理器, 结合GPRS和GPS技术设计了一款嵌入式车载监控终端系统, 系统采用μC/OS-Ⅱ嵌入式操作系统, 能满足车辆监控终端的设计要求[1]。

1 软件总体设计

本终端系统硬件主要由中央处理器、GPS接收机、GPRS无线通信模块、电源模块等部分组成, 实现导航定位、通话、报警和远程通信等功能。

系统软件采用μC/OS-Ⅱ嵌入式操作系统, 软件采用分层设计, 具体包括底层硬件驱动层、中间嵌入式操作系统层和应用程序接口层, 以及顶层应用层, 整个系统体系结构如图1所示。

软件设计步骤: (1) 进行μC/OS-Ⅱ操作系统的移植; (2) 在此基础上设计各个硬件电路所需要的驱动程序; (3) 进行中断处理程序ISR和各项任务的设计; (4) 利用嵌入式操作系统提供的功能函数创建信号量、消息、邮箱等, 最终实现各个任务之间的通信, 从而达到控制整个嵌入式系统终端运行的目的。

1.1 任务设计

依据嵌入式终端系统所要求的功能, 划分如下几个任务: (1) 系统监视任务; (2) GPS采集任务; (3) GPS数据处理任务; (4) 键盘输入任务; (5) 显示器显示输出任务; (6) 串行口收发任务; (7) GPRS通信任务; (8) 短信任务以及报警任务。

另有3个中断服务程序ISR: (1) 定时中断服务程序; (2) 串口接收中断服务程序; (3) 外部中断服务程序。

1.2 优先级设计

为了有效利用系统资源, 共设计20个不同的优先级, 最低优先级OS_LOWEST_PRIO的值设为19, 除去系统保留7个优先级外, 本系统提供给用户可以使用的优先级个数为12个[2,3]。

在系统所有任务设计中, 由于涉及到车辆安全, 实时性要求比较高, 所以把报警任务、GPS任务都设计为与中断服务程序ISR相关联。GPS和GPRS通信任务是比较重要的任务, 所以优先级别设计较高, 而键盘输入任务和显示输出任务实现人机对话功能, 实时性要求不高, 优先级可以较低, 所以各个任务从高到低的优先级设计如下:

监控任务 (6) 报警任务 (7) 串口收发任务 (8) GPS信号采集任务 (10) GPRS通信任务 (12) 短信任务 (13) 键盘任务 (16) 显示输出任务 (18) 。

1.3 任务间的同步与通信

系统任务中, 串口中断任务与GPS任务间的通信是利用消息邮箱实现的, 使用OSMboxCreat () 函数创建一个邮箱, 在串口中断任务程序中通过调用OSM boxPost () 函数发送信息到邮箱, GPS任务通过调用函数OSMboxPend () 接收邮箱中的消息, 邮箱接收到OSMboxPend () 函数的消息后, 启动GPS任务, GPS任务对内存缓冲数据进行解析和处理, 之后将解析处理的数据块放入一个共享缓冲区, 然后调用事件标志组发送函数OSFlagPend发送置位信号。

GPS任务和定时器ISR决定GPRS任务能否进入就绪状态, 本设计中利用OS_FLAG_GRP事件标志组启动GPRS任务[4], 具体步骤是: (1) 利用OSFlagCrea函数创建一个事件标志组:Flag_Gprs=OSFlagCreat (0x00, &err) ; (2) 在GPS任务中调用事件标志组发送函数, 给Flag_Gprs第1标志位发置1信号:OSFlagPost (Flag_Gprs, 0x01, OS_FLAG_SET, &err) ; (3) 在定时中断中调用事件标志组发送函数, 给2标志位发信号量1:OSFlagPost (Flag_Gprs, 0x02, OS_FLAG_SET, &err) ; (4) 在GPRS任务中调用事件标志组等待函数:OSFlagPend (Flag_GpS, 0x03, OS_FLAG_WAIT_SET_ALL+OS_FLAG_CONSUME, 0, &ERR) 。

当两个信号量都为1时, 表示GPS任务和定时中断都有信号到来, 由于等待列表中任务的等待类型为OS_FLAG_SET_AND, 经过逻辑与运算后为1, 启动GPRS任务, GPRS任务对共享缓冲区的数据块进行处理后打包, 向上位监控中心发送定位信息数据;当两个信号量有一个为0时, GPRS任务会一直等待事件的到来。等待时间可以设置, 防止因为等待事件没有发生而无限期地等待。GPS任务、GPRS任务和ISR之间通信如图3所示。

GPS任务生成定位数据块在共享缓冲区, 由显示输出任务和GPRS发送任务使用, 由于是共享资源, 设计了一个互斥信号量, 当有任务需要访问共享缓冲区时, 必须调用OSMutexPendJ () 获得互斥信号量才能访问共享数据块, 访问结束后, 通过调用OSMutexPost () 释放该信号量, 便于其它任务访问。

2 应用程序设计

2.1 主程序设计

系统启动后, 首先执行主函数, 初始化ARM硬件, 然后启动μC/OS-II操作系统, 通过OSTask Create () 调用函数创建启动任务, 最后调用函数OSStart () , 执行启动任务。

2.2 启动任务设计

启动任务时首先创建各分任务, 然后建立通信工具完成任务间通信, 调用OSSemCreate () 、OSM-boxCreate () 、OSMutexCreate () 等相关函数, 创建信号量邮箱等通信工具, 代码如下:

2.3 其它任务

本系统任务较多, 这里主要介绍GPS采集任务TaskGPS () 和GPRS通信任务TaskGPRS () 。

GPS任务采用串口中断方式, 首先OSSemCreate函数创建信号量Gpssem=OSSemCreate (0) , 串口中断服务子程序向GPS任务发送同步信号量OSSemPost (Gpssem) ;GPS任务通过调用函数OSSemPend (Gpssem, 0, &error) 获取串口中断服务子程序发出的信号量, 在获得该信号量之后, 对串口数据进行分析处理, 将处理后的数据放入一个共享缓冲区。显示任务和GPRS任务通过调用OSMutexPendJ () 函数获得互斥型信号量来对共享数据区进行访问, 读取数据后, 调用函数OSMutexPost () 释放该信号量。

GPRS任务等待读取GPS任务, 定时器ISR给事件标志组对应标志位发置1信号, GPRS任务就绪, 在收到置位信号后得到CPU控制权, 调用相应的函数对共享缓冲区的定位数据进行处理打包, 之后向监控中心发送数据信息, 任务流程如图2、图3所示[5]。

3 结语

本文设计的GPR/GPRS车载终端系统, 利用嵌入式操作系统μC/OS-II提供的信号量、邮箱和事件标志组实现任务间通信和同步。实验表明该系统具有性能稳定、可靠性高、成本低、易于扩展等特点, 实现了对车辆的实时监控。

摘要:为满足车载终端实时多任务需求, 设计了一种嵌入式车载终端系统。介绍了系统软件总体设计方案, 阐述了嵌入式操作系统μC/OS-II的移植步骤、系统软件结构、任务间通信和同步方法。实验表明, 该系统具有性能稳定、可靠性高、成本低、易于扩展等特点。

关键词:μC/OS-Ⅱ,多任务,嵌入式,车载终端系统

参考文献

[1]李仁波, 朱伟兴.基于ARM7的温室灌溉智能测控仪的设计[J].仪表技术与传感器, 2009, 6 (4) :18-20.

[2]周航慈.基于嵌入式实时操作系统的程序设计技术[M].北京:北京航空航天大学出版社, 2011.

[3]JEAN J LABROSSE, 邵贝贝.嵌入式实时操作系统μC/OS-Ⅱ[M].北京:北京航空航天大学出版社, 2003.

[4]吴建军, 郑国辉, 张小林.信号量在μC/OS-II中的应用[J].计算机测量与控制, 2012, 20 (3) :807-809.

接包企业承接多任务的最优合同设计 第9篇

一、模型假设条件及参数说明

假设1:接包企业只承接两项任务, 努力水平选择是一次性的, 用a= (a1, a2) 努力水平, 其中ai表示接包企业花在第i (i=1, 2) 项任务上的努力水平。与努力水平对应的接包企业的产出函数为πi=Kai+θi (i=1, 2) , K为努力的产出系数, θi表示外部随机因素干扰的影响, 并且θi—N (0, σi2) , θ1与θ2互不相关, 即Cov (θ1, θ2) =0。

假设2:发包企业采用线性激励函数方式对接包企业支付报酬, 即接包企业获得的报酬为s (π1, π2) =α+β1π1+β2π2。其中, α为接包企业的固定收入, β1、β2分别为第一、二项任务产出的激励系数, 表示接包企业分享的产出份额。

假设3:发包企业为风险中性的, 接包企业是风险回避的, 其效用函数具有不变绝对风险规避特征, 即接包企业的效用函数为υ=-e-ρω。其中, ρ表示接包企业的绝对风险规避度, ω表示接包企业的实际收入。

假设4:接包企业承接两项任务的努力成本可以等价于货币成本, 其成本函数为c (a1, a2) =b (a12+2γa1a2+a22) /2, 这里b>0, 代表成本系数, b越大, 同样的努力水平组合带来的负效用越大, -1≤γ≤1为两项任务的相关性系数。

二、基于信息对称的最优合同设计

任务发包出去以后, 在给定支付函数的情况下, 发包企业的效用函数为:v=π1+π2-s (π1, π2) =-α+ (1-βi) Kai+ (1-βi) θi (i=1, 2) 。由于假定发包企业是风险中性的, 则其确定性等价收入等于期望效用为:V=Ev=-α+ (1-β1) Ka1+ (1-β2) Ka2。接包企业的实际收入为:υ=s (π1, π2) -c (a1, a2) =α+βiπi-c (a1, a2) (i=1, 2) , 其确定性等价收入为:U=Eυ- (ρβ12σ12+ρβ22σ22) /2

令接包企业的保留收入水平为。那么, 如果接包企业的确定性等价收入u小于u时, 接包企业就不会接受合同。因此, 接包企业的参与约束可以表述为U=α+β1Ka1+β2Ka2-b (a12+2γa1a2+a22) /2- (ρβ12σ12+ρβ22σ22) /2≥u。在信息对称的情况下, 发包企业可以观测到接包企业的努力水平a= (a1, a2) , 此时, 激励约束 (IC) 不起作用, 任何水平的a= (a1, a2) 都可以通过满足参与约束的强制合同来实现。发包企业可以观测到接包企业的努力水平为a*= (a1*, a2*) , 就支付报酬为s (a*) =s*, 否则就将支付报酬s<s*。

发包企业的问题是选择ai, βi (i=1, 2) 和α解下列最优化问题max (a1, a2, β1, β1, α) V=-α+ (1-β1) Ka1+ (1-β2) Ka2

在最优的情况下, 发包企业支付给接包企业的报酬只需满足其保留收入水平即可 (没有必要支付更多) , 因此, 参与约束的等式成立。将参与约束通过固定项带入目标函数, 上述最优化问题可以重新表述为

对V分别求a1、a2、β1、β1的一阶偏导数, 解得a1*=a2*=K/ (b+γ) , β1*=β1*=0, a1*、a2*就是发包企业所希望的接包企业对两项任务的努力水平;β1*、β1*为接包企业分享的两项任务产出的份额。将上述结果带入接包企业的参与约束得:。

三、基于不对称信息的最优合同设计

当发包企业不能够观测到接包企业的努力水平时, 信息不对称便发生了, 此时激励约束 (IC) 有效。

发包企业的问题是选择αi, βi (i=1, 2) 和α解下列最优化问题max (a1, a2, β1, β1, α) V=-α+ (1-β1) Ka1+ (1-β2) Ka2

对激励约束 (IC) 取关于努力水平的一阶偏导数, 得到使接包企业的确定性收入最大化的一阶条件, 解得:a1**=K (bβ1-γβ1) / (b2-γ2) , a2**=K (bβ2-γβ2) / (b2-γ2)

下面为了分析问题的方便, 假设接包企业努力的成本系数和产出系数都为1, 即b=1, K=1。将a1**、a2**及参与约束 (IR) 带入目标函数, 得到接包企业对第一项任务和第二项任务的最优分享份额为:

四、结语

当接包企业承接多任务时, 对接包企业最优激励分析表明, 在非对称信息情况下, 接包企业的问题就是最优激励选择问题。与对称信息情况相比较, 非对称信息情况下的最优激励合同要求发包企业必须承担更大的风险。在外部环境相同的情况下, 最优激励合同的选择必须考虑物流服务提供商的努力程度和能力水平等特质因素。因为在其它因素确定的情况下, 接包企业的业绩主要取决于其努力程度与能力水平, 分别考虑其努力程度与能力水平对业绩的影响, 并根据它们之间的相关关系, 确定其分享系数。通过信息对称与信息不对称条件下最优合同的设计, 可知接包企业在信息对称时的努力水平不小于信息不对称时的努力水平, 而激励系数却大于信息不对称时激励系数。对于在实践中设计有效的接包企业激励机制, 尤其是长效激励机制, 具有积极的指导和借鉴意义。

摘要:发包企业与接包企业之间的关系是一种委托代理关系。本文运用委托代理理论, 分析讨论多任务条件下委托代理问题及最优激励选择问题。并在此基础上, 提出了建立发包企业最优激励的政策建议。

关键词:接包企业,多任务,激励合同

参考文献

[1]Jean-Jacques Laffont and David Matimort.2002.Theheoryof Incentives[M].中国人民大学出版社.

[2]Holmstrom and Milgrom.1994.The Firm as an IncentiveSystem[J].the American Economics Review (9) .

[3]Holmstrom and Milgrom.1991.Multitask Principal-AgentAnalyses:Incentive Contracts, Asset Ownership and JobDesirn[J].Journal of Law, Economics and Organization (7) .

[4]Hart, O.and B.Holmstrrom.1987.Theory of Contractsin Advances in Economic Theory:fifth world congress[M].edited by T.Bewley.Cambridge University Press.

多任务设计 第10篇

飞利浦LPC2138芯片是基于ARM7TDMI-S的高性能32位RISC微控制器,集成了Thumb扩展指令集,512kB的片内Flash和32kB RAM。具有丰富的内部外设:2个UART接口,2个I2C接口,2个SPI接口,2个定时器,PWM单元可提供多达6个PWM输出,2个10位8路ADC,1个10位DAC,实时时钟,看门狗定时器,48个通用I/O引脚。内含向量中断控制器,可配置中断优先级和向量地址,通过片内PLL可实现60MHz的CPU频率,具有空闲和掉电两种低功耗模式,并且可通过外部中断唤醒。

RTX是一个功能强大而精巧的实时操作系统(RTOS)内核,广泛应用于ARM7、ARM9和Cortex-M3设备中。RTX可以同时运行多任务或多函数,可以自由地调度系统资源,比如CPU和内存,并且可以提供事件标志、信号量、互斥量和信箱等任务间的通信机制。RTX用标准C语言编写,可实现任务函数的声明,不需要复杂的堆栈及变量帧配置。利用RTX编写实时应用程序仅须在源程序中包含一个连接RTX实时库的头文件即可。RTX无缝集成到ARM公司本身的开发环境realview MDK内部,使用RealView编译器进行编译,编译效率高,并且无版税。

1 系统总体设计

步进电机是一种将电脉冲转化为角位移的执行机构,当步进电机接收到一个脉冲信号时,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制步进电机的速度和加速度,从而达到调速的目的。

四相步进电机有ABCD四相输入,如果对各个相依次单独通电,即"A-B-C-D",磁场旋转一周需要换相四次,则称为四相单四拍;如果每次对两相同时通电,即"AB-BC-CD-DA",则成为四相双四拍,将单四拍和双四拍交替使用,就成为四相八拍,即"A-AB-B-BC-C-CD-D-DA"。

本系统即为通过LPC2138的四个管脚来模拟步进电机的四相输入,管脚P1.16、P1.17、P1.18和P1.19分别对应步进电机的A、B、C、D四相。通过RTX多任务编程来控制四个管脚的输出,使其符合四相八拍的时序要求。利用RealView MDK的在线仿真功能,可以看到四个管脚的输出时序。

2 软件设计

为了使RTX以多任务的方式驱动步进电机,设置了6个任务phaseA、phaseB、phaseC、phaseD、clock任务和init任务。其中前4个任务的作用是作为步进电机的四相输入,clcok任务用于延时和任务之间的同步。init任务用于创建以上5个任务,该任务在完成之后自行删除。

2.1 RTX内核初始化

可以使用RealView MDK的配置向导对RTX内核进行初始化,初始化后的配置为:支持6个任务调度,任务堆栈大小为200Bytes,支持堆栈溢出检查,选用Timer1定时器,定时器所用时钟频率15MHz,操作系统的时钟滴答值为10ms。

2.2 主程序设计

2.2.1 任务分配和宏定义

2.2.2 定义signal_func函数

该函数被多个任务调度,实现延时和任务之间的同步。

2.2.3 定义任务A的执行函数

2.2.4 定义任务B的执行函数

2.2.5 定义任务C的执行函数

2.2.6 定义任务D的执行函数

2.2.7 定义clock任务

2.2.8 初始化并启动任务

3 仿真结果

利用RealView MDK的软件仿真功能,可以看到管脚输出高电平的时序为:P1.6-P1.6P1.7-P1.7-P1.7P1.8-P1.8-P1.8P1.9-P1.9-P1.9P1.6,完全符合步进电机四相八拍的时序。

4 结束语

本文通过仿真四相八拍步进电机的驱动情况,描述了基于实时操作系统RTX的多任务程序设计的一般过程,并给出了仿真结果。系统设计基于ARM7芯片LPC2138,对于其它ARM芯片也具有一定的参考意义。使用RTX可以简化程序设计,并使程序的运行更具有健壮性。

摘要:RTX是一个精巧且功能强大的实时操作系统内核,文章以飞利浦芯片LPC2138为硬件平台,描述了基于RTX的多任务程序设计过程,详细叙述了系统的软件设计并给出仿真结果。

关键词:RTX,LPC2138,RealView MDK,多任务,步进电机

参考文献

[1]李宁.ARM开发工具RealView MDK使用入门[M].北京:北京航空航天大学出版社,2008.

[2]李宁.基于MDK的STM32处理器开发应用[M].北京:北京航空航天大学出版社,2008.

[3]吴海涛,郭猛.步进电机及其单片机控制[J].福建电脑,2007(2):183-184.

[4]吕京娜,刘克刚.用FPGA实现的步进电机控制系统[J].电子技术,2006(3):71-73.

多任务设计 第11篇

关键词:商业银行治理;多任务委托代理;社会责任;激励契约

中图分类号:F830.33 文献标识码:A 文章编号:1003-5192(2012)04-0058-05

Multitask and the Improvement of Commercial Banks’s Incentive Contracts QU Shi-you1, CUI Ying2

(1.Harbin Institute of Technology at Weihai, Weihai 264209, China; 2.School of Management, Harbin Institute of Technology, Harbin 150001, China)

Abstract:Because of the improvement of corporate governance, the protection of creditor and social welfare becomes one of the aims of the executives in commercial banks. More targets lead to the incentives more complex. In the principal-agent framework, analyze the principal-agent relations of commercial banks and the tasks executives taking, establish a multitasking principal-agent model based on the Holmstrom-Milgrom model, and then obtain the optimal conditions .The result indicates that when the supervisory department and social public are unable to achieve the optimal incentives, the administrators endeavors more to pursue profits instead of the risk control and social responsibility. In the long run, if the executives would like to obtain the optimal incentive, they have to keep a constant and stable endeavor on social responsibility.

Key words:corporate governance of commercia banks; multitasking principal-agent; corporate social responsibility; incentive contracts

1 引言公司治理理论中,委托代理理论始终占据重要地位。该理论的中心问题就是委托人如何提供最好的激励契约使得代理人按照委托人的要求完成任务。可见,代理人应完成的任务目标是激励契约履行的目的。与一般企业不同,商业银行具有利益相关者众多、经营目标较多、监管更为严格和信息透明度较差等特殊性,其委托代理关系与代理人应完成的任务亦更为复杂。随着公司治理机制的不断完善,除最大化股东利益和控制风险以保证商业银行稳定经营之外,保护债权人利益以及全社会福利也成为了商业银行高管的任务之一。在更多的任务目标条件下,商业银行激励契约亦需要不断优化。这不但从理论上丰富了激励契约的研究,也有助于提高商业银行公司治理的实践水平。

本文将在委托代理框架下,进一步分析商业银行委托代理关系与高管所承担的任务内容,基于此在Holmstrom-Milgrom模型框架下建立多任务商业银行高管激励契约并求出最优解。

2 文献综述

在过去的研究中,商业银行高管激励与绩效相联系的较多。Barro认为高管薪酬取决于经营绩效,二者存在正相关关系[1]。John & Qian的研究表明,银行业CEO的薪酬-绩效敏感度较低,使契约设计的难度增大[2]。John et al.的研究证明银行CEO的收入-绩效敏感度随着总体杠杆率的升高而下降,随监管加强而上升[3]。随着监管的加强,John et al.[4]、Kane[5]以及Danielsson et al.[6]的研究涉及到风险控制激励的环节。Ang et al.[7]则认为银行监管减少了高管激励薪酬的绝对数量。受2008年经济危机的影响,商业银行监管进一步改革。2009年12月巴塞尔委员会发布了《增强银行体系稳健性》和《流动性风险计量、标准和监测的国际框架》(征求意见稿);2010年12月巴塞尔协议III出台,商业银行受到了更为全面的监管。Cooper等人将监管引入到激励体系中,其研究显示监管对私有银行绩效有显著影响,但对高管薪酬影响不大[8]。Cunat & Guadalupe证明,放松监管对银行和其他金融高管薪酬的水平与结构有显著影响[9]。王兆星认为中国银行业监管当局和银行业应密切关注国际银行监管改革,调整监管政策和经营模式,增强银行体系的稳健性[10]。可见,提高绩效与应对监管、控制风险都已经被引入商业银行高管激励。尤其在激励契约的研究中,黄新飞、张娜[11],吴一平[12],徐冯璐[13]等都将提高绩效作为高管所完成的任务之一。蒋海[14]、邵科[15]则把监管纳入激励契约范畴,将控制风险作为高管所完成的任务之一。

nlc202309040045

随着公司治理的不断完善,履行社会责任已成为了商业银行的经营目标之一。近期有学者对公司治理与商业银行的社会责任进行研究。我国学者黄怀亮基于诱发美国次贷危机的根源,分析了我国商业银行承担社会责任与其稳健经营和国家经济安全之间的关系,指出了强化社会责任的重要性与路径选择[16]。何德旭和张雪兰则主张在我国商业银行治理中逐步推进利益相关者治理以善尽社会责任[17]。Arora & Dharwadkar的研究结果表明,虽然有效的公司治理不鼓励正面和负面的社会责任,但是懈怠和积极的差异会导致更高的正面和更低的负面的社会责任[18]。高管人员在履行社会责任上投入了更多的精力,但是将社会责任纳入激励契约范畴的几乎没有。本文就将社会责任作为高管所需完成的任务之一,进行商业银行激励契约的研究。

3 委托代理关系分析

同其他公司相比,商业银行的公司治理机制具有很强的特殊性。国内外学者Macey & O’Hara[19], Capiro & Levine[20], Arun & Turner[21],李维安和曹廷求[22]等普遍将商业银行治理机制的特殊性归结为:(1)利益相关者众多;(2)监管更为严格;(3)经营目标较多;(4)信息密集但透明度较差;(5)高负债经营等。这也导致了商业银行委托代理关系的多样性和代理人的多任务性,尤其受金融危机影响,这些关系变得更为复杂,包括银行股东与高管之间的委托代理关系、债权人与银行之间的代理关系、监管部门与银行之间的代理关系、利益相关者与银行之间的代理关系、社会公众与监管部门之间的代理关系等。

由于政府部门作为监管者可以代表社会公众行监管银行的权力,作为利益相关者也可以代表其他利益相关者行使确保银行稳定经营的职责,为了使模型分析更为集中,所以可以把商业银行的委托代理关系简化为三种:

(1)银行股东与高管之间的委托代理关系。委托代理理论最初的研究初衷就是解决企业所有者和高管之间的激励问题,股东要求经营者实现股东权益最大化,这也是企业经营的最根本目的,高管必须以实现这一目标为前提才能都得到最优激励。这也就是激励约束和激励相容。商业银行股东和高管之间就是以实现股东权益最大化为目标的委托代理关系。

(2)监管部门与高管之间的委托代理关系。监管部门行使监督银行稳定经营、保障金融体系乃至经济秩序持续发展的职责。尤其是在金融危机之后,各国政府普遍加强对商业银行监管,尽最大努力控制风险。2009年

12月巴塞尔委员会发布了《增强银行体系稳健性》和《流动性风险计量、标准和监测的国际框架》(征求意见稿);2010年12月巴塞尔协议III出台,新一轮的监管变革势必要更深地渗入到银行治理当中。只有与监管部门完全配合,将内部约束与外部监管有机结合,将监管因素融入到日常经营中,商业银行高管才能更好地掌控风险,监管部门才能为高管提供更完善的激励。可见监管部门与商业银行高管之间是以实现风险最小化保障金融体系稳健运行为目标的委托代理关系。

(3)社会公众与高管之间的委托代理关系。社会公众包括除股东之外的其他利益相关者。社会公众对商业银行的要求就是实现社会福利最大化,虽然监管部门已经代表社会公众行使了一部分监管的权利,但是有学者认为,信息不对称会使监管目标偏离社会最大化,所以此处提到的社会福利是除去由监管带来的金融稳定所引起的社会福利。金融危机使社会公众对部分商业银行不负责任的表现十分失望,积极敦促其承担起相应的义务,提高社会责任就成为了商业银行实现社会福利最大化的代表手段。商业银行的社会责任包括对公民、环境、社会等诸多方面的责任。可见社会公众与商业银行高管之间的委托代理关系是以实现社会责任为具体目标的。

以上三种委托代理关系并不是独立存在,而是互相有一定的影响。监管部门对风险控制的加强,会直接影响经营绩效,增加银行经营成本。社会公众要求的提高社会责任,也会使经营者不单纯从绩效角度考虑问题,在一定时期内甚至会减少收益[23]。但是从长期来看,社会责任的提高有助于提高顾客满意度[24],促进商业银行正面形象的树立,对经营绩效有积极的意义。可见,在这三种委托代理关系下,委托人对高管指派的任务包括:获得利润、风险控制以及履行积极的社会责任。

4 多任务委托代理模型优化

多数研究将Holmstrom-Milgrom[25]模型应用于商业银行的激励契约,各学者的不同之处在于对代理人的行为分析。依据Holmstrom-Milgrom模型,我国学者蒋海等建立两任务模型,绩效和风险控制共同引入激励契约设计,假设高管活动为:股东权益最大化,风险最小化[14]。在此研究基础上,本文扩展了代理人需要完成的任务,同时对商业银行高管激励多任务委托代理模型进行了优化。

(1) 模型建立

5 结论

综上,根据激励环境的变化以及商业银行委托代理关系的复杂性,现阶段其委托代理关系可以概括为股东、监管部门、社会公众同管理层的关系,管理层作为代理人需要完成的任务分别为提高绩效、控制风险以及履行积极的社会责任。基于Holmstrom-Milgrom模型所构建的委托代理模型显示,在委托人三方同时提供最优激励的情况下,管理层可获得最优激励。如果委托人中的一方无法提供最优激励,为保证产出,其余两方提供的激励将被加强。目前来看,监管部门和社会公众均很难达到最优激励,这将导致管理层愈发追求绩效,减少对风险控制和社会责任的努力,不利于商业银行竞争力的提高。长期来看,若管理层欲获得最优激励,除委托人三方在当期同时提供最优激励外,社会公众所提供的激励也应该是长期的,这也要求管理层必须保证对社会责任的努力是稳定持续的。基于以上结论,对我国商业银行激励契约的优化提出几点建议:(1)激励契约应根据高管任务扩展不断调整。我国国有商业银行改革已经完成,股份制商业银行利润逐年扩大,城市商业银行亦迅速扩张。在这个过程中,高管应完成的任务不断扩展。激励契约的设计应根据具体情况不断做出调整,以达到最优激励的目的。(2)激励契约的时效性应与高管任务完成情况的显现期限相吻合。我国商业银行高管薪酬体制中较为普遍的是短期激励,但是高管在履行社会责任方面付出的努力无法在短期内转化为绩效,风险控制也不是一蹴而就的。为使管理层获得最优激励,就要求激励应该是长期且连续的。当管理层所做出的努力可以通过指标明确显示出效果的时候,就可以将其确定为有效的契约期限。(3)加强社会公众的激励约束,进而形成长期稳固的激励模式。2007年中国银监会办公厅公布《关于加强银行业金融机构社会责任的意见》,将银行的社会责任提到新的高度。但是作为重要的利益相关者,社会公众对高管的激励监督意识不强,监督渠道也十分不畅。商业银行应主动肩负起推动社会公众树立监督意识的责任。可加大宣传力度,利用问卷调查、网络投票等可行且易于被公众接受的形式,使公众行使委托人的权利,从而达到优化高管激励的目的。

nlc202309040045

参 考 文 献:

[1]Barro J, Barro R. Pay, performance, and turnover of bank CEOs[J]. Journal of Labor Economics, 1990, 8(4): 448-481.

[2]John K, Qian Yiming. Incentive features in CEO compensation in the banking industry[J]. Economic Policy Review, 2003, 9: 109-121.

[3]John K, et al.. Regulation, subordinated debt, and incentive features of CEO compensation in the banking industry[R]. Federal Reserve Bank of New York Staff Reports, 2007. 308.

[4]John K, et al.. A Theory of bank regulation and management compensation[J]. Review of Financial Studies, 2000, 13(1): 95-125.

[5]Kane E J, Kaufman G G. Incentive conflict in deposit-institution regulation: evidence from australia[J]. Pacific-Basin Finance Journal, 1993, 1: 13-29.

[6]Danielsson J, et al.. Incentives for effective risk management[J]. Journal of Banking & Finance, 2002, 26(7): 1407-1425.

[7]Ang J S. et al.. Internal monitoring, regulation, and compensation of top executives in banks[J]. International Review of Economics & Finance, 2001, 10(4): 325-335.

[8]Cooper E. Monitoring and governance of private banks[J]. Quarterly Review of Economics and Finance, 2009, 49: 253-264.

[9]Cunat V, Guadalupe M. Executive compensation and competition in the banking and financial sectors[J]. Journal of Banking & Finance, 2009, 33(3): 495-504.

[10]王兆星.国际银行监管改革对我国银行业的影响[J].国际金融研究,2010,(3):4-10.

[11]黄新飞,张娜.国有商业银行激励机制的影响因素分析[J].数量经济技术经济研究,2005,(11):112-121.

[12]吴一平.经济转轨、契约设计与银行改革—基于多任务委托代理理论的经济学分析[J].山西财经大学学报,2007,(2):102-108.

[13]徐冯璐.国有银行双重业务下委托代理模型研究[J].改革与战略,2010,(3):80-85.

[14]蒋海,朱滔,李东辉.监管、多重代理与商业银行治理的最优激励契约设计[J].经济研究,2010,(4):40-52.

[15]邵科.商业银行管理层激励机制研究[J].经济与管理,2010,(9):45-48.

[16]黄怀亮.商业银行的社会责任与可持续发展[J].山西财经大学学报(高等教育版),2009,(9):84-87.

[17]何德旭,张雪兰.利益相关者治理与银行业的社会责任[J].金融研究,2009,(8):75-91.

[18]Arora P, Dharwadkar R. Corporate governance and corporate social responsibility(CSR): the moderating roles of attainment discrepancy and organization slack[J]. Corporate Governance: An International Review, 2011, 19(2): 136-152.

[19]Macey J R, O’Hara M. The corporate governance of banks[J]. Economic Policy Review, 2003, 9(1): 91-107.

[20]Caprio G Jr, Levine R. Corporate governance in finance: concepts and international observations[A]. In Litan R E, Pomerleano M, Sundararajan V, eds. Financial Sector Governance: The Roles of the Public and Private Sectors[C]. Washington, DC: The Brookings Institution, 2002. 17-50.

[21]Arun T G, Turner J D. Corporate governance of banks in developing economies: concepts and Issues[J]. Corporate Governance: An International Review, 2004, 12(3): 371-377.

[22]李维安,曹廷求.商业银行公司治理—基于商业银行特殊性的研究[J].南开学报,2005,(1):83-89.

[23]McWilliams A, Siegel D. Corporate social responsibility: a theory of the firm perspective[J]. The Academy of Management Review, 2001, 26(1): 117-127.

[24]McDonald L M, Sharyn R T. Corporate social responsibility and bank customer satisfaction: a research agenda[J]. International Journal of Bank Marketing, 2008, 26(3): 170-182.

[25]Holmstrom B, Milgrom P. Multitask principal-agent analyses: incentive contracts, asset ownership, and job design[J]. Journal of Law, Economics, & Organization, 1991, 7(Special Issue: Paper from the Conference on the New Science of Organization): 24-52.

多任务设计 第12篇

在工业生产中, 流量是最基本的过程参数之一, 直接反映了生产效率和经济效益, 需要经常进行测量和控制, 以单片机为主体的智能化流量仪表得到了越来越广泛的应用。传统的仪表, 多采用单任务顺序执行的设计方案, 软件是一个无限循环, 各模块构成一个整体, 作为一个任务运行, 异步事件和时间相关性很强的关键操作靠中断服务来保证。这种设计方案的优势在于:程序较为直观, 但系统的实时性、稳定性较差, 完全依赖于设计工程师的经验和水平, 只要一个模块出错卡住, 整个系统工作就会被打乱, 只有等待看门狗进行硬复位。随着生产自动化程度的提高, 对仪表的精度和实时性的要求越来越高, 仪表所包含的功能和软件的复杂性成倍增长, 我们通过实地调研发现, 采用单任务机制设计的仪表, 当软件复杂性和规模超过一定程度后, 在实际运行中, 会出现人机界面响应迟缓, 看门狗频繁执行复位操作的现象, 严重影响仪表的正常使用。

针对这种情况, 我们通过引入多任务调度和RTOS对前述问题加以解决, 基于自主研发的FDCX08实时多任务操作系统, 在Freescale M68HC908AZ60单片机上设计并实现了一种新型的蒸汽流量表。除了流量积算功能, 我们还加入了控制输出功能和对CAN总线的支持, 可以对生产过程进行反馈控制, 并和CAN总线上其他节点进行通信, 充分做到了一表多用。工程实践表明, 这种设计方案较好地解决了仪器仪表实时性和稳定性的问题。

1总体结构设计

该仪表主要由温度、压力传感器、流量传感器、反馈输出电路和二次仪表组成, 支持CAN总线通信。系统的硬件结构图如图1所示。

作为通用型流量表, 为了配合各种常见的传感器, 我们为其设计了丰富的输入通道, 包括1路频率输入, 8路开关量输入和6路A/D输入。其中A/D输入通道支持4-20mA, 0-10mA, 0-5V, 热电阻Pt100, K、E分度热电偶以及半导体结等;频率通道输入范围从20Hz到200kHz, 使用AZ60的时钟模块的输入捕捉功能计算输入信号的周期, 然后通过周期计算频率。

输出部分设计了三种不同的输出通道:1路可控硅输出, 2路标准模拟量输出, 8路开关量输出。

12位A/D输入和D/A输出采用现成芯片, 通过SPI与MCU连接。考虑到仪表所处环境可能较为恶劣, 为了避免现场强电的干扰, SPI和开关量输入输出均采用光电隔离技术, 使MCU与现场信号之间完全隔离, 提高抗干扰能力。

核心MCU选用Freescale M68HC908AZ60。它是M68HC08系列高速8位微控制器的一种, 内置MSCAN08控制器, 支持CAN 2.0 A/B规程;内部总线频率高达8.4MHz;具有16位寻址模式, 16位变址寄存器和栈指针, 60KB闪速存储器 (具有在线编程能力和保密功能) , 1KB E2PROM, 2KB内部RAM, 保证性能的同时降低了成本。

2软件设计

2.1FDCX08实时操作系统概述

FDCX08 (Fudan Distributed Control eXecutive) , 是复旦大学嵌入式系统实验室专为单片机设计的, 具有自主知识产权的嵌入式实时多任务操作系统。和其他RTOS如μC/OS、μCLinux相比, FDCX08实时性好, 有针对CAN/LIN总线设计的通信设施, 小巧精悍, 整个系统完整编译的目标文件只有2KB多, 而μC/OS最少也需要6KB, 优势相当明显。相比之下, FDCX08更适合应用于工业控制领域和智能仪表中。

FDCX08采用基于优先级的抢占式调度, 不支持动态优先级。每个任务的TID即为其优先级, TID越大优先级越高, 最多可以支持16个任务同时运行, 每个任务都有自己的上下文, 包括寄存器堆、栈指针和堆栈区等。FDCX08的结构如图2所示 (图中虚线部分在软中断中实现, 其它部分在各自的中断服务子程序中实现) 。

邮局是FDCX08最具特色的部分, 它不仅支持同一现场节点内的任务之间进行通信, 还支持跨现场总线的两个不同节点内的任务进行通信。应用层的任务在使用邮局时, 完全可以忽略CAN/LIN总线的通讯规程细节。

除邮局外, FDCX08还提供了信号量、中断控制, 实时时钟等服务。信号量是实现任务间的同步或互斥, 对共享资源进行保护, 避免出现竞争或死锁的有效手段;时钟服务实现了对任务的定时、等待超时等功能, 它和中断处理服务一起, 是系统硬实时性的保证。

2.2任务划分

对于一个实时多任务系统, 考虑到系统重入问题, 在进行任务划分时, 一般将相同或者近似的功能尽量集中在同一个任务中实现, 各个任务之间彼此相对独立:

1) 数据采集任务InputTask, 负责按照各个输入通道的采样周期进行A/D采样和读取开关量;

2) 流量计算任务FlowCalcTask, 根据数据采集任务采集到的工况数据, 按补偿数学模型经计算得到流量;

3) 三个控制任务ControlTask1, 2, 3, 每个控制任务代表一种控制通道, 按预设的控制方式和控制参数计算控制输出, 支持的控制方式包括普通PID控制和程序PID控制;

4) 输出任务OutputTask, D/A输出直接在任务中实现, 继电器输出和可控硅输出必须通过定时器中断实现, 任务中只进行初始化和参数设置;

5) CAN 总线收发任务CANTask;

6) 按键扫描任务KeypadTask;

7) 显示任务DisplayTask;

8) 监控任务MonitorTask。

监控任务优先级最高, 它定时喂看门狗, 并监视其他任务是否工作正常;数据采集和计算、控制, 以及输出任务等需要较强实时性的任务, 占据除监控任务之外最高的优先级;作为人机接口的按键扫描任务和显示任务只要具有适中的优先级, 使操作员感觉不到明显的延迟就可以了;CAN总线收发任务只有在需要发送或者发生CAN接收中断的时候才唤醒执行, 平时处于睡眠状态, 给予最低的优先级。

任务总体结构图如图3所示。如果用户有需要, 可以很容易地增添其他任务以实现功能的扩充。

2.3流量计算任务的设计

流量计算是一个特殊的模块, 它作为仪表的核心, 主要是进行数学计算, 不需要直接和硬件打交道, 我们单独作为一个任务来实现。

按照预定设计, 本仪表的适用范围是0.1-22.064MPa, 0-600℃。这个区域涵盖了饱和蒸汽线和一部分过热蒸汽, 它在IAPWS-IF97公式中的位置如图4所示。

过热蒸汽和0-350℃这一段饱和曲线, 计算公式同属于IAPWS-IF97公式第2区。过热蒸汽的密度和比焓是温度和压力的二元函数, 要找到精度足够且形式简单的近似表达式相对困难, 因此直接采用IAPWS-IF97第2区公式, 这是目前精度最高的方法。

利用IAPWS-IF97第2区的导出公式, 可推导出密度表达式 (压强单位为MPa, 温度单位为℃, 密度单位为kg/m3) 如下式:

ρ (Τ, p) =pRΤ (1+πγπr) 1000=1000RΤ[1p+i=143niΙipΙi-1 (τ-0.5) Ji] (1)

这里π=p1ΜΡa, τ=540ΚΤ+273.15, 称作相对压强和相对温度, R=0.461526 kJ/kg, K是水的气体常数, ni, IiJi是一组系数。

余下350-373.4℃这一段饱和曲线计算公式不属于IAPWS-IF97公式的第2区, 这一小段饱和曲线非常短, 实际使用中有很小的概率会碰到此状态下的蒸汽。为减少计算量, 我们用“基于Chebyshev多项式零点的Lagrange插值”作为逼近工具进行多项式逼近。这种逼近方法的余项收敛速度很快, 在插值多项式次数相等的情况下, 能得到比其他方法更好的逼近效果。其插值多项式如下式 (Tnn次第一类Chebyshev多项式) :

Ln (f, t) =k=1nf (tk) lk (t) lk (t) =Τn (t) (x-tk) Τn' (tk) (k=0, 1, 2, ..., n) (2)

插值用Matlab实现, 为了避免高次插值带来的振荡, 经反复试验, 将区间分为三段, 分段应用Lagrange插值。最终得到的拟合多项式系数如表1所示。

流量计算任务运行时, 先调用蒸汽状态判断子程序判断蒸汽状态, 以决定使用哪个公式。判断的方法是:根据当前工况状态下压力p或者温度t, 计算对应的饱和蒸汽温度ts或饱和蒸汽压ps, 再与tp对比, 若t>ts或者p<ps, 则为过热蒸汽;若t=ts或者p=ps, 则为饱和蒸汽, 除此之外说明已经进入过饱和蒸汽状态, 过饱和蒸汽极不稳定, 除非极度纯净, 否则只要有凝结核, 就会析出水后会变成饱和蒸汽, 工业用蒸汽一般都含有杂质, 故我们仍按照饱和蒸汽来对待, 同时设置报警位。

3系统运行过程

系统上电后, 首先对开关量输入输出、E2PROM和PLL进行初始化, 然后初始化CAN, 创建信号量和消息队列, 对全局变量进行初始值设定;接着初始化各任务堆栈, 依次创建各个任务并将所有任务都置为就绪状态, 最后启动FDCX08。

由于监控任务优先级最高, 得以最先执行, 监控任务分别查询每个被监控任务是否如期发来心跳包, 如果没有, 则该任务主动将自己挂起, 并设置超时时间。按照优先级顺序, 数据采样任务将投入运行, 执行A/D采样和读取开关量, 执行数字滤波和其他预处理后, 将结果送入公共缓冲区1, 通知计算任务就绪, 并向监控任务发送心跳包, 然后将自己挂起。

监控任务收到心跳包后转为就绪态, 抢占CPU得以运行, 继续查询其它被监视任务的运行状况, 如果没有, 则进入挂起态, 再次等待其它被监视任务的运行消息, 系统按任务优先级继续执行优先级高的就绪态任务, 在本系统中流量计算任务将投入运行。尽管控制任务优先级比流量计算任务优先级高, 但是控制任务必须等待流量计算任务的计算结果。流量计算任务在计算完成后, 结果送公共缓冲区2, 通知控制任务就绪, 并向监控任务发送心跳包。执行过程依此类推。由于系统监视任务正常情况下只是查询消息量, 程序执行时间很短, 甚至可以忽略, 所以并不影响其他任务的执行。

作为整个仪表的核心模块的流量计算任务, 其总流程图如图5所示 (kαkε分别为流量系数非线性补偿系数和差压式流量计气体流束膨胀系数补偿系数) 。

4结论

本文给出了一个基于自主研发的FDCX08嵌入式实时多任务操作系统的蒸汽流量表的实现方案。实验表明, 本系统相对任务切换时间仅为7.5μs, 相对中断延迟时间为1μs;仪表的误差集中于350-373.4℃区间, 在设计范围内的最大相对误差为-0.109962%, 发生在饱和蒸汽线的右端点处, 除此之外都在0.01%附近, 插值区间上的最小相对误差为-0.008595%, 加权平均误差为-0.024492%, 整体精度较好。插值区间绝对误差的分布如图6所示。

经过一段时间的实际使用表明, 这种在工控仪表中引入嵌入式实时多任务操作系统的设计方案, 解决了传统单任务设计下无法回避和解决的问题, 极大地提升了仪表的实时性、稳定性和测量精度, 为工控系统和智能仪表的设计提供了一种新的思路。

参考文献

[1]The International Association for the Properties of Water and Steam.Release on the IAPWS Industrial Formulation 1997 for the Thermody-namic Properties of Water and Steam[R]:Erlangen, Germany, 1997.

[2]Wagner W, Kruse A.Properties of Water and Steam[M].Berlin:Springer-Verlag, 1998.

[3]张友德, 涂时亮, 陈章龙.M68HC08系列单片机原理与应用[M].上海:复旦大学出版社, 2001.

[4]涂时亮, 张友德, 陈章龙.单片机微机软件设计技术[M].重庆:科学技术文献出版社重庆分社, 1988.

[5]Freescale Semiconductor, Inc.MC68HC908AZ60 Data Sheet.

多任务设计范文

多任务设计范文(精选12篇)多任务设计 第1篇一、设计目标, 在驱动中定位导航目标是教学的内在动因, 目标科学具体明确, 会调动、增强学...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部