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组合的模式,常常会达到很好的效果。因为这样的组合可以满足很多苛刻的场景,会让系统开发更加游刃有余。

相关推荐
Shang1809893572617 小时前
T41NQ/T41N高性能低功耗SOC芯片 软硬件资料T41NQ适用于各种AIoT应用,适用于智能安防、智能家居,机器视觉等领域方案
驱动开发·嵌入式硬件·计算机视觉·fpga开发·信息与通信·t41nq
GilgameshJSS17 小时前
STM32H743-ARM例程39-SD_IAP
arm开发·stm32·嵌入式硬件
hollq18 小时前
STM32F103RCT6+STM32CubeMX+keil5(MDK-ARM)+Flymcu完成轮询方式检测按键
arm开发·stm32·嵌入式硬件
d111111111d19 小时前
STM32外设学习--DMA直接存储器读取(AD扫描程序,DMA搬运)--学习笔记。
笔记·stm32·单片机·嵌入式硬件·学习
EVERSPIN19 小时前
基于灵动MCU微控制器的呼吸机主控单片机方案
单片机·嵌入式硬件·mcu微控制器
清风6666661 天前
基于单片机的多模式智能洗衣机设计
数据库·单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
无人装备硬件开发爱好者1 天前
《STM32 江湖 SPI 双绝:硬件外设与软件模拟的深度解析》
嵌入式硬件·移植·软件模拟spi
点灯小铭1 天前
基于单片机的预约保温型智能电饭锅控制系统设计与实现
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
奋斗的牛马1 天前
硬件工程师-基础知识电阻(四)
单片机·嵌入式硬件·学习·fpga开发
axuan126511 天前
15.【NXP 号令者RT1052】开发——实战-XBAR
单片机·嵌入式硬件·mcu