[讨论] 任务太多会不会把51给累扒下

吴下阿蒙   2015-2-27 22:30 楼主
我目前一个项目是32路充电电流监控表,平时显示各路电流值,当有异常时报警,并定时把监控情况上传到上位机。
芯片采用STC12C56S2,由于电流是pwm输出的,使用移动平均法比较接近有效值,这样需要大量的采样点才能得出结果。同时还要驱动tm1640驱动32个3位数码管,再加一个19264液晶屏显示当前总电流、平均电流、异常情况和参考值,还有红外遥控接收(主机没有任何按钮),电流异常报警、与上位机通讯等。
我担心的是任务太多了,会不会把芯片给累坏了。

回复评论 (37)

芯片累不坏,只是你会觉得很卡而已。
点赞  2015-2-27 22:34
这个需要你仔细计算一下每个任务占用的时间。 51上也有不错的简单RTOS:RTX51tiny(C51自带),可以很好的分配各个任务,简化程序的逻辑,提高运行效率,你可以试试。 本帖最后由 dcexpert 于 2015-2-27 22:45 编辑
点赞  2015-2-27 22:43
不同的程序差异很大,尽量减少逻辑、使用片上硬资源、优化算法...这里面一言难尽。
如果不用点心思即便是arm也转不动了。
点赞  2015-2-27 22:46
主控板.png
这是主板结构,IO口几乎全用上了。
点赞  2015-2-27 22:49
这可能是我做的最复杂的一个系统,PCB还没有排板,请各位指导一下。
点赞  2015-2-27 22:51
引用: huo_hu 发表于 2015-2-27 22:46
不同的程序差异很大,尽量减少逻辑、使用片上硬资源、优化算法...这里面一言难尽。
如果不用点心思即便是arm也转不动了。



另外一个方案是使用两片stc:一片负责AD采样和电流计算,定时把结果通过spi送到主控芯片,减轻主控芯片的负担。这样不知道会不会好一点?


点赞  2015-2-27 23:02
这么高大上的东西,为什么不用STM32呢
点赞  2015-2-28 00:39
引用: 通宵敲代码 发表于 2015-2-28 00:39
这么高大上的东西,为什么不用STM32呢



目前只学了一点51,STM32还没学到。
点赞  2015-2-28 09:38
引用: 吴下阿蒙 发表于 2015-2-28 09:38
目前只学了一点51,STM32还没学到。




点赞  2015-2-28 09:58
谢谢各位指点,我还是打个样先做出来,看看到底有多卡,再考虑进行下一步的优化和改进。
点赞  2015-2-28 10:03
慢而已。。。就像电脑装多了软件一样。
https://bbs.eeworld.com.cn/thread-471646-1-1.html 欢迎加入我的团队
点赞  2015-2-28 10:18
单片机就是干这个活地,累用它干么???
http://shop34182318.taobao.com/ https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
点赞  2015-2-28 10:29
任务多,就用两片单片机担任,或用32位机
点赞  2015-2-28 12:23
任务不算重,引脚够用就行,处理STC的单片机够用了,关键是反应时间有无要求,比如每路电流检测的频率有无要求 本帖最后由 Terrycth 于 2015-2-28 12:40 编辑
点赞  2015-2-28 12:39
是轮流检测吗??如果灵敏度要求高51应该吃不消,试试高级一点的芯片吧
点赞  2015-2-28 13:15
15楼正解

卡不卡,要看你对机器相应速度的需求,如果需求足够宽松,卡一点也只是影响使用体验

如果所有这些任务放一个机器上跑,机器性能是瓶颈,有些任务处理满足不了响应需求,那就不是卡不卡的问题了
点赞  2015-2-28 13:22
刷新率要求不高,每秒刷新一次电流值就可以了,然后每三秒上传一次到上位机。因为点数多,大概有90个终端,每个终端有30个点,上传得太快电脑也吃不消。

通讯方面我打算每9个终端合并成为一个485通讯主机,这样总的只需要10个通讯主机,可以简化通讯模式。
点赞  2015-2-28 14:16
你用的这些东西都不需要比较复杂的运算, 比如TM1640和液晶,都是有更新的时候用一下。1秒钟修改两三次就够了,不需要太多资源。关键是你对电流采样有没有时间长的要求,如果要求不高的话循环采集,周期稍长点儿也没有问题。再一个看你的程序结构设计的合理不合理,任务分配的合理不合理。
如果没有特殊要求,应该没有问题,单片机不怕累。而且单片机运行起来就没有闲着的时候,运行正常任务和空指令没有多大区别。
点赞  2015-2-28 14:17
不对,一共需要30个485通读主机,接近极限了。
车间结构.png
点赞  2015-2-28 14:37
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复