让实时操作系统助力电力电子系统设计

作者简介

顾云杰博士,英国巴斯大学助理教授,帝国理工学院荣誉讲师,曾任通用电气全球研发中心研究员。长期从事新能源电力电子系统相关研发工作,是逆变器控制和电网稳定性领域国际知名青年专家,是开源软件SimplusGridTool和OpenPowerware的发起人,RT-Thread社区成员。


背景

C2000——让人又爱又恨

数字电源技术在这几年可以说是炙手可热,而其控制器通常使用由TI设计的C2000芯片。不过绝大多数电力电子的同学一定是对这款MCU又爱又恨,爱的是其强大的处理性能在电力电子控制领域简直是游刃有余,具体可以参考下文。恨的是在C2000平台上开发比较复杂的电力电子系统时非常费时费力,经常是写算法十分钟,查datasheet两小时,好不容易run起来了还要解BUG两小时,相信小伙伴们一定有类似的感受。这篇文章就来探讨为什么会出现这样的问题以及如何解决,希望能解决各位同仁遇到的痛点问题~,相信小伙伴们一定有类似的感受。这篇文章就来探讨为什么会出现这样的问题以及如何解决,希望能解决各位同仁遇到的痛点问题~

数字电源为什么一般用DSP控制,而不能用普通的单片机?

https://www.zhihu.com/question/29029006/answer/2222306067

裸机开发实在是太慢

针对裸机与实时操作系统的对比讨论已经很多,而搞电力电子的小伙伴可能不是很熟,所以这里针对电源开发应用再单独讨论讨论。对于一些简单的电源应用,往往只需要一个while大循环再加上中断就能完成。但是随着产品的不断升级和功能复杂化,一个这种“传统”的开发裸机已经逐渐变得愈发臃肿,往往我们会遇到的主要难点是,开发速度非常慢!非常慢!非常慢!其中的原因我想可以展开为以下几点:

一是学习曲线非常陡峭。TI的硬件封装api做得并不好,这就导致C2000平台上出现大部分用户写代码都是直接操作寄存器的奇观,虽说直接操作寄存器显得很高级,代码效率也会比较高,但是代价就是开发速度相当慢。每次做不同的实验的时候都需要重新阅读datasheet,查看每一个寄存器配置成什么值代表什么意思,等到写好了再调试又会花非常多的时间,据我所知,由于C2000架构的相对复杂性,仅仅是一个中断的配置都能难倒不少人。stm32的封装就做的很好,官方的HAL用起来用户省心了不少,那么问题来了,TI什么时候能争点气呢?

二是重复造轮子的情况非常普遍。不同人对于不同功能都有自己的函数实现,导致所有人的代码互相不兼容,各自为阵。以我自己为例,我以前的开发流程是先配置寄存器,也就是导入一个看起来跟自己实现功能差不多的官方例程。每加一个新功能就导入一个例程,然后ctrl c ctrl v。寄存器配置完毕之后写应用层函数,比如说为了实现串口控制,会写串口字符的解析函数。我记得,串口的解析程序和发送程序我都写了好多遍,个中酸爽,相信大家都有所体会。

三是可维护性是一个很大的问题。一般电力电子系统会对于环路计算的实时性要求非常高,所以会放在中断中计算,然后其他任务放在大while中放一个状态机判断。一旦任务多了,任务之间的依赖错综复杂。此时在while大循环中就出现非常复杂的状态机系统,此时系统的可维护性将会变得非常差,出现大家常说的屎山代码,相信包括在我在内的任何人都不愿意看别人写的状态机代码。而且这么复杂的状态机系统如果不经过良好的时序优化,系统的实时性其实也会变得非常糟糕。

四是内存安全得不到有力保障。任何一个处理多个任务的系统都涉及不同任务对共享内存的访问,电力电子控制也不例外。比如有些状态机可能被主循环和ISR同时读写,

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
操作系统课程设计》是朱敏编著的一本介绍操作系统原理和设计的教材。这本书是为大学本科操作系统课程编写的,旨在帮助学生更好地理解和掌握操作系统的相关知识。 这本教材以操作系统的基本概念、进程管理、内存管理、文件系统等内容为重点,系统而全面地介绍了操作系统的主要原理和设计方法。各章节的内容组织清晰,逻辑严谨,辅以丰富的案例和习题,有助于学生加深对操作系统原理的理解,并培养其分析和解决问题的能力。 除了介绍操作系统的基本原理外,朱敏还特别注重操作系统设计方法和实践。他从操作系统设计思想、设计方法和设计实践等方面深入探讨,并提供了一些设计案例,帮助学生更好地理解如何设计和实现一个操作系统。 由于操作系统是计算机领域中的核心课程,对于计算机科学和软件工程专业的学生而言,掌握操作系统的原理和设计方法至关重要。而《操作系统课程设计》正是一本助力于学生深入学习并掌握操作系统的优秀教材。通过学习这本教材,学生能够全面了解操作系统的各个方面,并在实践中应用所学知识,提高自己的操作系统设计能力。 综合而言,朱敏所编写的《操作系统课程设计》是一本内容丰富、逻辑清晰、设计方法实用的教材。通过学习这本教材,学生将能够深入学习和掌握操作系统的相关知识,提高自己的设计和实践能力,为日后在计算机领域的学习和工作打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值