当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]μC/OS-II的多任务系统在SOPC中的硬件实现

本人在教学及科研实验中,对基于μ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,是一个值得推广的成熟、高效的设计方案。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在这篇文章中,小编将对FPGA的相关内容和情况加以介绍以帮助大家增进对它的了解程度,和小编一起来阅读以下内容吧。

关键字: FPGA SOPC 芯片

摘要:基于SOPC的在线分析仪器平台从数据采集到显示已经可以完成分析仪器的基本功能。通过添加与上位机的通信来方便数据的验证和平台与网络的链接以及数据传输,从而在非线性验证和TCP/IP通讯方面实现对上位机的信息管理,同时...

关键字: SOPC 信息管理 非线性 TCP/IP

摘 要:为了更好地实现物联网或工业控制领域中传感器网络设备的远程监控功能,本文设计了一种基于FPGA的嵌入式网关系统的随机方法。该设计通过构建可编程片上系统 (SOPC),并利用Nios II嵌入式系统通过串口通信来实现...

关键字: 嵌入式网关 FPGA NIOS II COS-II操作系统 SOPC

摘要:针对工业控制领域中对多串口通信的需求,采用SOPC技术并利用FPGA的可编程性,给出了一个基于NiosII的30路串口数据转发通信处理机的设计方法,同时定义了相应的数据通信协议,从而实现了30路下位机与上位机的串口...

关键字: 多串口通信 SOPC FPGA NIOS

摘要:给出了采用EDA软件Quartus II中的SOPC Builder来构建SOPC系统,再通过所构建的SOPC系统为平 台,在Altera公司的FPGA多媒体开发平台DE2上来设计物联网数字钟的具体方法。

关键字: 物联网 Quartus II SOPC FPGA DE2 数字钟

有很多童鞋可能不知道忆阻器是什么?在开始今天的话题之前,雷锋网(公众号:雷锋网)编辑先为大家普及下忆阻器是什么。 所谓忆阻器,全称记忆电阻器(Memristor),是继电阻、电容、电感之后的第四种电路

关键字: GPU 忆阻器 硬件实现 电流

摘要:针对脉冲耦合神经网络(PCNN)具有神经元脉冲同步激发、适合硬件实现的特点,提出了一种基于FPGA的PCNN实时处理系统。系统设计了时钟分频、串口通信、串并转换、PCNN结

关键字: FPGA 硬件实现 脉冲耦合神经网络 BSP

摘要 针对模拟信号在传输介质中优于数字信号,而设计数模转换模块。首先用System View对DAC模块进了仿真。然后设计的D/A转换的硬件电路。通过设计了一个前置的串并转换电路,不仅可以实现8位并行数字信号的D/A转...

关键字: SYSTEM VIEW 仿真 硬件实现

摘要:文中在FPGA上采用纯verilog逻辑实现了Alpha半透明图像叠加算法,即验证了算法的正确性,同时针对FPGA不善于处理浮点运算的弊端,采用了移位操作的方法,进一步提高了

关键字: ALPHA FPGA 硬件实现 BSP

随着计算机技术和人工智能技术的快速发展,图像识别技术已成为人工智能的基础技术,它涉及的技术领域越来越广泛,应用越来越深入。随着现代工业生产向高速化、自动化方向的

关键字: 图像采集 处理系统 SOPC 应用设计
关闭
关闭