LR(K)分析方法是严格的从左向右扫描,和自底向上的语法分析方法
标签: 分析方法
上传时间: 2013-12-23
上传用户:vodssv
一个很好的用java编写的用来判断一个文法是否是LR(1)文法及其分析器的构造
上传时间: 2014-01-21
上传用户:gaojiao1999
分析文法是否是LR(0)文法,显示分析表。对输入的语句给出语法分析树
上传时间: 2013-12-29
上传用户:2404
超声,红外,激光,无线,通讯相关专辑 183册 1.48GWPAN藍牙技術 12页 0.2M.pdf
标签:
上传时间: 2014-05-05
上传用户:时代将军
FANUC LR MATE 200iC机器人机构部操作说明手册。
标签: 机器人
上传时间: 2022-07-08
上传用户:
随着半导体工艺的飞速发展和芯片设计水平的不断进步,ARM微处理器的性能得到大幅度地提高,同时其芯片的价格也在不断下降,嵌入式系统以其独有的优势,己经广泛地渗透到科学研究和日常生活的各个方面。 本文以ARM7 LPC2132处理器为核心,结合盖革一弥勒计数管对Time-To-Count辐射测量方法进行研究。ARM结构是基于精简指令集计算机(RISC)原理而设计的,其指令集和相关的译码机制比复杂指令集计算机要简单得多,使用一个小的、廉价的ARM微处理器就可实现很高的指令吞吐量和实时的中断响应。基于ARM7TDMI-S核的LPC2132微处理器,其工作频率可达到60MHz,这对于Time-To-Count技术是非常有利的,而且利用LPC2132芯片的定时/计数器引脚捕获功能,可以直接读取TC中的计数值,也就是说不再需要调用中断函数读取TC值,从而大大降低了计数前杂质时间。本文是在我师兄吕军的《Time-To-Count测量方法初步研究》基础上,使用了高速的ARM芯片,对基于MCS-51的Time-To-Count辐射测量系统进行了改进,进一步论证了采用高速ARM处理器芯片可以极大的提高G-M计数器的测量范围与测量精度。 首先,讨论了传统的盖革-弥勒计数管探测射线强度的方法,并指出传统的脉冲测量方法的不足。然后讨论了什么是Time-To-Count测量方法,对Time-To-Count测量方法的理论基础进行分析。指出Time-To-Count方法与传统的脉冲计数方法的区别,以及采用Time-To-Count方法进行辐射测量的可行性。 接着,详细论述基于ARM7 LPC2132处理器的Time-To-Count辐射测量仪的原理、功能、特点以及辐射测量仪的各部分接口电路设计及相关程序的编制。 最后得出结论,通过高速32位ARM处理器的使用,Time-To-Count辐射测量仪的精度和量程均得到很大的提高,对于Y射线总量测量,使用了ARM处理器的Time-To-Count辐射测量仪的量程约为20 u R/h到1R/h,数据线性程度也比以前的Time-To-CotJnt辐射测量仪要好。所以在使用Time-To-Count方法进行的辐射测量时,如何减少杂质时间以及如何提高计数前时间的测量精度,是决定Time-To-Count辐射测量仪性能的关键因素。实验用三只相同型号的J33G-M计数管分别作为探测元件,在100U R/h到lR/h的辐射场中进行试验.每个测量点测量5次取平均,得出随着照射量率的增大,辐射强度R的测量值偏小且与辐射真实值之间的误差也随之增大。如果将测量误差限定在10%的范围内,则此仪器的量程范围为20 u R/h至1R/h,量程跨度近六个数量级。而用J33型G-M计数管作常规的脉冲测量,量程范围约为50 u R/h到5000 u R/h,充分体现了运用Time-To-Count方法测量辐射强度的优越性,也从另一个角度反应了随着计数前时间的逐渐减小,杂质时间在其中的比重越来越大,对测量结果的影响也就越来越严重,尽可能的减小杂质时间在Time-To-Count方法辐射测量特别是测量高强度辐射中是关键的。笔者用示波器测出此辐射仪器的杂质时间约为6.5 u S,所以在计算定时器值的时候减去这个杂质时间,可以增加计数前时间的精确度。通过实验得出,在标定仪器的K值时,应该在照射量率较低的条件下行,而测得的计数前时间是否精确则需要在照射量率较高的条件下通过仪器标定来检验。这是因为在照射量率较低时,计数前时间较大,杂质时间对测量结果的影响不明显,数据线斜率较稳定,适宜于确定标定系数K值,而在照射量率较高时,计数前时间很小,杂质时间对测量结果的影响较大,可以明显的在数据线上反映出来,从而可以很好的反应出仪器的性能与量程。实验证明了Time-To-Count测量方法中最为关键的环节就是如何对计数前时间进行精确测量。经过对大量实验数据的分析,得到计数前时间中的杂质时间可分为硬件杂质时间和软件杂质时间,并以软件杂质时间为主,通过对程序进行合理优化,软件杂质时间可以通过程序的改进而减少,甚至可以用数学补偿的方法来抵消,从而可以得到比较精确的计数前时间,以此得到较精确的辐射强度值。对于本辐射仪,用户可以选择不同的工作模式来进行测量,当辐射场较弱时,通常采用规定次数测量的方式,在辐射场较强时,应该选用定时测量的方式。因为,当辐射场较弱时,如果用规定次数测量的方式,会浪费很多时间来采集足够的脉冲信号。当辐射场较强时,由于辐射粒子很多,产生脉冲的频率就很高,规定次数的测量会加大测量误差,当选用定时测量的方式时,由于时间的相对加长,所以记录的粒子数就相对的增加,从而提高仪器的测量精度。通过调研国内外先进核辐射测量仪器的发展现状,了解到了目前最新的核辐射总量测量技术一Time-To-Count理论及其应用情况。论证了该新技术的理论原理,根据此原理,结合高速处理器ARM7 LPC2132,对以G-计数管为探测元件的Time-To-Count辐射测量仪进行设计。论文以实验的方法论证了Time-To-Count原理测量核辐射方法的科学性,该辐射仪的量程和精度均优于以前以脉冲计数为基础理论的MCS-51核辐射测量仪。该辐射仪具有量程宽、精度高、易操作、用户界面友好等优点。用户可以定期的对仪器的标定,来减小由于电子元件的老化对低仪器性能参数造成的影响,通过Time-To-Count测量方法的使用,可以极大拓宽G-M计数管的量程。就仪器中使用的J33型G-M计数管而言,G-M计数管厂家参考线性测量范围约为50 u R/h到5000 u R/h,而用了Time-To-Count测量方法后,结合高速微处理器ARM7 LPC2132,此核辐射测量仪的量程为20 u R/h至1R/h。在允许的误差范围内,核辐射仪的量程比以前基于MCS-51的辐射仪提高了近200倍,而且精度也比传统的脉冲计数方法要高,测量结果的线性程度也比传统的方法要好。G-M计数管的使用寿命被大大延长。 综上所述,本文取得了如下成果:对国内外Time-To-Count方法的研究现状进行分析,指出了Time-To-Count测量方法的基本原理,并对Time-T0-Count方法理论进行了分析,推导出了计数前时间和两个相邻辐射粒子时间间隔之间的关系,从数学的角度论证了Time-To-Count方法的科学性。详细说明了基于ARM 7 LPC2132的Time-To-Count辐射测量仪的硬件设计、软件编程的过程,通过高速微处理芯片LPC2132的使用,成功完成了对基于MCS-51单片机的Time-To-Count测量仪的改进。改进后的辐射仪器具有量程宽、精度高、易操作、用户界面友好等特点。本论文根据实验结果总结出了Time-To-Count技术中的几点关键因素,如:处理器的频率、计数前时间、杂质时间、采样次数和测量时间等,重点分析了杂质时间的组成以及引入杂质时间的主要因素等,对国内核辐射测量仪的研究具有一定的指导意义。
标签: TimeToCount ARM 辐射测量仪
上传时间: 2013-06-24
上传用户:pinksun9
一.产品概述:首先感谢您选用我们的这款太阳能移动电源。该太阳能移动电源由国外名师设计,采用铝合金外壳,外观典雅庄重,性能稳定可靠,跟市面上的同类产品相比,具有以下特点:·由国外MODELLABS担纲外观结构设计,外观典雅高贵。·真正能给苹果设备IPOD,IPHONE充电的太阳能移动电源。·独有的可拆卸更换电池,解决了太阳能移动电源因为电池问题导致整个产品提前报废问题,真正体现了“以人为本”的设计思想。·采用低铁超透光超薄钢化玻璃封装,透光率可达到95%以上,彻底解决了普通层压板透光率不高及滴胶板随着使用年限增加色泽变黄而导致光电转换率下降的问题。·采用了当前光电转换效率最高的优质单晶硅太阳能板,光电转换效率高达17%,2W太阳能电池板,正常光照下可以产生超过300mA电流,4个小时左右能充满内置电池,使产品具有超强实用性。·美国进口的IC,CPU配合我们独有的先进控制电路,使二次转换效率(电储存到锂电池的效率)达到95%,远胜市面上的同类产品,充电更快捷。·产品采用了双重电压保护、过流保护和温度保护技术,确保我们的产品不会对您的手机和数码产品造成任何伤害·用途广泛,可以为手机,MP3,MP4,PDA,PSP,DV家庭小型节能设备等产品提供电源。
上传时间: 2013-10-11
上传用户:it男一枚
ARM指令集(2) 1.跳转指令 在ARM中有两种方式可以实现程序的跳转:一种是刀‘转指令;另一种是直接向PC寄存器(R15)中写入目标地址值。 通过直接向PC寄存器中写入目标地址值可以实现在46B地址空间中任意跳转,这种跳转指令又称为长跳转。如果在长跳转指令之前使用MOV LR,PC等指令,则可以保存将来返回的地址值,这样就实现了在46B地址空间中的子程序调用。 在ARM版本5及以上的体系中,实现了ARM指令集和Thumb指令集的混合使用。指令使用目标地址值的bit[0]来确定目标程序的类型。bit[0]的值为1时,目标程序为Thumb指令;bit[0]值为0时,目标程序为ARM指令。 在ARM版本5以前的体系中,传送到PC寄存器中的目标地址值的低两位bits[1∶0]被忽略,跳转指令只能在ARM指令集中执行,即程序不能从ARM状态切换到Thumb状态。非T系列ARM版本5体系不含Thumb指令,当程序试图切换到Thumb状态时,将产生未定义指令异常中断。 ARM跳转指令可以从当前指令向前或向后的32MB地址空间跳转。这类跳转指令有以下4种。
上传时间: 2013-11-20
上传用户:妄想演绎师
arm指令集(1) ARM跳转指令可以从当前指令向前或向后的32MB地址空间跳转。这类跳转指令有以下4种。 (1)B 跳4专指令 B〔条件) (地址) B指令属于ARM指令集,是最简单的分支指令。一旦遇到一个B指令,ARM处理器将立即跳转到给定的地址,从那里继续执行。注意:存储在分支指令中的实际值是相对当前R15的值的一个偏移量,而不是一个绝对地址。它的值由汇编器来计算,是24位有符号数,左移两位后有符号扩展为32位,表示的有效偏移位为26位(+/- 32 MB)。 (2)BL 带返回的跳转指令 BI,〔条件) (地址) BL指令也属于ARM指令集,是另一个分支指令。就在分支之前,在寄存器R14中装载上R15的内容,因此可以重新装载R14到R15中来返回到这个分支之后的那个指令处执行,它是子例程的一个基本但强力的实现。 (3)BLX 带返回和状态切换的跳转指令 BLX <地址> BLX指令有两种格式,第1种格式的BLX指令记作BLX(1)。BLX(1)从ARM指令集跳转到指令中指定的目标地址,并将程序状态切换到Thumb状态,该指令同时将PC寄存器的内容复制到LR寄存器中。 BLX(1)指令属于无条件执行的指令。 第2种格式的BLX指令记作BLX(2)。BLX(2)指令从ARM指令集跳转到指令中指定的目标地址,目标地址的指令可以是ARM指令,也可以是Thumb指令。目标地址放在指令中的寄存器<dest>中,该地址的bit[0]值为0,目标地址处的指令类型由CPSR中的T位决定。该指令同时将PC寄存器的内容复制到LR寄存器中。 (4)BX 带状态切换的跳转指令 BX(条件) (dest) BX指令跳转到指令中指定的目标地址,目标地址处的指令可以是ARM指令,也可以是Thumb指令。目标地址值为指令的值和0xFl·FFFFFF做“与”操作的结果,目标地址处的指令类型由寄存器决定。
上传时间: 2014-12-27
上传用户:laomv123
ARM处理器的工作模式 ARM处理器状态 ARM微处理器的工作状态一般有两种,并可在两种状态之间切换:第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令;第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。但ARM微处理器在开始执行代码时,应该处于ARM状态。 ARM处理器状态 进入Thumb状态:当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态。此外,当处理器处于Thumb状态时发生异常(如IRQ、FIQ、Undef、Abort、SWI等),则异常处理返回时,自动切换到Thumb状态。 进入ARM状态:当操作数寄存器的状态位为0时,执行BX指令时可以使微处理器从Thumb状态切换到ARM状态。此外,在处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态。ARM处理器模式 ARM微处理器支持7种运行模式,分别为:用户模式(usr):ARM处理器正常的程序执行状态。快速中断模式(fiq):用于高速数据传输或通道处理。外部中断模式(irq):用于通用的中断处理。管理模式(svc):操作系统使用的保护模式。数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。系统模式(sys):运行具有特权的操作系统任务。定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。ARM处理器模式 ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。 除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式;其中除去用户模式和系统模式以外的5种又称为异常模式,常用于处理中断或异常,以及需要访问受保护的系统资源等情况。ARM寄存器 ARM处理器共有37个寄存器。其中包括:31个通用寄存器,包括程序计数器(PC)在内。这些寄存器都是32位寄存器。以及6个32位状态寄存器。 关于寄存器这里就不详细介绍了,有兴趣的人可以上网找找,很多这方面的资料。异常处理 当正常的程序执行流程发生暂时的停止时,称之为异常,例如处理一个外部的中断请求。在处理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,当前程序可以继续执行。处理器允许多个异常同时发生,它们将会按固定的优先级进行处理。当一个异常出现以后,ARM微处理器会执行以下几步操作:进入异常处理的基本步骤:将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。将CPSR复制到相应的SPSR中。根据异常类型,强制设置CPSR的运行模式位。强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。如果异常发生时,处理器处于Thumb状态,则当异常向量地址加载入PC时,处理器自动切换到ARM状态。 ARM微处理器对异常的响应过程用伪码可以描述为: R14_ = Return LinkSPSR_= CPSRCPSR[4:0] = Exception Mode NumberCPSR[5] = 0 ;当运行于 ARM 工作状态时If == Reset or FIQ then;当响应 FIQ 异常时,禁止新的 FIQ 异常CPSR[6] = 1PSR[7] = 1PC = Exception Vector Address异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回:将连接寄存器LR的值减去相应的偏移量后送到PC中。将SPSR复制回CPSR中。若在进入异常处理时设置了中断禁止位,要在此清除。
上传时间: 2013-11-15
上传用户:hanbeidang