回顾嵌入式开发历程

回顾嵌入式开发历程

说来也有趣,前段时间和大学同学聊起,我毕业于电气工程及其自动化专业,还有门专业课是电机拖动,结果现在从事了无线通信;同学毕业于通信工程,现在去做了无刷电机控制。

最早接触的是硬件开发,不知听谁蛊惑的软件35是个坎,硬件越老越吃香;事实证明没能力硬件软件 一个样,有能力硬件软件也一个样。

1. 从硬件开发转软件入门stm8

校园里用的都是盗版AD,AD也乐的免费推广,毕业后发现用的少,更多的是allego, PADS,学PADS花了点时间,这氛围更像是回到了校园生活;
生活在画画图,手工焊焊板的日子里过去,不过最讨厌的还是测试,尤其是重复性的手工测试,直流电机在高温下会保护停止工作,但由于升降桌不同桌腿的摩擦差异,需要做大量测试得出统计值,尤其环境温度也有影响,所以公司专门买了个恒温室,这大夏天的可就苦了我们这批应届生来测试了。

终于还是受不了这测试工作,也了解到现有的硬件开发大多是在完善的单元电路基础上做搭积木的工作,本科毕业也没想去做啥高速pcb设计,所以直接换到了软件,最早接触的是stm8做的有刷电机控制升降桌;

升降桌原理比较简单,我也没想通这么简单的东西怎么卖的这么贵,动则几千。
通过电机升降调整桌面高度,并保存三档预设高度。通过霍尔元件定位及pid算法控制双电机,三电机同步稳定运转至预设高度。
难点在电机运行过程中出现单边压力时保证电机稳定运行,同时实现遇阻回退。
遇阻判定通过电流确定,又回到上述所说,由于电机及桌腿个体差异,这需要大量的测试数据,不过软件管开发和微测,主要测试工作就不在这个部门了。

整体来说这比较适合入门,特别是对于刚毕业只知道一个main.c输出“hello world”的学生而言,或者是那些学了正点原子但就在几个.c .h之间穿插的小工程来说,工作遇到的项目大多的冗余的,历经不知多少的迭代又没人去重构优化,但所幸这有只是个电机驱动的小工程,用来入门再适合不过。

这地方适合稳定养老,但不适合刚毕业对技术存在执念总想更进一步的那群人,所以呆了一年果断撤。

2. PIC单片机+PIC mrf24j40 射频模块

要不怎么说大公司适合混履历,岗位职责明确,工作技术单一,像是流水线细分到单步操作,离开谁都能马上找到替换者,能学到的是制度和管理,可惜能学到技术的不多;
小公司适合学技术,啥都得操手,一不小心就成了全栈工程师,可惜不稳定;
如果可以选择,首选外企,或者有高管是欧美的,没待过的你不懂外企的快乐;其次找个背靠大资本的小公司,没那么重的制度文化,氛围好,我目前所在的公司听说在我来之前人不多的时候氛围极好,每年也会有个全司旅游,只是后来人多了,制度繁杂了,条条框框的再也回不去了,连忽悠我进来的不打卡全靠自觉也在第二年被打卡制度取缔了。

话说回来,第二家公司基本奠定了工作的主基调,2.4G无线通信方向;
这是家做智能家居方向的,用的pic,有点冷门,以前从没听过,不过说是比较稳定,主要用在汽车电子,所以也比较贵,优点是每个io都支持全功能复用,不像stm32只有固定的io支持那么几个复用功能;另外这个ide说实话也不太好用,比较卡;

zigbee网络基本原理简介:
coordinator - 协调器,网关设备,负责构建集中式网络,分配入网设备地址等,如果不存在该设备则由router设备构建分布式网络;
router - 路由器,负责转发广播或路由信息,不休眠设备,通常为220v直供电设备,如灯;
end device - 终端设备,休眠设备,通常为电池供电设备,如开关。

硬件框架是mcu通过spi接口连个射频模块,是一套私有化的zigbee协议,介于zigbee2.0和3.0之间,可惜当时对无线通信这块理解的并不深入,这套私有协议其实在星型网络模式下还比较稳定,测试过程中出问题是在路由功能和硬件功能上;
路由功能应该还是软件问题,不过水平有限没参与太深入的调试,直到现在才深入了解了zigbee路由原理;
硬件问题在于路由设备主要为220v供电,压测中总有那么几个时间长了就烧坏了,硬件没学出师就不评价了;
不过总之是敲开了无线通信的门。

整体来说还是比较感谢这第二份工作遇到的同事,领导;算是在嵌入式站稳了脚。就是老板事儿多,不懂技术还爱管事儿,领导受不了走了,我算是挨满两年也走了,毕竟为了履历好看点儿,所幸也在这剩下的时间里学了个上位机开发工具qt,勉强在嵌入式这条路上自给自足了。

多说一句,还是得听劝啊,别一毕业动不动就跳,一两个月的没关系,特别是呆一年跳一次的真不好,共勉。

第三家搞电表的,正从stm32移植到linux过程中,倒是想学linux也陆陆续续了解了些,不过正式从事纯软工作还是有些不适应,习惯了嵌入式研究研究软件,捣鼓捣鼓硬件,另外地方也偏,有班车但是回市区单程都要四五十分钟了,还有加班文化,所以呆了个把月想想还是走了。
第四家公司是搞电机的,结果入职一天看到代码一个main.c还有一个.h定义了一些register,八位机几十行代码,没了?!这一眼能看到头的日子,果断走人。
第五家公司是最舒服的,工业互联网研究院,结合高校研究项目,通常一个项目搞一年的那种,还有工作餐,而且还有大学教授不时来开讲座,仿佛回到了校园实验室的生活,舒适,没压力,只是工作内容五花八门,也不是喜欢的方向,有些可惜。

由于上面三家公司加一块儿也没到两个月,所以通通不算,以下才是第三家公司。
另外别想着通过这么频繁的跳槽涨薪,其实这几家都差不多,但每到了一个新环境都有些慌乱,或许是软件工作做多了有些社交恐惧症了。

新公司是做芯片设计兼提供软件服务;主打2.4g,所以也会有很多新的知识面,学习永不停止。

3. zigbee/ble

刚来公司主要是zigbee,不过对标准zigbee3.0应用部分的了解又多了不少,但再深入stack层就得转岗纯zigbee了,就此打住了,钻研的越深也就被困的越深了,可惜,也不可惜;
随后开始向ble方向拓展,公司主营业务也是ble方向,能把一个蓝牙应用固件做到~300kb我也是服了;

  • 语音编解码
  • 在线升级
  • 低功耗
  • 椭圆曲线数字签名算法ecdsa
  • usb dongle

细看东西确实还不少,不过一样东西来回做,其实难度就没了。

不过现在来看心态也变了,技术只是一种手段,不是研究型人才的话那一般够用就好了,涉猎面广一些可以让你从容的接触更多的项目,懂和不懂还是不一样的。

一直考虑再把mesh熟悉熟悉就把2.4g主流了解遍了,虽然还有thread(国内还早),iot(感觉也不是主流),matter(下一步主流吧,但推广开还得花点时间,主要环境太复杂了),能推广起来的我相信都不会是太复杂的东西,但渐渐觉得似乎matter来了mesh也没那么重要了。

顺带学了学英语,头一回和欧洲人用英语交流的感觉还真是,我听不懂你说的,你也听不懂我说的,但我们莫名其教的就能交流下去,原来除了我们有中式英语,外国人也是有xx式英语的说法,离谱却又合理。

至此,接下来的路还得慢慢走,后续会分享些小问题和思路,大框架性的东西随手可以百度就不再多述了。

  • 12
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值