累加器的概念
累加器在中央处理器中(accumulator)它是一种用于存储计算的中间结果的寄存器。如果没有像累加器这样的寄存器,那么结果必须在每次计算(加法、乘法、位移等)后写回内存,也许你必须立即读回。然而,访问主存储器的速度比从算术逻辑单元到直接路径的累加器慢。
相位累加器原理
正弦波,虽然其幅度不是线性的,但其相位是线性的。
DDS正是利用这一特生正弦信号。如图2所示,根据DDS频率控制字的位数N,把360°平均分为2N次等份。
图2.相位累加器的原理
假设系统时钟是Fc,输出频率为Fout。每次转动一个角度360°/2N,可以产生频率Fc/2N的正弦波的相位递增量。那么只要选择恰当的频率控制字M,使得Fout/Fc=M/2N,您可以获得所需的输出频率Fout,
Fout=Fc*M/2N,我们通过相位累加器合成了相位幅度转换Fout相位信息对应于频率,然后相位幅度转换器将0°~360°相位转换为相应相位的幅度值。比如当DDS选择为2Vp-p的输出时,45°对应的幅度值为0.707V,该值以二进制的形式输入DAC。通过查表完成相位到幅度的转换。
DAC输出代表范围的二进制数字信号被输入DAC并将其转换为模拟信号输出。DAC的位数并不影响输出频率的分辨率。输出频率的分辨率是由频率控制字的位数决定的。
累加器的作用
1.在运算器中,累加器是一种专门存储算术或逻辑操作数量和操作结果的寄存器。它可以添加、减少、读取、移位、循环移位和补充。它是计算器的主要部分。
2.中央处理器CPU中,累加器(accumulator)是一种暂存器,它用来储存计算所产生的中间结果。如果没有像累加器这样的暂存器,那么在每次计算(加法,乘法,移位等等)后就必须要把结果写回到内存,然后再读回来。然而存取主内存的速度是比从数学逻辑单元(ALU)直接路径的累加器进入较慢。
3.累加器在汇编语言程序中——AX它是一个非常重要的寄存器,但在程序中使用它来保存临时数据时,最终将其转存到其他寄存器或内存单元,以防止在执行其他指令时修改数据,从而得到不正确的结果,给程序的调试带来不必要的麻烦。
装配线相位累加器的设计
相位累加器是DDS在基准时钟的控制下,用于实现线性数字信号的逐步积累,信号范围从0加到累加器的全偏差,从而获得相应的相位数据,相位累加器的频率为DDS输出信号的频率。在通常的电路优化设计中,累加器模块采用先进的进位加法器,克服了串行进位造成的时间滞后,大大提高了加法器的运行速度,但仍存在不足。为了提高DDS本文提出了优化流水线结构的频率转换速度和实时性DDS相位累加器。
FPGA结构特点非常适合流水线设计ALTEra低成本系列CycloneⅡ例如,最多有68416个逻辑单元(LE),每个LE均含1个4输入搜索表LUT、一个可编程触发器等。在设计中,一个算术操作可以分解成小规模的基本操作配置LUT将进位和中间值存储在寄存器中,并在下一时钟继续运行,整个系统只需要很少或没有额外的资源成本。
装配线结构的基本原理是将整个电路分为几个装配线级别,并在每个级别之间设置寄存器,锁定上一级输出的数据;每个级别只完成数据处理的一部分,一个时钟周期完成一级数据处理,然后在下一个时钟到达时将处理后的数据传输到下一个级别。第一组数据进入流水线后,通过一个时钟周期传输到第二级,第二组数据进入第一级,数据队列依次前进。每组数据只有在所有装配线级别后才能得到最终的计算结果,但对于整个装配线,每个时钟都可以计算一组结果,因此平均计算一组数据只需要一个时钟周期,大大提高了数据处理速度。图2为在QuartusⅡ流水线相位累加器结构图采用原理图输入法构建在开发环境中。该结构由四级装配线组成。每条装配线的输入字节为8位,由8位数据锁存器、8位数据全加器和1位数据锁存器组成。整个系统可实现32位输入控制字的相位累积功能。根据流水线相位累加器的工作原理,32位输入控制字a从低到高平均分为4段,每段分为8段,分别分别分为4段a[0..7]到a24..32命名。将a0..7输入8位数据锁存器作为一级输入控制字reg8中,时钟信号clk当上升到来时,reg将临时存储的控制字输入8位数据全加器adder8中全加运算另一个加法数和进位信号。另一个加法数来自本级运算结果的反馈。为了保持时钟节拍的一致性,反馈首先输入到另一个reg8中暂存,然后在时钟上升沿到来之时输入到全加器进行运算;进位信号来自第四级,该信号也是先暂存在一个1位数据锁存器reg1中输入全加器进行操作。
累加定时器在PLC控制程序中的应用
1、累加定时器
欧姆龙用于系统PLC中,TTIM(087)定时器0.1s其功能趋势如图2所示。
定时器输入为ON时,TTIM(087)使PV增加;当定时器输入变化时;OFF定时器停止PV递增,但PV保持值;当定时器输入再次变化时ON时,PV重续计时;当PV到达SV定时器完成标志时会发生变化ON。定时器的PV定时器计时完成后,将保持完成标志的状态。重启定时器有三种方法:定时器PV改为非零值(如通过)MOV(021)指令ON、执行CNR(545)/CNRX(547)指令。定时器的精度为0~0.01s。
TIM典型的定时器使计数器减量计数,其中PV表示定时器计时结束前剩余时间。TTIM(087)的PV这意味着已经过去的时间可以用于许多计算和显示输出。
2、TTIM应用于内部堵料判断程序
内部堵料部分程序如图3所示,D101的数据是记录进入清洗机的轮毂数量,累加定时器(TTIM)只有在D直到0和1号、2号辊道电机运行时才开始计时。计时值不会因为前序断开而复位,而是通过2号光电检测(I:0.01)检测到轮毂复位T61计时值,可避免中断电流和复位计时值,相当于电机光电编码器实时采集累积值。此外,通过变频器设置的辊道电机运行频率,计算轮毂从进入到清洗所需的时间TTIM设置值,以判断进入清洗机的轮毂是否卡在集中喷淋室内。
3、TTIM在烘干定位程序中的应用
干燥定位程序如图4所示,中间软继电器W33.0为自动运行中3号辊道电机的启动保持位,2号光电检测沿信号位置下降,无堵料W40.连接累加定时器T50,T50的设置值是3号辊道电机根据变频器设置的频率输送到第一个吹风干燥点的时间。T50小时完成后,判断轮毂达到第一个干燥点,停止3号辊道电机,并连接延迟导通计时器T51;T51是轮毂在第一个干燥点的停止时间T51计时完成复位T50的值及W40.00,连接第二次运行,开始保持位置W40.01;轮毂在三个固定位置的定位干燥依次循环。在此定位过程中,累计定时器的计时值不会因后续堵塞或紧急停止事件而复位,准确计算辊道上轮毂到达的位置,再次连接后继续执行剩余操作时间,准确将轮毂送至定位干燥点。