对于资深工程师来说,做一款产品不仅仅需要考虑实现功能而已,大公司做产品远比小公司考虑的因素要多。
下面将全面给大家介绍下,做产品需要考虑的因素:
1.功能需求
功能需求肯定是排在最前面的,这将直接决定单片机需要具备哪些外设资源。
比如控制性的产品通常需要集成各种传感器、驱动器、通讯模块等,而嵌入书系统就是需要集成各种协议、网络接口等。
2.性能需求
单片机性能取决于项目功能的复杂程度,需要考虑处理器性能、内存容量、外设数量和速率等。
这个直接影响系统的运行稳定性、效率、可靠性等。
3.电源管理
电源方面主要考虑到供电电压、产品的功耗要求、电源模式和保护等,对于低功耗的产品,还需要考虑休眠模式下的电流、唤醒方式、时钟源等。
4.软件开发
软件开发主要是考虑编程语言、编译器、调试工具和开发环境。
这块我感悟特别深,哪怕花半个月把环境搭建好,都不要将就,简单好用的开发环境能让开发周期效率提高很多,包括后期的代码可维护性。
如果是用一些冷门的开发工具,光搭建环境就浪费很多时间,出现问题也不知道怎么解决。
5.硬件设计
单片机的硬件设计也是一个重要的考虑因素,需要考虑电路设计、PCB布局、外设选择和接口设计等。
另外,需要考虑EMC、EMI等电磁兼容问题和可靠性问题。
6.成本和生产
在设计和开发产品时,需要考虑成本和生产等方面的问题。
需要考虑单片机的采购成本、开发成本、测试成本和生产成本等因素。
同时,还需要考虑如何提高生产效率、降低成本并确保质量。
7.产业链和标准
最后,还需要考虑单片机所涉及的产业链和相关标准。
需要考虑供应商、代理商、技术支持和生态系统等方面的问题,这点也很重要,STM32的社区生态就做得很好,哪怕原厂和代理商不提供技术支持,在网上找资料也能解决大多数问题。
很多单片机,对小企业非常不友好,基本上没技术支持就算了,资料也不完善,导致调外设都浪费了大量时间。
还有一点就是单片机的供货周期,这点对中大型公司特别重要,如果芯片供应周期太长,会直接影响出货。
同时,还需要考虑国家和行业标准,以确保产品符合相关法规和标准要求。
8.系统安全性
现在很多产品都是联网的,不像以前传统硬件。
比如物联网、智能家居等领域快速发展,产品安全性需要越来越重视。
单片机做产品时需要考虑如何确保系统的安全性,包括硬件安全、软件安全、通信安全和数据安全等方面。
9.可维护性和可升级性
在产品的整个生命周期内,需要不断优化和改进产品的功能和性能。
因此,单片机做产品时需要考虑如何提高产品的可维护性和可升级性。
这包括设计良好的软件结构和模块化设计,以及兼容性好的硬件设计
软件结构和模块化设计方面STM32还是做的挺好的。
10.总结
我觉得像大疆这种体量和性质的公司,在满足以上大部分需求的前提下,会慢慢趋于使用国产芯片,主要是基于价格、供货周期等考虑,被卡脖子可不好受。
站在普通工程师的角度,有些产品觉得很简单,因为你只是站在以实现功能为主的维度。
站在研发经理的角度,做一款真正的产品并非易事,不但要实现功能,还需要规避一些后期可能存在的风险。