基于DSP的实时多任务调度内核设计
一种基于多DSP处理器平台的分布式实时多任务操作系统[发明专利]
![一种基于多DSP处理器平台的分布式实时多任务操作系统[发明专利]](https://img.taocdn.com/s3/m/bf468ddd87c24028905fc3ae.png)
专利名称:一种基于多DSP处理器平台的分布式实时多任务操作系统
专利类型:发明专利
发明人:汤俊,张曦,汤小为,陆俊江,李宁,杜劲松
申请号:CN201210459048.X
申请日:20121114
公开号:CN103019838A
公开日:
20130403
专利内容由知识产权出版社提供
摘要:一种基于多DSP处理器平台的分布式实施多任务操作系统属于嵌入式操作系统领域,其特征在于,这是一个在多DSP处理器平台的每个DSP处理器上对内设的多个处理模块进行实时调度的分布式实时操作系统,设有:存储并管理各输入、各输出任务的存储管理模块、与主控机或内设的任务调度模块进行内外通信的是输入待处理任务或输出已处理任务的任务通信模块以及所述的任务调度模块,所述任务调度模块把来自所述任务通信模块的待处理任务按任务的实时状态动态的分成等待态任务、就绪态任务和输出态任务,按任务处理过程依次扫描以完成等待——就绪、就绪——输出的任务实时状态的转换过程。
本发明能在一个多DSP处理器平台的每一个处理节点上同时对各个任务模块进行实时调度并保证完成处理任务并输出。
申请人:清华大学
地址:100084 北京市海淀区北京市100084-82信箱
国籍:CN
代理机构:北京众合诚成知识产权代理有限公司
代理人:薄观玖
更多信息请下载全文后查看。
基于DSP处理器的嵌入式实时操作系统设计与实现

基于DSP处理器的嵌入式实时操作系统设计与实现嵌入式系统在现代科技中扮演着越来越重要的角色。
而嵌入式实时操作系统则是嵌入式系统的核心之一。
它不仅能够协调和管理系统中各个部件的工作,还可以为系统提供一定的实时性和可靠性保障。
因此,对于一个嵌入式系统设计者来说,实时操作系统的设计与实现无疑是一个必要而且极具挑战性的任务。
基于DSP处理器的嵌入式实时操作系统设计与实现,更是一个既难又重要的课题。
目前,很多先进的嵌入式系统均采用DSP处理器进行实现,其主要原因就在于DSP处理器具备高效、低功耗和高精度等特点。
因此,在该领域内掌握DSP 技术,进一步了解DSP处理器如何运作,并拥有开发基于DSP处理器的实时操作系统的能力,对于嵌入式系统领域的专业人士来说是非常重要的。
那么,什么是嵌入式实时操作系统呢?嵌入式实时操作系统是指一种需要满足实时性要求的嵌入式操作系统。
在实时操作系统中,任务的执行时间至关重要,具备良好的实时性能意味着系统可以对时间敏感的任务快速响应。
所以,在实时操作系统中,任务的调度和执行必须具备实时性。
接下来,我们将深入探讨基于DSP处理器的嵌入式实时操作系统的设计和实现。
一、DSP处理器的介绍DSP处理器(Digital Signal Processor),也称数字信号处理器,主要用于数字信号的处理和分析。
DSP处理器因为其在数字信号处理领域上卓越的性能而被广泛应用于音视频处理、无线通讯、人工智能等领域。
与传统的微处理器不同,DSP 处理器主要用于数字信号的处理,其具有高速运算、多线程、专用指令集等专业化特性,可以做到很高的运算速度和效率。
在嵌入式系统中,随着时代的发展,作为一款高速低功耗的数字信号处理器,DSP处理器的重要性与日俱增。
然而,要实现一款基于DSP处理器的嵌入式系统,并不是一件容易的事情,需要设计者熟练掌握DSP处理器的运行特性和指令集,并将其应用于实时操作系统的设计和实现中。
DSP /BIOS实时多任务操作系统内核的研究

DSP /BIOS实时多任务操作系统内核的研究摘要本文介绍了TI公司TMS320C6713的DSP/BIOS实时多任务操作系统内核,通过研究分析DSP/BIOS的启动顺序,线程指令流在DSP中存在的方式以及调度的优先级,线程间的让出与抢中,总结出多任务的执行状态和调度的规律。
最后将该多任务操作系统应于某伺服控制系统,取得了良好的效果。
关键词BIOS;DSP;线程抢占;任务0 引言DSP/BIOS是TI公司特别为其TMS320C6000TM、TMS320 C28XTM系统DSP平台所设计开发的一个尺寸可裁剪的实时多任务操作系统内核,是TI公司的Code Composer StudioTM开发工具的组成部分之一。
1 DSP/BIOS启动序列当一个应用程序启动时,boot.s54(C54x 平台)或autoinit.c和boot.snn(C600g 平台)文件中的代码决定了其启动序列,这些文件的编译版本由biosi.ann 库提供。
一般BIOS启动顺序如下:1)初始化DSP:DSP/BIOS程序从C或C++环境入口点c_int00开始运行,而复位中断向量被设置为复位后跳转到c_int00,对C600来说,系统堆栈指针(B15)和全局页指针(B14)被初始化分别指向.stack段的末尾和.bss段的开始。
2)当堆栈建立好后,初始化程序用.cinit段中的记录初始化全局变量。
3)调用BIOS_init初始化程序中用到的DSP/BIOS 模块,BIOS_init由配置生成并位于programcfg.snn文件中。
主要完成三个子模块的初始化。
HWI_init:硬件中断,设置ISTP和中断选择寄存器。
HST_init:初始化主机I/O通道接口,该程序决定主机与目标DSP的连接方式;IDL_init:空闲循环的指令计数。
该程序用于校准CPU负荷里实时显示的CPU负载值。
4)处理.pinit表:.pinit表包含了指向初始化函数的指针,这里主要初始化各种全局变量。
基于多核任务并行处理的DSP软硬件设计

Atomic仲 裁 方 式 下 的 资 源 访问如表1所列。
第一 个 时 间 片,核 1 和 核2都捕获 Lock,由优先级 高的核1 成 功 捕 获;直 到 时 间片3,核1完成资源占 用, 释 放 Lock,核2才能够成功
图4 Atomic仲裁方式
捕获,可以使用资源。Lock是锁 定 式 使 用,一 旦 占 用 便 被 锁定,不能被优先级高的核抢占 。
为了将一个紧急的任务尽量快速执行 ,需要将这 个 任 务分割成更多个子任务 ,多个子任务就可以方便地分 配 到 不同的核并行运行 。而分割一个任务是系统性的工 作 ,因 为任务的执行都需要满足一定的前提 ,如果分割后的 子 任 务相互之间依赖很 大 ,将 很 难 做 到 并 行 处 理。 此 外,将 各 个子任务分配到不同的核 ,必然增加核之间的数据和 信 息 交换,也降低了运行效益 。
C6678的 片 内 外 设 有 4 个 SRIO 高 速 串 行 口、2 个
1 C6678 及 其 结 构
C6678是 C66系列中的8核浮点型 DSP,其每个 核 最 高工作频 率 达 到 1.25 GHz。 单 个 指 令 周 期 可 以 执 行 32 个定点数据运算 ,或 者 执 行 16 个 浮 点 数 据 运 算。 整 个 芯 片提供320 GMAC 定 点 计 算 或 者 160 GFLOP 浮 点 计 算 能 力 。C6678 的 内 部 结 构 如 图 1 所 示 。
Abstract:Software and hardware designs of multi-core processor from traditional task serial processing to parallel processing are different to software and hardware designs of single-core processor.Taking 8-core DSP chip TMS320C6678as example,this paper introduces sys- tem structure of muliti-core DSP,task segmentation of muliti-core processor and the method about task assigning to each core,task man- agement and core inter-communication,and hardware design of muliti-core navigator.
基于DSP BIOS-II的实时多任务调度研究

《测控技术》2004年第23卷增刊336文章编号:1000-8829(2004)S0-0336-03基于DSP/BIOS-II的实时多任务调度研究Research on Real-Time Multi-Task Schedule Based on DSP/BIOS-II(天津大学电信学院,天津 300072)张涛,国澄明摘要:实时多任务系统的调试有很多困难,TI公司提供的DSP/BIOS-II是运行于高性能DSP上的一款嵌入式实时操作系统。
基于该操作系统,本文提出了一种用于HDTV机顶盒的调度策略,经过实验,较好地解决了机顶盒系统中实时多任务调度的关键问题。
关键词:DSP/BIOS;多任务;调度策略中图分类号:TP31文献标识码:AAbstract: It is difficult to debug real-time multi-task system. DSP/BIOS-II, provided by TI, is an embedded real-time OS running in high performance DSPs. Based on this OS, a schedule strategy for HDTV set-top box solution is presented. Through test, the key problem of real-time multi-task schedule in set-top box system is settled.Key words: DSP/BIOS;multi-task;schedule strategy传统的编程方法鼓励使用函数,大部分的代码集中在函数中。
对于某些系统来说,这种编程方法是很好的,因为它有助于代码的结构化,鼓励了可重用的软件模块的开发。
按照这种方法实现的软件结构整齐,清晰易懂。
但是这种方法不适合实时系统,因为被调用的函数无法与实时事件同步。
基于多核任务并行处理的DSP软硬件设计

有 4核 ( TMS 2 C 6 4 、 核 ( 30 67 )双 TM¥ 2 C 6 2 以 及 单 核 30 67 )
( TMS 2 C 6 1 。该 系 列 所 有 型 号 引 脚 兼 容 , 以 方 便 30 67) 可
用 户 开 发 , 不 需 要 改 动 硬 件 的情 况 下 更 换 处 理 器 。 在
核 DS P芯 片 TMS 2 C 6 8为 例 , 绍 了 多核 DS 3O 67 介 P的 系统 结 构 、 多核 处理 器 的任 务 分 割 和 任 务 分 配 到 各 个 核 的 方 法 、 多
个 核 之 间 的任 务 管理 和核 间 通信 , 及 基 于 多核 导 航 器 的 硬 件 设 计 方 法 。 以
C 6 8的 每个 核 具 有 6 67 4KB 的 1级 和 5 2KB的 2级 1
引 言
多 核 DS P的发 展 使 得 D P进 行 并 行 计 算 成 为 可 能 。 S
TI 司 推 出 的 TMS 2 C6 公 3 0 6系 列 芯 片 片 内 集 成 多 个 处 理 器 , 系 列 最 高 集 成 8个 处 理 器 ( 该 TMs 2 C6 7 ) 其 他 还 3O 6 8 ,
关 键 词 :多核 D P; 务 管 理 ; S 任 多核 导航 器 中图 分 类 号 :TP 3 36 文 献标 识 码 :A
基于DSPC6678多核平台的实时任务调度架构设计分析

关键 词 : 实 时任务调度 ; 多核数字信 号处理器 ; 软件架构
中 图分类 号 : T N 9 1 1 . 7 2
文献标 识码 : A
文章 编号 : C N 3 2 — 1 4 1 3 ( 2 0 1 6 ) 0 5 — 0 0 9 0 — 0 4
D OI : 1 0 . 1 6 4 2 6 / j . c n k i . j c d z d k . 2 0 1 6 . 0 5 . 0 2 3
De s i g n a n d Ana l y s i s o f Re a l _ t i me Ta s k S c he d u l i ng Ar c h i t e c t u r e Ba s e d o n DS P C6 6 7 8 Mu l t i - c o r e Pl a t f o r m
REN Zhi — mi ng
( Th e 7 2 3 I n s t i t u t e o f CS I C, Ya n g z h o u 2 2 5 0 0 1 , Ch i n a )
Ab s t r a c t : Th i s p a p e r a n a l y z e s t h e mu l t i — c o r e mo d e o f d i g i t a l s i g n a l p r o c e s s o r( DS P)C6 6 7 8 , d e s i g n s
离, 避免影 响调 度 、 执 行 的实时 性 。
按 照 对 时 间 的响应 要 求 划分 , 整 个 处 理 流 程 可
以分 为 3类 : 非实时性 的, 实 时性 的 , 强实时性的 。 如果 从硬 件上 将 3个 层 次 的处 理 完 全 隔 离 , 就可 以 保证 在 系统高 数据 流 量 输 入 的情 况 下 , 不 影 响调 度
基于DSP运动控制器的实时多任务开放式数控系统

基于DSP 开放式数控系统沈阳工业大学 (辽宁 110023) 唐宗军 陆 涛 陆 辉 开放式数控系统具有可扩展性、可移植性、可互换性的特点,现已成为CNC 系统的发展趋势。
具有改进哈佛结构(havard structure )的DSP 使CNC 系统的软硬件资源得以最大限度的利用。
与冯・诺依曼结构相比,哈佛结构的程序和数据具有独立的存储空间,改进的结构使数据总线和程序总线之间有局部的交叉连接,这使程序的提取、数据读写和DMA 存取可以并行地进行。
11系统的软、硬件组成(1)硬件 交流伺服系统是一个典型的速度闭环系统,伺服驱动器从主控制系统接受电压变化范围为-U i ~U i 的速度指令信号。
电压从-U i 变化到U i 的过程中,伺服电动机可实现从反转最高速度变化到零,然后再变化到正转最高速度。
带位置环的全数字式交流伺服系统,不仅可以进行位置的闭环控制,还使得交流伺服电动机可以像步进电动机一样易于控制,上位控制器可以是CNC 、PLC 或者直接是Computer 等。
交流伺服系统的位置环、速度环和电流环都集成在伺服驱动器内部。
伺服电动机都带有高精度的光电编码器,给伺服驱动器提供高精度的速度和位置反馈信号。
在本系统中的信浓伺服驱动器就可以直接返回编码器信号,同时接受10V 的直流电压。
因此,此类伺服系统很易于应用于PC 机构成的系统中。
本系统组成如图1所示。
MCT8000F4型DSP 多轴运动控制器通过PC 机ISA总线直接与PC 机相连接,组成主控制系统。
控制器核心芯片为TI 公司的TMS320C31。
(2)软件 为了使该系统软件易于维护,具有可重构性、可扩展性,在软件设计中采用模块化设计方法。
按CNC 系统的实时多任务设计系统软件模块。
可包括以下几个方面:①加工控制,如点动、自动、选择、模拟、辅助加工等。
②加工轨迹跟踪,在界面上将刀具的加工轨迹按实际加工情况显示出来。
③加工信息的动态显示,如加工坐标、数控程序段等。
基于DSP6713的一种实时任务调度方法

0 引言任务调度是嵌入式实时系统中最基本的功能之一,由于体积、能耗、价格、可靠性等方面的约束,其处理器的性能往往较低,且存储器的容量也有限[1],一般的任务调度解决方案是向嵌入式系统中移植实时操作系统,但它们对存储资源都有一定的要求,同时由于任务调度算法的存在,也会对系统的性能带来一定损耗。
特别对于一些轻量级的实时系统,它们功能往往较为简单,同时对资源的要求也更加苛刻。
本文针对上述情况,使用TI 公司的TMS320C6713系列数字处理芯片,实现了一种仅依赖CPU 内部中断的抢占式实时任务调度软件,可以大大降低对存储空间的需求,降低系统成本,提高运行效率,可以用于需要简单的任务调度功能的实时系统。
TMS320C6713是TI 公司生产的C6000系列中的一种高性能浮点运算DSP,其主频最高可达300MHz [2],且外设资源丰富,性能稳定,广泛应用于各种控制领域。
1 原理1.1 任务调度微处理器中的任务调度指的是中断CPU 正在执行的任务,转而执行另一个任务的过程,这个转换就是上下文切换,与中断类似,这个过程需要把正在执行任务相关的所有寄存器都保存下来,并载入要执行任务的所有寄存器。
一个实时系统的任务运行过程参见图1。
图1中,低优先级任务的周期为t1,中优先级任务的周期为t2,高优先级任务的周期为t3。
在时间段A 中,高优先级任务执行完毕,中优先级任务执行。
在时间段B 中,高、中优先级任务均执行完毕,低优先级任务执行。
在时间段C 中,各个优先级的任务均执行完毕,处理器处于空闲状态。
任务调度过程和中断类似,一般的嵌入式实时操作系统就是利用软件中断来实现上下文切换,当需要切换任务时,触发一个软件中断,再结合一些额外的算法来支持不同的调度方法,实现不同的任务切换机制,例如抢占式调度和时间片轮转调度等,同时还需要有相应的机制来实现任务的优先级控制。
本文依靠DSP6713的中断,实现一种简单的任务优先级控制和任图1 实时系统任务运行过程INT13可屏蔽INT14可屏蔽INT15最低可屏蔽所有可屏蔽中断的使能首先受到全局中断使能位GIE 的控制,然后受到中断使能寄存器IER 的对应位控制。
基于 DSPC6678多核平台的实时任务调度架构设计分析

基于 DSPC6678多核平台的实时任务调度架构设计分析任志明【期刊名称】《舰船电子对抗》【年(卷),期】2016(039)005【摘要】分析了数字信号处理器(DSP) C6678的多核模式,设计了一种基于C6678高速多核DSP硬件平台的实时任务调度软件架构,实现了实时任务调度。
通过实际测试,整体设计满足了设计指标。
%This paper analyzes the multi‐core mode of digital signal processor (DSP) C6678 ,designs a real‐time task scheduling software architecture based on C 6678 high‐speed multi‐core DSP hard‐ware platform ,implements real‐time task scheduling .The total design is satisfied for the design in‐dexes through actual test .【总页数】4页(P90-93)【作者】任志明【作者单位】中国船舶重工集团公司第723研究所,扬州225001【正文语种】中文【中图分类】TN911.72【相关文献】1.基于多核处理架构的功放实时保护电路设计 [J], 邹炜2.基于多核DSP架构的机械相控阵任务调度 [J], 姜媛媛;郁文贤3.基于异构多核平台低能耗周期任务调度算法 [J], 夏军; 袁帅; 杨逸4.基于雾计算的智能工厂实时任务调度架构 [J], 曾鹏; 鲍士兼; 赵成林; 许方敏5.基于Linux的多核实时任务调度算法改进 [J], 陈国良;朱艳军因版权原因,仅展示原文概要,查看原文内容请购买。
DSP -BIOS实时多任务操作系统内核的研究

DSP /BIOS实时多任务操作系统内核的研究摘要本文介绍了ti公司tms320c6713的dsp/bios实时多任务操作系统内核,通过研究分析 dsp/bios的启动顺序,线程指令流在dsp中存在的方式以及调度的优先级,线程间的让出与抢中,总结出多任务的执行状态和调度的规律。
最后将该多任务操作系统应于某伺服控制系统,取得了良好的效果。
关键词 bios;dsp;线程抢占;任务中图分类号tp39 文献标识码a 文章编号 1674-6708(2010)33-0220-020 引言dsp/bios是ti公司特别为其tms320c6000tm、tms320 c28xtm系统dsp平台所设计开发的一个尺寸可裁剪的实时多任务操作系统内核,是ti公司的code composer studiotm开发工具的组成部分之一。
1 dsp/bios启动序列当一个应用程序启动时,boot.s54(c54x 平台)或autoinit.c和boot.snn(c600g 平台)文件中的代码决定了其启动序列,这些文件的编译版本由 biosi.ann 库提供。
一般bios启动顺序如下:1)初始化dsp:dsp/bios程序从c或c++环境入口点c_int00开始运行,而复位中断向量被设置为复位后跳转到c_int00,对c600来说,系统堆栈指针(b15)和全局页指针(b14)被初始化分别指向.stack段的末尾和.bss段的开始。
2)当堆栈建立好后,初始化程序用.cinit段中的记录初始化全局变量。
3)调用bios_init初始化程序中用到的dsp/bios 模块,bios_init由配置生成并位于programcfg.snn文件中。
主要完成三个子模块的初始化。
hwi_init:硬件中断,设置istp和中断选择寄存器。
hst_init:初始化主机i/o通道接口,该程序决定主机与目标dsp 的连接方式;idl_init:空闲循环的指令计数。
DSP实时多任务操作系统(二)

DSP实时多任务操作系统设计摘要:由DSP处理器单独承担原来需要微控器和DSP处理器共同完成的任务的新一代DSP处理系统,已经成为嵌入式DSP开发领域主流。
而且为了有效的发挥DSP处理器不断增加的性能,一个DSP已经开始用于同时并发的多个任务处理。
在多个任务或者多个DSP处理器的系统中采用实时操作系统可以有效的降低开发难度,提高系统的可靠性和可升级性。
本文基于VDK的DSP实时操作系统内核进行了研究,描述了内核采用的多线程调度机制,并以一个多任务应用系统为例,实现了新线程的创建和取消,多线程之间的优先级排列和调度策略。
关键词:DSP;RTOS;内核DSP Real Time Operating System and Its Applications(Computer Science and Information Engineering College, Chongqing Technology and BusinessUniversity, Chongqing 400067, China)Abstract: As update of the architecture,the DSPs (Digital Signal Processors) become more and more powerful in processingperformance.The tasks,completed by DSPs and microcontrollertogether before,can be done by a DSP alone.Nowadays,thisdeveloping methodology has become mainstream in embeddedsystem ing real time operating system in DSPapplication system will be helpful to reduce the difficultyin developing and improve the reliability and portability ofDSP programes.this paper analyzes the real time operatingsystem based on DSP++ kernel and gives some examples using APIfunctions.Keywords: DSP; embedded processor;RTOS;kernel1.前言我们已经进入了信息化时代,信息化的基础是数字化,而数字化的核心技术之一是数字信号处理。
浅谈DSP实时操作系统以及其应用

摘要:由DSP处理器单独承担原来需要微控器和DSP处理器共同完成的任务的新一代DSP 处理系统,已经开始成为嵌入式DSP系统开发领域主流。
而且为了有效的发挥DSP处理器不断增加的性能,一个DSP已经开始用于同时并发的多个任务处理。
在多任务或多个DSP处理器的系统中采用实时操作系统可以有效的降低开发难度,提高系统的可靠性和可升级性。
本文对基于VDK的DSP实时操作系统内核进行了研究,详细描述了内核采用的多线程调度机制,并以一个多任务应用系统为例,实现了新线程的创建和取消,多线程之间的优先级排列和调度策略,给出了其API函数使用方法。
关键词:DSP;嵌入式处理器;RTOS;内核目前的嵌入式微控器性能指标越来越高,一个微控制器往往可以完成很多任务,因此一般的微控制器程序也从单一任务的软件结构变为多任务的软件结构[1]。
软件工程师适应这一变化的初期阶段是自觉或不自觉地在应用程序中增加一个任务调用循环,作为系统的主程序。
随着软件规模的上升和对实时性的提高,这一方法逐渐不能满足应用要求,于是实时多任务操作系统(RTOS)作为一种软件平台逐步成为目前国际嵌入式系统的应用主流。
实时多任务操作系统是嵌入式应用软件的基础和开发平台,是一段嵌入在目标代码中的软件,用户的其他应用程序都建立在RTOS之上。
由操作根据各个任务的优先级,采用用户指定的调度策略,合理地在不同进程之间分配CPU时间,从而保证了实时数据处理的需要,而且维持CPU具有较高的使用效率[2]。
做为嵌入式处理中使用越来越多的DSP处理器,对实时数据处理具有更高的要求。
另外,许多DSP处理器在系统中不仅要完成实时数据处理任务,还需要完成整个系统的控制功能[3]。
例如,在消费电子产品MP3播放器等产品中,为了降低系统成本,原来由微控器完成的功能现在大多数由DSP处理器单独完成了。
所有这些功能只有操作系统来管理才能较好实现。
1嵌入式应用对DSP实时操作系统的要求当前,嵌入式应用范围的发展更为广泛,他们绝大多数都以多媒体、通讯设备和智能设备的形式出现在人们生活中。
基于VXWORKS的多DSP系统的多任务程序设计

基于VXWORKS的多DSP系统的多任务程序设计近年来,计算机产品的应用领域越来越广,数字信号处理器的发展表现得尤为明显。
DSP芯片制造商和DSP板开发商利用自身的优势不断开发出多DSP结构的产品来满足这种需求。
通常的DSP设备是与嵌入式系统相结合,来实时地完成某一特定任务。
随着信号采集速度和处理速度的要求越来越高,许多领域都需要进行多处理器运算,其中包括医学、图像处理、军事、工业控制、电信等许多领域。
多处理器系统可以根据所需实现的功能和处理器的性能来调节处理结点的数目,使系统达到最佳的性能价格比。
实际上,只有从芯片开始仔细设计,才能方便地实现多处理器系统的调节功能。
这里选用的是AD公司新出品的SHARC 级处理器ADSP21160。
ADSP21160具有很大的片内存储区、多重内部总线结构、独立的I/O子系统;具有构造多处理器系统的所有特点,能够真正支持处理器数目的可调节功能,十分适合组成高性能浮点的多DSP系统。
VxWorks是目前世界上用户数量最大的实时操作系统。
这使它除了具有优越的技术性能之外,还具有丰富的应用软件支持、良好的技术服务和可靠的系统稳定性。
由于它具有以上优点,本系统中选用了VxWorks作为MVME167的操作系统。
一、ADSP21160的特点ADSP21160 是AD公司采用超级哈佛结构的一种新产品。
21160的汇编代码与2106x兼容,处理器具有SIMD(单指令流多数据流)功能;而2106x只具有SISD(单指令流单数据流)功能。
为了充分利用这种新的功能,一些指令做了一些改变。
ADSP21160包括1个100/150MHz的运算核、双端片内SRAM、1个支持多处理器的集成在片内的I/O处理器和多重内部总线以消除I/O瓶颈。
ADSP21160的汇编源代码与2106x兼容。
SIMD计算结构:2个32bit的计算单元,其中每一个单元包括乘法器、ALU、移位寄存器及寄存器文件。
具有完备的与外围设备接口功能。
DSP多任务实时操作系统内核设计

DSP 多任务实时操作系统内核设计张健,李跃鹏,刘威鹏,曾丽丽(许继电气股份有限公司,河南许昌461000)摘要:针对广泛使用的DSP 处理器,分析TI 公司实时操作系统DSP/BIOS 的特点,论述DSP 多任务实时操作系统架构。
基于DSP/BIOS 完成任务创建与堆栈检测、中断管理、时钟管理、多任务调度策略及任务间通讯等内核关键部分的设计,实现一个具有基本功能的DSP 多任务实时操作系统内核。
并给出所设计的内核软件在TI 的DSP TMS320C6655上的应用实例,通过实验验证内核的一些关键功能(定时器、任务调度策略)。
所设计的多任务操作系统内核,架构简洁,实时性强,便于进行二次开发。
关键词:实时操作系统;DSP/BIOS ;多任务;操作系统内核中图分类号:TP316文献标识码:A文章编号:1009-3044(2016)02-0077-03Design of DSP Multitasking Real-time OS Kernel ZHANG Jian,LI Yue-peng,LIU Wei-peng,ZENG Li-li (XJ Electric Co.,Ltd.,Xuchang 461000,China)Abstract:In view of the widespread use of DSP processor,Analysis of the characteristics of TI company real-time operating sys-tem DSP/BIOS,DSP real-time multitasking operating system architecture is also discussed.The key part of the kernel design is based on DSP/BIOS to complete the task to create and stack detection,interrupt management,clock management,task schedul-ing strategy and intertask communication.All of the implement a basic function of DSP real-time multitasking operating system kernel.the design of kernel software is used on DSP TMS320C6655application and through the experiment verify the kernel's some key function (timer,task scheduling strategy).The designed multitasking operating system kernel architecture is simple,it has strong real-time performance,and is convenient for secondary develop-ment.Key words:real-time operating system;DSP/BIOS;multitasking;OS kernel如今,DSP 芯片的片上资源的不断增加,DSP 芯片的软件设计也开始更多的关注如何更好地进行控制资源和任务管理[1]。
基于DSP的实时多任务调度内核设计

2 实时多任务调度内核架构
2.1 功能概述 该内核是一个支持实时、多任务、可扩充的嵌入式 DSP
软件模块,并支持多任务、任务调度、任务间通信、任务动 态加载和删除。该软件模块使用资源较少,对 CPU 时间的占 用短,软件模块完成由 C 语言编写,代码量小,约 1 K 行, 具有较好的移植性。 2.2 模块组成
CurMsg=0; } TCB->CurMsg = NULL; } NxtTid++; if (NxtTid == MaxTask) NxtTid = 1; …… TaskSchedule 函数首先完成该任务消息队列的处理工 作。从该任务消息队列中取出一个消息作为当前消息,并更 新该任务的消息队列链表,然后再根据 TCB 中的(*CurProc)() 函数指针跳转到用户的程序中。 3.5 消息传递说明 在内核模块中,任务之间消息传递主要通过 TaskSendMsg、TaskGetOwnMsg 函数来实现的。消息由消息头 和消息体组成,消息头由 MsgStruct 结构体定义,消息体用 户自定义,用户可修改 MsgStruct 中消息长度的定义以满足
Vol.44,No.06,2011 No.234,Totally
基于 DSP 的实时多任务调度内核设计
易克非, 胡庆锋
(中国电子科技集团公司第三十研究所,四川 成都 610041)
【摘 要】随着处理器(DSP,Digital Signal Processor)芯片在支持多任务系统中的广泛应用,传统 DSP 软件架构已
TCB->Attrib &= ~sbReady;
(*CurProc)(); if (CurMsg != NULL) {
free(CurMsg);//The free function deallocates memory space that was previously allocated by a malloc, calloc, or reallocate call[7].
一个DSP实时多任务调度内核的实现

一个DSP实时多任务调度内核的实现
单一帆;官洪运;李丽;盛威
【期刊名称】《微计算机信息》
【年(卷),期】2007(023)017
【摘要】本文阐述了一个用于DSP的简洁而实用的实时多任务调度内核的实现方法.DSP由于其架构的特殊性,在任务调度方面与通用微处理器相似却又有所不同.本文所阐述的内核架构是笔者在长期实践中总结出来的一种有效而简洁的架构,代码段少,占用内存量小,且完全由C语言开发,可以很方便的在各种DSP上移植.
【总页数】3页(P154-156)
【作者】单一帆;官洪运;李丽;盛威
【作者单位】201620,上海,上海东华大学信息学院;201620,上海,上海东华大学信息学院;201620,上海,上海东华大学信息学院;201620,上海,上海东华大学信息学院【正文语种】中文
【中图分类】TP316.2
【相关文献】
1.基于DSP/BIOS-Ⅱ的实时多任务调度研究 [J], 张涛;国澄明
2.DSP多任务实时操作系统内核设计 [J], 张健;李跃鹏;刘威鹏;曾丽丽
3.设备级实时多任务嵌入式内核WebitV的设计与实现 [J], 林涛;赵海;王济勇;韩光洁;王金冬
4.XA实时多任务管理内核的实现 [J], 张培仁;高飞
5.DSP/BIOS实时多任务操作系统内核的研究 [J], 周杰
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.1 任务控制表 为了对任务进行有效的管理,便于内核根据任务类型、
任务状态进行控制,需要一张“TCB 任务控制块”表。它的 定义如下:
typedef struct { WORD Attrib;
136
WORD Type ; void (*TskEntry_Func)(); QueStruct TskMsg_Que; void* CurMsg; }TCBStruct; TCBStruct TCBBLK[MaxTaskNum]; 3.2 任务创建函数 为了对用户创建的任务进行初始化,调用此函数向内 核创建新的任务,重点是维护 TCB 任务控制块。主要工作 包括初始化新任务的类型、状态,记录新任务的程序入口 函数指针,通过调用 QueueInit 函数初始化任务的消息队 列,此时并不申请消息占用的数据空间。同时调用新任务 的初始化程序,该初始化程序用户可以根据需要自行编写, 如果不需要初始化,则可以执行一个空函数。最后, TaskCreate 函数返回 TCB 任务控制块中一个有效的 ID 号。 它的定义如下: WORD TaskCreate(WORD Type,void (*Entry)(),void (*InitEntry)()) { CurTid = 0; while(((TCBBLK[CurTid].Attrib & sbExist) != 0)&&(CurTid < MaxTaskNum)) {
2011 年第 06 期,第 44 卷 总第 234 期
通信技术 Communications Technology
Vol.44,No.06,2011 No.234,Totally
基于 DSP 的实时多任务调度内核设计
易克非, 胡庆锋
(中国电子科技集团公司第三十研究所,四川 成都 610041)
【摘 要】随着处理器(DSP,Digital Signal Processor)芯片在支持多任务系统中的广泛应用,传统 DSP 软件架构已
1 通用 DSP 处理器的特点
按照 DSP 芯片的用途来分,可分为通用型 DSP 芯片和专
收稿日期:2011-03-14。 作者简介:易克非(1977-),男,工程师,主要研究方向为无线通信和
通信测试;胡庆锋(1978-),男,工程师,主要研究方向为 无线通信技术。
用型 DSP 芯片。通用型 DSP 芯片适合普通的 DSP 应用,如 TI 公司的一系列 DSP 芯片属于通用型 DSP 芯片。专用 DSP 芯片 是为特定的 DSP 运算而设计的,更适合特殊的运算,如指纹 识别、安全认证等[2-4]。
135
2 实时多任务调度内核架构
2.1 功能概述 该内核是一个支持实时、多任务、可扩充的嵌入式 DSP
软件模块,并支持多任务、任务调度、任务间通信、任务动 态加载和删除。该软件模块使用资源较少,对 CPU 时间的占 用短,软件模块完成由 C 语言编写,代码量小,约 1 K 行, 具有较好的移植性。 2.2 模块组成
CurTid++; } if( CurTid >= MaxTaskNum)
return 0xFFFF; TaskNum++; TCBBLK[CurTid].Attrib = sbExist; TCBBLK[CurTid].Type = Type; TCBBLK[CurTid].TskEntry_Func = Entry; TCBBLK[CurTid].CurMsg = 0; QueueInit(&TCBBLK[CurTid].TskMsg_Que); InitEntry(); return CurTid; } 3.3 其他任务处理函数 为了对任务进行有效的控制,内核还提供了一些其他的 任务处理函数,主要有任务休眠函数 void TaskSuspend(WORD Tid)、任务恢复函数 void TaskResume(WORD Tid)、任务删 除函数 void TaskDelete(WORD Tid)等。 3.4 任务调度函数 TaskSchedule 函 数 是 整 个 内 核 的 关 键 部 分 , TaskSchedule 根据每个任务 TCB 中的类型(Type)和当前状 态(Attrib)值进行调度。以下代码主要例举了对消息型任 务的调度: ……
【关键词】处理器;实时;多任务;内该
【中图分类号】TN919.5
【文献标识码】A
【文章编号】1002-0802(2011)06-0135-03
Design of Real-time Multi-task Kernel for DSP
YI Ke-fei, HU Qing-feng
(No.30 Institute of CETC, Chengdu Sichuan 610041, China)
CurTid = NxtTid; CurMsg = NULL; TCB = &TCBBLK[CurTid]; if ((TCB->Attrib & (sbReady | sbExist)) == (sbReady | sbExist)) {
CurProc = TCB->TskEntry_Func; CurMsg = QueueDe(&TCB->TskMsg_Que); TCB->CurMsg = CurMsg; if (TCB->TskMsg_Que.nitem == 0 )
内核模块主要由 TaskManage、Timer、Queue 等模块组 成,包含内核系统初始化、任务调度管理、定时管理、消息 队列管理等基本功能。任务管理主要负责任务调度、任务创 建、任务删除、任务消息处理等,任务状态分为存活、就绪、 休眠。定时管理主要负责定时任务的调度、加载、删除等。 消息队列管理主要负责消息队列的链表维护。内核功能架构 如图 1 所示。
【 Abstract 】 With the wide application of DSP chips in supporting multitask, traditional DSP software architecture falls behind the trend. This paper describes an implementation of multitask scheduling kernel for DSP chip. This kernel supports multitask, MMU and message mechanism, and is simple in structure, small in code segment, low in memory occupation and high in execution efficiency, and completely written in C language, and could be easily transplanted onto different platforms of TI DSP. This kernel could also accelerate the development speed of DSP software and improve the flexibility of software, thus making the development work of DSP software simple and fast.
在硬件方面,通用 DSP 芯片最主要的一个特点是片上系 统(SoC,System on Chip)资源丰富。以 TI 公司 TMS320C5000 系列 DSP 芯片为例,运行速度快,指令周期为 5 ns,运算能 力高达 200 MIPS;具有大容量的片内存储器和大范围的寻址 能力,片内集成了 48 K 字程序存储器和 512 K 字数据存储 器,并拥有最高 8 M 外部存储器空间等[5-6]。
在软件方面,通用 DSP 芯片软件设计的重点已不再只是 关心数学运算效率,而开始更多的关注以怎样的软件架构来 控制资源和管理各种任务。从通信设备的角度来看,DSP 芯 片的任务更加侧重于如何“实时性”和“并行性”处理各种 应用服务。因此,在 DSP 软件设计中采用嵌入式操作系统的 方法已经是一个趋势。
不能满足要求。文中介绍了一个用于 DSP 芯片的实时多任务调度内核的实现方法。该内核是一种支持多任务、MMU 和消息机
制的调度内核,内核架构简洁,代码量小,占用内存少,执行效率DSP 上
移植,可以大大加快软件开发速度,提高软件的灵活性,使 DSP 软件开发工作变得简单、快速。
自己的应用。 TaskSendMsg 函数负责发送消息,TaskGetOwnMsg 函数负
责接收消息。用户在自己的程序中通过调用 TaskSendMsg 函数, 向其他任务发送消息。在用户任务程序中通过调用 TaskGetOwnMsg 接收一个当前消息,并根据消息进行相应处理。
4 结语
DSP 是嵌入式系统的核心之一,并且在通信系统和实时 信号处理方面有着重要的应用[8]。通过在 DSP 软件架构中引 入嵌入式操作系统的一些设计,特别是实时多任务调度内核 的使用,可以大大加快软件开发速度,提高软件的灵活性。 文中介绍的实时多任务调度内核已在多个通信控制、通信测 量设备上使用,整体架构简洁,易于移植和二次开发,验证 了该内核的可用性。
【Key words】DSP;real-time;multi-task;kernel
0 引言
处理器是一种适合于数字信号处理运算的微处理器, 随着 DSP 处理器运算速度和片上资源的不断增加,在通信 设备中 DSP 处理器不再只进行单纯的数学运算,还参与各 种控制和并行多任务的处理。为充分发挥 DSP 处理器不断 增加的性能,以适应实时多任务调度的需要,DSP 软件设计 需要更多的借鉴嵌入式操作系统的设计理念[1]。为此,结合 DSP 系统特点,根据实时多任务的需求,文中介绍了一个基 于支持多任务调度、任务间通信、任务动态加载/删除的 DSP 内核。