5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
12
返回列表 发新帖
楼主: payne_pan
打印 上一主题 下一主题

[求助帖] 飞控(下) 讨论飞控该不该用手机cpu, 该不该又操作系统

[复制链接]
21
 楼主| 发表于 2017-3-11 08:12 | 只看该作者
点击查看详情
本帖最后由 payne_pan 于 2017-3-11 08:16 编辑
crossa 发表于 2017-3-10 23:38
关于实时性的问题,操作系统不会干扰实时性的,反过来说,甚至可以强化实时性,优先把时间片分配给用户空间 ...


linux需要打实时补丁, 即便打了,上下文,进程切换也要花点时间, 但这点时间对于高速度的cpu不算什么, 实时补丁的作用应该是改善任务的调度机制
如果是轮询的设备 (传感器读取应该是轮询),cpu主动去读
如果是中断io,  用中断处理

如果视频处理是低优先级的,飞控是高优先级的,如果飞控处理误入死循环,就会干扰视频处理。(高通的飞控程序运行在 dsp 上,不知道是如何和操作系统结合的?)
完全死机倒是不用担心, 因为进程都隔离和保护了,大不了就是一个进程完蛋再重启。




欢迎继续阅读楼主其他信息

22
 楼主| 发表于 2017-3-11 08:14 | 只看该作者
caosix2 发表于 2017-3-10 23:36
片选 信号 当然是 【主 处理器】 发出哟 。要做 冗余 —— 难度不小 —— 以三个 单元为例:

多谢指教!  这部分要研究还是要花时间的。

23
 楼主| 发表于 2017-3-11 17:37 | 只看该作者
本帖最后由 payne_pan 于 2017-3-11 19:59 编辑
crossa 发表于 2017-3-11 10:43
1. 先说Linux的实时性,这个实时性补丁是针对内核模块和线程而言的,而飞控运行在用户空间,几乎不会去太 ...

我没有不赞成操作系统,反而是支持的。关键是融合
你说cpu处理图形快,我不这么认为,图形处理快是有GPU, 没GPU, cpu 不看重负


既然依靠操作系统了,就要享受kernel的服务,接收它的管理。 你把用户态的进程说得很强大,我要好好查资料(因为用户态进程正在运行,突然有个低电压异常,操作系统会先处理哪个?,操作系统运行特权级别,向操作系统索要高优先级中断,看os是否允许)

多谢指教!大部分内容,我是赞成的。
大家在严格的思考中都能获得进步。




24
 楼主| 发表于 2017-3-11 19:52 | 只看该作者
本帖最后由 payne_pan 于 2017-3-11 19:53 编辑

难得遇到能一起热烈讨论的,我把问题分层下面几个方面 (先写几个,后面想到再加),看能否一起讨论,加深对飞控的认识
1)纯用户态进程(不用在用户空间和kernel空间切换)效率高 (以前用过futex),所以飞控用这种方式
那么os,还需要打rt补丁否?

2) 传感器是否需要编写驱动,提供文件句柄操作?

3) 等待唤醒常用 select,进程通信用pipe  或 binder 都要靠操作系统调度
这里面都有线程,进程的调度。
(用android大量使用binder的情况看,够快,很少延迟,应该满足要求)

4) 图像海量数据处理,是否该利用gpu
(我过去曾用 cpu 运行 mesa,速度慢的要命,因为cpu是通用的,而gpu是针对图像的)

(后面想到再加上)


25
 楼主| 发表于 2017-3-11 20:05 | 只看该作者
本帖最后由 payne_pan 于 2017-3-11 20:08 编辑
crossa 发表于 2017-3-11 19:58
所以,我才说你进死胡同了么
我给你大致说一下为啥不能融合进内核模块以及那个异常处理

多谢,过去经验大多在 libc之上, 术业有专攻,对kernel还是缺乏深入理解。(但我绝对没想过把飞控做到kernel,   只是想了解哪些方式能够避免过多在用户态和 kernel态切换)



26
发表于 2017-3-11 20:15 | 只看该作者
payne_pan 发表于 2017-3-11 20:05
多谢,过去经验大多在 libc之上, 术业有专攻,对kernel还是缺乏深入理解。(但我绝对没想过把飞控做到ke ...

你参考下px4firmware,这个程序全程用户态,所以也就没有所谓“实时性”问题,而且我都说了哪个实时性是个伪命题,本就是个使用ORB机制的东西,说白了就是让发布、读取、处理三个动作分配到更多时间而已。目前市面上的Linux飞控,没有一个把姿态处理塞进内核的,内核里只是加些模块做设备映射而已 ,但这也是不方便的地方,飞他们的固件,连系统都不能轻易升级了。‘
后台任务只有一种情况能得到多的时间片: 大运算量(CPU占用多)  高IO

这类后台任务通常是数据库、承压的服务器之类的服务,而且都是面临巨大的访问量时,才会出现,当下的飞控上,暂时还不会有那么复杂的应用场景,就算以后有了,硬件绝对都已经升级好几代了。估计也早不是问题

27
 楼主| 发表于 2017-3-11 20:20 | 只看该作者
crossa 发表于 2017-3-11 20:15
你参考下px4firmware,这个程序全程用户态,所以也就没有所谓“实时性”问题,而且我都说了哪个实时性是 ...

多谢! 回头看了px4firmware,还要找你多交流。

28
发表于 2017-3-11 20:33 | 只看该作者
payne_pan 发表于 2017-3-11 20:20
多谢! 回头看了px4firmware,还要找你多交流。

你说的有系统和无系统的两个硬件之间,最佳融合方式其实是有的,比如超声波应用,以市面上常见的能买到的4.5元的模块来说,如果直接挂载到有系统的设备上,就是开个进程在那儿一直跑着,如果要融合,也简单,裸机程序,计算量又不大,但是需要控制循环一直循环着,这类事交给单片机来解决,无非就是走通信协议和主机通信呗。融合方式依然和普通的设备一样,但是处理起来更简单!

29
 楼主| 发表于 2017-3-11 21:56 | 只看该作者
crossa 发表于 2017-3-11 20:33
你说的有系统和无系统的两个硬件之间,最佳融合方式其实是有的,比如超声波应用,以市面上常见的能买到的 ...

不错, 现在我使用的数码管,液晶,都是i2c, 连接线少,还省单片机计算资源。

30
发表于 2019-6-6 23:12 | 只看该作者
这些问题5G时代到来,都绕过或者迎刃而解了.
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /2 下一条

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