购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4 嵌入式系统的设计流程

嵌入式系统本质上作为一种电子产品,其开发过程除满足普通电子产品的基本流程之外,还有一些特殊的开发步骤,由于嵌入式系统需要同时进行软件和硬件的开发,嵌入式系统的项目管理、系统设计、系统开发、系统测试和验证比传统电子系统开发更复杂,在开发过程中,首先要进行产品需求分析,选择适合的微处理器并设计硬件平台,同时要选择软件开发环境和开发工具集,开发过程中还需要硬件和软件调试、系统的验证和测试,直到完成系统开发。嵌入式系统的开发流程如图1.4 所示。

1)设计需求

嵌入式系统的典型特征是面向用户、面向产品、面向应用,市场应用是嵌入式开发的导向和前提,一个嵌入式系统的设计取决于系统的需求,这一阶段,需要考虑市场有什么需求,前沿的技术是什么;需要注意分析市场,产品生命周期,系统升级是否方便;需要分析利润与成本等。

2)系统设计规格

在系统规格说明阶段,开发的任务是将所有的需求,细化成产品的具体规格,比如一个简单的USB转串口线,人们需要确定产品的规格,包括外观支持的操作系统,接口形式和支持的规范。在设计规格阶段,还需要考虑系统硬件接口、功耗、外观、防水、便携性、成本、系统性能参数的说明等。

3)系统总体设计方案

人们需要针对系统复杂性,了解当前有哪些可行的方案,通过几个方案,包括从成本、性能、开发周期、开发难度、开发人力、风险及应对措施等方面进行考虑,最终选择一个最适合自己的产品总体设计方案。

4)概要设计

概要设计主要是对总体设计方案的进一步细化,具体包括软件和硬件两个方面:

图1.4 嵌入式系统的开发流程

①硬件模块概要设计,从硬件的角度出发,确认整个系统的架构,并按功能来划分各个模块,确定各个模块的大概实现。首先要根据产品功能进行CPU选型(注意:CPU一旦确定,那么其周围硬件电路就要参考该CPU厂家提供的方案电路来设计)。然后再根据产品的功能需求选择芯片,比如是外接AD还是用片内AD,采用什么样的通信方式,有什么外部接口,还有最重要的是要考虑电磁兼容。

②软件模块概要设计,主要依据系统的要求,将整个系统按功能进行模块划分,定义好各个功能模块之间的接口,以及模块内主要的数据结构等。

5)详细设计

硬件模块详细设计,主要是具体的电路图和一些具体要求,包括PCB和外壳相互设计,尺寸这些参数。这个阶段需要依据硬件模块详细设计文档的指导,完成整个硬件的设计。包括原理图、PCB的绘制。软件模块详细设计包括功能函数接口定义、功能实现、数据结构、全局变量、完成任务时各个功能函数接口调用流程。在完成了软件模块详细设计后,就进入具体的编码阶段,在软件模块详细设计的指导下,完成整个系统的软件编码。

6)调试与验证

调试与验证阶段主要是调整硬件或代码,修正其中存在的问题和BUG,使之能正常运行,并尽量使系统的功能达到需求规格说明要求。硬件部分的调试与验证包括:PCB板是否存在短路,器件是否焊错,或漏焊接;测试电源对地电阻是否正常;上电测试电源是否正常;分模块调试硬件模块,可借助示波器、逻辑分析仪等工具。软件部分调试与验证包括:验证软件单个功能是否实现,验证软件系统整体功能是否实现。嵌入式系统的软件调试环境一般采用“主机—目标板”模式,如图1.5 所示,开发调试环境一般在系统开发前搭建,通过交叉编译器生成可执行文件,然后通过串口(USB或以太网)方式将程序烧写到目标板进行测试,也可以进行在线调试。

图1.5 嵌入式系统调试环境

7)测试

常见的测试包括:功能测试、压力测试(测试不通过,可能是有BUG或哪里参数设计不合理)、性能测试、工业级的测试,如含抗干扰测试,系统寿命测试,防潮湿测试,高温和低温测试(有的设备电子元器件在特殊温度下,参数就会异常,导致整个产品出现故障或失灵现象)。 SZwqbTAx23eaz5+kL2qAICzbXpSW7Q0ZR3XGxA7HHT+ytgf+q48RkK9U1p6XwOkx

点击中间区域
呼出菜单
上一章
目录
下一章
×