• IIANews微官网
    扫描二维码 进入微官网
    IIANews微信
    扫描二维码 关注微信
    移动客户端
  • English
2025全景工博会
传感器

调度器在DSP编程中的应用

  2006年12月11日  

摘要:DSP在自动控制系统领域得到广泛的应用。它的性能远远强于单片机,在控制系统中所完成的功能也较为复杂。若基于简单的超循环结构来完成软件设计,则编写的程序繁琐而且困难,更为重要的是系统有的任务精确时限得不到满足;若使用简单嵌入式操作系统,则会占用非常多的资源(CPU与RAM),系统的实时性还有可能不满足要求。为了把一个复杂系统中的任务组织起来,并且尽量减少资源的损耗,本文提出了一种软件设计方法可满足上述要求。

一.DSP介绍

DSP芯片,也称数字信号处理器,是一种具有特殊结构的微处理器。它的内部采用程序和数据分开的哈佛结构,具有专门的乘法器,广泛采用流水线结构,提供特殊的DSP指令,在一个周期内完成一次乘法和一次加法。在国外,DSP芯片已经被广泛地应用于当今技术革命的各个领域;在我国,DSP技术也正以极快的速度被应用在通信、电子系统、信号处理系统、自动控制、雷达、军事、航空航天、医疗、家用电器、电力系统等许多领域中,而且新的应用领域在不断地被发掘。因此基于DSP技术的开发应用正成为数字时代的应用技术潮流。相对于单片机,它速度更快,外设集成度更高,程序存储器更大。在《时间触发嵌入式系统设计模式》一书中详细介绍了基于单片机的软件设计方法,而本文基于DSP对这种设计进行了扩展,使这种设计方法更为灵活,有效。

二.调度器介绍

可以从两方面来看调度器:一方面:调度器可以看作是一个简单的操作系统,允许以周期性或单次方式调用任务;另一方面:从底层角度来看,调度器可以看作是一个由许多不同任务共享的定时器中断服务程序。

1.调度器的组成

(1)调度器数据结构

调度器的核心是调度器数据结构。这是一种用户自定义的数据类型,集中了每个任务所需的信息。

typedefstruct

{

void(*pTask)(void);指向任务的指针(必须是一个void(void)函数)。

unsignedintDelay;延时时标数:直到任务将下一次运行所剩时标数。 时标,是硬件定时器周期中断设定的时间间隔,它是调度器的驱动者。

unsignedintPeriod;周期时标数:任务连续运行所间隔的时标数。

unsignedintDelCounter;若不为周期任务,表示任务运行次数;若为周期函数,则无意义。

charPrdOrTemp;若PrdOrTemp=1,则为周期任务;若PrdOrTemp=0,则为非周期任务。

charRunMe;当任务需要运行时(由调度器)加1

}sTask;

另外,还需要定义一些全局变量:unsignedintTask_Index记录当前所添加任务索引变量,对于每一个任务都要定义一个任务索引变量,以便对任务进行查找。例如:可以利用任务索引变量对任务进行删除。任务队列sTaskSCH_tasks_G[SCH_MAX_TASKS]记录所有任务数据结构的全局变量,其中SCH_MAX_TASKS为定义的最大任务数。虽然在系统运行时,任务有添加或删除,但系统不是很复杂,给出的SCH_MAX_TASKS一定要大于运行的任务数。


最新视频
欧姆龙机器人高速多点检查 | 统合控制器实现一体化控制,可实现2ms扫描周期,提升运行节拍   
欧姆龙机器人高速多点检查 | 通过设备统合仿真实现整机模拟,效率、竞争力双提升   
研祥智能
施耐德电气EAE
魏德米勒麒麟专题
魏德米勒
专题报道
《我们的回答》ABB电气客户故事
《我们的回答》ABB电气客户故事 ABB以电气问题解决专家之志,回答未来之问。讲述与中国用户携手开拓创新、引领行业发展、推动绿色转型的合作故事,共同谱写安全、智慧和可持续的电气化未来。
企业通讯
AVEVA InTouch Unlimited重塑HMI/SCADA的无限可能
AVEVA InTouch Unlimited重塑HMI/SCADA的无限可能

12月18日,《AVEVA InTouch Unlimited重塑HMI/SCADA的无限可能》在线研讨会即将开播。

电子半导体行业的数字化未来
电子半导体行业的数字化未来

为助力广大电子半导体企业洞悉行业数智化发展趋势,并提供切实可行、可靠的解决方案,推动整个行业繁荣发展,剑维软件的专家团队

在线会议

社区