没有合适的资源?快使用搜索试试~ 我知道了~
【推荐】如何从零开始开发一款嵌入式产品.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 102 浏览量
2023-04-05
20:50:46
上传
评论
收藏 1.79MB PDF 举报
温馨提示
试读
23页
【推荐】如何从零开始开发一款嵌入式产品.pdf
资源推荐
资源详情
资源评论
如何从零开始开发一款嵌入式产品
(20 年的嵌入式经验分享学习,来自 STM32 神舟系列开发板设计师的总结)
首先,如果你有幸看到这篇文章,千万不要试图在 2 个小时内阅读完,就算你
2 个小时阅读完,我相信你也不会理解里面讲解的精华之处,我相信,你应该
将此文章,慢慢品尝,这绝对是一篇需要品尝 2~3 天,再结合自己过往的经
验,加上自己的思考,我相信会对你不仅仅是技术能力,甚至包括整体的思维
方式都会有一个非常大的提高。
结合这篇文章,再结合 STM32 神舟系列开发板一些学习,可能会更加加深
对嵌入式概念的理解。
我写这篇文章的目的,是用本人 20 年的嵌入式经验呈现给大家一副完整的
产品,项目开发蓝图,用本人多年经的历总结了一些教训无私的分享给各位,
希望各位今后能站在本人的肩膀之上,少走弯路,多为公司,为个人多做贡
献,那我的愿望就达到了,也同时希望能看到大家反馈和回复,留个脚印,留
下你的见解和智慧,为后人乘凉打点基础,先在这谢谢各位了。
那么由此开始我们充满知识的旅程吧,最重要的一点,就是在一个产品或
项目的开发过程中,如果没有明确的目标,那么成功将无从谈起,做任何事的
第一步必须明确目标。
与日常生活中的大多数事务一样,设计一个嵌入式产品的过程也必须从确定
目标开始,对生产的产品进行明确定义。对产品进行定义主要是对产品是什么
和能有什么功能进行描述,其次是在我们的整个开发过程中,应该要撰写一些
开发文档,大概的框架的如下:
1)产品需求文档:描述产品的特性
2)功能需求文档:描述产品必须具备的功能
3)工程说明文档:描述系统实现的方法和满足需求的手段
4)硬件说明文档:对有关硬件进行描述
5)软件或固件说明文档:描述特定处理器下设计微程序以及固件的方法
6)测试说明文档:描述必须测试的项目和验证系统正常运行的方法
1.需求定义
需求定义用来描述产品的基本功能,对于公司来说,需求一般由该公司的市场
销售部门或该公司的主要客户来制定;而对小公司或爱好者(就像
armjishu.com 里的爱好者一样),技术人员可以自己负责定义需求,并撰写成
文档;对于 STM32 神舟系列开发板来说,主要就是提供各种接口,为大家开
发产品时提供借鉴!
通常需求定义是围绕以下几个因素而来:
1)系统的用途(定义需要系统实现的各种功能)
2)实际输入输出是何种方式实现的(为元器件的选型做参考)
3)系统是否需要操作界面(涉及软件层操作系统的选型)
其实对小型的嵌入式产品来说,定义需求是非常关键的,因为需求清楚了,就
可以避免后续开发过程中出现的诸如随机存储器(RAM)容量不足或所选的
CPU 速度不能满足处理的需要等一系列问题。
-------------------------------------------------------------------------------
---------------------------
下面举个简单的实际例子,供大家来参考:
系统描述:用于从化温泉的水泵换水系统(用 STM32 神舟 III 号开发板模拟实
现)
电源输入:使用来自于变压器的 9V~12V 直流电
水泵功率:375W
1)使用单相交流电机,由机械电气进行控制
2)如果温泉池处于低水位,则输入开关闭合信号,以禁止水泵继续运行
3)用户可以自由设置水泵运行或关闭的时间长度
4)除了自动设置控制外,还需要提供一种人工装置来允许维护人员灵活控制水
泵进行维修
5)水泵开启/关闭/人工干预的时间可以 30 分钟为单位,在 30 分钟到 23 小时
的范围内进行调节
6)显示设备可以指示水泵的开关状态,剩余时间,以及水泵是否处于人工干预
模式
7)具备监视低水位的功能,并显示在屏幕上
如果需要商用,那么除了上面给出的功能要求外,其设计文档中还要包括电磁
干扰(EMI)和电磁兼容性(EMC)认证、安全认证以及使用环境(包括环境
温度、湿度、盐雾腐蚀等)等方面的需求。
实际上,以上的需求确定之后,接下来就是要考虑选择一款合适的 CPU 来满足
和实现系统的功能,那么我们就要将上述 7 点用户能够理解的需求转化成我们
专业领域的需求,转化如下,大家可以参考一下:
a.处理或更新输入输出信号的速率究竟需要多快?
解释:目前嵌入式处理器的主频一般都在几十兆到几百兆不等,单片机的主频
一般是几十兆,STM32 神舟系列开发板的 CPU 都是 72MHZ,有的 ARM9,
ARM11 处理器可以到几百兆;我们主要看这个产品是否需要对大量数据进行
处理,或是否需要对缓冲区进行频繁操作,是否有类似的占用 CPU 资料的工作
要做,这就决定我们要选择一款合适的处理器来让该产品得到最佳的性能。
b.是否可使用单片集成电路(专用 IC)或 FPGA 来完成数据处理?
解释:如果可以的话,就不一定要选择处理器来做,用这些专业芯片就能替代
c.系统是否有大量的用户输入输出操作(如对开关和显示设备进行频繁操
作)?
解释:如果有的话,要在处理器选型的时候考虑这些因素,选择一款能够满足
以上要求的 CPU.
d.系统与其他外部设备之间需要使用何种接口?
解释:这也是需要评估处理器的一个关键问题,选择具备这些接口功能的处理
器会方便于我们的电路设计以及软件编程
e.设计完成后是否有可能需要进行改动,或在设计过程中系统需求是否可能出
现变化?我们的设计是否能适应系统需求的变化?
解释:要避免选择的处理器刚好满足当前要求,这样当以后事务要求逐渐提高,
处理器性能如果还有一定空间的话,那么就可以重用目前的产品;第二个就是
要选择不会即将停产的芯片,很多处理器用得很广乏,可以借鉴的资料也很
多,但是很可能这款芯片已经在市场上流行很长时间了,芯片厂商已经推出更
新换代的替代品了,如果你选择了这款芯片,很可能 1,2 年后就买不到这款
处理器芯片了,导致不得不重新选择新的处理器,重新设计产品,这样的既耗
费时间,金钱,更消耗人力,延误市场的战机。
2.处理器的选择
剩余22页未读,继续阅读
资源评论
คิดถึง643
- 粉丝: 3882
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功