做了几年嵌入式有关的东西,包括单片机的、arm的和CV图像处理的东东。我觉得初期的方案拟定的好坏和开展计划的安排的合理对整个项目的开展非常重要。在系统设计方面我们吃过一些苦头,所以我现在特别注意这方面的考虑,也看了一些这方面的书,现在想小结一下和大家分享分享。
1、用户需求调查和分析 用户的需求调查和分析一定要仔细的进行。全面、详细地了解要求、仔细地倾听用户的解释经分析以文字的形式写出来并形成文档。设计者的理解与用户的理解要完全一致,不能存在歧义。系统设计的所有工作都是以用户的需求为依据的。若用户需求调查与分析没有做到,则设计一定是失败的;用户没有要求的设计做了,可能是锦上添花,也可能是画蛇添足。最重要的在于满足用户的需求,包括功能和性能上面的要求。在性能要求中,一定会有对实时性、可靠性方面的要求。
2、处理器的选择 处理器作为系统的核心部件,合适的选择对实现用户的需求、提高系统的性能、降低系统的成本和缩短开发周期都是十分重要的。处理器的选择需要从下面几个方面考虑:
字长、速度、中断能力、环境适应能力、软硬件的支持能力、开发及调试手段。
最后还需要确选择何种类型的处理器:单片机、数字信号处理器(DSP)、可编程逻辑控制器(PLC)、自己开发的专用处理器(ASIC)、片上系统(SOC)还是可编程片上系统(SPOC)。
3、硬件方案的拟定 在选择好处理器之后,首先要确定将采样的系统总线,可以选用已经制订标准的总线,也可以自己定义专用的总线。其次是确定系统所需要的内存,包括RAM容量、内存地址空间分配等等。接着根据用户的需求确定选用那些常规的外设,确定每个外设的接口并分配他们的接口地址。另外,如果用户有特殊的需要,需要采用专用的外设,则需要确定每个专用外设的接口以及接口地址。例如,进行温度控制时,就需要考虑采集多少个温度点、用什么样的温度传感器、其精度为多少;在它后面时否要接放大器、是否要隔离、放大倍数多少、稳定性如何要求、放大器的后面是否要接滤波器;采用多少位的AD转换器,速度和精度需要多少;AD转换器采用什么的接口接到总线上面,该赋予接口的接口地址也必须同时确定。总之,应对专用外设及接口一一加以确定。 同时,也需要确定操作控制台和报警设备。确定使用的电源,根据硬件系统的规模、内存、接口以及外设的要求,可以知道构成该系统需要几组电源,每组电源的容量大致多大,其他技术指标有那些,对电源的要求要逐一说明。另外还要考虑机箱、机架或者机柜的大小、形状和安装方式,以及信号线、电源线如何走线等等。
4、软件系统方案 首先要考虑系统是否配置实时操作系统或者实时监控程序,以及这些功能如何实现,完成他们的详细说明及流程图。 其次是用户程序及其实现方案。仔细地考虑用户程序的结构,确定用户程序的主框架,画出主流程图,确定主要的子程序模块及功能实现,确定那些功能模块必须用中断来实现,这些中断的优先级如何分配,画出中断服务流程图。
5、实验室和现场联调方案拟定。 系统的设计者要想到在实验室和现场联调的时候,应该如何进行调试、采用什么样的步骤和顺序进行调试能很快调试成功,是系统进入正常的工作。同时,还需要考虑在系统调试的时候必须具备的信号源和各种测试设备,而且这些设备和仪器仪表必须在进入联调阶段之前就要准备好。
6、交付系统、鉴定或者验收材料 这个也很重要,这方面的资料都是平时一点一滴积累起来的,在系统设计的时候最好能估计或者确定最后交付的时候需要的东西,比如说一些必要的文件:研制报告、使用报告、硬件图纸以及说明、软件流程图和程序清单、例行试验报告、用户使用报告等等。 |