《《基于ARM的单片机应用及实践——GD32案例式教学 第2版》_武奇生 习题解答.docx》由会员分享,可在线阅读,更多相关《《基于ARM的单片机应用及实践——GD32案例式教学 第2版》_武奇生 习题解答.docx(20页珍藏版)》请在第壹文秘上搜索。
1、第一章1 .请举例10个以上身边单片机系统的例子。答:手机,智能电视,机顶盒,洗衣机,空调,智能家电,智能表,智能门锁,机器人,路由器。2 .请归纳整理嵌入式系统开发全流程中涉及到的知识领域,并思考哪些属于嵌入式系统初学者应该掌握的关键技能。答:数字电子技术,模拟电子技术,电路原理,C语言程序设计。3 .嵌入式系统设计中有哪些矛盾需要设计者和开发者解决?答:如何在保证功能完整性、满足用户需求的前提下,综合考虑功能、性能、成本、可靠性多种因素,实现平衡设计,以及如何借助网络通信实现分布式计算。对平衡设计的追求,最终以嵌入式系统的具体形式体现出来,比如说一部手机、一台洗衣机、一个机器人等。4 .如
2、何理解计算机的计算能力和性能之间的概念差异?答:就嵌入式系统而言,普遍存在着存储器容量、运算速度、电源、尺寸、成本等各方面的约束,但这并不妨碍一个控制洗衣机的4位低成本微处理芯片和一个用于高速图像处理的64位高性能处理芯片在“能力”上的理论等价性,因为它们都是图灵机模型的具体实现。他们的区别不在于理论上可求解问题的不同,而在于解决问题的快慢,即所谓的“性能”。一个问题在巨型机上可解,那么换成笔记本或微控制器,理论上也是一定可解的,只不过计算的过程慢许多而已。而这个区别在汉语中常常被混淆,例如我们在评价某人说他很有能力的时候,往往隐含着两重含义,一是他可以解决未知问题和疑难问题,这是他的能力,另
3、一重含义是他做事做得又快又好,这其实是它的效率问题。而图灵机模型中的“能力”(Capability)是指前者,后者应属于“性能”(Performance)范畴,今天的计算机,尽管形态各异,本质上都是图灵计算机模型的一个个技术实现,因此它们都具有相同的理论计算能力。5 .20世纪五六十年代,阿塔纳索夫等人都具备了电子计算机的构思,当时也拥有相应的技术手段,为什么他们都不能最后完成计算机的发明?答:技术的进步己经进入新的历史时期,电子计算机的诞生不再是凭借某位杰出人物个人的努力就能诞生的,制造电子计算机不仅需要巨大的投资,而且需要科学家、工程技术人员以及科学组织管理人员的密切合作。这一点恰恰反映了
4、20世纪的科学己经进入各门学科互相渗透,科学研究社会化的特点。6 .如何理解计算机系统软硬件边界?答:对任何一个真实的、技术可实现的计算机系统,都需要有最基础的一层硬件来实现,这一最基础的硬件实现了图灵机模型的要求,其上大部分都是各种硬件加速手段,对一个具体的计算机系统而言,软硬件的分割在哪里,主要取决于性能和成本之间的折中。如果要求高性能,那么硬件加速的部件可以多些,相应成本也不可避免会增加;如果要求低成本,那么图中曲线可以下移,即用软件完成大部分处理,但性能会有所下降。第二章1.ArniCOrteX西M4处理器有哪几条系统总线?存储器采用什么架构?答:ArmCortex-M4处理器包括三条
5、AHB总线分别称为I-CODE总线、D-Code总线和系统总线;ArmCOrteXAM4存储器的组织采用哈佛结构。2 .CortexM4提供的哪些系统外设?答:1.内部总线矩阵,用于实现I-Code总线、D-Code总线、系统总线、专用总线(PPB)以及调试专用总线(AHB-AP)的互联;2.嵌套式向量型中断控制器(NVIe);3.闪存地址重载及断点单元(FPB);4.数据观测点及跟踪单元(DWT);5.指令跟踪宏单元(ITM);6.嵌入式跟踪宏单元(ETM);7.串行线和JTAG调试接口(S町-DP);8.跟踪端口接口单元(TPIU);9.内存保护单元(MPU);10.浮点运算单元(FPU)
6、o3 .程序存储器,数据存储器,寄存器和I/O端口的地址空间有多大?为什么?答:程序存储器,数据存储器,寄存器和I/O端口都在同一个线性的4GB的地址空间之内。这是CorteX妗M4的最大地址范围,因为它的地址总线宽度是32位。第三章1 .中断/事件控制器有哪几种触发类型?答:EXTl有三种触发类型:上升沿触发、下降沿触发和任意沿触发。2 .绘制EXTl结构框图。答:如下图所示。3 .EXTI触发源有哪些?答:EXTl触发源包括来自I/O管脚的16根线以及来自内部模块的7根线(包括1.VD、RTC闹钟、USB唤醒、以太网唤醒、RTC侵入和时间戳、RTC唤醒)。第四章1 .CortCX财M4通用
7、和备用输入/输出接口有哪些特征?答:1.输入/输出方向控制;2.施密特触发器输入功能使能控制;3.每个引脚都具有弱上拉/下拉功能;4.推挽/开漏输出使能控制;5.置位/复位输出使能;6.可编程触发沿的外部中断-使用EXTI配置寄存器;7.模拟输入/输出配置;8.备用功能输入/输出配置;9.端口锁定配置;10.单周期输出翻转功能。2 .狂位之后GPlO端口、串行线调试端口、JTDI、JTCK/SWC1.K.JTMSSWDI0xNJTRSTNJTRST各是什么输入模式?答:在究位期间或复位之后,备用功能并未激活,所有GPlO端口都被配置成输入浮空模式,这种输入模式禁用上拉(PU)/下拉(PD)电阻
8、。但是复位后,串行线调试端口(JTAG/Serial-WiredDebugpins)为输入PU/PD模式;PA15:JTDI为上拉模式;PA14:JTCK/SWC1.K为下拉模式;PA13:JTMS/SWDIO为上拉模式;PB4:NJTRST为上拉模式;PB3:NJTRST为浮空模式。第五章1. DMA控制器为何能够提高数据传输效率?答:DMA控制器提供了一种硬件的方式在外设和存储器之间或者存储器和存储器之间传输数据,而无需MeU的介入,避免了MCU多次进入中断进行大规模的数据拷贝,最终提高整体的系统性能。2. COrteX4如何处理内核与DMA控制器总线访问之间的冲突?如何保证MCU正常工作
9、?答:CorteX於M4内核与DMA控制器都是通过系统总线来处理数据,引入仲裁机制来处理它们之间的竞争关系。当MCU和DMA指定相同的外设的时候,MCU将会在特定的总线周期挂起。总线矩阵使用了轮询的算法保证MCU至少占用了一半的带宽。3. DMA控制器由哪几部分组成?答:DUA控制器由4部分组成:1.AHB从接口配置DMA;2.两个AHB主接口进行数据传输;3.两个仲裁器进行DMA请求的优先级管理;4.数据处理和计数。4. DMA有几种数据传输模式?各模式的数据读、写源分别是什么?答:有3种数据传输模式:外设到存储器、存储器到外设、存储器到存储器。各模式数据读写源:1.外设到存储器:通过AHB
10、外设主机接口从外设读取数据,通过AHB存储器主机接口向存储器写入数据;2.存储器到外设:通过AHB存储器主机接口从存储器读取数据,通过AHB外设主机接口向外设写入数据;3.存储器到存储器:通过AHB外设主机接口从存储器读取数据,通过AHB存储器主机接口向存储器写入数据。5. 发生哪几种类型的错误会关闭DMA传输?答:三种:FlFo错误、总线错误、寄存器访问错误。第六章1 .GD32F4xx系列微控制器支持哪两种调试模式?两种模式之前如何实现切换?答:默认使用JTAG调试接口,可以通过下列软件序列从JTAG调试切换到SW调试:发送50个以上TeK周期的TMS=I信号;发送16位TMS=IIloO
11、llIlOoIIIlO(0xE79E1.SB)信号;发送50个以上TCK周期的TMS=I信号。切换SW调试到JTAG调试的软件序列;发送50个以上TCK周期的TMS=I信号;发送16位TMS=II100lIlOolIllOO(0xE73C1.SB)信号;发送50个以上TCK周期的TMS=I信号。2 .请列举GD32F4xx系列微控制器调试时使用的引脚及功能。答:调试系统支持串行(SW)调试和跟踪功能,也支持JTAG调试。JTAG需要至少4个引脚:TCKsTDKTMS和TDOo复位脚nTRST是可选的。串行线调试协议(SW),它只须两个引脚:SWC1.K和SWD1003 .请说明GD32F4xx
12、系列微控制器对于TIMER,I2C,RTC,WWDGT,FWDGT和CAN等外设调试支持。答:当内核停止,并且DBG控制寄存器I(DBG_CT1.I)或DBG控制寄存器2(DBG_CT1.2)中的相应位置1。对于不同外设,有不同动作:对于TIMER外设,TlMER计数器停止并进行调试;对于I2C外设,SMBUS保持状态并进行调试;对于神DGT或者FWDGT外设,计数器时钟停止并进行调试;对于RTC外设,计数器停止并进行调试;对于CAN外设,接收寄存器停止计数并进行调试。第七章1. GD32F4xx系列ADC有多少个多路复用通道?可以转换哪些类型的模拟信号?答:GD32F4xx系列ADC有19个
13、多路复用通道,可以转换来自16个外部通道、2个内部通道和一个电池电压(VBAT)通道的模拟信号。2. GD32F4xx系列ADC有哪些转换模式?答:ADC四种转换模式:1.单次模式,每次触发转换一次选择的输入通道;2.续模式,连续转换所选择的输入通道;3.间断模式;4.同步模式(适用于具有两个或多个ADC的设备)。第八章1 .GD32系列定时器有哪几种类型?答:GD32系列定时器(TIMERx)分为五种类型:高级定时器、通用定时器1.0、通用定时器1.1、通用定时器1.2、基本定时器。2 .绘制基本定时器结构框图。答:如下图所示。3 .基本定时器向上计数模式如何配置?答:1.设置计数器从O开始
14、向上连续计数到的自动加载值(写寄存器TlMERX_CAR);2.配置计数方向:设置TlMERX_CT1.O寄存器中的计数方向控制位DIR应该被设置成0。第九章1 .USART由哪些外部信号组成?答:如下表所示。引脚类型描述RX输入接收数据TX输出1/0(单线模式/智能卡模式)发送数据。当USART使能后,若无数据发送,默认为高电平CK输出用于同步通信的串行时钟信号nCTS输入硬件流控模式发送使能信号nRTS输出硬件流控模式发送请求信号2 .简述USART波特率的计算方法。答:波特率分频系数是一个16位的数字,包含12位整数部分和4位小数部分。波特率发生器使用这两部分组合所得的数值来确定波特率。
15、由于具有小数部分的波特率分频系数,将使USART能够产生所有标准波特率。如果过采样率是16,波特率分频系数(Usartdiv)与系统时钟具有如下关系:USARTDIV=UC1.K16XBaudrate置位USART_CT1.O寄存器中的OVSMOD位选择8倍过采样,波特率分频系数(Usartdiv)与系统时钟具有如下关系:USARTDlV=UC1.K/8BaudrateUSART0/5的系统时钟为PC1.K2,USART1/2和UART3/4/6/7的系统时钟为PC1.K1。在使能USART之前,必须在时钟控制单元使能系统时钟。3 .简述USART过采样过程?答:在默认情况下,接收器通过获取三个采样点的值来估计该位的值。如果是8倍过采样模式,选择第3、4、5个采样点;如果是16倍过采样模式,选择第7、8、9个采样点。如果在3个采样点中有2个或3个为0,该数据位被视为0,否则为1。如果3个采样点中有一个采样点的值与其他两个不同,不管是起始位,数据位,奇偶校验位或者停止位,都将产生噪声错误(NERR)。如果使能DMA,并置位USART_CT1.2寄存器中ERRlE,将会产生中断。如果在USART_CT1.2中置位OSB,接收器将仅获取一个采样点来估计一个数据位的值。在这种情况下将不会检测到噪声错误。4 .硬件流控信号有哪些?他们的作用是什么?答:硬件流控制功能通过11