- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机应用系统的研制过程及设计实例 9.1 单片机应用系统研制过程由于单片机应用系统的多样性和技术指标不同,研制的方法、步骤不完全一样。研制工作包括硬件和软件两个方面,硬件指单片机、外围器件、I/O设备组成的机器,软件是各种操作程序的总称。硬件和软件紧密配合、协调一致,才能组成一个高性能的应用系统。单片机应用系统研制包括总体设计、硬件设计、软件设计、调试、产品化等阶段。图9-1描述了一般开发过程。图 9-1 单片机应用系统开发设计流程图 9.1.1系统的总体设计 1. 确定功能技术指标 单片机应用系统的研制是从确定功能技术指标开始的,它是系统设计的依据和出发点,也是决定产品前途的关键。必须根据系统应用场合、工作环境、用途,参考国内外同类产品资料,提出合理、详尽的功能技术指标。2. 机型和器件选择 选择单片机机型依据是市场货源、单片机性能、开发工具和熟悉程度。根据技术指标,选择容易研制、性能价格比高、有现成开发工具、比较熟悉的一种单片机。接着再选择合适的传感器、执行机构和I/O设备,使它们在精度、速度和可靠性等方面符合要求。3. 硬件和软件功能划分 系统硬件的配置和软件的设计是紧密联系的,在某些场合,硬件和软件具有一定的互换性,有些功能可以由硬件实现也可以由软件实现,如系统日历时钟。对于生产批量大的产品,能由软件实现的功能尽量由软件完成,以利简化硬件结构,降低成本。总体设计时权衡利弊,仔细划分好软、硬件的功能。 9.1.2系统的硬件设计 1.系统结构选择根据系统对硬件的需求,确定是小系统、紧凑系统还是大系统。如果是紧凑系统或大系统,进一步选择地址译码方法。2.可靠性设计系统对可靠性的要求是由工作环境(湿度、温度、电磁干扰、供电条件等等)和用途确定的。可以采用下列措施,提高系统的可靠性。(1)采用抗干扰措施 1) 抑制电源噪声干扰:安装低通滤波器、减少印板上交流电引进线长度,电 源的容量留有余地,完善滤波系统、逻辑电路和模拟电路的合理布局等。 2) 抑制输入/输出通道的干扰:使用双绞线、光隔离等方法和外部设备传送信 息。 3) 抑制电磁场干扰:电磁屏蔽。(2)提高元器件可靠性 1) 选用质量好的元器件并进行严格老化、测试、筛选。 2) 设计时技术参数留有一定余量。 3) 提高印板和组装的工艺质量。 4) FIASH型单片机不宜在环境恶劣的系统中使用。最终产品应选OTP型。 (3)采用容错技术 1) 信息冗余:通信中采用奇偶校验、累加和检验、循环码校验等措施,使系统 具有检错和纠错能力。 2) 使用系统正常工作监视器(Watchdog):对于内部有Watchdog的单片机,合理 选择监视计数器的溢出周期,正确设计清监视计数器的程序。对于内部没有 Watchdog的单片机,可以外接监视电路。3. 电路图和印板设计(1)电路框图设计在完成总体、结构、可靠性设计基础上,基本确定所用元器件后,可用手工方法画出电路框图。框图应能看出所用器件以及相互间逻辑关系。(2)电路原理图设计选择合适的计算机辅助电路设计软件,根据电路框图,进行电路原理图设计,由印板划分、电路复杂性,原理图可绘成一张或若干张。(3)印刷电路板设计根据生产条件和工艺,规划电路板(物理外形、尺寸、电气边界),设置布线参数(工作层面(单面、双面、多层),线宽,特殊线宽、间距,过孔尺寸等),布局元器件,编辑元件标注,布线,检查、修改。最后保存文件,送加工厂加工印板,组装样机。在元件布局时,逻辑关系紧密的元件尽量靠近,数字电路、模拟电路、弱电、强电应各自分块集中,滤波电容靠近IC器件;布线时电源线和地线尽可能宽(大于40mil),模拟地和数字地一点相连。对于熟手,人工布线可布出高质量印板,对于新手采用自动布线,然后对不合理处进行人工修改。9.1.3系统的软件设计 1. 软件结构设计合理的软件结构是设计出一个性能优良的应用程序的基础。单片机应用系统的软件(监控程序)设计是系统设计中最基本而且工作量较大的任务。与系统机上操作系统支持下的纯软件设计不同,单片机的软件设计是在裸机的条件下进行的,而且随应用系统的不同而不同。图9-2为软件设计流程图。在软件设计中一般需考虑以下几个方面:(1)根据要求确定软件的具体任务细节,然后确定合理的软件结构。一般系统软件由主程序和若干个子程序及中断服务程序组成,详细划分主程序、子程序和中断服务程序的具体任务,确定各个中断的优先级。主程序是一个顺序执行的无限循环的程序,不停地顺序查询各种软件标志,以完成对事务的处理。在子程序和中断服务程序中,要考虑现场的保护和恢复以及它们和主程序之间的信息交换方法。(2)程序的结构一般常用模块化结构,即把监控程序分解为若干个功能相对独立的较小的程序模块分别设计,以便于调试。具体设计时可采用自底向上或自顶向下的方法。(
文档评论(0)