嵌入式系统思考题.docx
- 文档编号:10330987
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:14
- 大小:3.27MB
嵌入式系统思考题.docx
《嵌入式系统思考题.docx》由会员分享,可在线阅读,更多相关《嵌入式系统思考题.docx(14页珍藏版)》请在冰豆网上搜索。
嵌入式系统思考题
嵌入式系统思考题
第二章:
1.微机原理中,外设与微处理器之间数据传递的实现方式?
2.在此方面,微机原理与嵌入式系统的区别体现在哪里?
目的?
3.位带操作与互斥、可重入函数、事务等概念的特性对比,以及它们之间的联系与具体应用范围。
可举例说明。
NVIC的功能配置与中断建立过程(主要寄存器介绍)
NVIC的功能配置
•目的:
对中断进行有效管理;
•通过NVIC寄存器对NVIC功能进行配置;
•功能配置是静态的,功能的实现和中断管理是动态的;
NVIC寄存器
•NVIC的寄存器以存储器映射的方式来访问。
•除了包含控制寄存器和中断处理的控制逻辑之外,NVIC还包含了MPU的控制寄存器、SysTick定时器以及调试控制。
NVIC寄存器
•每个外部中断都在NVIC的下列寄存器中“挂号”:
①使能与除能寄存器(32Bit*7+16Bit*1):
ØSETENA0-7/CLRENA0-7Registers
ØSETENAs:
xE000_E100–0xE000_E11C;
ØCLRENAs:
0xE000E180-0xE000_E19C
②悬起与“解悬”寄存器(32Bit*7+16Bit*1):
ØSETPEND0-7/CLRPEND0-7Registers
ØSETPENDs:
0xE000_E200–0xE000_E21C;
ØCLRPENDs:
0xE000E280-0xE000_E29C
③优先级寄存器(8bit):
ØPRI_0-PRI_239;
Ø0xE000_E400–0xE000_E4EF
④活动状态寄存器ACTIVERegisters(32Bit*7+16Bit*1):
NVIC寄存器
•另外,下列寄存器也对中断处理有重大影响
⑤中断控制器类型寄存器ICTR0xE000_E004:
ØB♓♦♦☯4:
0]用以判断正在使用的芯片使用了多少位来表达优先级
Ø粒度为32的整数倍0x0表示32,0x1表示64,以此类推。
⑥异常掩蔽寄存器(PRIMASK,FAULTMASK以及BASEPRI)
⑦应用程序中断及复位控制寄存器(AIRCR)0xE000_ED0C:
Bit[10:
8]为优先级分组位段PRIGROUP
⑧向量表偏移量寄存器VTOR:
0xE000_ED08
ØB♓♦☯29]=0:
COD☜区
ØBit[29]=1:
RAM区
⑨软件触发中断寄存器STIR(8Bit);0xE000_EF00;写入8,则悬起IRQ#8。
⑩中断控制及状态寄存器ICSR0xE000_ED04
⑪系统控制寄存器0xE000_ED10:
涉及电源管理
⑫配置与控制寄存器0xE000_ED14
⑬中断优先级寄存器阵列0xE000_E400–0xE000_E4EF:
用于外设中断
NVIC寄存器
•系统异常优先级寄存器0xE000_ED18-0xE000_ED23
•系统Handler控制及状态寄存器SHCSR0xE000_ED24
•存储器管理fault状态寄存器(MFSR)0xE000_ED28
•总线fault状态寄存器(BFSR)0xE000_ED29
•用法fault状态寄存器(UFSR),地址:
0xE000_ED2A
•硬fault状态寄存器0xE000_ED2C
•调试fault状态寄存器(DFSR)0xE000_ED30等
中断建立全过程
①当系统启动后,先设置优先级组寄存器。
默认情况下使用组0(7位抢占优先级,1位亚优先级)。
②如果需要重定位向量表,先把硬fault和NMI服务例程的入口地址写到新表项所在的地址中。
③配置向量表偏移量寄存器VTOR,使之指向新的向量表(如果有重定位的话)
④为该中断建立中断向量。
Ø因为向量表可能已经重定位了,保险起见需要先读取向量表偏移量寄存器的值
Ø再根据该中断在表中的位置,计算出服务例程入口地址应写入的表项,再填写之
Ø如果一直使用ROM中的向量表,则无需此步骤。
⑤为该中断设置优先级。
⑥使能该中断。
中断建立全过程
•如果应用程序储存在Flash/ROM中,并且不需要改变异常服务程序,则我们可以把整个向量表编码到Flash/ROM的起始区域(从0地址开始的那段)。
在这种情况下,上例可以大大简化,只需3步:
①建立优先级组
②为该中断指定优先级
③使能该中断
•如果在I/O密集型系统中,软件需要控制大量的硬件设备,则可能必须要考虑如下因素:
Ø该芯片支持的中断数
Ø该芯片中表达优先级的位数
如何了解微处理器中断优先级支持情况?
•在CORTEX-M3的NVIC中,有一个名为“中断控制器类型寄存器ICTR”,它提供了该芯片中支持的中断数目,粒度是32的整数倍。
•通过对每个SETENA位进行先写后读的测试,来获取支持的中断的精确数目(往各SETENA中写1,不支持的中断将永远读回0,求出第1个0的位置即可),亦可使用SETPEND等其它位来做此测试。
•读应用程序中断及复位控制寄存器(AIRCR)的Bit[10:
8](优先级分组位段PRIGROUP),了解分组情况。
总线矩阵有“循环优先调度”、“多层结构和总线挪用”两个主要特性,实现系统性能的最大化和减少延时。
Ø❽循环优先调度”,用以确保DMA不长时间占用总线和CPU可以在任何一个时钟周期访问所有的从总线。
否则,会影响指令的单周期执行和执行过程中在周期级上“中断”正在运行的代码。
Ø多层结构允许多个主设备同时执行数据传输,只要它们寻址不同的从模块,提高了数据并行性;
Ø总线挪用,用于协调CPU和DMA的数据访问,提高二者并发工作的性能。
CMSIS的软件层次
•CMSIS分为以下3个软件层次:
①内核设备访问层CorePeripheralAccessLayer(CPAL)
–内核寄存器设备名称定义、地址定义、助手函数;
–同时,为RTOS定义了独立于微控制器的接口,包括调试通道
②中间设备访问层MiddlewareAccessLayer(MWAL)
–为软件提供访问外设的通用方法;
–芯片供应商可修改中间设备访问层,以适应具体的微控制器上外设硬件的设计
③微控制器外设备访问层DevicePeripheralAccessLayer(DPAL)
–提供片上所有外设的定义;
–为外设提供额外的助手函数
CMSIS(Cortex-MTMSoftwareInterfaceStandard)
Ø✌RM公司与多家不同芯片和软件供应商紧密合作定义的
Ø提供内核与外设、实时操作系统和中间设备之间的通用接口
AFIO工作原理及配置
使用默认复用功能前必须对端口位配置寄存器编程。
①对于复用的输入功能,端口可以配置成:
Ø输入模式(浮空、上拉或下拉);
Ø复用功能输出模式:
输入驱动器被配置成浮空输入模式。
②对于复用输出功能,端口必须配置成复用功能输出模式(推挽或开漏)。
③对于双向复用功能,端口位必须配置复用功能输出模式(推挽或开漏)。
这时,输入驱动器被配置成浮空输入模式。
•如果把一端口配置成复用输出功能,将使引脚和输出寄存器断开,并和片上外设的输出信号连接。
•如果软件把一个GPIO脚配置成复用输出功能,但是外设没有被激活,它的输出将不确定。
通过I/O端口配置方式降低功耗
5.4GPIO锁定机制
•GPIO锁定机制
锁定机制允许冻结IO配置。
当在一个端口位上执行了锁定(LOCK)程序,即通过程序锁住配置组合,直到下次芯片复位才能解锁,复位之前,将不能再更改端口位的配置。
6.2定时器的工作原理(续)
•每个定时器有4个输入通道:
TIMx_CH1-TIMx_CH4,其输入滤波参数在捕获/比较模式寄存器1(TIM1_CCMR1)和捕获/比较模式寄存器2(TIM1_CCMR2)的IC1F[3:
0]、IC2F[3:
0]、IC3F[3:
0]、IC4F[3:
0]中设置;
•每个定时器有1个外部事件输入触发通道:
TIMx_ETR,其滤波参数在从模式控制寄存器TIMx_SMCR中的ETF[3:
0]中设置;
•每个定时器有1个定时器刹车输入通道:
TIMx_BKIN,可以将定时器输出信号置于复位状态或一个已知状态;见P221图
•这几个输入数字滤波器实际上是一个事件计数器,它记录N个事件后会产生一个输出的跳变。
例如:
TIMxCLK=fCK_INT=72MHz,CKD[1:
0]=01,选择fDTS=fCK_INT/2=36MHz,而ETF[3:
0]=0100,则采样频率fSAMPLING=fDTS/2=18MHz,N=6。
此时,3MHz以上的干扰信号被有效屏蔽。
6.7RTC时钟
•RTC(RealTimeClock)是一种能够提供日历、时钟及数据存储等功能的专用集成电路,精度高,功耗小。
•特别是适合用于无人值守环境进行自动化控制,以及记录事件发生的时间和采集带时标的相关信息,便于观察分析。
•RTC是一个独立的定时器,拥有一组具有连续计数功能的计数器,可以通过软件编程对其进行配置。
修改计数器的值,可以重设系统当前时间。
•可编程预分频系数2^20
•32bit可编程计数器,适于长程时间的测量
RTC时钟源
6.7RTC时钟(续)
•两种独立的复位类型
Ø✌PB1接口由系统复位;
ØR❆C核(预分频器、闹钟、计数器和分频器)只能由备份域复位。
•3个专门的可屏蔽中断:
Ø闹钟中断,用来产生一个软件可编程的闹钟中断,驱动闹钟响铃;
Ø秒中断,用来产生一个软件可编程的周期性中断,时间1s;
Ø溢出中断,检测内部可编程计数器溢出,并使计数器会转为0
•2个单独的时钟:
用于APB1接口的PCLK1和RTC时钟(此时的RTC时钟必须小于PCLK1时钟的四分之一以上)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 思考题