《基于ARM的单片机应用及实践——GD32案例式教学 第2版》_武奇生 习题解答.docx
《《基于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过采样过程?答:在默认情况下,接收器通过获取三
16、个采样点的值来估计该位的值。如果是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 .硬件流控信号有哪些?他们的作用是什么?答:硬件流控制功能通过11CTS和nRTS引
17、脚来实现。通过将USART_CT1.2寄存器中RTSEN位置1来使能RTS流控,将USAR1.CT1.2寄存器中CTSEN位置1来使能CTS流控。RTS流控USART接收器输出nRTS,它用于反映接收缓冲区状态。当-帧数据接收完成,nRTS变成高电平,这样是为了阻止发送器继续发送下一帧数据。当接收缓冲区满时,nRTS保持高电平,可以通过读USART_DATA寄存器来清零。CTS流控USART发送器监视nCTS输入引脚来决定数据帧是否可以发送。如果USAR1.STATO寄存器中TBE位是0且nCTS为低电平,发送器发送数据帧。在发送期间,若nCTS信号变为高电平,发送器将会在当前数据帧发送完成后
18、停止发送。5 .USART中断事件有哪些?答:如下表所示。中断事件事件标志控制寄存器使能控制位发送数据寄存器空TBEUSART_CT1.OTBEIECTS标志CTSFUSART_CT1.2CTSIE发送结束TCUSART-CT1.OTCIE接收到的数据可以读取RBNEUSART_CT1.ORBNEIE检测到过载错误ORERR检测到线路空闲ID1.EFUSART_CT1.OID1.EIE第十章1.I2C总线由哪些信号线组成?他们的功能是什么?答:串行数据SDA线和串行时钟SC1.线。连接到总线上的设备通过这两根线互相传递信息。SDA和SC1.都是双向线,通过一个电流源或者上拉电阻接到电源正极。当
19、总线空闲时,两条线都是高电平。连接到总线的设备输出极必须带开漏或者开集,以提供线与功能。2 .I2C总线数据有效性如何判断?答:时钟信号的高电平期间SDA线上的数据必须稳定。只有在时钟信号SC1.变低的时候数据线SDA的电平状态才能跳变(如图10-2.数据有效性)。每个数据比特传输需要一个时钟脉冲。3 .I2C总线的起始信号和停止信号是什么?答:所有的数据传输起始于一个START(三)结束于一个STOP(P)(参见图10-3.开始和停止状态)。START起始位定义为,在Se1.为高时,SDA线上出现一个从高到低的电平转换。STOP结束位定义为,在SC1.为高时,SDA线上出现一个从低到高的电平
20、转换。4 .简述I2C总线的发送流程?答:如图10-9.主机发送模式(10位地址模式)所示,在主机模式下发送数据到I2C总线时,软件应该遵循这些步骤来运行I2C模块:首先,软件应该使能I2C外设时钟,以及配置I2C.CT1.1中时钟相关寄存器来确保正确的I2C时序。使能和配置以后,I2C运行在默认的从机模式状态,等待START起始位,随后等待I2C总线寻址。软件将START位置1,在I2C总线上产生一个START起始位。发送一个START起始位后,I2C硬件将I2C_STAT0的SBSEND位置1然后进入主机模式。现在软件应该读I2C_STAT0寄存器然后写一个7位地址位或10位地址的地址头到
21、I2JDATA寄存器来清除SBSEND位。一旦SBSEND位被清0,I2C就开始发送地址或者地址头到I2C总线。如果发送的地址是10位地址的地址头,硬件在发送地址头的时候会将Addiosend位置l软件应该通过读i2c_stato寄存器然后写io位低地址到i2c_data来清除Addiosend位。7位或io位的地址位发送出去之后,12c硬件将addsend位置1,软件应该清除ADDSEND位(通过读I2C_STAT0寄存器然后读I2C_STAT1寄存器)。I2C进入数据发送状态,因为移位寄存器和数据寄存器I2JDATA都是空的,所以硬件将TBE位置1。此时软件可以写第一个字节数据到I2JDA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于ARM的单片机应用及实践GD32案例式教学 第2版 基于ARM的单片机应用及实践GD32案例式教学 第2
链接地址:https://www.desk33.com/p-1431225.html