『EMA英码科技』收藏!嵌入式产品开发流程详解( 二 )


阶段4:产品概要设计
产品概要设计主要是在总体设计方案的基础上进一步的细化 , 具体从硬件和软件两方面入手:
硬件模块概要设计
硬件模块概要设计 , 主要从硬件的角度出发 , 确认整个系统的架构 , 并按功能来划分各个模块 , 确定各个模块的的大概实现 。 首先要依据我们到底要哪些外围功能以及产品要完成的工作 , 来进行CPU选型(注意:CPU一旦确定 , 那么你的周围硬件电路 , 就要参考该CPU厂家提供的方案电路来设计) 。 然后再根据产品的功能需求选芯片 , 比如是外接AD还是用片内AD , 采用什么样的通讯方式 , 有什么外部接口 , 还有最重要的是要考虑电磁兼容 。
一般一款CPU的生存周期是5-8年 , 你考虑选型的时候要注意 , 不要选用快停产的CPU , 以免出现这样的结局:产品辛辛苦苦开发了1到2年 , 刚开发出来 , 还没赚钱 , CPU又停产了 , 又得要重新开发 。 很多公司就死在这个上面 。
『EMA英码科技』收藏!嵌入式产品开发流程详解
文章图片
软件模块概要设计
软件模块概要设计阶段 , 主要是依据系统的要求 , 将整个系统按功能进行模块划分 , 定义好各个功能模块之间的接口 , 以及模块内主要的数据结构等 。
阶段5:产品详细设计
硬件模块详细设计
主要是具体的电路图和一些具体要求 , 包括PCB和外壳相互设计 , 尺寸这些参数 。 接下来 , 我们就需要依据硬件模块详细设计文档的指导 , 完成整个硬件的设计 。 包括原理图、PCB的绘制 。
软件模块详细设计
功能函数接口定义 , 该函数功能接口完成功能 , 数据结构 , 全局变量 , 完成任务时各个功能函数接口调用流程 。 在完成了软件模块详细设计以后 , 就进入具体的编码阶段 , 在软件模块详细设计的指导下 , 完成整个系统的软件编码 。
一定要注意需要先完成模块详细设计文档以后 , 软件才进入实际的编码阶段 , 硬件进入具体的原理图、PCB实现阶段 , 这样才能尽量在设计之初就考虑周全 , 避免在设计过程中反复修改 。 提高开发效率 , 不要为了图一时之快 , 没有完成详细设计 , 就开始实际的设计步骤 。
『EMA英码科技』收藏!嵌入式产品开发流程详解
文章图片
阶段6&7:产品调试与验证
该阶段主要是调整硬件或代码 , 修正其中存在的问题和BUG , 使之能正常运行 , 并尽量使产品的功能达到产品需求规格说明要求 。
硬件部分:
目测加工会得PCB板是否存在短路 , 器件是否焊接错误 , 或漏焊接;
测试各电源对地电阻是否正常;
上电 , 测试电源是否正常;
分模块调试硬件模块 , 可借助示波器、逻辑分析仪等根据 。
软件部分:
验证软件单个功能是否实现 , 验证软件整个产品功能是否实现 。
『EMA英码科技』收藏!嵌入式产品开发流程详解
文章图片
阶段8:测试
功能测试(测试不通过 , 可能是有BUG);
压力测试(测试不通过 , 可能是有BUG或哪里参数设计不合理);
性能测试(产品性能参数要提炼出来 , 供将来客户参考 , 这个就是你的产品特征的一部分);
其他专业测试:包括工业级的测试 , 例如含抗干扰测试 , 产品寿命测试 , 防潮湿测试 , 高温和低温测试(有的产品有很高的温度或很低的温度工作不正常 , 甚至停止工作) 。
有的设备电子元器件在特殊温度下 , 参数就会异常 , 导致整个产品出现故障或失灵现象的出现;有的设备 , 零下几十度的情况下 , 根本就启动不了 , 开不了机;有的设备在高温下 , 电容或电阻值就会产生物理的变化 , 这些都会影响到产品的质量 。 这里要引出一个话题 , 工业级产品与消费类产品有什么区别呢?工业级的产品就要避免这些异常和特殊问题 , 有的产品是在很深的海里工作 , 或者在严寒的山洞工作 , 或者火热沙漠工作 , 或者颠簸的设备上 , 比如汽车;或者是需要防止雷击;所以这就是工业级产品跟消费类产品的区别 , 消费类的产品就不需要做这么多的测试 。


推荐阅读