APP下载

ARM微处理器中断响应时间的实验研究

2018-07-12窦萌萌

现代信息科技 2018年4期
关键词:实验

摘 要:随着现代科学技术的不断发展,对ARM微处理器的研究也不断的发展。本文对微处理器的中断响应时间进行了实验研究,对ARM微处理器S3C2440A的中断处理机制进行分析,并在此基础上设计了一种实验测定中断响应时间的方法,从而对在理想状态下S3C2440A的快速中断FIQ和标准中斷IRQ的响应时间做出了对比,对其实验数据在分析处理之后,进行了模拟函数的研究。

关键词:ARM;微处理器;中断响应时间;实验

中图分类号:TP368.1 文献标识码:A 文章编号:2096-4706(2018)04-0034-03

Abstract:With the continuous development of modern science and technology,the research on ARM microprocessor has also been developed continuously,which needs to be studied experimentally in the interrupt response time of the microprocessor. In this paper,the interruption processing mechanism of the ARM microprocessor S3C2440A is analyzed. On this basis,a method of testing the interrupt response time is designed,and the response time of the fast interrupt FIQ and the standard interrupt IRQ in the ideal state is compared,and the experimental data are in the case of the S3C2440A. After analyzing and processing,the simulation function is studied.

Keywords:ARM;microprocessor;interrupt response time;experiment

0 引 言

随着现代化的建设,ARM微处理器得到了迅速的发展。随着现代化科技的不断发展,人们对于性能、速度、存储量、通信能力、功能的多样性、开发的方便程度及耗电的多少等不断提出更高的要求。因此,微处理器的中断时间响应方面也需要进行实验和研究,其中ARM处理器就近年来发展十分迅猛的一种体系结构。从51系列单片机到ARM处理器是一个很大的跨越,主要原因是ARM处理器完全不同于51系列单片机,其结构十分复杂。

1 ARM概述

ARM主要应用在单片机的运行中,ARM不属于单片机,而是一个单片机的内核中央处理器。其运行的过程离不开外围设备。它可以设计各种模块,在模块中,其设计是相对简单,且比较灵活的,因此比较容易移植。在最终的实现模块中,链接总线中模块的多少不会对ARM造成很大的影响。在此种情况下,可以在单片机内进行不同功能模块的设计和实现。

因此在设计的过程中,利用ARM核心技术来进行设计可以保证其稳定性和科学性,设计图如图1所示。

模块的寄存器在总线中有固定的地址,其中的ARM在对地址的操作方面需要实现对寄存器的控制和检测,最终在各种模块的控制和检测的基础上实现不同的功能。在设计中,ARM核只是把外部模块作为不同的地址对象,各个模块的不同对ARM处理器来说,仅仅是地址不同而已。

2 S3C2440A的中断处理机制

本文主要对S3C2440A的中断处理机制进行了分析,其中在中断模式和中断流程方面主要可以分为两种类型:标准中断模式IRQ和快速中断模式FIQ。

在中断的过程中,可以在中断模式寄存器的基础上实现相应的设置操作,其中的中断处理器流程图如图2所示,在中断处理流程中,主要包括一级中断源(Request Sources Without Sub-register)和二级中断源(Request Sources With Sub-register)的处理流程。与此同时,在FIQ方面,其优先级比IRQ高,并且同时只能有一个中断源被设置为FIQ模式,所以无须进行优先级仲裁,进入中断服务程序后也不需要判断中断源。

在中断的相关时钟信号方面,主要可以分为FCLK和HCLK。其中,HCLK主要实现了对FCLK的分频处理,其中分频值通过设置CAMDIVN和CLKDIVN寄存器来确定。在中断的过程中,主要利用其中的中断控制器来进行处理,其处理过程需要以硬件的方式来进行中断控制器的有效处理。在最终的中断控制器当中,需要进行总线的链接,可以称总线中的具备设备运行时钟为HCLK。在实际运行的过程中,中断服务器的执行需要利用CPU来进行具体操作,其中可以运用时钟的方式来进行决定。具体的运行方式需要根据CPU本身的时钟模式来进行分析和决定。对于CAMDIVN和CLKDIVN寄存器来说,可以保证HCL和FCLK处于相等的模式,在此种情况下,CPU的时钟模式应设置为快速总线模式(FastBus Mode,即CPU的缺省时钟模式)。如果将HCLK和FCLK的状态设置在了不同的情况,那么CPU本身的时钟模式需要设置为异步模式的方式。

在分析中断的响应时间时,需要利用中断响应时间来进行具体数值的分析,其中主要对中断触发到中断服务器程序入口部分需要的时间进行理论分析。本文主要对S3C2440A用户手册进行分析研究,进行FIQ中断的分析,在此种情况下,如果出现了最长的响应时间,即中断响应时间,需要对中断请求信号通过同步器的时间syncmax T、完成当前正在处理的指令的时间ldm T、取数异常的处理时间exc T以及FIQ中断服务程序入口时间fiq T这几种因素进行分析。在具体分析时,最长的响应时间为28个处理器时钟周期。因此在实际的运行过程中,想要达到最长响应时间为1.4µs,则处理器的时钟频率需要达到20MHz。IRQ的最长响应时间计算是类似的,但是在实际的操作中,由于FIQ比IRQ的优先级高,因此在系统的延迟方面会对IRQ的响应会造成一定程度的影响,也就是说其中产生的延迟时间主要是根据FIQ中断服务程序的执行时间决定的。

3 实验测试

本文主要对主程序和中断服务程序进行了分析和测试,其中主要的流程图如图3所示。

在测试的过程,需要主程序利用寄存器进行设置来完成。在對其进行一级中断出发的过程中,需要在定时器的基础上进行实践。在对其进行测试的过程中,需要将定时器和APB总线(Advanced Peripheral Bus)进行充分的链接,此时总线当中包含的所有输入设备时钟都可以称之为PCLK。PCLK可以实现FCLK的分频处理,在处理的过程中,需要在寄存器CAMDIVN和CLKDIVN的结合下进行分频设置。对于用户来说,也需要对寄存器TCFG0和TCFG进行充分的设置,从而实现对PCLK的分频设置,最终利用此种方式来获取一定数值的时钟。在本文的测试中,TMR_CLK设置为PCLK/2,利用的递减计数器为16bit,需要在TCNTB0寄存器的基础上进行初始值的设置和设定。在启动定时器之后,其具备的数值就在时钟信号的触发下做出一系列的操作,实现了递减的效果,最终在达到0的状态下产生中断的现象。

4 实验数据与结论

在本次实验中,主要对YC2440-F进行了实验研究,并对其中的硬件配置做出了相关的测试和分析。测试的过程中,在S3C2440A中主要采取了32bit ARM920T内核以及内4KBSRAM来共同实现,并对系统的启动阶段进行实际运行。对运行的时钟分析过程中,经过测试,可以发现CPU工作频率FCLK已经达到405MHz的状态;在对AHB总线频率HCLK进行测试之后,可以发现其频率达到136MHz的状态;对APB总线频率PCLK经过测试,已经达到了68MHz的状态。与此同时,在对64MB NAND flash方面进行测试的时候,需要实现对程序存储的有效测试。在进行测试的实际过程中,需要最大限度地对FIQ和IRQ中断服务程序进行测试。对CPU时钟模式可以采用异步模式和快速总线模式进行测试。在高速缓存Cache方面可以采用禁用或启用的方式。在FCLK频率方面,主要可以分为405MHz、304MHz和271.5MHz作为测试的数值。在FCLK、HCLK、PCLK的比值方面,采用1:4:8、1:8:8、1:3:6、1:6:6以及1:6:12这几种情况。对上述数值进行结合,每种工况都需要采集10000个计数值TCNTO0,然后取平均值。本文主要对部分工况下的实验数进行了统计分析,如表1所示。

在对上述不同工况的中断响应时间数据进行统计分析之后,进行了图表的分析和研究,如图4和图5所示,其中横坐标为HCLK,纵坐标为中断响应时间。

5 结 论

综上所述,经过本文的实验研究,在不受到任何干扰的情况下,对ARM微处理器的中断响应的时间做出了详细的分析。对实验数据做出分析的过程中,需要保证中断控制器本身的运行时钟频率处于正常的状态,从而对其高速缓存做出相对应的有效处理。因此,要获取较快的中断响应,就需要使用频率较高的中断控制器,最终实现处理器的高速运行。

参考文献:

[1] 高珍.ARM推出高效64位处理器Cortex—A50系列 [J].通讯世界,单片机与嵌入式系统应用,2012(12):26.

[2] Peter Greenhalgh.ARM的A/R/M设计目标:适合的处理器来执行对应的任务 [J].电子产品世界,2016,23(8):30-33+83.

[3] 张建,李付坤,孙广富.基于ARM处理器的PC/104模块设计 [J].微处理机,2008 (2):8-10+14.

[4] 朱望纯,张硕,蒋汉林.基于ARM与FPGA高速数据通信接口设计 [J].桂林电子科技大学学报,2017,37(4):293-297.

[5] 张顺,严宏志,韩奉林,等.基于ARM和freeRTOS的围棋机器人控制器设计 [J].制造业自动化,2018,40(1):28-32+73.

作者简介:窦萌萌(1986-),女,汉族,河南鹤壁人,助教,硕士。研究方向:计算机网络。

猜你喜欢

实验
记一次有趣的实验
微型实验里看“燃烧”
做个怪怪长实验
NO与NO2相互转化实验的改进
实践十号上的19项实验
《实验流体力学》征稿简则