0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何选择电机控制和Linux驱动开发

dyquk4xk2p3d 来源:良许Linux 2023-10-19 17:24 次阅读

电机控制Linux驱动开发哪个方向更好呢?

先说结论:任何一个领域,就像世间的五行,阴阳结合,虚实结合,利弊结合。对于哪个更好,不能一概而论,最重要的是要搞清楚,你更适合哪个?

1、共鸣

当我看到这个问题,也确实是我早些年时所面临的抉择,不由得过来回答一下,一来表达自己的看法,二来想以此在互联网上发光发热,影响和帮助更多的人!

2、洞悉

要知道电机控制和Linux驱动开发,哪个方向更好,首先要知道这两个方向主要是做什么的!

我相信,大多对这个问题有疑问的,都是站在了岔路口,两个方向都不清楚具体的情况。

2.1 电机控制主要做什么?

电机控制,就是控制电机了呗!那控制电机都需要用到什么技术呢?

电机种类与特性:电机有五花八门,什么直流电机、交流电机;又分为有刷、无刷、单相、三相等等各种类电机的基础知识得熟悉吧

控制算法:想要控制电机,最重要的是控制算法吧,PID你得会吧,三环控制理论你得搞明白吧,一大堆的理论推导你得熟悉吧,数学基础你得有吧!

控制策略:各种各样的控制策略得了解吧,什么矢量变换控制、直接转矩控制、直接功率控制、无传感器控制、自适应控制等等,这里面又牵涉到需要物理知识,信号处理知识等等。

驱动代码实现:这一部分反倒在整个电机控制中不那么重要了,基本就是根据算法实现C控制代码,常用DSP开发。

从事电机控制方向,一般来说对理论知识、控制算法等方面要求较高,学习不易,但是相对来说,门槛高的竞争反倒会小一些。

上面大致列举一下,如有纰漏,请包含.

2.2 Linux驱动开发主要做什么?

Linux驱动开发主要也分为两个方面:Linux总线驱动开发和Linux外设驱动开发。

2.2.1 Linux总线驱动

这一部分主要是芯片原厂需要做的,芯片Tapeout后,需要支持Linux系统就需要去实现Kernel总线驱动。这部分主要包括

各类子系统的开发:IIC子系统、SPI子系统、MMC子系统、CLK子系统、GPIO子系统、Pinctrl子系统、中断子系统等等。

BringUp工作:这部分就是实现芯片从上电->uboot->kernel->rootfs等整套启动方案,供客户使用。

文档撰写:芯片要提供给客户使用,需要些SPEC以及开发指南等文章。

从事Linux总线驱动开发,由于技术的迭代,底层驱动的实现一般不会有较大变化,很大程度上是维护工作,支持工作。

2.2.2 Linux外设驱动

这一部分,就跟我们经常使用STM32做的开发工作差不多了,更偏向于开发Sensor开发,外设开发。

各类传感器开发:比如MPU6050、激光传感器、摄像头传感器等等

各类外设的开发:比如PWM控制,WiFi与BT开发、显示屏开发、音频开发等等

从事Linux外设驱动开发,主要是面向产品的,公司每迭代一次产品,都需要去维护外设功能的稳定性,可能会比较卷。

3、总结

以上仅仅大概列举了一下,肯定会有所纰漏。

就拿我来说

我是做过电机控制的,当时在世界500强企业,整体加班强度也不高,整体也不错。

但是我觉得对于电机控制,大学专业毕竟不是学的这方面,并且牵涉到物理、信号处理、电机控制理论等知识,自己消化起来较为缓慢,于是才果断转到了Linux驱动开发方向,目前也挺不错。

我只想说明一点:每个方向的好与不好,不是非黑即白的,重要的是看你自己适合什么!

编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电机控制
    +关注

    关注

    3465

    文章

    1704

    浏览量

    264420
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206734
  • 驱动开发
    +关注

    关注

    0

    文章

    129

    浏览量

    12010
  • 总线驱动
    +关注

    关注

    0

    文章

    8

    浏览量

    3647

原文标题:电机控制和Linux驱动开发哪个方向更好呢?

文章出处:【微信号:良许Linux,微信公众号:良许Linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Linux驱动开发:字符设备驱动开发理论

    大部分学习者的最终目的就是学习 Linux驱动开发Linux中的外设驱动可以分为:字符设备驱动
    发表于 10-26 09:53 696次阅读

    嵌入式Linux设备驱动开发

    嵌入式Linux设备驱动开发 Linux 设备驱动的基本概念Linux 设备
    发表于 09-10 13:10 82次下载
    嵌入式<b class='flag-5'>Linux</b>设备<b class='flag-5'>驱动</b><b class='flag-5'>开发</b>

    步进电机Linux驱动程序

    步进电机Linux驱动程序
    发表于 03-28 09:44 45次下载

    步进控制电机驱动选择开关电路图

    步进控制电机驱动选择开关电路图
    发表于 06-20 11:07 629次阅读
    步进<b class='flag-5'>控制</b><b class='flag-5'>电机</b><b class='flag-5'>驱动</b>的<b class='flag-5'>选择</b>开关电路图

    Linux设备驱动开发入门

    本文以快捷而简单的方式讲解如何像一个内核开发者那样开发linux设备驱动. 要开发Linux设备
    发表于 03-19 14:57 600次下载

    基于Linux的步进电机驱动程序设计

    介绍了Linux驱动程序的实现机制,在分析步进电机驱动程序接口的基础上,给出了一个在嵌入式Linux平台上编写步进
    发表于 06-15 14:22 5535次阅读
    基于<b class='flag-5'>Linux</b>的步进<b class='flag-5'>电机</b><b class='flag-5'>驱动</b>程序设计

    基于S3C2440嵌入式Linux的步进电机驱动程序

    在嵌入式Linux开发过程中需要为指定设备编写和编译驱动程序,这与以往在PC机上的Linux驱动开发
    发表于 09-27 11:56 2225次阅读
    基于S3C2440嵌入式<b class='flag-5'>Linux</b>的步进<b class='flag-5'>电机</b><b class='flag-5'>驱动</b>程序

    Linux设备驱动开发详解》第23章、Linux设备驱动的移植

    Linux设备驱动开发详解》第23章、Linux设备驱动的移植
    发表于 10-27 10:58 9次下载
    《<b class='flag-5'>Linux</b>设备<b class='flag-5'>驱动</b><b class='flag-5'>开发</b>详解》第23章、<b class='flag-5'>Linux</b>设备<b class='flag-5'>驱动</b>的移植

    Linux设备驱动开发详解》第13章、Linux块设备驱动

    Linux设备驱动开发详解》第13章、Linux块设备驱动
    发表于 10-27 11:24 18次下载
    《<b class='flag-5'>Linux</b>设备<b class='flag-5'>驱动</b><b class='flag-5'>开发</b>详解》第13章、<b class='flag-5'>Linux</b>块设备<b class='flag-5'>驱动</b>

    Linux设备驱动开发详解》第7章、Linux设备驱动中的并发控制

    Linux设备驱动开发详解》第7章、Linux设备驱动中的并发控制
    发表于 10-27 11:37 10次下载
    《<b class='flag-5'>Linux</b>设备<b class='flag-5'>驱动</b><b class='flag-5'>开发</b>详解》第7章、<b class='flag-5'>Linux</b>设备<b class='flag-5'>驱动</b>中的并发<b class='flag-5'>控制</b>

    Linux设备驱动开发详解

    Linux设备驱动开发详解
    发表于 10-28 11:03 45次下载

    步进电机驱动控制 恒压驱动 恒流驱动

    本章介绍步进电机的主要驱动方式和控制方法。步进电机性能除了电机本体外,还会根据驱动方式和
    发表于 03-20 10:52 6次下载
    步进<b class='flag-5'>电机</b>的<b class='flag-5'>驱动</b>与<b class='flag-5'>控制</b> 恒压<b class='flag-5'>驱动</b> 恒流<b class='flag-5'>驱动</b>

    基于S3C2440嵌入式Linux步进电机驱动程序

    在嵌入式Linux开发过程中需要为指定设备编写和编译驱动程序,这与以往在PC机上的Linux驱动开发
    发表于 03-21 11:42 0次下载
    基于S3C2440嵌入式<b class='flag-5'>Linux</b>步进<b class='flag-5'>电机</b><b class='flag-5'>驱动</b>程序

    基于S3C2440嵌入式Linux步进电机驱动程序分享

    在嵌入式Linux开发过程中需要为指定设备编写和编译驱动程序,这与以往在PC机上的Linux驱动开发
    发表于 03-24 11:26 0次下载
    基于S3C2440嵌入式<b class='flag-5'>Linux</b>步进<b class='flag-5'>电机</b><b class='flag-5'>驱动</b>程序分享

    如何学习Linux驱动开发

    Linux驱动开发,看起来是一份很高大上的职业,毕竟从事上层应用开发人员太多,而且门槛又不是特别高,而内核级开发从业人员要少得多,而且资料又
    的头像 发表于 01-06 16:34 649次阅读
    如何学习<b class='flag-5'>Linux</b><b class='flag-5'>驱动</b><b class='flag-5'>开发</b>?