爱意满满的作品展示区。
quietjosen

硬件是怎么做出来的?带你从软件的视角,揭开神秘面纱

  quietjosen ·
atjason · Jan 2, 2024 · 25840 views
This topic created in 887 days ago, the information mentioned may be changed or developed.

2023 年,作为软件开发出身的我,做了两款智能硬件产品,注册了两个专利,「硬」气了一把。

你是否也喜欢鼓捣些硬件,是否对电路板是如何做出来的感到好奇?欢迎跟我一起,揭开硬件开发的神秘面纱,看看硬件工程师如何零基础入门。

硬件开发的基本流程

首先声明,这里所说的硬件,更偏向于 ARM 单片机及嵌入式开发。我不是硬件工程师出身,属于边学边干;可正是如此,我的视角可能更贴近真实、更容易帮你上手。如果哪个环节有更好的做法,欢迎行业内的朋友指正。

0 、明确需求

硬件领域很大,又很繁杂,从何说起呢?这是个问题。

首先,还是从需求出发。明确产品要实现哪些功能、有哪些约束条件,有了这些硬性标准,问题的边界就被大大缩小了。

这里,以它适智能跑轮为例,从头到尾,走一遍硬件研发的历程。先说一点,产品的研发不是一条直线,而是不断迭代、甚至重头再来的过程。为了描述方便,这里假设一切是一帆风顺的,只按最终的方案来描述。不过,考虑到商业性,一些地方不会说太细。

1 、芯片选型

它适智能跑轮,核心的需求,是记录数据,然后通过蓝牙传递出来;主要的约束,是低功耗、长待机。那么这颗芯片:

  • 性能不能太差,要能支撑起蓝牙连接和数据传输;
  • 性能也不用太强,不然会增加功耗;
  • 最好能以不同的功耗工作;不工作时休眠,并且可以被蓝牙连接唤醒;
  • 要能存储足够多的数据。当然,也可以用外围存储芯片,但那样既会增加成本,也会增加 PCB 的面积和复杂性,所以最好能集成进来。

然后,就是其他核心元件,包括蓝牙芯片、霍尔传感器等。

之后,就是确定产品的交互方式,比如显示、按键、声音等。

再之后,就是确定电源方案。电源对于整个电路设计,是非常重要的。事实上,对最终的电路来说,有一小半的元件,都是电源相关的。具体到这个产品,要支持锂电池供电、Type C 充电、LDO 降压稳压、测量锂电池电压等等。

到这里,主要的芯片及方案就基本确定了。接下来,就是搭建具体的电路、设计 PCB 。

2 、设计电路图

这时,就要面临 EDA 的选择。所谓 EDA ,类似于软件开发中的 IDE ,就是电路设计所需要用到的软件。这里我选择的是 立创 EDA,它是国产的、免费的,简单易用。这对于个人或小团队开发来说,非常重要。商业 EDA 是非常昂贵的;当然,我知道有所谓特别版。但作为软件开发出身的我,对正版、免费有天然的亲切感。

确定好工具后,可以开始设计电路图了。

设计电路图,主要靠两样:电路基础知识、芯片数据手册。基础知识自不必说,比如电阻、电容、三极管、MOS 管等基础元件的使用。对于复杂的芯片,主要是参考其数据手册的典型电路,针对自己具体的场景进行调整。

这一步还挺好玩的,把一堆元件摆出来,然后用线连啊连,像正极连正极、负极连接地,连着连着就好了。当然,步骤是这么个步骤,实际不会这么容易。

一般的电路图,大概长这样:

3 、设计 PCB

电路图设计好之后,就是设计 PCB ,也就是印刷电路板。这一步同样考验功力,也更加耗时。事实上,不考虑芯片选型的话,PCB 布板所花费的时间,比电路图长很多。

这一步,说简单也简单。就是确定后电路板的外尺寸后,把所有元件排排好;并参照电路图,把各元件通过走线连接起来。

最直接的难点是布线。不考虑多层板的话,电路板相当于一个平面,而平面上的线是不能交叉的。这使得必须很恰当地摆放元件,才能避免交叉。有时,还得反向修改电路图。当然,多层板可以改善这一点,但成本高,且设计难度加大。如非必要,常见的还是用双层板,也就是有正反两个面可以走线。

当然,PCB 板还有很多其他难点和要注意的地方,比如要适配外尺寸及开孔、天线及电磁屏蔽、散热、避免回路、差分信号线等等,这里就不展开了。

一般的 PCB 板,大概长这样:

4 、打板

电路板设计好之后,就可以 制作 PCB,俗称打板。这里依然推荐嘉立创,每月有两次免费打板的机会,付费也只是 20 元起;而且很快,最快隔天就可以收到。

打板之后,就要焊接元件。这里又面临一个选择,要么是让嘉立创这样的工厂替你完成 SMT 贴片,要么自己焊接。二者的优缺点很明显:自己焊,省钱、灵活、不用等,但花时间,且一些很小、引脚很多的元件,不好焊;第三方 SMT 则刚好相反。

一般来讲,前期、以及简单的电路板,可以自己焊;后期还是倾向于 SMT 服务。

焊接好元件后,就类似这样:

5 、刷固件

电路板制作好后,就要刷固件。当然,有些简单的电路,是不需要刷固件的。刷固件,就相当于给硬件装个操作系统。这里暂时略去固件的开发。

具体的,电路板上留刷机接口,配合专用的刷机工具、上位机,就可以将固件写入芯片的 Flash 存储。

6 、电路测试

刷好固件后,就要开始测试。简单的,就是先测试下正负极电阻,看有没有短路。没问题可以上电,看电路有没有按预期工作。如果有预留测试点,就测量测试点的电压等。也可以借助示波器等工具进行测量。

如果遇到问题,不要慌,这太正常了。一般来讲,就是先缩小问题的范围。可以用拆焊等方式,去掉不必要电路的影响,只看出问题的那部分,方便排查。

对于固件的测试,可以像黑盒一样观察硬件是否按预期工作,也可以像白盒一样进行调试。只是硬件的调试,远没有软件随便加断点那么轻松。

定位问题,找出解决方案,就可以进行下一次制板。当然,也可以根据实际使用中的不便或问题,对电路进行改进。

7 、制作原型

经过几轮迭代,电路板基本稳定,可以组装成原型机,开始使用场景的测试。

这时,通常要制作产品的外壳。最好自己有一定建模能力,这样可以设计产品的外壳、3D 打印,方便很多。

如果只是简单的外壳,可以用嘉立创的工具,可以比较简单地生成 3D 模型。如果有团队,可以和同事一起配合进行设计。如果已经有外观设计,就可以进行结构设计。比如,如何固定电路板、如何暴露交互接口等。

8 、量产电路板

假设经过一段时间测试,原型通过了,产品也到了规模化生产阶段,就要开始批量生产电路板了。

通常,不是重新上传设计文件下单,而是返单上一次被验证过的电路板。这样更可靠,避免手抖出错,导致批量生产的电路板报废。

电路板批量生产完后,还面临一个繁琐的流程:刷固件。之所以说繁琐,主要还是量。

试想一下,如果刷一个电路板需要 1 分钟,听起来不多吧?可要刷 1000 片呢,那就是 16 小时。不吃不喝,从早上 6 点,刷到晚上 10 点,吓人不。当然,实际没这么慢,但基本是这个数量级,快不了太多。

9 、生产、包装、发货

然后,就可以交付给工厂,进行包装生产了。继而转发至仓库,用户在电商平台下单后,就可以快递出去了。

等用户收到后开始使用,这时能做的,就是 双手合十,祈祷不要出问题。因为一旦出问题,大概率不像软件一样,升级个版本就能解决,很可能要召回。

说到这里,就要提一个话题:OTA ,就是用户可以远程升级固件,来解决问题、或增加功能。这个其实很重要,尤其是在前期、尚未经过大规模用户实测时。OTA 可以在不召回的情况下,解决一部分问题,减少损失。

10 、十全十美

如果一切顺利,用户用起来很开心,满足了实际需求,带来正面评价时,就是 产品人最开心的时刻

至此,就是硬件产品的基本流程。

硬件开发的一些故事

上面只是走马观花地介绍硬件的基本流程,挂一漏万。下面补充一些细节,解释下为什么 硬件工程师通常发量不多

如何上手硬件开发

玩芯片的第一步,都是点亮一颗灯;这个操作,相当于软件领域中打印出 Hello World。当然,做得多了,总有「点亮」芯片 的时候,哈哈。

最好边学边练,做些小东西练手。

  • 比如,我第一个做给自己用的硬件工具,是 IoT Power 电源转接头。
  • 比如,制作批量刷机工具,提高生产效率。
  • 比如,制作小的 PCB ,记录电池放电过程。

总之,制作自己用得上的小工具,是不错的开始

从软件和生态上来讲,可以从 Arduino 入手。相对复杂的,就是树莓派以及各种衍生派。

再说芯片选型

芯片选型非常重要,最考虑经验、能力。而且一旦定了,之后基本不太可能会改;如果改,意味着要兼容两套方案、非常恰当地处理芯片及产品库存,总之很麻烦。

芯片的生态很重要。如果一家公司的芯片被广泛使用,通常意味着它更成熟,隐藏的问题更少。如果选一家小厂的芯片,可能看起来更便宜,但配套的开发软件不好用,市场上不容易找到使用该芯片的开源方案,等等。更关键的,可能有隐藏的问题。而这个问题,一旦量产后才发现,将是非常痛苦的:召回的话,血亏;不召回的话,会有持续不断的用户问题。像 STM32 、兆易创新 GD32 这些系列,都是比较成熟的选择。

还有一个问题,就是 开发效率与运行效率的平衡。对于电脑或手机上的软件开发,通常不需要担心性能问题,CPU 、内存、电量管够。而单片机开发,则没这么幸运了。通常,嵌入式使用 C 语言开发。可惜,实在不想这把年纪了,再去啃 C 语言。

最后选择了 合宙 Air101 这颗主芯片。很大的原因,是它支持 LuatOS 开发。简单地说,就是在芯片上运行了一个 Lua 虚拟机,或者说运行环境。接下来,使用 Lua 这门脚本语言,就可以调用库函数,快速完成生产代码的开发。关键的,它还支持 OTA 升级。主流嵌入式操作系统 RTOS ,包括μClinux 、FreeRTOS 等。

有时感觉,硬件产品不是做出来的,是攒出来的;从巨大的元件库中选型,各种排列组合,最后出产品。

配件采购

芯片的采购也比较关键。尤其到后期,产品已经上市,准备批量返单时,如果发现一个关键的元件缺货了、涨价了,就很头痛。如果换芯片,又要有比较长周期的测试。

延伸来说,在硬件众多配件中,哪怕缺少一个螺丝,也会决定最终产品能否量产。过多屯货,又会压资金;之后如果换方案,很可能屯的芯片就无用了。因此,供应链管理很关键。比如,对于汽车这种有 N 多配件的产品来说,供应链管理的难度极大。

说说焊接

做硬件,手工焊接是基本功。虽然嘉立创这类平台,打样已经比较便宜了。但在开发阶段,频繁测试,花费还是不小。更关键,来来回回比较花时间、影响效率。很多时候,还是得撸起袖子自己焊。

焊接中,植锡、放元件,是很枯燥的。风枪一吹,爬锡过程很解压。小元件、多引脚的连锡,是最头痛的。

当然,还有 焊台最佳伴侣:烫伤膏,别问我是怎么知道的…

硬件佬工具多

硬件佬有很多配件、工具,比如各种型号的电容电阻等元件,万用表、示波器、功率计、焊台等。

电压电流这些,肉眼是看不见的,需要工具来测量。

  • 比如,同样是 5V 的电源,有的纹波大、有的小;
  • 比如,标称是 12V 2A 的电源,真到了 2A 的大负载,是不是会掉电压;
  • 比如,测量上电时序。

原型到产品

对于一款硬件产品,电路板只是其中一个环节,作为一款完整的产品,要考虑的东西还有很多。比如,包装、说明书、宣传文案配图视频、生产备货、等等。

产品原型做出来,离规模化上市,还差很远。什么东西一上量,性质就变了。

工厂生产,有很多不可控的因素,有很多妥协。事实上,初期设计 100 分的产品,最终批量上市时,能妥协到 70 分以上,已经很不错了

第一次批量生产固件,还是很慌的。可能电路设计有问题,也可能生产过程中有缺陷,担心投入的真金白银,变成无用的电子垃圾。

做了硬件,真的相信,第一代产品通常是有问题的。硬件比较复杂,使用环境和方式多种多样;很多问题,只有在用户使用过程中才能发现。而发现了问题,很多时候无法通过固件升级来解决,只能寄希望下一代硬件改进。

当然,如果大家都不支持第一代产品,也就不会有第二代。这世界总需要有人第一个吃螃蟹,也时常奖励吃螃蟹的人,看大家怎么选择了。

硬件抄袭

抄袭哪都有,硬件也一样,术语叫 抄板。怎么应对呢?很难。

打磨丝印,算是比较基础的操作。更有效的,是开发有固件的硬件,也就是硬件里是有代码、有固件的,这种就不好直接抄。

物理开关

硬件很难避免物理开关。本来想,硬件做得优雅,就不需要物理开关。现在看,意外情况总是有,还是要考虑售后的问题。认怂,给智能模块加个物理 Reset 开关。其实,很多硬件设备上都有此类开关,比如路由器就比较常见。

数字量与模拟量

软件与硬件的视角不同。

在软件人眼里,0 就是 0 ,1 就是 1 ,这不是再清楚明白不过的(当然,这里考虑的是整形数、不是浮点数)。进而,这也是一般人的理解。

在硬件人眼里,还真不是。像浮点数,1 可能是 0.998 ,也可能是 1.02 ,也可能是 > 0.5 。或者说,所有的值都有波动、有误差、有范围的。

嵌入式硬件的局促

比如,在存储空间很小的芯片中写代码,会遇到这样的问题:需要考虑 2100 年后的事吗?

如果需要,则需要存储完整的年份,比如 2023 ;如果不需要,则可以省点存储,比如只存 23 。

说说蓝牙通讯

BLE 蓝牙传输比较慢。实测有一次通过蓝牙传输 552KB 的文件,用时 7 分钟(436s)。并且,蓝牙不稳定、传输的可靠性不高;传输过程中,很容易出现丢数据、传错的情况。

硬件中诡异的问题

由于看不见摸不着,而电路又以光速运行,很容易产生诡异的问题。

  • 比如,有一次电路接线完全正确,死活不干活。最后通过万用表测量才发现,其中一根面包线是坏的、不通电的,我去
  • 比如,钰泰 ETA6093 ,连接电池,什么也不做,就会有很多尖峰电流,分钟平均有 120uA ,使得待机时间明显缩短。后来,问了原厂的技术支持,才知道本来就是这样的。如果要低功耗,只能选择其他型号。倒,之前屯的芯片都用不上,又要开始选芯片了。
  • 比如,测量电路中,如果负载有大电流、大负载,会产生比较大的压差,会明显影响测量结果。有时,电源线的长短,都会明显影响测量结果

这些问题,很多是自己经验不足(当然,没有谁天生经验就足,都一个一个坑踩过来的),有的是芯片本身有问题,有的数据手册压根没介绍,等等。

LED 不为人知的细节

不同颜色 LED 的功耗差异非常大。单从电流上看,R/G/B 三者的电流大概是:1.5mA/1mA/0.8mA 。但事实上,在此电流下,三者亮度大概是 G >>> B > R 。相同亮度下,绿色 LED 是最省电的

多一个能力,就多了一扇窗

和已有能力组合,可以增加很多可能性

  • 比如,家里燃气热水器坏了,我可以更换其中的风压开关;
  • 比如,电动车没有电子报警,我可以装一个;
  • 比如,鼠标的按键太吵,可以换个静音开关;
  • 比如,做一款智能音箱,连接 ChatGPT 回答问题。

兴趣归兴趣、炫技归炫技,作为一个产品,满足真实需求,才是最重要的。

欢迎入坑硬件开发

和纯软件开发相比,硬件有不一样的乐趣。入门并没那么难,值得你来尝试,欢迎入坑。

159 replies    2024-01-06 15:03:56 +08:00
1  2  
helloeather
    101
helloeather  
   Jan 2, 2024
不错,学习了!
bfdh
    102
bfdh  
   Jan 2, 2024
@MozzieW #3 你这种需求感觉用红外(就像电视遥控器)最简单,缺点就是红外有方向性。
huoxing9888888
    103
huoxing9888888  
   Jan 2, 2024
@quietjosen 学习能力真强,全职搞吗?
quietjosen
    104
quietjosen  
OP
   Jan 2, 2024 via iPhone
@huoxing9888888 工作的一部分。
quietjosen
    105
quietjosen  
OP
   Jan 2, 2024 via iPhone
@xieren58 是,硬件确实利润低,除非上规模,或者小众的定制化,但那上限太低。
zhaodong
    106
zhaodong  
   Jan 2, 2024
厉害,虽然看不懂,但还是认真看完了。
SmallPlus
    107
SmallPlus  
   Jan 2, 2024
本科自动化,焊板子是基本功,毕业转码了。当时考虑硬件工程师没软件发展好
darkengine
    108
darkengine  
   Jan 2, 2024
入门从打板开始太难了, 搞个 Adrino 或者树莓派, 从折腾各种外设/传感器/显示屏开始
quietjosen
    109
quietjosen  
OP
   Jan 2, 2024
@SmallPlus 其实,三十年河东,三十年河西。现在软件开发裁员挺多。
quietjosen
    110
quietjosen  
OP
   Jan 2, 2024
@darkengine 恩,从开发板点灯开始,比较合适。
yongzhenchen682
    111
yongzhenchen682  
   Jan 2, 2024
想起当初 89c51 手撕面包板 画 pcb 仿真 的时代,一眨眼 10 几年过去了。
quietjosen
    112
quietjosen  
OP
   Jan 2, 2024
@yongzhenchen682 51 啊,那确实有年代感了。
silentsky
    113
silentsky  
   Jan 2, 2024 via Android
学习了 有点用
mrfox
    114
mrfox  
   Jan 2, 2024
再提个问题,比如拆解一个成品,有没有可能将芯片中的固件提取出来(有个旧阅读器应该电池死了,想把它的屏幕单独拿出来用(原系统是 linux 系)
hytirrb
    115
hytirrb  
   Jan 2, 2024
哥你开始是咋入门的,感觉硬件调试还挺麻烦的
quietjosen
    116
quietjosen  
OP
   Jan 2, 2024
@mrfox 提取固件是可以的,就是从 Flash 或 MCU 内置存储中,读取出固件。

但我不理解,提取固件,和重用屏幕有什么关联。
quietjosen
    117
quietjosen  
OP
   Jan 2, 2024
@hytirrb 做自己用得到的小工具,试着做小产品。

恩,调试不容易,最好正向保证代码写得是对的。
SantinoSong
    118
SantinoSong  
   Jan 2, 2024
感谢楼主,收获颇多。我有点想入手这个方向,做一些小物件。可否请教一下?
我自己想做一个小的电动模型,大小大概是一本书那么大,模型上面有两个组件,一个彩色的灯(比如紫色),我希望可以控制它间歇亮起;一个转盘,可以节奏转动比如隔 3 秒转一圈,然后希望的效果是,转盘转一次,上面的灯就亮一次。对功耗没有什么太大要求,能够用电池或者可以充电最好。
我是硬件小白,我该怎么入手比较好呢?
rouwann
    119
rouwann  
   Jan 2, 2024
电子专业表示大学课程都学过
quietjosen
    120
quietjosen  
OP
   Jan 2, 2024
@SantinoSong 转盘是手动转还是电机带动?

如果只是手动转的话,加个霍尔开关就行。
SantinoSong
    121
SantinoSong  
   Jan 2, 2024
@quietjosen #120 我希望整个流程是自动的,所以肯定希望是电机,就是希望转盘隔几秒转 360°,然后旁边的灯同时闪一下。我是完全不懂,这个东西用你上面提的 Arduino 开发板可以实现吗?
quietjosen
    122
quietjosen  
OP
   Jan 2, 2024
@SantinoSong Arduino 可以,用步进电机驱动。
hawei
    123
hawei  
   Jan 2, 2024 via iPhone
太强了…我打算入坑了
leirenbb
    124
leirenbb  
   Jan 3, 2024
赞 从硬件转到软件的路过。。。
Mde
    125
Mde  
   Jan 3, 2024 via Android
以兴趣的目的入坑了硬件开发,硬件开发还是挺有意思的,为自己的想法提供一个实物载体,不过目前水平也就画画两层板而已😂
firemeteor
    126
firemeteor  
   Jan 3, 2024
手抖的人真的玩不转烙铁,一直只敢小打小闹,不敢正经入坑。曾经修一个 micro usb 座子焊到我要崩溃...
GeruzoniAnsasu
    127
GeruzoniAnsasu  
   Jan 3, 2024
@sankooc 这种东西做起来倒是不难,不过淘宝搜了一圈还真没卖的。 假如做一个这样的产品,你觉得自己肯出多少钱来买?
no13bus
    128
no13bus  
   Jan 3, 2024
https://www.findmycat.io

@quietjosen 楼主我想问问做这么个硬件或者学会里面的硬件知识,难吗
quietjosen
    129
quietjosen  
OP
   Jan 3, 2024
@hawei 哈哈,欢迎入坑😀
quietjosen
    130
quietjosen  
OP
   Jan 3, 2024
@Mde 两层板可以了呀,能干很多事情了。我也是两层板水平,哈哈 [Shake]
quietjosen
    131
quietjosen  
OP
   Jan 3, 2024
@firemeteor Type C 母座,开发我也焊不好;后来用焊䯧,就好多了。
quietjosen
    132
quietjosen  
OP
   Jan 3, 2024
@no13bus 这个网站介绍得挺详细的,可以跟着看看。难不难这各问题,答案是相对的。
mrfox
    134
mrfox  
   Jan 3, 2024
@quietjosen 谢谢答复,主要是不懂,一是想着备份,二是想是不是里面有驱动?

具体是要上什么设备吗,提取出来是不是也分析不了

单独利用屏幕一般是啥流程呢
Geo200
    135
Geo200  
   Jan 3, 2024
写的很好,想离线保存这个文章,有什么好办法吗
quietjosen
    136
quietjosen  
OP
   Jan 3, 2024
@Geo200 不敢当。文章没了,直接找我也行 😂

或者,可以在微信公众号里查看、收藏、保存到腾讯文档等、导出 PDF ,总之方法挺多。

https://mp.weixin.qq.com/s/FFtgswdjZ1zuHerD7K-4-w
LamKingTak
    137
LamKingTak  
   Jan 3, 2024
顶一个!
morgan1freeman
    138
morgan1freeman  
   Jan 3, 2024   ❤️ 1
@mrfox #45 esp32 上网找一下 usb 或者 蓝牙 模拟键盘的代码,然后把几个 io 跟按键 面包板连接起来,触发 IO 中断的时候 让 mcu 的蓝牙 发消息给电脑就行
这里有一个 chatgpt 的例子
wraithcorps11
    139
wraithcorps11  
   Jan 3, 2024
点赞
morgan1freeman
    140
morgan1freeman  
   Jan 3, 2024
https://github.com/fqdeng/esp32-pc-remote-switch-button
这里分享一下我的远程 button
因为黑苹果没法远程唤醒 所以 usb 连着电源搞了一个 远程按钮

其实这么多年来,c51 stm32 esp32 都玩过,说到底嵌入式入门成本高,还是工具链跟软件抽象的问题
mcu 跟外围通信一直没有好的封装,一堆的 CAN I2C 没法像软件一样封装好给上层应用,几乎每一个 mcu ,一个公司都是各自为战,没有好的 sdk 跟封装,很多东西一摸索,啥资料都没有,早一点 c51 的 datasheet 都是乱写的,全靠老师傅自己摸索,在 08 年那个年代,很多 c51 的资料 几乎都是没有的,老师傅都是一个一个祖传的 c 文件 手把手相传

不像 pc 软件 从链路层 ip 层 tcp upd 应用层 到 nginx 写一个 php 应用 每一层都有良好的封装跟抽象。
去年玩了一会 esp32 , 算我看到的示例 跟工具链 比较多的一款 mcu ,资料文档都挺详细的,除了这款 mcu 本身有一些性能问题,例如高精度的 AD/DC 采样不行,这个是硬件本身的因素,但是拿来做点玩具 没有什么高精要求,什么的还是比较合适的。
fantastM
    141
fantastM  
   Jan 3, 2024
大赞,读完之后收获很多
quietjosen
    142
quietjosen  
OP
   Jan 3, 2024
@morgan1freeman 确实,软件抽象得比较好,每层都能干每层的事。如果对底层、性能什么的不关心,直接跑最上层的脚本,省心很多。好在,嵌入式也开始有类似 python/lua 这类脚本语言,入门简单多了。

也确实,关于接口、库这些本该通用的东西,也是各个芯片厂各自为战。好在,如果不同芯片厂用相同的 RTOS ,理论上有一定的可迁移性。

对于 AD/DC ,MCU 内置的就是一般可用的。专门的 AD/DC 芯片,可能比 MCU 本身还贵。
morgan1freeman
    143
morgan1freeman  
   Jan 3, 2024
@quietjosen #142 是的,但是那些 python/lua ,目前做教学 diy 用还是可以的,实际上成品不太现实,批量出货,几百万套的硬件,rom 能省则省,不会给 python lua 留空间放解释器的,能有一套好用的 C/C++ SDK 就不错了,不过 esp32 这款 资料是做的真不错
quietjosen
    144
quietjosen  
OP
   Jan 3, 2024
@morgan1freeman 对,脚本语言,对于 DIY 挺好;既方便入门,性能什么的又不是问题。

工业领域,确实是按字节扣 RAM/ROM 的,C/C++ 才是最优解。

这两者都是需要的,才能支撑硬件在多方面都能很好地发展。没有 Hello World ,也就没有火箭科学。
maxxfire
    145
maxxfire  
   Jan 3, 2024
你居然放弃了 C 语言去折腾硬件,勇气
quietjosen
    146
quietjosen  
OP
   Jan 3, 2024
@maxxfire 事实上,一个硬件用的是 Lua ,一个用的是 Arduino
jwesthaverr
    147
jwesthaverr  
   Jan 3, 2024
高质量分享,收藏了,OPNB !
maxxfire
    148
maxxfire  
   Jan 3, 2024
@quietjosen 根据互联网思维,硬件是不赚钱的
lingex
    149
lingex  
   Jan 3, 2024 via Android
对了,现在的 LED 技术发展可能有点出乎我们意料。我做的东西一般喜欢用大一些的限流电阻让亮度降低。比如 5V 电压时用 3k 限流电阻。还是我上面说的那个 DIY 的下载器,由于封装选错了,于是在垃圾板卡里找了一颗替代,发现它超级的亮,最后换成了 11k 限流电阻,它还是比普通 LED 亮很多…
xieren58
    150
xieren58  
   Jan 3, 2024
玩嵌入式入门, rust + stm32 最优解了... 开发快, 又现代化...
quietjosen
    151
quietjosen  
OP
   Jan 3, 2024
@lingex 5/11 = 0.45mA ,确实比典型的 LED 电流要小。
quietjosen
    152
quietjosen  
OP
   Jan 3, 2024
@xieren58 恩,但凡用脚本语言,开发效率都比 C 高很多。
lingex
    153
lingex  
   Jan 3, 2024 via Android
@quietjosen LED 还有压降,实际应该比这还要小
L5411
    154
L5411  
   Jan 3, 2024
刚在少数派上看到
hanguofu
    155
hanguofu  
   Jan 4, 2024
软件工程师折腾硬件,能做到量产就很牛了~~~ 好奇问问: 楼主做的是智能音箱吗 ?哪里有卖的啊 ?
quietjosen
    156
quietjosen  
OP
   Jan 4, 2024 via iPhone
@hanguofu 智能音响是给娃用的,号称 [大聪明]

公司的产品在淘宝有售,搜索 它适 智能、它适 加热
xiaomageit
    157
xiaomageit  
   Jan 4, 2024
@quietjosen 我现在需求每年近百 W 的芯片,现在用最多的是 NXP 的 PCF7926A 。我现在想怎么能降低这个成本,如果自己研发好或者 得到芯片的设计数据然后让工厂代工生产是不是可以降低一些。 不懂说的不对的地方还望见谅 。谢谢回复
quietjosen
    158
quietjosen  
OP
   Jan 4, 2024
@xiaomageit 你这比我玩得大多了,你这是专业人士问业余玩家啊 😂

以我不专业的了解,一些小的芯片品牌,基本都是公版方案稍微改改、加点内存 Flash ,然后工厂代工的。

但我相信,代工有代工的坑,且起订量肯定不低。
uxff
    159
uxff  
   Jan 6, 2024
真专业。赞。
1  2  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2887 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 135ms · UTC 05:45 · PVG 13:45 · LAX 22:45 · JFK 01:45
♥ Do have faith in what you're doing.