当前位置: 首页 > 专利查询>广西工学院专利>正文

ARM+FPGA组成的计数器装置及其实现方法制造方法及图纸

技术编号:6881879 阅读:484 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种以ARM微处理器为控制核心、FPGA为计数处理的计数器装置,包括:ARM控制模块、存储器模块、FPGA计数器模块、双口RAM模块、SDRAM掉电保护模块、电源模块。ARM控制模块以ARM微处理器为控制核心,对各模块处理和控制;双口RAM模块分别与FPGA计数器模块和ARM控制模块连接,实现两模块的数据传输;FPGA计数器模块以计数器控制器为核心,完成增计数器和增/减计数器判断、计数处理及实时计数参数传输;电源模块提供工作电源,SDRAM掉电保护模块对计数动态参数掉电保护;本发明专利技术还提供一种实现计数器的方法;本发明专利技术计数操作不占用PLC用户程序执行时间,可实现不同类型和数量的计数器。

【技术实现步骤摘要】

本专利技术涉及一种计数器装置及其实现方法,特别涉及一种可编程控制器(PLC)的计数器装置及其实现方法。
技术介绍
随着科学技术的不断发展,可编程控制器(以下简称PLC)作为一种专为工业环境应用而设计的电子系统,愈来愈广泛地被应用。在PLC的应用系统中,使用量较大的是计数周期大于PLC用户程序扫描周期的计数器,即普通计数器,这种普通计数器的分类方法常有两种,从停电是否保存计数值的角度来分类,分为保持型计数器和非保持型计数器;从计数方向的角度,分为增计数器和增/减可控计数器,增/减可控计数器是处于增计数还是处于减计数由指定的特殊寄存器状态来控制,计数器属于哪种类型则由事先设计好的计数器编号确定,每个计数器有一个软触头与该计数器编号对应,如果计数器的当前计数值与计数器设置值相等则计数器停止计数,计数器的软触头处于动合状态,直到对计数器进行复位,计数器的软触头恢复常态,计数器在其他状态下其软触头处于常态。通常,上述计数器是通过如下方法来实现PLC用户程序执行某一个计数器软元件输出指令时,首先根据输出指令给定的计数器编号判断是增计数器还是增/减可控计数器,对于增/减可控计数器需要判断是处于增计数状态还是减计数状态,依据计数器的受控情况还需进一步判断计数器是处于失电还是得电状态,如果处于得电状态,需要判断计数条件是否满足,如果计数条件不满足,PLC用户程序可以不对该计数器作任何操作,如果计数条件满足需要将该计数器的计数动态参数单元中的值进行加1或减1计算,然后与该计数器的设置值进行比较,如果计数动态值小于/大于设置值,设置已得电计数的标志,如果相等,则设置该计数器软触头单元状态为“1”,如果处于失电状态,清得电计数的标志; PLC用户程序在执行某一个计数器的复位指令时,需要进行以下操作清该计数器得电计数的标志,清该计数器的软触头单元内容为“0”,以及清该计数器动态参数单元内容。PLC执行计数器输出指令时,若计数器处于得电且计数条件满足,进行加1/减1操作之后与计数器计数的设置值相等时需要较多的操作,具体为根据输出指令给定的计数器编号判断计数器类型的步骤需要一到二次;需要判断一次得电或失电的状态;如果是得电状态还需要判断是否满足计数条件,若满足计数条件需要加1 一次/减1 一次,需要判断一次是否等于设置值,如果计数动态值等于设置值,还需设置该计数器软触头单元状态为 “1”;PLC完成执行输出命令的操作,需要判断四次/五次,加1/减1 一次,设置位单元状态一次,共计需要操作八次/九次。操作最少次数的是继电器得电不满足计数的状态,只需判断二次/三次,增/减可控计数器的加1和减1操作采用补码,其计数动态参数值与计数设置值大小的比较应用补码进行比较,或将补码转换成原码再进行比较。执行计数器复位指令时,清标志二次,清数据一次或清数据二次;计数器在各种运行状态下,其执行计数器指令操作步数不一样,在PLC用户程序中,计数器使用的数量越多,则PLC用户程序的执行周期时间变化越大,执行计数器输出指令占用时间也越长,导致影响PLC用户程序的执行速度,延长了 PLC用户程序的执行周期。
技术实现思路
本专利技术的目的在于提供一种执行速度快、能实现对数量众多的计数器进行计数控制的ARM+FPGA组成的计数器装置,以克服上述已有技术的不足之处。为实现上述目的,本专利技术所采用的技术方案为一种ARM+FPGA组成的计数器装置,是以嵌入式ARM微处理器为控制核心、以FPGA进行计数处理,包括ARM控制模块I、FPGA计数器模块III、存储器模块II、SDRAM掉电保护模块 VI、电源模块V以及双口 RAM模块IV ;ARM控制模块I分别与上述存储器模块II、FPGA计数器模块III、双口 RAM模块IV、SDRAM掉电保护模块VI及电源模块V连接,以嵌入式ARM微处理器为控制核心,构建嵌入式实时操作系统,进行多任务管理和通信管理,实现对装置中各个模块信息的处理和控制;存储器模块II用于存储操作系统及系统程序的目标代码映像文件、执行用户程序的处理信息、以及为计数器装置数据的处理和通信提供空间;双口 RAM模块IV分别与FPGA计数器模块III和ARM控制模块I连接,以实现ARM控制模块I与FPGA计数器模块III之间的数据传输;FPGA计数器模块III用于判断计数器的类型,实施与计数设定值的比较及计数运算,通过对双口 RAM模块IV的读写控制,将计数器的状态传送至ARM控制模块I ;SDRAM掉电保护模块VI与FPGA计数器模块III连接,用于避免在电源切换过程中存储器内容的变化,并应用其中的电源为动态参数存储器供电;电源模块V为上述ARM控制模块I、存储器模块II、FPGA计数器模块IILSDRAM掉电保护模块VI及双口 RAM模块IV提供变压电源。由以上方案可见,本专利技术以嵌入式ARM微处理器为控制模块,FPGA为计数处理模块构成ARM+FPGA计数器装置,采用FPGA实现计数器的各种处理操作,无论计数器装置中的计数器数量多少与否,其占用嵌入式ARM微处理器执行用户程序的时间都非常少,因此,可以应用于开发可编程控制器以及大规模的计数器;同时,由于对计数器的操作,如计数功能控制、计数器状态设置等,均由FPGA计数器模块III完成,不占用PLC用户程序执行的时间,大大提高了计数器装置的反应速度;无论计数器处于何种运行状态,ARM控制模块I对每个同类型的计数器所执行指令的操作次数是基本相同的,减少了执行有关计数器指令时对PLC用户程序执行周期变化的影响。其进一步技术方案是该ARM+FPGA组成的计数器装置中的SDRAM掉电保护模块VI 包括相互连接的SDRAM计数器动态参数存储器和SDRAM掉电保护电路,该SDRAM掉电保护模块VI在电源切换过程中应用SDRAM掉电保护电路的电源为SDRAM计数器动态参数存储器供电,以避免SDRAM计数器动态参数存储器内容发生变化。由以上方案可见,由于计数器装置中的计数动态参数由SDRAM计数器动态参数存储器进行存储,计数操作由FPGA计数器模块III处理,该FPGA计数器模块III从双口 RAM模块 IV中接收ARM控制模块I发出的控制处理指令以进行循环操作,因此,计数器的数量只受 SDRAM计数器动态参数存储器、计数器软触头位单元和双口 RAM模块IV中容量和地址线的限制,只要增加SDRAM计数器动态参数存储器、计数器软触头位单元和双口 RAM模块IV中的存储器容量,以及增加地址线的根数,计数器的个数可以成倍数的增加,其计数器装置设置的计数器数量能够达到数百个乃至千余个,且不需要在ARM控制模块I的方法中编制计数参数的处理过程,只是将每个计数器作为普通存储单元进行读写和判断操作,本专利技术适合需要数量众多计数器计数与计数控制的系统需求,以及对计数精度要求很高的系统,尤其适应于PLC控制系统。其更进一步技术方案是ARM控制模块I包括嵌入式ARM微处理器、人机交互电路、控制电路、复位电路和JTAG调试接口电路;嵌入式ARM微处理器作为ARM控制模块I的控制核心,分别与上述人机交互电路、控制电路、复位电路和JTAG调试接口电路连接,进行多任务管理和通信管理,以实现对上述各电路的信息处理和控制;人机交互电路用于执行系统的控本文档来自技高网
...

【技术保护点】
1.一种ARM+FPGA组成的计数器装置,其特征在于:该计数器装置是以嵌入式ARM微处理器为控制核心、以FPGA进行计数处理,包括:ARM控制模块(Ⅰ)、存储器模块(Ⅱ)、FPGA计数器模块(Ⅲ)、SDRAM掉电保护模块(Ⅵ)、电源模块(Ⅴ)以及双口RAM模块(Ⅳ);所述ARM控制模块(Ⅰ)分别与上述存储器模块(Ⅱ)、FPGA计数器模块(Ⅲ)、双口RAM模块(Ⅳ)、SDRAM掉电保护模块(Ⅵ)及电源模块(Ⅴ)连接,以嵌入式ARM微处理器为控制核心,构建嵌入式实时操作系统,进行多任务管理和通信管理,实现对装置中各个模块信息的处理和控制;所述存储器模块(Ⅱ)用于存储操作系统及系统程序的目标代码映像文件、用户程序的处理信息、以及为计数器装置数据的处理和通信提供空间;所述双口RAM模块(Ⅳ)分别与所述FPGA计数器模块(Ⅲ)和所述ARM控制模块(Ⅰ)连接,以实现所述ARM控制模块(Ⅰ)与所述FPGA计数器模块(Ⅲ)之间的数据传输;所述FPGA计数器模块(Ⅲ)用于判断计数器的类型,实施与计数设定值的比较及计数运算,通过对所述双口RAM模块(Ⅳ)的读写控制,将计数器的状态传送至所述ARM控制模块(Ⅰ);所述SDRAM掉电保护模块(Ⅵ)与所述FPGA计数器模块(Ⅲ)连接,用于避免在电源切换过程中存储器内容的变化,并应用其中的电源为动态参数存储器供电;所述电源模块(Ⅴ)为上述ARM控制模块(Ⅰ)、存储器模块(Ⅱ)、FPGA计数器模块(Ⅲ)、SDRAM掉电保护模块(Ⅵ)及双口RAM模块(Ⅳ)提供变压电源。...

【技术特征摘要】
1.一种ARM+FPGA组成的计数器装置,其特征在于该计数器装置是以嵌入式ARM微处理器为控制核心、以FPGA进行计数处理,包括ARM 控制模块(I )、存储器模块(II)、FPGA计数器模块(III)、SDRAM掉电保护模块(VI)、电源模块 (V)以及双口 RAM模块(IV);所述ARM控制模块(I )分别与上述存储器模块(II)、FPGA计数器模块(III)、双口 RAM 模块(IV)、SDRAM掉电保护模块(VI)及电源模块(V )连接,以嵌入式ARM微处理器为控制核心,构建嵌入式实时操作系统,进行多任务管理和通信管理,实现对装置中各个模块信息的处理和控制;所述存储器模块(II)用于存储操作系统及系统程序的目标代码映像文件、用户程序的处理信息、以及为计数器装置数据的处理和通信提供空间;所述双口 RAM模块(IV)分别与所述FPGA计数器模块(III)和所述ARM控制模块(I )连接,以实现所述ARM控制模块(I )与所述FPGA计数器模块(III)之间的数据传输;所述FPGA计数器模块(III)用于判断计数器的类型,实施与计数设定值的比较及计数运算,通过对所述双口 RAM模块(IV)的读写控制,将计数器的状态传送至所述ARM控制模块 (I);所述SDRAM掉电保护模块(VI)与所述FPGA计数器模块(III)连接,用于避免在电源切换过程中存储器内容的变化,并应用其中的电源为动态参数存储器供电;所述电源模块(V)为上述ARM控制模块(I )、存储器模块(II)、FPGA计数器模块(III)、 SDRAM掉电保护模块(VI)及双口 RAM模块(IV)提供变压电源。2.如权利要求1所述一种ARM+FPGA组成的计数器装置,其特征在于所述SDRAM掉电保护模块(VI)包括相互连接的SDRAM计数器动态参数存储器和SDRAM 掉电保护电路,该SDRAM掉电保护模块(VI)在电源切换过程中应用所述SDRAM掉电保护电路的电源为所述SDRAM计数器动态参数存储器供电,以避免所述SDRAM计数器动态参数存储器内容发生变化。3.如权利要求2所述一种ARM+FPGA组成的计数器装置,其特征在于所述ARM控制模块(I )包括嵌入式ARM微处理器、人机交互电路、控制电路、复位电路和JTAG调试接口电路;所述嵌入式ARM微处理器作为ARM控制模块(I )的控制核心,分别与上述人机交互电路、控制电路、复位电路和JTAG调试接口电路连接,进行多任务管理和通信管理,以实现对上述各电路的信息处理和控制;人机交互电路用于执行系统的控制命令、控制参数的输入以及系统各种参数的人机界面控制;控制电路用于系统数据采集及控制驱动; 复位电路为系统电路提供复位信号;JTAG调试接口电路提供调试接口,该接口与外接电路相连,以实现编程装置对所述 ARM控制模块(I )的软硬件调试。4.如权利要求2所述一种ARM+FPGA组成的计数器装置,其特征在于所述FPGA计数器模块(III)包括计数器控制器、计数器软触头位单元和FPGA内部总线; 所述计数器控制器是所述FPGA计数器模块(III)的控制核心,其通过所述FPGA内部总线分别与所述计数器软触头位单元、所述SDRAM掉电保护模块(VI)以及所述双口 RAM模块连接 IV连接,并通过所述双口 RAM模块(IV)与所述ARM控制模块(I )连接;所述计数器控制器从所述ARM控制模块(I )获取计数器的运行状态、类型、参数信息、 复位信息以及计数实时参数读取命令,根据上述计数器的运行状态、各类信息及参数进行判断并进行相应处理、并将计数器处理的结果状态传输给所述双口 RAM模块(IV);所述计数器软触头位单元模块为计数器软触头状态的存放空间,可实现字寻址和位寻址。5.如权利要求2所述一种ARM+FPGA组成的计数器装置,其特征在于所述存储器模块(II)包括分别与所述ARM控制模块(I )连接的Nor FLASH存储器、 Nand FLASH存储器和SDRAM存储器;所述Nor FLASH存储器用于存储操作系统及系统程序的目标代码映像文件; 所述Nand FLASH存储器用于存放执行用户程序;所述SDRAM存储器用于存放计数器装置的处理和通信信息,并为系统运行和通信数据处理提供空间。6.如权利要求广5中任意一项所述一种ARM+FPGA组成的计数器装置,其特征在于 所述FPGA计数器模块(III)与所述双口 RAM模块(IV)分别独立设置。7.如权利要求广5中任意一项所述一种ARM+FPGA组成的计数器装置,其特征在于 所述双口 RAM模块(IV)嵌入所述FPGA计数器模块(III)中,构成带双口 RAM模块(IV)的FPGA计数器模块(III,)。8.应用如权利要求广5中任意一项所述ARM+FPGA组成的计数器装置实现计数器的方法,其特征在于该方法是以所述ARM控制模块(I )中的嵌入式ARM微处理器为控制核心,所述FPGA计数器模块(III)实现计数处理,应用所述双口 RAM模块(IV)实现所述ARM控制模块(I )和所述FPGA计数器模块(III)之间的数据传输;首先由所述ARM控制模块(I )中的嵌入式ARM 微处理器进行初始化处理,然后所述ARM控制模块(I )根据所述初始化处理的结果对相应的计数器进行控制操作,并通过所述双口 RAM模块(IV)实现对所述FPGA计数器模块(III)的控制,所述FPGA计数器模块(III)根据所述ARM控制模块(I )发出的控制命令对计数器进行相应的控制处理;所述存储器模块(II)存储目标代码映像文件、处理信息以及为计数器装置数据的处理和通信提供空间;所述SDRAM掉电保护模块(VI)在电源切换过程中应用其中的电源为动态参数存储器供电;所述电源模块(V )在整个处理过程中为上述ARM控制模块(I )、存储器模块(II)、FPGA计数器模块(III)、SDRAM掉电保护模块(VI)及双口 RAM模块 (IV)提供变压电源;具体包括如下步骤初始化处理步骤所述嵌入式ARM微处理器对双口 RAM的每个存储单元清零,在每次启动PLC用户程序时将SDRAM计数器动态参数存储器中非保持型计数器的动态参数存储单元清零,并将计数器的参数、状态信息等传输到所述双口 RAM模块(IV);ARM控制步骤所述ARM控制模块(I )根据上述初始化处理的结果对其中任一计数器进行控制处理,并通过所述双口 RAM模块(IV)实现对所述FPGA计数器模块(III)的控制操作;FPGA控制步骤所述FPGA计数器模块(III)根据所述ARM控制模块(I )发出的控制命令,进行计数器处理操作。9.如权利要求8所述实现计数器的方法,其特征在于 所述初始化处理的具体过程为所述ARM控制模块(I )在编译过程中,将所使用每个计数器设置的计数参数及使用状态信息传输到所述双口 RAM模块(IV)中,并检测计数器实时计数值读取指令,按照该指令出现顺序将对应的计数器编号传输给所述双口 RAM模块(IV);所述ARM控制模块(I )在执行计数器指令时,将该计数器的运行状态信息传输到所述双口 RAM模块(IV)中。10.如权利要求8所述实现计数器的方法,其特征在于 所述ARM控制模块(I )对计数器处理操作的具体步骤为 SlOl 某一个计数器软元件输出指令;sl02 判断是否增计数器?如果是,则进入步骤sl04,否则进入步骤sl03 ; sl03 根据该计数器软元件的编号将2个计数设置值传输给所述双口 RAM模块(IV)中存储该计数器参数相邻的2个存储单元,进入步骤sl05 ;sl04 根据该计数器软元件的编号将计数设置值传输给所述双口 RAM模块(IV)中存储该计数器参...

【专利技术属性】
技术研发人员:李克俭蔡启仲罗功坤付杰丁秋笛吴笔迅
申请(专利权)人:广西工学院
类型:发明
国别省市:45

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1