ARM11---中断---向量中断控制器(VIC)---结合s3c6410

发布者:EternalSunset最新更新时间:2016-06-23 来源: eefocus关键字:ARM11  向量中断  控制器  s3c6410 手机看文章 扫描二维码
随时随地手机看文章
(一)、首先说一下PL192向量中断控制器

          一个中断控制器是用来处理多个中断源的外围设备,通常包含以下几个特性:

          1.为每个中断源分配一个中断请求输入端口。为每个中断请求分配一个中断请求输出端口,以能连接到处理器的VIC端口。

             其实手册上说的这么多,我感觉其实就是这样的:要保证每个中断都能:

             ************************************************

             中断源-------->PL192 VIC--------->处理器VIC端口

             ************************************************

          2.可以用软件屏蔽掉任意制定的中断源的中断。

          3.可以为每个中断设置优先级。

 

          以上是中断控制器做的事情,但是我们的软件方还要做:

          1.确定请求服务的中断源。

          2.确定中断处理程序的地址。

 

       但是一个向量中断控制器可以在硬件上,把所有的上述功能都实现了,他可以提供当前最高优先级的中断的ISR的起始地址和向量地址。

       PL192 VIC和处理器VIC端口的连接:

    

 

 

     处理器可以通过VICVECTADDROUT[31:0]这个端口获取当前中断的ISR,不用向以前(比如ARM9)那样,采用0x00000018或者

     0xffff0018的策略了。但是处理器的VIC端口不支持读 FIQ 的向量地址。

     以下是引脚的解释:

         

   

    IRQACK是由处理器发出的信号,用来告诉VIC:我想读取某某中断的中断处理程序的地址(IRQADDR)

    IRQADDRV是由VIC发出的信号,告诉处理器:ISR的地址已经发送,而且有效,你就放心的读吧!

    IRQACK和IRQADDRV在VIC和处理器之间实现了一个四次握手的机制。(后面有解释。)

 

(二)、中断处理函数的退出:

     往中断对应的向量地址寄存器里执行写操作。

(三)、处理器和VIC之间的时序:

     下面这个图是VIC端口操作时序的例子,情况是这样的:先有了一个 IRQC,后来了一个 IRQB,而且IRQB的优先级比较高。

 

 

 这个图表解释了基本的处理器和VIC之间基本的握手机制。

 1.IRQC中断请求发出,导致PL192 VIC设置处理器的nIRQ为低。

   2.处理器得知nIRQ为低,然后初始化一个中断序列。

   3.然后就在这关键的时候,突然来了一个中断IRQB,它告诉PL192 VIC,我比IRQC更急!!

   4.在B3和B4之间,处理器判断来的这个中断是不是IRQ,如果是则发送IRQACK 信号(高电平)。

   5.在B4,PL192 VIC得到IRQACK 高电平信号,然后把IRQADDR改成IRQB的ISR地址。

   6.在B6阶段,VIC发出IRQADDRV信号(置高),IRQADDRV在处理器得到正确的ISR地址之前,一直是高电平,在这期间,就算来个更高优先级的中断要置高!不然IRQB这次中断就

      丢失了。

   7.在B8阶段左右,处理器读取IRQADDR的值,正确读取后,就将IRQACK置低,因为他的使命已经完成了!

   8.当PL192 VIC发现IRQACK是低电平的时候,it stacks the priority of the IRQB interrupt(这句大家自己理解吧,应该是保存IRQ的优先级,具体什么用我还不清楚。)然后将

      IRQADDRV置低,如果没有更高优先级的中断,他也把nIRQ置高。

   9.当处理器得知IRQADDRV是低电平的时候,他就知道他又可以检测nIRQ了,所以如果VIC要停一段时间再将nIRQ置高的时候,必须保证IRQADDRV是高电平,不然,处理器就一直检测到

      有中断,其实是中断源发出的同一次中断。

 

    我们写中断程序需要注意的:

    **********************************************************************************************************************************************

    中断处理程序要保证在程序的最后进行中断的清除,这样可以保证多个中断源共享一个中断线。另外,中断处理程序要通知PL192 VIC当前的中断的ISR已经结束.

    原文是这样的:

    The clearing of the interrupt is handled in software by the interrupt handling routine,this enable multiple interrupt sources to share a

    signal interrupt priority,In addition,the interrupt handling routine must communicate to the VIC that the interrupt currently being handled

    is complete,using the memory-mapped or coprocessor-mapped interface,to enable the interrupt masking to be unwound.

    **********************************************************************************************************************************************

 

    PL192 VIC是不支持快速中断的,所以s3c6410中断流程图就这样画:

    

 

   所有的快速中断跑到VCI1,又通过VIC0,来到了TZIC0,最终都由TZIC0一个个的发送到ARM1176了。

   下面这个图是中断发出到被执行的流程图:

   

 

   这里涉及到ARM模式的转换。

   到了这里我们应该清楚中断的产生和中断处理程序的执行的流程了。

 

   注:VE是VIC ENABLE

         mrc p15,0,r0,c1,c0,0
         orr r0,r0,#(1<<24)
         mcr p15,0,r0,c1,c0,0

         这样我们的PL192 VIC就可以用了。

 

今天写到这里,太累了,以后再写写内部中断(watch dog)和外部中断( key )具体流程。都是基于OK6410,今天的算是补充下理论知识。

个人认为这些东西对中断的理解挺重要的!

关键字:ARM11  向量中断  控制器  s3c6410 引用地址:ARM11---中断---向量中断控制器(VIC)---结合s3c6410

上一篇:s3c6410---外部中断---key (基于OK6410)
下一篇:OK6410裸机程序---leds

推荐阅读最新更新时间:2024-03-16 14:58

基于ARM控制器的渗炭炉温度控制系统的设计
  渗碳过程工件质量主要取决于对温度的控制,当今市场中 温度控制 成型的产品均以单片机为 控制器 。由于一般单片机的速度比较慢,更重要的是其ROM和RAM空间比较小,不能运行较大程序,而基于多任务的操作系统需要的任务堆栈很多,需要的RAM空间很大,故其在发展上受到了很大限制。其欢在开发环境上, DSP 需要开发用的 仿真 器,其价格比较贵,因此本设计排除了使用DSP。ARM系列的ARM7TDM1核 嵌入式 处理器 目前应用得较多,价格比较低,性价比较好,还有免费的开发工具ARM SDT,再配以简单的JTAG仿真器,就可以运行嵌入式开发,因此本设计选用韩国三星公司的S3C44BOX芯片作为主控制器。   1 Samsung S3
[单片机]
德州仪器推出首款输出电压高达100V的汽车级多相位同步升压控制器
日前,德州仪器(TI) 宣布推出三款支持高效率及高功率密度的宽泛输入电压同步 升压控制器 。 LM5122Q 多相位升压控制器可提供业界最宽的输入输出电压范围,而低静态电流 TPS43060 与 TPS43061 升压控制器则支持1 MHz 工作频率,采用小型QFN 封装。 与非同步升压控制器相比,TI 最新同步升压控制器可通过采用同步开关代替续流二极管将效率提高达10%。无损电感DCR 电流传感可进一步提高效率,减少热耗散,从而可节省板级空间,降低材料清单成本。每款升压控制器都支持热关断、频率同步、打嗝模态电流限制以及可调线路欠压锁定功能。 LM5122Q 是一款符合AEC-Q100 标准的同步升压控制器,支持3 V
[汽车电子]
德州仪器推出首款输出电压高达100V的汽车级多相位同步升压<font color='red'>控制器</font>
国产核心零部件步入爆发前夜 将打破国外品牌在关键领域的垄断
  在政策助推,需求拉动、市场验证等一系列因素的影响下,国产核心零部件正步入爆发的前夜!下面就随工业控制新子不用去了了解一下相关内容吧。   无论是减速机的信任破冰,还是 伺服电机 的稳步发展,亦或者是 控制器 进入高端市场,都表明中国在减速器、 伺服电机 、 控制器 等关键零部件上长期受制于外资企业的情形正在慢慢发生改变。   国内厂商相继攻克了核心零部件领域的部分难题,正在稳步推进零部件的国产化,这将降低国产机器人的成本,提升国产机器人在新增装机中的占比,更重要的是,这将打破国外品牌在关键领域的垄断。   减速机:信任破冰 国产化替代加速   今年以来,得益于减速机市场的全球缺货情况,国产减速器企业迎来难得的发展机遇,不
[工业控制]
Microchip第四代企业级NVMe固态硬盘控制器 ,提供更优异性能
随着数据中心支持的人工智能(AI)和机器学习(ML)工作负载越来越多,市场需要具备更宽存储带宽和更高单机架存储密度的云级别基础设施。因此,市场的趋势是按照如M.2和全球网络存储工业协会(SINA)新推出的企业和数据中心固态硬盘外形尺寸(EDSFF) E1.S等行业标准,采用体积更小、且支持第四代PCIeÒ的非易失性存储器高速(NVMe™)固态硬盘。这些固态硬盘要求控制器具备体积小和低功耗的特点,能驱动NAND闪存发挥最大潜力,同时保持这种企业级NVMe固态硬盘所需的丰富功能集和可靠性。 Microchip Technology Inc.(美国微芯科技公司)宣布Flashtec®系列又添新成员 Flashtec NVMe
[嵌入式]
Microchip第四代企业级NVMe固态硬盘<font color='red'>控制器</font> ,提供更优异性能
89C2051控制器电路
89C2051 控制器 电路图如下图所示:
[模拟电子]
89C2051<font color='red'>控制器</font>电路
伺服控制器怎么调_伺服控制器和伺服驱动器的区别
  伺服控制器怎么调   伺服控制器的调试需要根据具体应用场景和控制器型号进行具体设置和调整。一般来说,伺服控制器的调试包括以下几个方面:   电气参数调整:包括电机的参数设置和校准、驱动器参数的设置、电源的输出调整等。这些参数的设置需要根据具体控制器的说明书和应用场景进行调整。   控制模式选择:伺服控制器通常有多种控制模式可供选择,例如位置控制模式、速度控制模式、力矩控制模式等,需要根据实际应用场景进行选择。   PID参数调整:伺服控制器通常采用PID控制算法,需要根据实际应用场景进行PID参数的设置和调整,以获得更好的控制性能。   运动参数调整:包括加速度、减速度、最大速度等运动参数的设置和调整,需要根据实际应用场景进行
[嵌入式]
移动通信平台中使用的双路电源控制器MAX1715
摘要:讨论了MAX1715在移动通信平台中的应用方法,电路设计,参数计算及实验电路和实验结果。 关键词:移动通信平台 双路电源控制器 自动脉宽跳变 强制PWM模式 引言 专用移动通信平台(Especial Mobile Platform),简称EMP,是专门为特殊用户设计的,EMP可以使这些用户充分利用现有的蜂窝移动通信网的网络资源来传输他们的业务,从而节省了重新建网的费用和时间。EMP要求体积小,重量轻,功耗小,供电灵活,适应车载,具备“动中通信”条件,能适应部队、武警、公安、交通等部门和行业的使用需求。在EMP中常同时需要5V,3.3V,15V,以及可调的多路小功率直流电源以满足数据,语音,传真,短消息,全球定位等业务的
[应用]
基于模型-视图-控制器的Web应用程序框架设计
传统的web应用程序会在表现层包含管理用户交互的代码,例如:一个页面可以决定用户将要跳转的下一个页面。开发者经常把所有交互代码写在用户界面代码中。然而,开发者将页面导航代码写入页面代码后,代码会很复杂,而且难以重用、维护和扩展。对于整个应用程序来说,它的业务逻辑、控制逻辑和运行状态等都很难被重用。在很多情况下,应用程序的运行状态需要保持。但是如果状态保存在某个页面中,那么代码必须从这个页面中找回状态。这样编写出来的代码不够优雅,很难得到预想的效果,而且这些不雅的代码又影响了web页面的扩展和重用。本文基于MVC模式,提出了一个可扩展的框架,简化了对从web页面独立出来的业务逻辑代码的处理,有利于复杂的web页面导航和工作流处理的
[工业控制]
基于模型-视图-<font color='red'>控制器</font>的Web应用程序框架设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved