S3C44B0X 中断控制器功能及应用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第16小组SA11011910王涛SA11011913张海博主要内容S3C44B0X中断概述S3C44B0X中断控制器S3C44B0X中断控制寄存器S3C44B0X中断控制器应用S3C44B0X的中断控制器概述S3C44B0X中断源(30个):1个看门狗定时器;6个定时器;6个UART;8个外部中断EINT0-7;4个DMA;2个RTC;1个ADC;1个IIC;1个SIO中断控制器的功能响应来自FIQ(快速中断请求)或IRQ(普通中端请求)的中断,并请求内核对中端进行处理;当有多个中断同时发生时,中断控制器要决定首先处理哪一级中断。S3c44b0x中断控制器30个中断源ARM7TDMIIRQFIQS3C44B0X中断控制器特点概述支持30个中断源,包括8个外部中断源中断控制器支持26个中断信号,其中外部中断4/5/6/7复用到一个中断信号上(读EXTINTPND寄存器来判断)每个中断信号处理均可独立设置成FIQ(快速中断请求)或者IRQ(普通中断请求)模式中断信号处理均可采用矢量处理方法或者非矢量处理方法支持中断优先级排队中断模式ARM7TDMI有2种类型的中断模式:FIQ和IRQ。两种模式之间的区别:FIQ必须尽快处理事情并离开这个模式;IRQ可以被FIQ中断,但IRQ不能中断FIQ;为使FIQ跟更快,FIQ模式具有更多的私有寄存器。PSR的F位和I位PSR指ARM7TDMI处理器的程序状态寄存器PSR[7]:I=1,处理器不接收来自IRQ的中断;PSR[8]:F=1处理器不接收来自FRQ的中断为了使能中断机制,PSR的I或F位必需清零,同时中断屏蔽寄存器(INTMSK)的相应位也必须清零。中断源有26个中断源提供给中断控制器。4个外部中断(EINT4/5/6/7)相或送中断控制器。2个UART错误中断(UERRO/1)相或送中断控制器。中断源的详细信息见下表。中断源详细列表中断源列表说明EINT4、EINT5、EINT6、EINT7共用一个中断请求源;中断程序通过读寄存器EXTINTPND[3:0],来区别4个中断源;在中断处理程序结束时,EXTINTPND[3:0]必须清除。中断源矢量地址30个中断源,26个中断矢量;EINT4/5/6/7共用一个中断矢量地址;INT_UERR0/1共用一个中断矢量地址。详细见下表。中断源矢量地址表中断优先级模块中断优先级模块中断优先级产生模块包含5个单元,1个主单元,4个辅助单元;每个辅助单元有4个可编程的优先级源(sGn)和2个固定的优先级源(sGKn);2个固定的优先级源在6个中断源中优先级是最低的。主单元决定了4个辅单元和2个中断源(INT_RTC、INT_ADC)之间的优先级排列;中断优先级FIQ中断比IRQ中断有更高的优先级;位于sGA,sGB,sGC,sGD的优先级总是高于位于sGKA,sGKB的中断优先级;在sGA,sGB,sGC,sGD之间的优先级高低是可编程的或通过轮转方式来决定;在sGKA和sGKB之间,sGKA总是拥有更高的优先级;mGA,mGB,mGC,mGD组中的优先级总是高于mGKA和mGKBmGKA和mGKB在所有中断源中优先级是最低的;mGA,mGB,mGC,mGD组中的优先级是可编程的或通过轮转方式决定的;mGKA和mGKB之间,mGKA总是有更高的优先级。中断控制寄存器INTCON地址:0x01E00000,初值:0x7选择中断的模式,IRQ及FIQ的使能设置中断控制寄存器INTPND地址:0x01E00004某个中断发生时,INTPND中的相硬位置1;清除INTPND的方式是向I_ISPC/F_ISPC的相应位置1;INTPND中的pending位不能被INTMSK屏蔽。INTPND寄存器的位定义表如下:INTPND寄存器位定义中断模式寄存器INTMOD地址:0x01E00008相应位置1选FIQ模式,位清除选IRQ模式。具体位定义见下图INTMOD寄存器位定义中断屏蔽寄存器INTMSK地址:0x01E0000C除全局屏蔽位,其余26位依次对应着每个中断源;屏蔽位为0,则CPU将对中断请求响应;全局屏蔽位置1,所有中断请求都不会被响应。INTMSK的位定义如下表:INTMSK寄存器位定义IRQ矢量模式寄存器与IRQ矢量模式相关的寄存器如下表1.主单元优先级寄存器I_PMST地址:0x01E00014优先级产生模块包括5个单元:1个主单元,4个辅单元;主单元管理4个可编程优先级的辅单元和2个中断源。辅单元优先级通过对I_PMST寄存器设置决定;2个中断源INT_RTC和INT_ADC在26个中断源中优先级最低。2.辅单元优先级寄存器I_PSLV地址:0x01E00010每个辅单元管理6个中断源:4个可编程优先级中断源(sGn)优先级通过I_PSLV寄存器设定;2个固定优先级中断源(Kn)在6个中断源中优先级最低。3.当前辅单元中IRQ中断优先级寄存器I_CSLV地址:0x1E00018I_CSLV表明辅单元中断源中当前的优先级状态当前主单元中辅单元和IRQ中断源的优先级寄存器I_CMST地址:0x01E0001CI_CMST表明当前主单元中辅单元和IRQ中断源的优先级。5.IRQ/FIQ中断挂起清零寄存器I_ISPC/F_ISPC地址:0x01E00024/0x01E0003C主要作用:在某个中断结束时,通过向I_ISPC/F_ISPC相应位写1来清除中断挂起寄存器INTPND中的中断挂起位。I_ISPC/F_ISPC的位定义S3C44B0X中断控制器应用使用按钮SB2触发EINT6,LED1亮,同时8段数码管由0到F显示1次,8段数码管显示完后,LED1熄灭。使用按钮SB3触发EINT7,LED2亮,同时8段数码管由F到0显示1次,8段数码管显示完后,LED2熄灭。中断的产生分别来自按钮SB2和SB3,当按钮按下时,EXINT6或EXINT7和地连接,输入低电平,从而向CPU发出中断请求。当CPU接受中断后,进入相应的中断服务程序,实现LED1或LED2的显示功能。由于EXINT6和EXINT7是共用一个中断控制器,所以在同一时间内CPU只能受理其中一个中断,也就是说,当按钮SB2按下进入中断后,再按SB3是没用的,CPU在处理完EXINT6中断前是不会受理来自EXINT7的中断。

1 / 30
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功