如何从零开始开发一款嵌入式产品----多年的经验总结一下!首先.DOC

如何从零开始开发一款嵌入式产品----多年的经验总结一下!首先.DOC

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何从零开始开发一款嵌入式产品----多年的经验总结一下!首先

如何从零开始开发一款嵌入式产品多年的经验总结一下!首先,如果你有幸看到这篇文章,千万不要试图在2个小时内阅读完,就算你2个小时阅读完,我相信你也不会理解里面讲解的精华之处,我相信,你应该将此文章,慢慢品尝,这绝对是一篇需要品尝2~3天,再结合自己过往的经验,加上自己的思考,我相信会对你不仅仅是技术能力,甚至包括整体的思维方式都会有一个非常大的提高。? 我写这篇文章的目的,是用本人多年的嵌入式经验呈现给大家一副完整的产品,项目开发蓝图,用本人多年经的历总结了一些教训无私的分享给各位,希望各位今后能站在本人的肩膀之上,少走弯路,多为公司,为个人多做贡献,那我的愿望就达到了,也同时希望能看到大家反馈和回复,留个脚印,留下你的见解和智慧,为后人乘凉打点基础,先在这谢谢各位了。? 那么由此开始我们充满知识的旅程吧,最重要的一点,就是在一个产品或项目的开发过程中,如果没有明确的目标,那么成功将无从谈起,做任何事的第一步必须明确目标。? 与日常生活中的大多数事务一样,设计一个嵌入式产品的过程也必须从确定目标开始,对生产的产品进行明确定义。对产品进行定义主要是对产品是什么和能有什么功能进行描述,其次是在我们的整个开发过程中,应该要撰写一些开发文档,大概的框架的如下:? 1)产品需求文档:描述产品的特性2)功能需求文档:描述产品必须具备的功能? 3)工程说明文档:描述系统实现的方法和满足需求的手段? 4)硬件说明文档:对有关硬件进行描述? 5)软件或固件说明文档:描述特定处理器下设计微程序以及固件的方法? 6)测试说明文档:描述必须测试的项目和验证系统正常运行的方法需求定义? 需求定义用来描述产品的基本功能,对于公司来说,需求一般由该公司的市场销售部门或该公司的主要客户来制定;而对小公司或爱好者(就像ouravr里的爱好者一样),技术人员可以自己负责定义需求,并撰写成文档;对于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设计完成后是否有可能需要进行改动,或在设计过程中系统需求是否可能出现

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档