OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6418|回复: 8

求教!如何实现程序并行运行

[复制链接]

2

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2020-6-25
在线时间
39 小时
发表于 2021-7-3 11:11:14 | 显示全部楼层 |阅读模式
5金钱
求教!现有一个项目需要对8路信号进行AD采集(8路信号互不干扰),现在要实现检测各路信号,如果哪路信号变化了,就执行这路对应程序(程序中有延迟),现在需要解决的是,如果8路同时检测到信号变化,就需要同时执行各路对应的程序。但CPU是串行运行的,各路程序中又加有延迟,前面一路的程序势必会影响后面一路程序的运行,实时性大大降低。我想请教下有没有什么方法可以达到让8路信号的程序近似看成并行的?

最佳答案

查看完整内容[请看2#楼]

实时应该是不准确的表达了, 那怕你用了N个CPU去独立数据也有可能不是实时的, 你应该是给出的是 一, 采样频率 二, 最长的响应时间(就是从该被触发的模拟信号出现那一刻开始算, 到MCU作出反应执行你要的那一路程序的时间)。 然后就能算出对ADC数据处理的需时的要求, 之后再想用什么方式解决你的实时问题。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2021-7-3 11:11:15 | 显示全部楼层
实时应该是不准确的表达了, 那怕你用了N个CPU去独立数据也有可能不是实时的,
你应该是给出的是
一, 采样频率
二, 最长的响应时间(就是从该被触发的模拟信号出现那一刻开始算, 到MCU作出反应执行你要的那一路程序的时间)。

然后就能算出对ADC数据处理的需时的要求, 之后再想用什么方式解决你的实时问题。
回复

使用道具 举报

4

主题

80

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1060
金钱
1060
注册时间
2020-8-4
在线时间
248 小时
发表于 2021-7-3 11:26:14 | 显示全部楼层
最简单的办法是使用操作系统,给每路程序分配一个任务
回复

使用道具 举报

4

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
254
金钱
254
注册时间
2019-4-9
在线时间
79 小时
发表于 2021-7-3 12:35:50 | 显示全部楼层
嗯,加上操作系统UCOS,分配任务
回复

使用道具 举报

6

主题

890

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1481
金钱
1481
注册时间
2020-8-19
在线时间
336 小时
发表于 2021-7-3 15:57:43 | 显示全部楼层
系统任务
回复

使用道具 举报

3

主题

821

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3369
金钱
3369
注册时间
2011-11-10
在线时间
207 小时
发表于 2021-7-3 16:40:32 | 显示全部楼层
操作系统也不是实时的。如果你实时性很高,可以高速的主MCU加8个独立的小mcu。主MCU判断异常直接通知小MCU处理。主要是你需要先搞清楚自己系统的实时性要求多高,处理一次异常最长需要多长时间。比如说异常后,可以等待1ms再处理,那就是单次处理任务不能超过1ms/8=125us。如果达不到看看提高MCU频率能否满足,满足不了那就分出来给小MCU处理或者FPGA处理。
回复

使用道具 举报

2

主题

459

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4478
金钱
4478
注册时间
2018-5-14
在线时间
959 小时
发表于 2021-7-4 17:50:38 | 显示全部楼层
两种办法,第一种使用OS,第二种控制大循环的运行周期时间,不阻塞就行。像你其他地方有大延时了还是推荐上OS吧
回复

使用道具 举报

0

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2020-11-22
在线时间
31 小时
发表于 2021-7-4 19:09:22 | 显示全部楼层
AD采样本来就是分时的,采到哪路处理哪路,做到响应最快就是最好的实时。用OS只能减慢速度,但对于复杂的事物的协调会比较好。
回复

使用道具 举报

1

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2014-6-18
在线时间
8 小时
发表于 2021-7-5 08:16:05 | 显示全部楼层
使用FPGA吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-23 07:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表