资料介绍
分享到:标签:软总线 嵌入式软件 实时多任务
1.引言
随着大型嵌入式系统向着集成化和多元化方向的发展,嵌入式软件系统的复杂度也日益增大。在集成多个硬件工作模块组成的复杂系统中,要求软件系统能同时测控多个模块的同步工作,软件设计要求做到实时多任务。针对软件设计的要求,采用基于实时多任务操作系统提供的底层任务调度机制,建立软件架构成为较好的选择。本文提出了基于实时多任务操作系统,建立软件架构时采用软总线提供数据驱动层的架构模式。针对实时多任务操作系统,分析任务调度与数据驱动层。针对资源共享与任务进程独立性等问题,提出软总线在共享数据维护上的优势。
2.任务调度、共享资源与软总线结构研究
2.1 嵌入式开发任务调度和资源共享
目前主要的实时多任务操作系统(VxWorks,嵌入式Linux,WinCE)的任务调度均采用对于不同优先级抢占式调度,对同优先级采用时间片轮转调度的方法。为使低优先级任务能得到运行,软件需要能阻塞高优先级任务,同时也要能使被阻塞的任务重新就绪运行。操作系统对进程间通信资源的操作能产生这样的效果,所以在架构软件时,常借助进程间通信资源的使用。然而采用这样的方式,调度灵活性较差,同时低优先级任务对进程间通信资源的占用也始终处于劣势。任务进程较多复杂软件系统中,无法避免的会出现多进程共用资源的情况,事实上进程通信资源也是一种多进程共用的资源。进程可以对自身资源进行管理,但对于这些共享的资源,就无法只由共享者中的某一个进行管理。而这个管理却是必要的,否则进程内部的意外可能通过这些资源蔓延到其他进程,如:进程内部意外的对资源地址赋空,就会使其他共享该资源的进程在使用该资源时崩溃。这就要求在系统设计时,有独立于各个进程之外的总体的对资源管理的模块。
2.2 软总线结构
在此,本文提出软总线结构来架构复杂的软件系统,以解决任务调度和资源管理上的困难。软总线是封装了操作系统对于进程间通信资源,共享内存等有多个进程共同使用的资源操作的模块。该模块为任务进程模块提供标准的资源申请、使用及回收接口,任务进程使用该接口及协议的标识进行资源的共享。
首先,软总线封装了各种进程可能共享的资源,独立于进程之外对资源进行管理,使共享资源对于任务进程透明,任务进程无法直接操作资源。这样的处理方式使得资源本身不能被任务进程修改或破坏。任务进程获取的数据,实际是总线上数据的副本,而所有关于总线上数据的更新都需要总线模块的认证,以避免出错。总线模块在操作系统底层调用的基础上,通过封装资源、提供接口,构建了一个数据驱动层。同时,由于软总线的封装,使得在构建软件系统时,对进程的调度需要通过软总线来实施。如果在总线模块处加载系统的调度策略,可以更灵活有效地对每个资源进行任务的调度。使得一方面降低了在开发初期为任务进程设置合理优先级的难度,一方面也使得不同任务能在不同的资源处能有更为灵活的优先策略。
综合以上两点,以软总线架构底层数据驱动的方式构建实时多任务软件系统,可以有效地保护和管理共享资源并更为简单灵活对系统进行调度。
3.软总线软件架构方案
本设计基于Vxworks操作系统,试验平台包括通信、存储、复接、硬件总线与主控计算机等硬件电路板,及与硬件相对应的软件功能模块。
3.1 软件架构整体方案
本设计中,软总线封装的操作系统对于内存、信号量以及消息队列的创建、删除及使用等操作。上层与硬件功能对应的软件任务模块需要通过软总线进行对资源操作。具体的结构如图1 所示:对于功能模块本地化的资源,不强制要求使用软总线操作。

图1 软总线架构设计框图
3.2 软总线详细设计
对于软总线结构的架构方式,设计关键节点就是软总线模块。该模块负责对操作系统的资源封装和上层功能模块的资源使用请求处理。本设计中,将软总线分成两个主要的部分:资源池和管理表。资源池是软总线模块开辟的内存区域,在内存池上进行系统其他功能模块的共享资源的创建。
1.引言
随着大型嵌入式系统向着集成化和多元化方向的发展,嵌入式软件系统的复杂度也日益增大。在集成多个硬件工作模块组成的复杂系统中,要求软件系统能同时测控多个模块的同步工作,软件设计要求做到实时多任务。针对软件设计的要求,采用基于实时多任务操作系统提供的底层任务调度机制,建立软件架构成为较好的选择。本文提出了基于实时多任务操作系统,建立软件架构时采用软总线提供数据驱动层的架构模式。针对实时多任务操作系统,分析任务调度与数据驱动层。针对资源共享与任务进程独立性等问题,提出软总线在共享数据维护上的优势。
2.任务调度、共享资源与软总线结构研究
2.1 嵌入式开发任务调度和资源共享
目前主要的实时多任务操作系统(VxWorks,嵌入式Linux,WinCE)的任务调度均采用对于不同优先级抢占式调度,对同优先级采用时间片轮转调度的方法。为使低优先级任务能得到运行,软件需要能阻塞高优先级任务,同时也要能使被阻塞的任务重新就绪运行。操作系统对进程间通信资源的操作能产生这样的效果,所以在架构软件时,常借助进程间通信资源的使用。然而采用这样的方式,调度灵活性较差,同时低优先级任务对进程间通信资源的占用也始终处于劣势。任务进程较多复杂软件系统中,无法避免的会出现多进程共用资源的情况,事实上进程通信资源也是一种多进程共用的资源。进程可以对自身资源进行管理,但对于这些共享的资源,就无法只由共享者中的某一个进行管理。而这个管理却是必要的,否则进程内部的意外可能通过这些资源蔓延到其他进程,如:进程内部意外的对资源地址赋空,就会使其他共享该资源的进程在使用该资源时崩溃。这就要求在系统设计时,有独立于各个进程之外的总体的对资源管理的模块。
2.2 软总线结构
在此,本文提出软总线结构来架构复杂的软件系统,以解决任务调度和资源管理上的困难。软总线是封装了操作系统对于进程间通信资源,共享内存等有多个进程共同使用的资源操作的模块。该模块为任务进程模块提供标准的资源申请、使用及回收接口,任务进程使用该接口及协议的标识进行资源的共享。
首先,软总线封装了各种进程可能共享的资源,独立于进程之外对资源进行管理,使共享资源对于任务进程透明,任务进程无法直接操作资源。这样的处理方式使得资源本身不能被任务进程修改或破坏。任务进程获取的数据,实际是总线上数据的副本,而所有关于总线上数据的更新都需要总线模块的认证,以避免出错。总线模块在操作系统底层调用的基础上,通过封装资源、提供接口,构建了一个数据驱动层。同时,由于软总线的封装,使得在构建软件系统时,对进程的调度需要通过软总线来实施。如果在总线模块处加载系统的调度策略,可以更灵活有效地对每个资源进行任务的调度。使得一方面降低了在开发初期为任务进程设置合理优先级的难度,一方面也使得不同任务能在不同的资源处能有更为灵活的优先策略。
综合以上两点,以软总线架构底层数据驱动的方式构建实时多任务软件系统,可以有效地保护和管理共享资源并更为简单灵活对系统进行调度。
3.软总线软件架构方案
本设计基于Vxworks操作系统,试验平台包括通信、存储、复接、硬件总线与主控计算机等硬件电路板,及与硬件相对应的软件功能模块。
3.1 软件架构整体方案
本设计中,软总线封装的操作系统对于内存、信号量以及消息队列的创建、删除及使用等操作。上层与硬件功能对应的软件任务模块需要通过软总线进行对资源操作。具体的结构如图1 所示:对于功能模块本地化的资源,不强制要求使用软总线操作。

图1 软总线架构设计框图
3.2 软总线详细设计
对于软总线结构的架构方式,设计关键节点就是软总线模块。该模块负责对操作系统的资源封装和上层功能模块的资源使用请求处理。本设计中,将软总线分成两个主要的部分:资源池和管理表。资源池是软总线模块开辟的内存区域,在内存池上进行系统其他功能模块的共享资源的创建。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 视频教程-嵌入式Linux多任务编程-嵌入式
- 一种实时嵌入式多任务微内核的分析与改进
- 基于Python的实时嵌入式软件测试脚本总结
- 嵌入式操作系统多任务空间复用算法 4次下载
- 嵌入式Forth虚拟机架构的多任务调度算法设计与实现 0次下载
- 嵌入式多任务GUI的通用解决方案 24次下载
- 嵌入式软件架构设计 19次下载
- 基于CodeTEST的嵌入式软件测试技术
- 基于VxWorks的实时多任务软件设计
- 嵌入式实时多任务操作系统培训教材
- 嵌入式实时多任务软件开发基础 0次下载
- 嵌入式实时多任务软件的软总线结构设计
- 通过任务分割提高嵌入式系统的实时性
- 基于VxWorks的实时多任务软件设计
- 基于任务链的实时多任务软件可靠性建模
- 嵌入式软件实时性分析及增强概述 3.3k次阅读
- 嵌入式软件最常见的架构模式 3.7k次阅读
- 详解FreeRTOS:嵌入式软件系统架构 3.6k次阅读
- 嵌入式软件架构设计之任务调度 3.4k次阅读
- 嵌入式系统的软件架构设计 4.9k次阅读
- 基于M16C62单片机实现实时多任务系统的设计方案 1.3k次阅读
- 基于时间触发多任务调度器的嵌入式系统设计与应用 2.7k次阅读
- 基于嵌入式软件的JNI技术应用解析 1.4k次阅读
- 基于多任务信息流的CAN总线驱动设计 1.5k次阅读
- 嵌入式操作系统它有什么特点 2.9k次阅读
- 基于嵌入式实时系统的提高构件化嵌入式操作系统性能的方案设计 1.2k次阅读
- 对于嵌入式没有嵌入式软件架构师的详细解析 4.6k次阅读
- 基于STM32的嵌入式测控系统设计与实现 9.5k次阅读
- 基于FreeRTOS的嵌入式实时操作系统的原理和实现 7.3k次阅读
- 基于高档数控系统的实时多任务实现 3.3k次阅读
下载排行
本周
- 1冷柜-电气控制系统讲解
- 13.68 MB | 4次下载 | 10 积分
- 2安川A1000变频器中文版说明书
- 20.16 MB | 3次下载 | 3 积分
- 3直流电路的组成和基本定律
- 1.67 MB | 2次下载 | 免费
- 4丹佛斯2800系列变频器说明书
- 8.00 MB | 1次下载 | 5 积分
- 5PC8011同步开关型降压3.5A单节锂电池充电管理电路技术手册
- 0.74 MB | 1次下载 | 免费
- 6ES7243E+ES8311音频录制与播放电路资料
- 0.06 MB | 1次下载 | 5 积分
- 7SDM02 激光测距模块产品手册
- 0.43 MB | 1次下载 | 免费
- 8SDFM 激光测距模块模组手册
- 0.54 MB | 1次下载 | 免费
本月
- 1CH341编程器软件NeoProgrammer_2.2.0.10
- 20.47 MB | 170次下载 | 1 积分
- 22025智能家居传感器市场分析及创新应用
- 3.11 MB | 43次下载 | 免费
- 3RV1126B系列开发板产品资料
- 4.19 MB | 18次下载 | 免费
- 4CH341编程软件下载
- 2.50 MB | 16次下载 | 5 积分
- 5全志系列-米尔基于T153核心板开发板 四核异构、3路千兆网,赋能多元化工业场景
- 3.05 MB | 12次下载 | 免费
- 6【开源】60余套STM32单片机、嵌入式Linux、物联网、人工智能项目案例及入门学习资源包
- 10.55 MB | 8次下载 | 免费
- 7冷柜-电气控制系统讲解
- 13.68 MB | 4次下载 | 10 积分
- 8特斯拉MODEL S车载充电机主电路回路原理图
- 0.81 MB | 4次下载 | 3 积分
总榜
- 1matlab软件下载入口
- 未知 | 935137次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420064次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233094次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191448次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183356次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81604次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73824次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65991次下载 | 10 积分
电子发烧友App





创作
发文章
发帖
提问
发资料
发视频
上传资料赚积分
评论