本章基本要求:通过对本章的学习主要了解一个单片机系统设计的全过程,包括:提出要求、方案确定、硬件设计、软件设计、系统可靠性设计及最后的调试通过、产品定型等。 7.1.1设计要求与设计步骤(1)设计要求单片机应用系统大多数用于工业环境、嵌入到其它设备或作为部件组装到某种产品中,所以单片机应用系统的设计应满足以下要求:●高可靠性●较强的环境适应能力●较好的实时性●易于操作和维护●具有一定的可扩充性●具有通信功能(2)设计步骤单片机不同应用系统的开发过程基本相似,其一般步骤可以分为需求分析,总体方案设计、硬件设计与调试、软件设计与调试、系统功能调试与性能测试、产品验收和维护、文件编制和技术归档等。①需求分析需求分析就是要明确所设计的单片机应用系统要“做什么”和“做的结果怎样”。需求分析阶段的结果是形成可操作的设计需求任务书。任务书应包含单片机应用系统所应具有的功能特性和性能指标等主要内容。如果是自主开发产品,还应附有市场调研和可行性论证等内容;如果是委托开发,则应该与委托方讨论拟制的需求任务书是否满足对方的需求。②总体方案设计总体方案设计就是要从宏观上解决“怎么做”的问题。其主要内容应包括:技术路线或设计途径、采用的关键技术、系统的体系结构、主要硬件的选型和加工技术、软件平台和开发语言、测试条件和测试方法、验收标准和条文等。如果是委托开发,设计需求任务书和总体方案设计的主要内容往往以技术文件的形式附于合同书之后。③硬件设计硬件设计的主要内容是基于总体方案设计,选择系统所需的各类元器件、设计系统的电子线路图和印刷电路板、安装元器件的调试硬件线路。硬件设计应确保功能设计和接口设计满足系统的需求,并且充分考虑和软件的协调工作关系,注重选用高集成度的器件和采用硬件软化、软件硬化等设计技术。④软件设计本阶段的主要任务是:基于软件工程的思想,拟制出本系统的软件设计方案,划分出主要的软件模块、根据需要绘制部分软件模块的流程图、调试程序和测试软件的基本功能。⑤系统功能调试与测试本阶段的重点是:基于系统的设计需求,进行系统功能调试和性能指标的测试,形成测试报告,核对用户需求或设计需求和系统现有功能、指标的一致性程度,提出修改意见,循环上述某些步骤,直至满足需求。⑥产品验收和维护单片机应用系统设或产品开发结束后,必须经过用户的验收。属于国家或部委的科研项目,还应通过有关部门的鉴定。产品投入市场或用户生产现场后,维护工作就开始了,这步工作一直要持续到该产品退出市场。⑦文档编制和技术归档为了维护单片机系统,或将目前的设计成果作为资源用于以后的设计,有必要编制相应的文档。提供给用户的安装手册、操作手册和维护手册等,是技术文档的重要组成部分之一。技术文档必须按国家标准对其进行标准化,经相关人员审核后存入技术档案室进行统一管理。
上传时间: 2014-12-27
上传用户:liuqy
前言智能仪表课采用了《单片机原理与接口技术》作为教材,这是一门实践性极强的课程,理论和实验教学的有机结合,是提高教学质量的唯一途径。为密切配合理论教学,针对SICElab赛思开放式综合实验/仿真系统,我们编写了配套的实验教材。SICElab赛思开放式综合实验/仿真系统采用了符合单片机开发过程的“仿真式”组合设计思想,使得所有的实验模块及CPU资源均全力对用户开放,从而充分满足“验证式”→“模仿式”→“探索式”→“开发式”的由浅入深的各种实验要求。赛思开放式综合实验/仿真系统采用伟福G6W仿真器,为用户提供了一个大集成软件环境,统一的界面,包含一个项目管理器,一个功能强大的编辑器,汇编Make、build和调试工具并提供一个与第三方编译器的接口,具有DOS/WINDOWS双平台,仿真器与实验平台分离,采用“仿真”方式进行实验,同时,允许进行脱机运行工作,所以,实验过程是与实际开发过程完全一致的。仿真器使用的是双“CPU”架构方式,100%资源出让,100%实时,100%无条件硬件断点,可满足学生实验,毕业设计,参加电子竞争,教师科研所需。第一章简单介绍了赛思开放式综合实验/仿真系统的组成(包括实验平台、仿真器、软件支持、开关电源),实验内容,实验方式,支持器件等。第二章选编了二十例验证式实验,包括实验平台操作,连接仿真器、PC机,利用DOS和WINDOWS平台软硬件结合的实验,按由浅入深原则排列。第三章选编了十六例模仿和探索开发式实验。教师和学生可根据课时和具体情况选择实验内容,或自行设计新的实验内容。由于课时所限,有的实验可让学生在课后开放实验室时完成,以提高学生动手能力,提高教学质量,培养学生创新精神。附录一介绍了综合实验平台各模块的电路图,附录二是实验平台键盘操作仿真方法说明。由于时间匆忙,加上编者水平有限,难免有错漏之处,请读者不吝赐教。
上传时间: 2013-10-22
上传用户:sunshie
一、制定实验教学大纲的依据根据本校《2004级本科指导性培养计划》和《单片机及可编程控制器》课程教学大纲制定。二、本实验课在专业人才培养中的地位和作用《单片机及可编程控制器》课程是机械专业机电方向的一门院级选课专业课,其主要教学内容为单片机及可编程控制器的基本原理及其生产中的应用。随本课程开设的实验课,其目的是使学生深刻理解和掌握课堂教学内容的重点、难点和基本概念,学习有关实验方法和技能,提高分析问题和解决问题的能力。通过本课程的实验,要使学生学会使用单片机仿真器的基本操作及其硬件控制的方法和技能。该实验课是完成本课程教学目标的重要教学方式之一。
上传时间: 2014-01-10
上传用户:mengmeng444425
一 实验目的: 1. 了解单片机的用途,增加感性认识,激发学习微机原理这门课的兴趣 2. 对单片机不同型号和种类有一定的了解,抓住内在规律学好微机原理这门课 二 实验内容: 1. 观看单片机控制演示实验 a) 单片机控制红绿灯 b) 单片机控制软驱步进电机 c) 单片机演奏音乐 d) 单片机调速步进马达 2. 通过CAI软件了解单片机不同型号和种类 三 实验报告: 1. 到图书馆或网站查找不同种类的单片机(至少写出与CAI课件不同的五种型 号) 2. 你认为单片机用途大吗?对该课程有兴趣吗?打算怎样学习这门课?
上传时间: 2014-12-27
上传用户:
针对ISD系列语音录放芯片内容复制难的问题,较为全面地给出了源芯片多信息段起始地址的获取方法,同时给出了一个单片机控制下的ISD芯片内容复制电路的解决方案。
上传时间: 2013-10-22
上传用户:lanwei
《计算机网络基础实践》是《计算机网络基础》独立设置的实践类课程,现为计算机科学与工程学院所有本科专业必修课,共计32学时(实验讲解8学时,独立实验24学时),另可以作为连续两周的集中实践内容。
上传时间: 2014-01-19
上传用户:31633073
一、课程简介及要求: 课程名称(中英文)单片机原理及应用 Principle of Chip Microcomputer 课程编码 241016 学分 2 学时(含实验: )46 (8) 开课单位 信息学院实验中心 课程内容 掌握 MCS51 汇编软语言程序设计和调试方法、掌握 MCS51 单片机原理及其应用方法 选课对象 本科 相关理论课程 微机原理与应用;计算机控制技术; 测控电路;单片机原理及接口技术等 参考教材 单片机原理及应用 考试方式及评分标准
上传时间: 2014-12-27
上传用户:HGH77P99
TI公司的MSP430系列Flash型单片机内部集成有Flash控制器,可以采用外部编程器进行烧写,也可以利用自己的程序修改Flash的内容,且不用外加编程电压。在进行系统设计时,可以利用片内的Flash保存一些运行数据,实现掉电保护;还可以修改Flash中的整个程序或局部程序,实现在系统升级。
上传时间: 2013-11-15
上传用户:linyao
Quartus II 中文教程 您现在阅读的是 Quartus II 简介手册。 Altera® Quartus® II 设计软件是适合单芯片可编程系统 (SOPC) 的最全面的设计环境。 如果您以前用过MAX+PLUS® II 软件、其它设计软件或 ASIC 设计软件,并且准备改用Quartus II 软件,或如果您对 Quartus II 软件有了一些了解但想进一步了解它的功能,那么本手册非常适合您。本手册针对的读者是 Quartus II 软件的初学者,它概述了可编程逻辑设计中Quartus II 软件的功能。 不过,本手册并不是 Quartus II 软件的详尽参考手册。 相反,本手册只是一本指导书,它解释软件的功能以及显示这些功能如何帮助您进行 FPGA 和 CPLD 设计。 本手册按一系列特定的可编程逻辑设计任务来组织内容。 无论是使用 Quartus II 图形用户界面、其它 EDA 工具还是 Quartus II 命令行界面,本手册都将为您介绍最适合设计流程的功能。第一章概述了主要图形用户界面、EDA 工具和命令行界面设计流程。 接下来的每一章开头都介绍了该章的具体用途,并对每个任务流加以概述。 它显示了如何将 Quartus II 软件与现有的 EDA 工具和命令行设计流程集成在一起。另外,手册还向您推荐了有效使用 Quartus II 软件的其它可用资源,例如Quartus II 联机帮助和 Quartus II 联机教程、应用程序说明、白皮书以及Altera 网站提供的其它文档和资源。跟随本手册学习 Quartus II 软件,了解此软件如何帮助您提高效率并缩短设计周期,如何与现有可编程逻辑设计流程集成以及如何快速有效地达到设计、性能和时间要求。
上传时间: 2013-12-22
上传用户:panpanpan
at91rm9200启动过程教程 系统上电,检测BMS,选择系统的启动方式,如果BMS为高电平,则系统从片内ROM启动。AT91RM9200的ROM上电后被映射到了0x0和0x100000处,在这两个地址处都可以访问到ROM。由于9200的ROM中固化了一个BOOTLOAER程序。所以PC从0X0处开始执行这个BOOTLOAER(准确的说应该是一级BOOTLOADER)。这个BOOTLOER依次完成以下步骤: 1、PLL SETUP,设置PLLB产生48M时钟频率提供给USB DEVICE。同时DEBUG USART也被初始化为48M的时钟频率; 2、相应模式下的堆栈设置; 3、检测主时钟源(Main oscillator); 4、中断控制器(AIC)的设置; 5、C 变量的初始化; 6、跳到主函数。 完成以上步骤后,我们可以认为BOOT过程结束,接下来的就是LOADER的过程,或者也可以认为是装载二级BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、连接在外部总线上的8位并行FLASH的顺序依次来找合法的BOOT程序。所谓合法的指的是在这些存储设备的开始地址处连续的存放的32个字节,也就是8条指令必须是跳转指令或者装载PC的指令,其实这样规定就是把这8条指令当作是异常向量表来处理。必须注意的是第6条指令要包含将要装载的映像的大小。关于如何计算和写这条指令可以参考用户手册。一旦合法的映像找到之后,则BOOT程序会把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超过16K-3K的大小。当BOOT程序完成了把合法的映像搬到SRAM的任务以后,接下来就进行存储器的REMAP,经过REMAP之后,SRAM从映设前的0X200000地址处被映设到了0X0地址并且程序从0X0处开始执行。而ROM这时只能在0X100000这个地址处看到了。至此9200就算完成了一种形式的启动过程。如果BOOT程序在以上所列的几种存储设备中找到合法的映像,则自动初始化DEBUG USART口和USB DEVICE口以准备从外部载入映像。对DEBUG口的初始化包括设置参数115200 8 N 1以及运行XMODEM协议。对USB DEVICE进行初始化以及运行DFU协议。现在用户可以从外部(假定为PC平台)载入你的映像了。在PC平台下,以WIN2000为例,你可以用超级终端来完成这个功能,但是还是要注意你的映像的大小不能超过13K。一旦正确从外部装载了映像,接下来的过程就是和前面一样重映设然后执行映像了。我们上面讲了BMS为高电平,AT91RM9200选择从片内的ROM启动的一个过程。如果BMS为低电平,则AT91RM9200会从片外的FLASH启动,这时片外的FLASH的起始地址就是0X0了,接下来的过程和片内启动的过程是一样的,只不过这时就需要自己写启动代码了,至于怎么写,大致的内容和ROM的BOOT差不多,不同的硬件设计可能有不一样的地方,但基本的都是一样的。由于片外FLASH可以设计的大,所以这里编写的BOOTLOADER可以一步到位,也就是说不用像片内启动可能需要BOOT好几级了,目前AT91RM9200上使用较多的bootloer是u-boot,这是一个开放源代码的软件,用户可以自由下载并根据自己的应用配置。总的说来,笔者以为AT91RM9200的启动过程比较简单,ATMEL的服务也不错,不但提供了片内启动的功能,还提供了UBOOT可供下载。笔者写了一个BOOTLODER从片外的FLASHA启动,效果还可以。 uboot结构与使用uboot是一个庞大的公开源码的软件。他支持一些系列的arm体系,包含常见的外设的驱动,是一个功能强大的板极支持包。其代码可以 http://sourceforge.net/projects/u-boot下载 在9200上,为了启动uboot,还有两个boot软件包,分别是loader和boot。分别完成从sram和flash中的一级boot。其源码可以从atmel的官方网站下载。 我们知道,当9200系统上电后,如果bms为高电平,则系统从片内rom启动,这时rom中固化的boot程序初始化了debug口并向其发送'c',这时我们打开超级终端会看到ccccc...。这说明系统已经启动,同时xmodem协议已经启动,用户可以通过超级终端下载用户的bootloader。作为第一步,我们下载loader.bin.loader.bin将被下载到片内的sram中。这个loder完成的功能主要是初始化时钟,sdram和xmodem协议,为下载和启动uboot做准备。当下载了loader.bin后,超级终端会继续打印:ccccc....。这时我们就可以下在uboot了。uboot将被下载到sdram中的一个地址后并把pc指针调到此处开始执行uboot。接着我们就可以在终端上看到uboot的shell启动了,提示符uboot>,用户可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了对内存、flash、网络、系统启动等一些命令。 如果系统上电时bms为低电平,则系统从片外的flash启动。为了从片外的flash启动uboot,我们必须把boot.bin放到0x0地址出,使得从flash启动后首先执行boot.bin,而要少些boot.bin,就要先完成上面我们讲的那些步骤,首先开始从片内rom启动uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz烧写到flash中的目的,假如我们已经启动了uboot,可以这样操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系统复位,就可以看到系统先启动boot,然后解压缩uboot.gz,然后启动uboot。注意,这里uboot必须压缩成.gz文件,否则会出错。 怎么编译这三个源码包呢,首先要建立一个arm的交叉编译环境,关于如何建立,此处不予说明。建立好了以后,分别解压源码包,然后修改Makefile中的编译器项目,正确填写你的编译器的所在路径。 对loader和boot,直接make。对uboot,第一步:make_at91rm9200dk,第二步:make。这样就会在当前目录下分别生成*.bin文件,对于uboot.bin,我们还要压缩成.gz文件。 也许有的人对loader和boot搞不清楚为什么要两个,有什么区别吗?首先有区别,boot主要完成从flash中启动uboot的功能,他要对uboot的压缩文件进行解压,除此之外,他和loader并无大的区别,你可以把boot理解为在loader的基础上加入了解压缩.gz的功能而已。所以这两个并无多大的本质不同,只是他们的使命不同而已。 特别说名的是这三个软件包都是开放源码的,所以用户可以根据自己的系统的情况修改和配置以及裁减,打造属于自己系统的bootloder。
上传时间: 2013-10-27
上传用户:wsf950131