This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DSP这种程序架构的好处是什么?



最近刚学DSP C2000系列,看了很多例程和文档,发现程序架构基本是以下这种结构:

请问这种结构的好处是什么呢?我觉得用一个super loop不停轮询,不需要定时器也可以啊,这样CPU的使用率还更高。。
这种结构唯一我能想到的好处是任务执行具有时间确定性,不过这需要计算每个任务的运行时间,合理分配好定时的值,感觉有点麻烦。。

除此之外还有其他隐藏的好处吗?

  • 实际应用中和上图比较接近 进入主函数 初始化系统 初始化外设 然后进入while循环
    获取数据 处理数据 输出数据等控制 判断
    其他就是一些中断的协调处理
    后台的不用特殊关注
  • 时间确定性是一方面,还有一个,就是合理分配时间。比如,控制一台电机,有3个要素要处理,电流反馈控制、转速位置反馈控制、温度反馈控制。这三个要素对时间的要求差别是极大的,电流反馈必须要极高的处理速度,比如us级别。转速位置反馈虽然不用很快的速度,但是必须保证时间确定性,否则就可能丢掉某个信号。温度呢,可以不用考虑任何时间问题,因为温度的变化本身就很慢,几秒处理一次就足够了。如果这几个要素都放到一个loop里面,显然,不停的轮询温度简直浪费时间,而电流轮询则被拖慢了。不要觉得几个us没所谓,假设三个任务占用时间一样,则合理分配好时间,留给电流反馈控制的性能就能提高2倍以上,在某些场合,提高2倍性能就能从地狱飞升到天堂。
  • 嗯嗯 有道理!