[求助] 28335无BIOS下的任务调度

cl0201   2015-4-7 10:05 楼主
我现在用28335完成以下几个任务:
1、用epwm产生14K的PWM波驱动IPM
2、有CAN通讯和485通讯
3、AD采样
4、2到3个周期性的查询任务
5、其它一些数据转换
请教各位不用BIOS的话这些任务应该怎么分配以保证每个任务的时间都比较精确?
我的想法是pwm用epwm1的中断产生,这个对时间要求最精确;两个通讯用定时查询的方法,这样的话也有比较严格的时间要求;AD采样可以用pwm来触发;周期性的查询任务时间要求也比较严格;数据转换放在上边几个任务都执行完之后的空闲时间里。对于定时查询和周期性的任务我想用cputimer0的定时中断来做,但是这样的话它的中断优先级比pwm的高,可能会使得PWM的中断不能及时响应,那么还有什么办法既能保证PWM的中断能严格响应而其它的周期性时间又能精确保证?如果两个通讯也用中断方式的话也会发生在通讯中断过程中有了PWM中断不能响应的情况,如果用中断嵌套的话PWM的中断频率很高,会不会发生通讯总被打断而无法连通的情况?请各位指点一二

回复评论 (10)

楼主是做逆变的吗?
作为一个水军,就是尽量的多回帖,因为懂的技术少,所以回帖水分大,见谅! EEWORLD开发板置换群:309018200,——电工们免费装β的天堂,商家勿入!加群暗号:喵
点赞  2015-4-7 12:05
引用: elvike 发表于 2015-4-7 12:05
楼主是做逆变的吗?

做电源的
点赞  2015-4-7 12:16
我大概了解是PWM中断启动AD的SOC,是在CMP=PRD时产生SOC,这样采样的电感电流是在电流上升的中点。其他的我就不知道了。我其实这一块也挺困惑
作为一个水军,就是尽量的多回帖,因为懂的技术少,所以回帖水分大,见谅! EEWORLD开发板置换群:309018200,——电工们免费装β的天堂,商家勿入!加群暗号:喵
点赞  2015-4-7 13:07
引用: elvike 发表于 2015-4-7 13:07
我大概了解是PWM中断启动AD的SOC,是在CMP=PRD时产生SOC,这样采样的电感电流是在电流上升的中点。其他的我就不知道了。我其实这一块也挺困惑

谢谢,你说的则这个我大概知道,但是PWM和其它任务之间的调度会不会产生冲突,不知道有没有比较好的大家通用的或已经证明比较可行的方法
点赞  2015-4-7 13:29
TI提供了一种软件调整优先级的解决办法,可以参考TI的例程试试。
电子工程师技术交流QQ群:12425841,专注于自动控制、数字电源等
点赞  2015-4-17 15:19
这个CPU是实时处理器,硬件上都有考虑的。楼主看看它的手册就自然明白了。
点赞  2015-4-19 11:14
个人建议:
1、本身PWM实际上就是一个定时器,可以用PWM中断作为一个定时基准时间,你的PWM的频率为14K,那么就以此为基准时间,在中断中设置时间变量,此变量作为任务查询的标志位,有点类似于时间片轮询的概念,但不全是
2、通讯可以采用中断完成,CAN和485通信分别有CAN通信中断和SCI中断,由于PWM中断的优先级比通信中断优先级高,所以不用干涉,但是要设置好通讯接收完成的标志位,在主循环中一直查询此标志位即可
点赞  2015-4-20 22:44
引用: sure220 发表于 2015-4-20 22:44
个人建议:
1、本身PWM实际上就是一个定时器,可以用PWM中断作为一个定时基准时间,你的PWM的频率为14K,那么就以此为基准时间,在中断中设置时间变量,此变量作为任务查询的标志位,有点类似于时间片轮询的概念,但不全是
2、通讯可以采用中断完成,CAN和485通信分别有CAN通信中断和SCI中断,由于PWM中断的优先级比通信中断优先级高,所以不用干涉,但是要设置好通讯接收完成的标志位,在主循环中一直查询此标志位即可

谢谢,我现在采用的方法和你说的第一点一样,就是在PWM中断中进行计时,到时间则将相应标志置位,然后在主循环中根据这个标志位来执行相应程序。

关于通讯的话我还是想采用查询的方式,尽量不使用中断。PWM的中断优先级比通讯的都高,但是如果通讯已经进入中断之后PWM中断来了,这时候如果没有中断嵌套的话PWM还是得等,不知道这样对于PWM的执行影响有多大?你在实际应用中碰到过因此发生的问题吗,你一般都怎么处理的?
点赞  2015-5-13 15:52
DSP是没有中断嵌套的概念的,只会根据中断优先级来排序。根据中断优先级,PWM的中断优先级比SCI的优先级高,那么如果同时产生中断,CPU会优先响应PWM中断,而将SCI中断挂起,等PWM中断执行完毕后再执行SCI中断,因为通信对实时性要求不是很高,所以PWM中断和SCI中断是不冲突的。
点赞  2015-5-13 22:28
引用: sure220 发表于 2015-5-13 22:28
DSP是没有中断嵌套的概念的,只会根据中断优先级来排序。根据中断优先级,PWM的中断优先级比SCI的优先级高,那么如果同时产生中断,CPU会优先响应PWM中断,而将SCI中断挂起,等PWM中断执行完毕后再执行SCI中断,因为通信对实时性要求不是很高,所以PWM中断和SCI中断是不冲突的。

好的,谢谢你,有问题再来请教
点赞  2015-5-14 16:04
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复