本人在教学及科研实验中,对基于μC/OS-II的多任务系统在SOPC中的设计总结出了具体实现方法。经过实践验证,该方法简单、可靠,值得推广。
1 μC/OS实时操作系统
μC/OS-II是一个可移植、可裁剪、占先式、实时的多任务内核,主要有任务管理、时间管理、信号量管理、消息邮箱管理、列队管理、内存管理等。由于绝大部分代码都是用C语言编写的,只有极少部分与处理器密切相关的代码是用汇编语言编写的,用户只要做很少的工作就可以把它移植到各类8位、16位、32位处理器上。另外,μC/OS-II的构思巧妙,结构简单、精炼,可读性强,有足够的稳定性和安全性,具备了实时操作系统的全部功能,在嵌入式系统领域有着广泛的应用。
2 硬件设计
基于μC/OS-II的多任务系统在SOPC系统中的硬件实现与普通SOPC硬件设计相同,使用Quartus II创建设计工程,工程创建完成之后,创建顶层实体。创建完顶层设计文件后,使用SOPC Builder创建Nios II嵌入式处理器,添加、配置系统的外设IP,组成Nios II系统模块。Nios II系统模块设计完成之后要加入到该顶层实体中,然后进行其他片上逻辑的开发。系统整体开发流程如图1所示。
3 软件开发
利用Nios II IDE开发环境,使用C/C++语言编程设计。根据多任务系统的实际情况确定任务栈大小,并定义个任务栈;依照任务轻重缓急设定优先级,创建和编写各具体任务,最后调用OSSTat()启动MicroC/OS-II。具体开发流程如图2所示。
4 具体实现方法
本文涉及内容已在Nios development Board CycloneII(EP2C35)中实现。通过在Quartus II中使用SOPCBuilder建立一个Nios II最小系统,然后在Nios II IDE编写基于μC/OS-II实时操作系统的应用程序,同时运行3个任务,分别是LED跑马灯、步进电机运行控制、LCD16207显示字符。具体电路如图3所示。
结 语
该方案已经在具体项目中实现。如果组成多任务的单任务能够可靠运行,只要把Nios II IDE环境下的System Library设置成MicroC/OS-II,在源程序里加入μC/OS-II多任务的相关函数及必要的参数,把各个单任务程序整合到程序中,就可以在极短时间完成多任务的设计。若想开发成多任务专用集成电路(ASIC),可以保持上述开发过程不变,使用Stratix FPGA系列芯片,在需要时,通过Altera的HardCopy设计中心将由FPGA构成的系统无缝移植为低成本、功能等价、引脚兼容的HardCopyII结构化的ASIC,是一个值得推广的成熟、高效的设计方案。
关键字:μC/OS-II SOPC
编辑:探路者 引用地址:μC/OS-II的多任务系统在SOPC中的硬件实现
推荐阅读最新更新时间:2023-10-12 22:24
μC/OS-II与ARM在中央空调机组控制器中的应用
随着中央空调的普及应用,如何对中央空调机组实施有效的控制,是许多科研人员研究的重要课题。目前国内中央空调机组控制器硬件方面主要采用8位单片机为核心处理器,这种方式由于资源有限,导致人机交互不友好、机组的实时监控性能低、整机运转难以实现多机组网联控、节能效果差 。采用RISC架构的ARM微处理器具有小体积、低功耗、低成本、高性能的特点,指令执行速度快,执行效率高,且具有丰富的片内外围电路,有利于简化系统设计,提高系统可靠性。本控制系统选择了Philips公司ARM7处理器LPC2210,移植了实时操作系统μC/OS-II,系统运行稳定可靠。 1 空调系统简介及控制要求 中央空调由集中制冷/加热站和空调机组两大部分组成。前者提供
[单片机]
基于NiosII的二维条码识别系统设计
二维条码PDF417中PDF为Portable Data File的缩写,每一个PDF码的储存量可高达1 108字节,若将数字压缩则可存放2 729字节。作为一种新的信息存储和传递技术,PDF417具有成本低、信息可随载体移动、不依赖于数据库和计算机网络、保密防伪性能强等优点,广泛应用在国防、公共安全、交通运输、医疗保健、工业、商业、金融、海关及政府管理等领域,PDF417码的例子如图1所示。 1 系统总体设计 本系统在FPGA上使用SOPC技术来实现无线手持二维条码识读器,与传统一维条码识读器最大的区别在于完全脱离后台数据库,以及在高达50%破损率的情况下能够进行高效率识别。
SOPC技术是一种基于FPGA解决方案的S
[单片机]
实时内核μC/OS-II下的网络监控系统的设计
随着信息时代的到来,特别是互联网的迅速普及,人们开始越来越多地接触到一个新概念——嵌入式产品。将嵌入式系统接入Internet,不仅实现了设备的远程控制、维护和升级,而且可实现资源共享。
通过网络对设备进行监控,一个外部界面是必不可少的,利用Web浏览器可使用户通过网络对远程系统实现管理和更新,大大简化了人机界面的设计。若在系统中嵌入实时操作系统,将使系统具有极强的可移植性,另外,硬件设备的添加与裁剪也具有极大的灵活性。采用DHCP协议动态获得IP相关信息,使TCP/IP软件不再依赖于存储在芯片中的固定IP地址,这将为大型系统的安装提供方便条件。
本设计的关键是如何在内存资源有限的单片机系统
[嵌入式]
μC/OS-II实时性能测试与研究
实时性是指系统能够在限定的时间内完成任务并对外部的异步事件作出及时响应。在大多数工业控制中,对实时性的要求非常高。 实时操作系统是能够满足实时系统中实时任务的处理响应时间要求的操作系统。实时操作系统是事件驱动(eventdriven)的,能对来自外界的作用和信号在限定的时间范围内作出响应。它强调的是实时性、可靠性和灵活性,与实时应用软件相结合成为有机的整体,起着核心作用;由它来管理和协调各项工作,为应用软件提供良好的运行软件环境及开发环境。在多任务实时系统中,必然由实时操作系统来对实时任务进行管理。 μC/OS-II是一种结构小巧、具有可剥夺实时内核的实时操作系统。其内核提供任务调度与管理、时间管理、
[单片机]
μC/OS-II 移植笔记 2(FreeScale 68HCS12 核单片机)
2.2 OS_CPU_A.S
首先是函数和全局变量的声明。
;***************************************************************************
; PUBLIC DECLARATIONS
;***************************************************************************
xdef OSCPUSaveSR
xdef OSCPURestoreSR
xdef OSStart
[单片机]
Cortex-M3的μC/OS-II任务调度硬件指令实现
1 μC/OS-II的任务调度算法分析 1.1 μC/OS-II任务就绪表的解读 μC/OS操作系统采用优先级至上的任务调度原则,让进入就绪态任务中优先级最高的那个任务,一进入就绪态就能立即运行。μC/OS操作系统实现了一种巧妙的查表算法,利用这种算法能快速实现任务调度原则。如何从任务就绪表中,查找优先级最高的那个任务?归结起来: 两个变量(OSrdyGrp、OSRdyTb1 )和两张表(OSMapTb1 、OSUnMaTb1 )。 μC/OS操作系统可支持64个任务,每个任务被赋予不同的优先级——从0级到最低优先级OS_LOWEST_PRIO,最末两个为操作系统所用,分别为统计任务和空闲任务的优先级。μC/OS-II任务
[单片机]
uC/OS-II嵌入式系统在C8051F060上的应用
随着集成电路的高速发展和CMOS工艺水平的不断提高,系统级芯片SOC已经开始成为设计的主流。C8051F060单片机由美国Cygnal公司设计并制造,是一款完全集成的混合信号片上系统SOC,具有与MCS51内核及指令集完全相同的微控制器。在传统的单片机开发工作中,经常遇到程序跑飞或是陷入死循环,尤其是其中牵扯到复杂的计算,只有耗费大量时间来慢慢分析。如果在系统中嵌入uCOS II实时操作系统,将使得调试程序变得简单,并大大增强系统的稳定性和可靠性。
1 uCOS II系统在C8051F060上的应用
要应用uCOS II系统,首先要做的就是在C8051F060上移植该系统;其次,在运行稳定正常的系统
[单片机]
基于LPC2214和μC/OS-II的iButton接口
摘要:为了在电力设备点检中正确区分各设备,采用iButton作为设备的电子数据标识。通过对iButton初始化及写入相应的操作时序,从硬件接口和软件编程两个方面,详细介绍在μC/OS-II实时操作系统中使用LPC2214读取iButton 64位标识码的设计方法。其接口设计已成功应用于点检机中。
关键词:iButton 1-Wire LPC2214 μC/OS-II
电力设备点检管理是利用检测设备和仪器,按照预先制订的技术标准,定人、定点、定路线、定周期、定方法、定检查记录,施行全过程对运行设备进行动态检查。点检人员按要求将手持的个人点检机与安置在设备现场的ID钮扣相接触后,该位置相应的若干作业指令应逐条显示在个人点检服务器
[单片机]