“中断控制器”.PPT

  1. 1、本文档共150页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
“中断控制器”

4.4 通用I/O接口的设计 通常,嵌入式系统的I/O接口与处理器之间的连接大多不使用系统总线,而是直接连接在处理器的引脚上。例如,PXA255共有81个GPIO管脚,每个GPIO管脚都可以被设置为输入和输出用来扑捉输入和产生输出信号。当设置为输入时,GPIO管脚也可以作为中断源来用,当系统复位后,所有GPIO管脚的默认值为输入。 GPDR(GPIO Pin Direction Register)寄存器设置GPIO的输入输出功能。当某GPIO管脚设置为输出模式,GPSR(GPIO Pin Output Set Register)可以设置GPIO管脚上的高低电平值。当某一管脚设置为输入模式时,读GPLR(GPIO Pin Level Register)寄存器的内容可以反映当前GPIO管脚的状态。 在并行信号传输中,要求由多条数据导线构成数据总线,另外还需要有相应的控制线和电源线,此时每条数据导线传输一个数据位。这是要求数据总线长度必须较短,这样并行通信的数据通过能力强。否则会因为长导线会导致有较高的电容值,而在具有高电容值的总线上传送数据需要有更多时间来进行充放电。此外,并行总线中各导线长度上的小差异,也可能导致所接受的数据字各位的抵达时间不同,随着并行总线长度的增加,这种数据不齐的现象更为严重。 ARM架构中的处理器内核和处理器核一般都没有I/O的部件和模块,可以通过先进微控制总线架构AMBA来扩展宏单元和I/O部件,为微处理器提供了32位地址信号、32位数据信号和一些读/写、时钟、外围复位、选通等控制信号。 ARM采用了存储器映像I/O的统一编址方式,即把I/O端口当作为特殊的存储器地址来对待处理。 比如三星公司生产的S3C44B0X微处理器芯片,芯片内部具有71个通用多功能输入输出引脚,这些I/O口的应用是S3C44BOX处理器的基础应用,分别包含在如下7组端口中: 1个10位输出端口〔端口A〕; 1个11位输出端口(端口B); 1个16位输入/输出端口(端口C); 2个8位输入/输出端口(端口D和G); 2个9位输入/输出端口(端口E和F)。 4.4.1 中断接口概述 在使用I/O的数据量比较大,中断处理事件比较频繁的场合时,这是会很明显地影响嵌入式系统的性能。因此,许多微处理器内部都包含了直接存储器DMA。这样使用DMA方式,I/O的数据块传送至存储器的缓冲器区域就不需要微处理器介入,提高了微处理器的工作效率。 但对一些没有DMA的微处理器,为了要提高I/O高速数据处理的能力,微处理器系统本身设计有快速中断FIQ能力;而对其余的一般I/O源可安排为一般中断源IRQ。 通常终端源有硬件和软件相关的中断源、软件错误相关的中断源、为调试程序而摄制的中断源和系统分时所用的中断源。 从系统的角度看,中断是一个流程,一般来说,中断要经过3个环节:中断响应、中断处理和中断返回。 在系统对外部事件做出反应的过程中,中断响应是第一个环节,主要是确定中断源,而后根据中断源指引CPU进入具体的中断处理程序。因此,中断响应在整个中断机制中起枢纽作用。由于在现有的技术条件下,芯片的引线数量受到很大的限制,因此很难为了快速确定中断源而让CPU芯片带足够多的中断请求线。这样一来,为了确定中断源的来源,就需要有一些辅助的手段,使CPU在响应中断的时候,能迅速确定中断源。 辅助手段主要有以下3种形式: (1) CPU在响应中断时进入一个特殊的中断响应周期,向外发一个“中断响应(ACK)”信号,要求中断源通过数据总线提供一个代表具体设备的数值,称为“中断向量”。但要求发出中断请求的外设必须在接受中断响应信号时发出这个中断向量。同时为了防止多个外设同时发出中断向量而形成冲突的情况,还需要把所有可能成为中断源的设备连接成一条“中断链”,在“中断链”的不同位置应具有不同的优先级。 (2)在外部提供一个“集线器”,称为“中断控制器”。它为外设提供多条中断请求线,但是将这些中断请求线(相或)合并成一条。与此同时,在中断控制器中还要提供一个寄存器,记录当前的(综合)中断请求来自哪几条外部中断请求线,而CPU则可以像访问外设一样读出这个寄存器的内容,以确定中断请求的来源。 (3)将中断控制器集成在CPU芯片中,设法“挪用”或“复制”原有的若干引线,而并不实际增加引线的数量。这样由外设产生的中断请求都由芯片上的中断控制器汇总成一个IRQ中断请求。此外,中断控制器还向CPU提供一个中断请求寄存器和一个中断控制寄存器。寄存器中的每一位都代表一个中断源,通过中断请求寄存器可以知道中断请求来自何处,通过中断控制寄存器则可以

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档