嵌入式应用基础 试题库 综合复习题及答案4.docVIP

嵌入式应用基础 试题库 综合复习题及答案4.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
综合复习4及答案 一、看图回答问题 下图是ARM7处理器的当前程序状态寄存器,请简单说明各位的功能。 N:负标志位,运算结果的第31位值,记录标志设置的结果。 Z:零标志位,如果标志设置操作的结果为0,则置位。 C:进位标志位,记录无符号加法溢出,减法无错位,循环移位。 V:溢出标志位,记录标志设置操作的有符号溢出。 I:中断禁止标志位,置位时禁止IRQ中断,否则允许IRQ中断使能。 F:中断禁止标志位,置位时禁止FIQ中断,否则允许FIQ中断使能。 T:控制位,置位时处理器运行在Thumb状态下,清零时处理器运行在ARM状态下。 M0~M4:模式控制位,定义处理器的7中模式。 其余位为保留位,留作将来使用。 下图是LPC2000内部的时钟发生系统图,试对该图进行简单的描述说明。 晶体振荡器为系统提供基本的时钟信号(Fosc);在复位或处理器从掉电模式唤醒时,唤醒定时器为输入的时钟信号做计数延时,使芯片内部有时间进行初始化;PLL把Fosc信号提高到一个符合用户需要的频率(Fcclk),用于CPU内核; VPB分频器用于把Fcclk信号降低到一个合适的Fpclk(也可以不降低),用于外设部件。 下图是ARM7系统内部的存储器加速模块(MAM)连接结构示意图,试针对该示意图说明MAM如何实现存储器加速功能。 存储器加速模块中Flash存储器可以存放4个32位ARM指令或8个16位Thumb指令,它们被分成两组,轮番工作,及时的为CPU提供需要的指令和数据,以防止CPU取指暂停。 程序顺序执行时,一个Flash组包含当前正在取指的指令和包含该指令的整个Flash行,而另一个Flash组则包含或正在预取指下一个连续的代码行。 程序出现分支时,在预取指缓存区中保存着将要执行的指令,在分支跟踪缓存区中保存着程序跳转后可执行到的指令。 程序获取数据时,如果数据不在MAM的数据缓冲区,那么MAM会执行一次Flash读操作,把一个128位的数据行存入数据缓冲区,这样就加快了按顺序访问数据的速度。 下图是ARM7系统存储器映射图,试对该映射图进行简单的描述说明。(问答题6) 下图是ARM7系统中断向量控制器(VIC)内部结构示意图,试说明VIC的功能特点。(问答题7) 下图是ARM7系统每个I/O端口的内部寄存器控制结构示意图,看图填写下表的寄存器功能说明内容。 序号 通用名称 功能说明 1 IOPIN 从该寄存器中可以读出引脚的当前状态,和方向模式无关 2 IOSET 该寄存器控制引脚输出高电平,为1时高电平,为0无效 3 IODIR 该寄存器单独控制每个IO口的方向,为1时输出,为0时输入 4 IOCLR 该寄存器控制引脚输出低电平,为1时低电平为0无效 下图是ARM7系统内部的定时器结构示意图,试说明内部定时器的功能特点。(问答题9) 二、计算题 设有一个基于LPC2114的系统,所使用的石英晶振为10MHz。请计算出最大的系统时钟(Fcclk)频率为多少?此时PLL的M值和P值各为多少?请列出计算公式,并编写设置PLL的程序段。 依题得,Fosc=10MHz 因为Fcclk范围为10MHz~60MHz,所以 最大的系统所时钟Fcclk=60MHz M=Fcclk/Fosc=60/10=6 因为Fcco范围为156MHz~320MHz,P=Fcco/(2Fcclk)所以 当Fcco取最小值时,P=156/(2*60)=1.3 当Fcco取最大值时,P=320/(2*60)=2.67 因为P的值必须是1、2、4、8中的一个,所以P=2 uint8 PLLSet(uint32 Fcclk, uint32 Fosc, uint32 Fcco) { uint8 i; uint32 plldat; i = (Fcco / Fcclk); // 计算PLL分频值,i的值为2P switch(i) // 检测参数是否合法 { case 2: // 2P为2,P为1 plldat = ((Fcclk / Fosc) - 1) | (0 5); // 设置M的值,实际写入M-1 break; case 4: // P为2 plldat = ((Fcclk / Fosc) - 1) | (1 5); // 设置M的值,实际写入M-1 break; case 8: // P为4 plldat = ((Fcclk / Fosc)

您可能关注的文档

文档评论(0)

WanDocx + 关注
实名认证
文档贡献者

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档