Linux上位机开发实践(mcu模块的补充应用)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

和soc模块相比较,mcu模块有它自己的特点。比如说,mcu模块很容易实现工业级场景,除此之外,对于一些实时性要求比较高的场合,使用soc+linux这种方式,就不再合适了,比如机器人。所以,实际应用场景中,嵌入式设备不会只有一种模块,soc+mcu、soc+dsp或者是soc+fpga,这都是常见的组合方式。虽然有一些芯片自身也集成了soc、mpu这两个模块,但是非集成式的布局方式是我们更加喜欢的模式,因为选择面更大,用起来也更方便。

1、连接方式

**soc模块和mcu模块,一般还是以低速通信为主,比如232、485。**中间没有涉及到大数据的传输,比如视频数据、3d lidar数据,所以用232/485做一些控制类数据的传输、状态的查询,其实就已经足够了。稍微复杂一点的应用,会使用spi、iic。当然,用usb、eth传输也不是不可以,只是不多见而已。

2、实时运动控制

soc模块一般跑的都是linux。linux自身是没有办法做成实时系统的。虽然现在有一些办法可以提高linux的实时性,比如RT-linu,但是一旦提高了linux的实时性之后,那么数据方面的吞吐能力就会大打折扣。本身效率和实时性两者就是相悖的。

而mcu本身多用于控制类应用,这些应用和电机控制的关联比较大。所以很多时候,mcu都是跑rtos的,在rtos的基础之上直接通过da电路、或者是pwm去控制电机,这是最常见的方式。但mcu本身算力有限,对于复杂的算法,类似于ros slam算法,或者是图像处理算法,还得由上层soc+linux来处理比较合适,这就是两者之间的分工和区别。

3、io扩展

一些低端类的soc,其实内部是带有ddr的,而且价格也不贵。不过这些低端soc,封装大多没有使用bga,而是以qfn为主,因此引脚并不多,数量以88和100为主。而且,很多的引脚功能是叠加的,也就是说,一些引脚被用作功能A,就不能再用作其他功能了。因此,针对这种情况,其实可以扩展一个mcu,利用mcu来扩展soc的io功能,这也是活学活用mcu模块的一种方式。

4、加密

每一个soc都有自己的id,和soc一样,mcu也有自己独立的id。所以,利用soc的id、mcu的id,可以做成特定的license文件,形成双保险的效果。特别是那种8 pin的mcu,烧录接口swd很多时候是和通信接口复用的,这意味着一旦被烧录之后,就没有办法从里面再次烧入、读取镜像文件,因为pin本身已经被占用了。

这种情况下可以有后门,也可以没有后门,就看自己当初的设计是如何安排的了。

5、光源控制

前面说过,图像算法本身是非常刚需的一类应用。不管是工业,还是消费、军事上面,图像处理都有它很大的使用价值。以医疗为例,就会出现这样一个场景,医生要求使用内窥镜的时候,图像的亮度必须保持在特定的范围内。那这个时候,应该如何调节镜头前面的荧光做到这一点呢?

因为图像的亮度信息通常来自于soc isp的统计,而控制本身必须是实时的,所以很多时候都是通过soc isp拿到统计信息之后,借助于mcu的控制算法,来实现光源的自动控制。这类对光源要求严格的场合,isp里面的自动曝光都是关闭的,因为根本没有办法达到实时调节的目的。只能自己外部通过mcu模块来实现。

6、soc检测

有些场景,比如车规、或者是电信,对于系统的稳定性要求很高。除了soc内部的监控程序之外,还得防止一些场景发生,比如程序死锁、系统无法正常启动、内核出现错误等等。在这种情况下,看门狗都不一定好使,比如说系统启动失败。因为系统连监控程序都没有启动,看门狗也是正常的,此时唯一的办法,就只能是通过外部的力量来重启soc,比如说利用mcu检测soc、重启soc。通过mcu的gpio连接soc的reset pin,就可以很容易做到这一点。

7、其他的扩展应用

除了上面的一些常规使用方法,mcu还可以帮助我们做很多的事情。因为mcu支持很多的低速外设,那么还可以用mcu显示一些小屏幕。再比如,很多soc不支持can,或者can的数量不够,这种情况也可以通过mcu完成。

本身mcu和ipcam soc一样,是非常成熟的市场,竞争也很激烈。所以很多时候,我们采用分列式元器件,代替集成式元器件,即soc+mcu组合的模式,常常会达到很好的效果。因为这样的组合可以满足很多苛刻的场景,会让系统开发更加游刃有余。

相关推荐
knight_20242 小时前
嵌入式学习日志————对射式红外传感器计次
stm32·单片机·嵌入式硬件·学习
深圳安凯星单片机开发方案公司2 小时前
用单片机怎么控制转速
单片机·51单片机
忆和熙2 小时前
【模电笔记】—— 波形发生电路(波形振荡器)
嵌入式硬件·模电笔记·波形发生电路
文火冰糖的硅基工坊2 小时前
[硬件电路-97]:模拟器件 - 如何通过外部的闭环负反馈,让运算放大器从“暴脾气”、“愣头青”、情绪容易失控者变成“沉着”、“冷静”的精密调控者的?
嵌入式硬件·架构·电路·跨学科融合
Ronin-Lotus2 小时前
嵌入式硬件篇---驱动板
单片机·嵌入式硬件·esp32·驱动板
##echo2 小时前
嵌入式Linux裸机开发笔记9(IMX6ULL)GPIO 中断实验(1)
linux·c语言·笔记·单片机·嵌入式硬件
Ronin-Lotus2 小时前
嵌入式硬件篇---ESP32拓展板
stm32·单片机·嵌入式硬件
弄曲幽篁8 小时前
精密全波整流电路(四)
嵌入式硬件·硬件工程
nuannuan2311a9 小时前
4N90-ASEMI电机控制专用4N90
单片机
邹诗钰-电子信息工程9 小时前
bmp280的压力数据采集(i2c设备驱动+设备树编写)
stm32·单片机·嵌入式硬件