嵌入式-课后答案---11页版本_第1页
嵌入式-课后答案---11页版本_第2页
嵌入式-课后答案---11页版本_第3页
嵌入式-课后答案---11页版本_第4页
嵌入式-课后答案---11页版本_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第1章 概述1嵌入式系统的基本含义是什么?为什么说单片机是典型的嵌入式系统?  一种计算机硬件和软件的组合,也许还有机械装置,用于实现一个特定功能。在某些特定情况下,嵌入式系统是一个大系统或产品的一部分。 MCU的含义是:在一块芯片上集成了中央处理单元(CPU)、存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。大部分嵌入式系统以MCU为核心进行设计。MCU从体系结构到指令系统都是按照嵌入式系统的应用特点专门设计的,它能很好地满足应用系统的嵌入、面向测控对象、现场可靠运行等方面的要求。因此以MCU为核心的系统是应用最广的嵌入式

2、系统。      2 简述嵌入式系统的特点以及应用领域。 答:嵌入式系统属于计算机系统,但不单独以通用计算机的面目出现;嵌入式系统开发需要专用工具和特殊方法;使用MCU设计嵌入式系统,数据与程序空间采用不同存储介质;开发嵌入式系统涉及软件、硬件及应用领域的知识;嵌入式系统的其他特点,比如紧张的资源,较高稳定性要求,低功耗,低成本等。一般用于工业控制,智能家电,日常电子等领域。      日常数码产品:手机,MP3,U盘,相机等。 日常工业类:冰箱

3、,空调,微波炉,汽车等。  3比较MCU与CPU的区别与联系。 答:CPU是一个单独的PC处理器。而MCU,则有微处理器,存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。所以可以这么说,MCU是一个包含微处理器的嵌入式系统,而CPU紧紧是一个处理器而已。  4嵌入式系统的常用术语嵌入式的知识体系 u 硬件最小系统(包括电源、晶振、复位、写入调试接口)u 通用I/O(开关量输入/输出,涉及各种二值量检测与控制)u 模数转换A/D(各种传感器信号的采集与处理,如红外、温度、光敏、超声波、方向等)u 数

4、模转换D/A(对模拟量设备利用数字进行控制)u 通信(串行通信接口SCI、串行外设接口SPI、集成电路互联总线I2C,CAN、USB、嵌入式以太网、ZigBee技术等)u 显示(LED、LCD等)u 控制(控制各种设备,包括PWM等控制技术)u 数据处理(图形、图像、语音、视频等处理或识别)u 各种具体应用与硬件相关的术语 Ø 封装(Package)Ø 印刷电路板(PCB,Printed circuit board)Ø 动态可读写随机存储器 (DRAM,Dynamic Random Access Memory)Ø 静态可读写随机存储器(SRAM,Stat

5、ic Random Access Memory)Ø 只读存储器(ROM,Read Only Memory) Ø 闪速存储器(Flash Memory)Ø 模拟量开关量与通信相关的术语 Ø 并行通信Ø 串行通信Ø 串行外设接口SPIØ 集成电路互连总线I2CØ 通用串行总线USBØ 控制器局域网CANØ 背景调试模式BDMØ 边界扫描测试协议JTAG与功能模块及软件相关的术语Ø 通用输入/输出GPIOØ A/D与D/AØ 脉冲宽度调制器PWMØ 看

6、门狗Ø 液晶显示LCDØ 发光二极管LEDØ 键盘Ø 实时操作系统RTOS 5C语言的那些特性使得它成为嵌入式系统中使用频率最高的高级语言。 答:相比底端汇编,更简单易学;与高级语言如(C+,C#,java等)相比,执行效率高,编译后的编码体积小,而且支持好的编译器还支持嵌入汇编代码;对位的操纵能力很强。6.举例说明结构体变量类型的定义,结构体变量的声明和使用方法6. 结构体 定义结构体类型,类型名称为student: struct student char name8; /成员变量name int age; /成员变量age char sex

7、2; /成员变量sex; 声明和使用结构体变量和指针: struct student s1; struct student *Pstudent; s1.age=20; Pstudent=(struct student*)malloc(sizeof (struct student); Pstudent->age=18;1、什么是嵌入式系统?嵌入式系统的特点是什么?嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁剪,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统的主要特点如下: 高实时性OS、系统内核小 专用性强 系统精简实时性和可靠性要求高嵌入式软件开发走向标

8、准化 嵌入式系统需要专门的开发工具和环境2、嵌入式软件的特点有哪些?􀂾 规模相对较小,开发难度大􀂾 快速启动,直接运行􀂾 实时性和可靠性要求高􀂾 程序一体化􀂾 两个平台3、嵌入式系统的主要应用领域有哪些?消费电子、通信设备、家庭设备、汽车电子、工业控制、军事国防、医疗电子等。4、按实时性来分,嵌入式系统可分为几类?它们的特点是什么?可分为硬实时系统和软实时系统。其中硬实时系统对响应时间有严格要求,如果系统响应时间得不到满足,就会引起系统崩溃或致命的错误;软实时系统对响应时间有要求,但系统响应时间得不到满足

9、时,不会导致系统崩溃或致命的错误。0 deadline time1Hard SystemSoft System5、影响系统响应时间的主要因素有哪些?影响系统响应时间的主要因素有:􀂾 任务调度算法􀂾 任务执行时间􀂾 事件发生的频率􀂾 任务数量􀂾 中断响应时间􀂾 任务响应时间􀂾 资源共享􀂾 任务间通信6、根据自己的理解描述嵌入式系统的发展趋势?行业性嵌入式软硬件平台标准化互联网的普及网络化半导体技术的改善小型化3C技术的快速融合功能多样化使用者的需求个性化

10、信息服务应用生活化泛在化28、请简述计数信号量的工作原理。计数器信号量通常用于保护多实例访问的资源。计数信号量可以看成一个内存单元,这个内存单元的内容保存一个计数值。当一个任务用semTake获取一个计数信号量时,会有两种结果:如果这个信号量的计数是非0的,那这个信号量的计数就会减1,调用semTake的任务也会继续执行;如果这个信号量的计数是0,调用semTake的任务会被阻塞,等待信号量的可用。如果用semTake获取一个计数信号量时指定了超时,并且达到了超时值,这个任务会从阻塞队列移出并移入到就绪队列,同时返回错误状态。有可能会有几个任务同时等待在一个计数信号量上。当一个任务调用semG

11、ive()释放一个计数信号量时,等待在这个计数信号量队列中的任务会解除阻塞状态。如果没有任务等待,该信号量计数会加1。29、简述消息队列的工作机制?工作模式?有何优缺点?消息队列是任务之间传递信息的一种机制,允许多个任务,中断之间发送以指针方式定义的变量或其他信息,指向的数据结构的变量类型也可以有所不同;可以看作多个邮箱组成的数组,共用一个等待列表,可以用作计数型信号量。主要的工作模式有两种:C/S模型、双工通信模型。优点:可以携带少量信息,可以缓冲,防止峰值。缺点:效率不高。传递指针信息,没有对消息进行复制,不能对原消息进行修改,效率相对高(vxWorks会复制消息)。30、简述管道的工作机

12、制?与消息队列相比,各有什么优点?管道是构筑于消息队列之上,由pipeDrv所控制的一个虚拟的I/O设备,具有标准的I/O接口。消息队列的优点:具有超时功能、消息有优先级、更快、可以被删除。管道的优点:使用标准的I/O接口,如read(), write(),open(), close() ;可以通过io taskStdSet()重定向;在Select()重可以使用文件描述符。31、简要描述VxWorks中信号的定义和用途。信号是一种软件通知,用以通知处理事件的任务。VxWorks支持软件信号功能,信号异步地改变任务的控制流,任何任务都可以向另外一个任务发送信号。信号多用于异常处理,很少用于任务

13、间通信。32、实时系统软件开发不同于其他软件工程的主要特征有哪些?实时系统的设计是受资源约束的。时间是实时系统的首要资源,除此以外,其他系统资源如内存大小等,在实现系统目标时都有可能与时间进行折衷。实时系统是紧凑而复杂的,通常需要软件硬件协同设计。实时系统的运行常常不需要用户的参与。33、选择嵌入式系统处理器时主要考虑哪些因素?主要考虑的因素有应用类型、I/O接口、主频、功耗、所支持的存储器类型、总线、价格、封装、产品的生命力和厂家的实力、技术支持和第三方软件的支持。34、选择嵌入式操作系统时主要考虑哪些因素?是自建还是购买,或是使用开源软件;应用对嵌入式操作系统的功能、性能的要求;与硬件平台

14、和开发工具的关系;产品所属的应用领域是否有行业的标准或限制;技术支持;版税或服务费的问题。第2章 ARM Cortex-M0+处理器ARM公司在经典处理器ARM11以后的产品统一改用Cortex命名,并分成A50、A、R和M四类,旨在为各种不同的市场提供服务。 1ARM Cortex-A50系列处理器 面向高效的低功耗服务器市场领域。 2ARM Cortex-A系列处理器 面向尖端的基于虚拟内存的操作系统和用户应用。 3ARM Cortex-R系列处理器 针对实时系统,为有严格的实时响应限制的嵌入式系统提供高性能计算解决方案。 4ARM Cortex-M系列处理器 该系列处理器是一系列可向上兼

15、容的高能效、易于使用的处理器,旨在帮助开发人员满足将来的嵌入式应用的需要。 2取数指令 存储器中内容加载到寄存器中的指令。其中,LDR、LDRH、LDRB指令分别表示加载来自存储器单元的一个字、半字、单字节(不足部分以0填充)。LDRSH和LDRSB指令将存储单元的半字、单字节有符号数扩充至32位,并加载到指定寄存器Rt中。 3. 存数指令 寄存器中内容存储至存储器中。STR、STRH、STRB指令存储Rt寄存器的字、半字、单字节至存储器。存储单元地址由Rn与Rm之和决定。 Rt、Rn和Rm必须为R0R7之一。 3.ARM Cortex-M0+处理器的寄存器4. 1)立即数寻址,操作数直接通过

16、指令给出,数据包含在指令编码中,随着指令一起被编译成机器码存储于程序空间中。用#作为立即数的前导标识符。ARM Cortex-M0+立即数范围是 0x000xff。例如: SUB R1,R0,#1 R1R0-1 MOV R0,#0xff 将立即数0xff装入R0寄存器 2)寄存器寻址,操作数来自于寄存器。 MOV R1,R2 R1 R2 SUB R0,R1-R2 R0 R1-R2 3)直接寻址,操作数来自存储单元,指令中直接给出存储单元的地址。指令码中显示数据的位数,字(4字节)、半字(2字节)、单字节三种情况。 LDR Rt,label 从标号label处连续取4字节至寄存器Rt中 LDRH

17、 Rt,label 从标号label处连续取2字节至寄存器Rt中 LDRB Rt,label 从标号label处取单字节至寄存器Rt中 4)偏移及寄存器间接寻址,操作数来自存储单元,指令中通过寄存器及偏移量给出存储单元的地址。偏移量不超过4KB(指令编码中偏移量为12位)。偏移量为0的偏移寻址也称为寄存器间接寻址。 LDR R3, PC, #100 地址为(PC + 100)的存储器单元的内容加载到寄存器R3中 LDR R3, R4 地址为R4的存储单元的内容加载到寄存器R3中 8. 伪指令是没有对应机器码的指令,只能为编译器所识别并指导汇编如何进行。主要用于变量和常量以及宏的定义、条件判断、

18、文件包含等。 第3章 KL25简介与硬件最小系统(本章3.6节内容不做考核要求) 3.1 飞思卡尔Kinetis系列微控制器简介 飞思卡尔在2010年飞思卡尔技术论坛(FTF2010)美国站推出了Kinetis系列微控制器。面向领域不同,Kinetis系列基于ARM Cortex-M内核陆续推出了Kinetis K系列、L系列、M系列、W系列。 Kinetis K 系列 飞思卡尔的Kinetis K 系列产品组合有超过200种基于ARM Cortex-M4结构的低功耗,高性能、可兼容的微控制器。 目标应用领域是便携式医疗设备、仪器仪表、工业控制及测量设备等。 Kinetis L 系列飞思卡尔的

19、Kinetis L系列MCU不仅汲取了新型ARM Cortex-M0+处理器的卓越能效和易用性、功耗更低、价格更低、效率更高,而且体现了Kinetis 产品优质的性能、多元化的外设、广泛的支持和可扩展性。 目标应用领域是8/16位为微控制器应用领域的升级换代,适用于价格敏感、能效比相对较高领域,如手持设备、智能终端等。 Kinetis M 系列 飞思卡尔的Kinetis M 系列也是基于32位ARM Cortex-M0+内核的MCU。 目标应用领域是经济高效的单相或两相电表设计中。 Kinetis W 系列飞思卡尔的Kinetis W 系列MCU扩展了Kinetis K系列基于ARM Cort

20、ex -M4的成功之处。 目标应用领域是智能电表、传感器控制网络、工业控制、数据采集等。MCU的硬件最小系统是指可以使内部程序运行所必须的最低规模的外围电路,也可以包括写入器接口电路。2. 电路中需要大量的电源类引脚用来提供足够的电流容量同时保持芯片电流平衡,所有的电源引脚必须外接适当的滤波电容抑制高频噪音。去耦是指对电源采取进一步的滤波措施,去除两级间信号通过电源互相干扰的影响3.一般情况下,MCU的硬件最小系统由电源、晶振及复位等电路组成。随着Flash存储器制造技术的发展,硬件最小系统应该把写入器的接口电路也包含在其中。 KL25芯片的硬件最小系统包括电源电路、复位电路、晶振电路及与写入

21、器相连的SWD接口电路。1.MOV指令与LDR指令都是往目标寄存器中传送数据,但是它们有什么区别吗? MOV指令用于将数据从一个寄存器传送到另一个寄存器中,或者将一个常数传送到一个寄存器中,但是不能访问内存。LDR指令用于从内存中读取数据放入寄存器中。第5章 构件化开发方法与底层驱动构建封装规范1. 嵌入式硬件构件是指将一个或多个硬件功能模块、支撑电路及其功能描述封装成一个可重用的硬件实体,并提供一系列规范的输入/输出接口。 据接口之间的生产消费关系,接口可分为提供接口和需求接口两类。根据所拥有接口类型的不同,硬件构件分为核心构件、中间构件和终端构件三种类型。2. 构件(Component)是

22、可重用的实体,它包含了合乎规范的接口和功能实现,能够被独立部署和被第三方组装 。 软件构件(Software Component)是指,在软件系统中具有相对独立功能、可以明确辨识构件实体。 嵌入式软件构件(Embedded Software Component)是实现一定嵌入式系统功能的一组封装的、规范的、可重用的、具有嵌入特性的软件构件单元,是组织嵌入式系统功能的基本单位。 嵌入式软件分为高层软件构件和底层软件构件(底层驱动构件)。高层软件构件与硬件无关,而底层驱动构件与硬件密不可分,是硬件驱动程序的构件化封装。 2. 5.2 基于硬件构件的嵌入式系统硬件电路设计5.2.1 设计时需要考虑的

23、基本问题 1MCU的选择 选择MCU时要考虑MCU所能够完成的功能、MCU的价格、功耗、供电电压、I/O口电平、管脚数目以及MCU的封装等因素。 2电源 (1)考虑系统对电源的需求,例如系统需要几种电估计各需要多少功率或最大电流(mA)。 (2)考虑芯片与器件对电源波动性的需求。一般允许电源波动幅度在±5%以内。对于A/D转换芯片的参考电压一般要求±1%以内。 (3)考虑工作电源是使用电源模块还是使用电源电路。 3普通I/O口 (1)上拉、下拉电阻:考虑用内部或者外部上/下拉电阻。 (2)开关量输入:一定要保证高低电压分明。 (3)开关量输出:基本原则是保证输出高电平接近电

24、源电压,低电平接近地电平。 4A/D电路与D/A电路 (1)A/D电路:要清楚前端采样基本原理,对电阻型、电流型和电压型传感器采用不同的采集电路。如果采集的信号微弱,还要考虑如何进行信号放大。 (2)D/A电路:考虑MCU的引脚通过何种输出电路控制实际对象。 5控制电路 对外控制电路要注意设计的冗余与反测,要有合适的信号隔离措施等。在评估设计的布板时,一定要在构件的输入输出端引出检测孔,以方便排查错误时测量。 6考虑低功耗 低功耗设计并不仅仅是为了省电,更多的好处在于降低了电源模块及散热系统的成本。要做到低功耗一般需要注意以下几点: (1)并不是所有的总线信号都要上拉。 (2)不用的I/O口不

25、要悬空,如果悬空的话,受外界的一点点干扰就可能成为反复振荡的输入信号,而MOS器件的功耗基本取决于门电路的翻转次数。 (3)对一些外围小芯片的功耗也需要考虑。 7考虑低成本 (1)正确选择电阻值与电容值。 (2)指示灯的选择。 (3)不要什么都选最好的。4. 为了抑制共阻抗,可采取以下措施: (1)一点接地 (2)就近多点接地 (3)大面积接地 (4)加粗接地线 (5)DA(数模)电路的地线分开5.3.3 硬件构件及底层软件构件的重用与移植方法 1硬件构件的重用与移植 对于以单MCU为核心的嵌入式应用系统而言,当用硬件构件“组装”硬件系统时,核心构件(即最小系统)有且只有一个,而中间构件和终端

26、构件可有多个,并且相同类型的构件可出现多次。下面以终端构件LCD为例,介绍硬件构件的移植方法。 2底层构件的移植 当一个已设计好的底层构件移植到另外一个嵌入式系统中时,其头文件和程序文件是否需要改动要视具体情况而定。例如:系统的核心构件发生改变(即MCU型号改变)时,底层内部构件头文件和某些对外接口函数也要随之改变,例如模块初始化函数。而对于外接硬件构件,希望不改动程序文件,而只改动头文件,那么,头文件就必须充分设计。以LCD构件为例,与前图相对应的底层构件头文件lcd.h可如下编写。第6章 串行通信模块及第一个中断程序结构MCU与PC进行通信为什么要进行电平转换?如何进行电平转换?答:在MC

27、U中,若用RS-232总线进行串行通信,则需外接电路实现电平转换。在发送端,需要用驱动电路将TTL电平转换成RS-232电平;在接收端,需要用接收电路将RS-232电平转换为TTL电平。电平转换器不仅可以由晶体管分立元件构成,也可以直接使用集成电路。目前广泛使用MAX232芯片较多,该芯片使用单一+5V电源供电实现电平转换。1M0+中断结构及中断过程 由模块中断源、中断控制器(NVIC)和M0+内核组成。其中断过程分为二步: (1)模块中断源向中断控制器(NVIC)发出中断请求信号。 (2)中断控制器对发来的中断信号进行管理,判断该中断是否允许中断,若允许,通过私有外设总线发送给M0+内核,由

28、内核进行中断处理;如果同时有多个中断信号到来,NVIC根据设定好的中断信号的优先级进行判断,优先级高的中断首先响应,优先级低的中断挂起,压入堆栈保存;如果优先级完全相同的多个中断源同时请求,则先响应IRQ中断号较小的,其他的被挂起。3中断初始化设置步骤 根据KL25的中断机制,想让一个非内核中断源能够得到内核响应,必须要进行初始化设置。初始化的几个基本步骤如下: (1)设置模块中断使能位使能模块中断,使模块能够发送中断请求信号。例如在UART中,将控制寄存器C2的RIE位置1。 (2)在中断控制器中设置中断使能寄存器,使该模块对应的使能位置1,允许该中断请求。第7章 定时器模块1实现

29、计数与定时的基本方法有哪些?比较它们的优缺点。 答:实现计数与定时的基本方法有三种:完全硬件方式、完全软件方式和可编程计数器/定时器方法。其中完全硬件方式速度快,但通用性和灵活性差;完全软件方式的优点是节省硬件。主要缺点是执行延时程序期间,CPU一直被占用,所以降低了CPU的使用效率,也不容易提供多作业环境;可编程计数器/定时器方法的最突出的优点是计数时不占用CPU的时间。  3定时器模块的核心是什么,为什么? 答:定时器模块的核心是计数器。计数器装载预置的初始计数值之后,启动会以预设的频率进行加一或者减一的运作,当其值变化到0(溢出到0或者减到0)时,

30、即完成了定时的功能,其定时的时长取决于预置的初始计数值和预设的频率。4. TPM模块具有基本定时、输入捕捉、输出比较、脉宽调制(PWM)功能。1寄存器地址分析 每个TPM模块的地址(十六进制)为4003_8000+x*1000(其中x代表模块号)。 2控制寄存器 1)状态和控制寄存器 SC包含的溢出状态标志和控制位,用于配置中断使能、模块配置和预分频因子。 2)通道(n)状态和控制寄存器 通道状态控制寄存器CnSC包含通道中断状态标志和控制位用来配置中断使能、通道模式和引脚功能。3捕捉和比较状态寄存器 对于每个LPTPM通道中,状态寄存器包含了状态标志CHnF位(在CnSC中)和TOF 位(在

31、SC中)的一个拷贝,这是为了便于软件编写。 4其它寄存器 1)计数器寄存器 2)模数寄存器 3)通道(n)值寄存器 4)配置寄存器 TPM(定时器/脉宽调制模块)共有三个模块TPM0/TPM1/TPM2,TPM0有6个通道,TPM1和TPM2只有2个通道。TPM支持输入捕捉、输出比较,并且能够产生PWM信号来控制电机。TPM的基本定时器部分是一个递增的计数器,通过设定模块的溢出值,当计数器递增到该数值时,产生TPM中断,可以通过选择时钟源和溢出值设定该计数器的频率。周期中断定时器模块(Periodic Interrupt Timer,PIT)是一组可以用于产生中断和触发DMA通道的定时器。该模

32、块的中断都是可屏蔽的,每个定时器都有独立的溢出周期,周期中断定时器模块没有外部引脚。-定时器+调试模式+中断低功耗定时器LPTMR(Low power timer)可以被配置成具有可选预分频因子的定时计数器,也可以被配置成带有脉冲干扰滤波器的脉冲计数器。绝大多数的系统复位都不会影响其继续使用,可以用作天数计数器。LPTMR模块共有五种操作模式,即运行模式、等待模式、停止模式、低漏电模式和调试模式。一种计算机硬件和软件的组合,也许还有机械装置,用于实现一个特定功能。其核心是微控制器单元(MCU)实时时钟RTC(Real Time Clock)模块是一个独立供电的模块,在芯片掉电时由备用电源(VBAT)供电,确保RTC计时器正常运行,保持RTC寄存器状态。RTC模

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论