一种交流采样处理方法及装置 【技术领域】
本发明涉及电力领域, 尤其涉及一种交流采样处理方法及装置。背景技术 目前, 已有的设备在进行交流采样处理时, 一般将各个电量 ( 如交流电压、 交流电 流 ) 的采样数值进行快速傅里叶变换 (Fast Fourier Transform, FFT), 获得各个交流电量。 其中, 将各个电量 ( 如交流电压、 交流电流 ) 的采样数值进行 FFT, 需要占用大量的微控制单 元 (Micro Control Unit, MCU) 的时间。
同时, 目前的交流采样处理触发是由 MCU 主程序通过定时器来触发的, 即当定时 器的计时时间到达预设值时, MCU 主程序触发交流采样处理。但是, 在定时器开始计时至计 时时间到达预设值期间, MCU 主程序将暂停工作, 降低了 MCU 工作效率。
发明内容 本发明实施例中提供了一种交流采样处理方法及装置, 可以减少占用 MCU 的时 间, 提高 MCU 工作效率。
一种交流采样处理方法, 包括 :
中断程序触发用于唤醒线程的唤醒信号 ;
所述线程被所述唤醒信号唤醒, 并从缓冲区中读取预先存储的各个电量的采样数 值; 所述各个电量的采样值至少包括交流电压的采样值和交流电流的采样值 ;
将所述各个电量的采样数值进行离散傅里叶变换 (DFT), 获得各个交流电量。
其中, 所述中断程序触发用于唤醒线程的唤醒信号包括 :
中断程序判断采样定时器的计时时间是否到达预设值, 若是, 则对各个电量进行 采样并存储所述各个电量的采样数值 ;
判断采样次数是否等于 64 次, 若是, 则复位所述采样次数并启动用于唤醒线程的 唤醒信号。
可选地, 所述方法还包括 :
在获得各个交流电量之后, 复位所述采样定时器并启动所述采样定时器重新计 时。
可选地, 所述方法还包括 :
在获得各个交流电量之后, 将所述各个交流电量输出液晶显示器 LCD 显示。
一种交流采样处理装置, 其特征在于, 包括 :
中断程序模块, 用于触发用于唤醒线程的唤醒信号 ;
线程模块, 用于被所述唤醒信号唤醒, 并从缓冲区中读取预先存储的各个电量的 采样数值 ; 所述各个电量的采样值至少包括交流电压的采样值和交流电流的采样值 ;
计算模块, 用于将所述各个电量的采样数值进行离散傅里叶变换 DFT, 获得各个交 流电量。
其中, 所述中断程序模块包括 :
第一判断子模块, 用于判断采样定时器的计时时间是否到达预设值 ;
第一采样子模块, 用于在所述第一判断子模块的判断结果为是时, 对各个电量进 行采样并存储所述各个电量的采样数值 ;
第二判断子模块, 用于判断所述第一采样子模块的采样次数是否等于 64 次 ;
第一控制子模块, 用于在所述第二判断子模块的判断结果为是时, 复位所述第一 采样子模块的采样次数并启动用于唤醒线程的唤醒信号。
可选地, 所述装置还包括 :
第二控制子模块, 用于在所述计算模块获得各个交流电量之后, 复位所述采样定 时器并启动所述采样定时器重新计时。
可选地, 所述装置还包括 :
液晶显示器 LCD, 用于在所述计算模块获得各个交流电量之后, 显示所述各个交流 电量。
与现有的技术相比, 本发明实施例具有以下有益效果 :
本发明实施例中, 由中断程序触发用于唤醒线程的唤醒信号 ; 线程被唤醒信号唤 醒, 并从缓冲区中读取预先存储的各个电量的采样数值 ; 将各个电量的采样数值进行离散 傅里叶变换 (DFT), 获得各个交流电量。即本发明实施例将触发交流采样处理的任务从 MCU 主程序中分离出来, 减少 MCU 主程序工作, 提高 MCU 工作效率 ; 同时, 本发明实施例中将各个 电量的采样数值进行离散傅里叶变换 DFT, 获得各个交流电量, 可以减少占用 MCU 的时间。 附图说明 为了更清楚地说明本发明实施例中的技术方案, 下面将对实施例中所需要使用的 附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些实施例, 对于本领 域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附 图。
图 1 为本发明实施例中提供的一种交流采样处理方法的流程图 ;
图 2 为本发明实施例中提供的一种中断程序触发用于唤醒线程的唤醒信号的方 法流程图 ;
图 3 为本发明实施例中提供的一种交流采样处理装置的结构图 ;
图 4 为本发明实施例中提供的另一种交流采样处理装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于 本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。
实施例一 :
请参阅图 1, 图 1 为本发明实施例中提供的一种交流采样处理方法的流程图。 如图 1 所示, 该交流采样处理方法可以包括以下步骤 :101、 中断程序触发用于唤醒线程的唤醒信号 ;
102、 线程被上述唤醒信号唤醒, 并从缓冲区中读取预先存储的各个电量的采样数 值; 其中, 上述的各个电量的采样值至少包括交流电压的采样值和交流电流的采样值 ;
103、 将上述的各个电量的采样数值进行离散傅里叶变换 (DFT), 获得各个交流电 量。
其中, 与将各个电量 ( 如交流电压、 交流电流 ) 的采样数值进行 FFT 相比, 本发明 实施例将各个电量的采样数值进行离散傅里叶变换 DFT, 可以减少占用 MCU 的时间, 这是由 于 FFT 算法与 DFT 算法的性质决定的, 本实施例不作赘述。
请一并参阅图 2, 图 2 为本发明实施例中提供的一种中断程序触发用于唤醒线程 的唤醒信号的方法流程图。如图 2 所示, 该方法可以包括以下步骤 :
201、 中断程序判断采样定时器的计时时间是否到达预设值, 若是, 则执行步骤 202 ; 若否, 则继续判断采样定时器的计时时间是否到达预设值。
202、 对各个电量进行采样并存储各个电量的采样数值 ;
203、 判断采样次数是否等于 64 次, 若是, 则执行步骤 204 ; 若否, 则继续执行步骤 202 ;
204、 复位上述采样次数并启动用于唤醒线程的唤醒信号。
本发明实施例中, 由中断程序触发交流采样处理可以将触发交流采样处理的任务 从 MCU 主程序中分离出来, 减少 MCU 主程序工作, 提高 MCU 工作效率。
可选地, 本实施例中提供的交流采样处理方法还可以包括步骤 :
在获得各个交流电量之后, 复位采样定时器并启动所述采样定时器重新计时。
可选地, 本实施例中提供的交流采样处理方法还可以包括步骤 :
在获得各个交流电量之后, 将上述的各个交流电量输出液晶显示器显示。 其中, 采 用液晶显示器显示可以方便用户直观、 精确地获悉上述的各个交流电量。
本发明实施例将触发交流采样处理的任务从 MCU 主程序中分离出来, 减少 MCU 主 程序工作, 提高 MCU 工作效率 ; 同时, 本发明实施例中将各个电量的采样数值进行离散傅里 叶变换 DFT, 获得各个交流电量, 可以减少占用 MCU 的时间。
实施例二 :
请参阅图 3, 图 3 为本发明实施例中提供的一种交流采样处理装置的结构图。 如图 3 所示, 该交流采样处理装置可以包括 :
中断程序模块 301, 用于触发用于唤醒线程的唤醒信号 ;
线程模块 302, 用于被上述的唤醒信号唤醒, 并从缓冲区中读取预先存储的各个电 量的采样数值 ; 其中, 上述的各个电量的采样值至少包括交流电压的采样值和交流电流的 采样值 ;
计算模块 303, 用于将上述的各个电量的采样数值进行离散傅里叶变换 (DFT), 获 得各个交流电量。
请一并参阅图 4, 图 3 为本发明实施例中提供的另一种交流采样处理装置的结构 图。图 4 所示的交流采样处理装置是由图 3 所示的交流采样处理装置进行优化得到的。在 图 4 所示的交流采样处理装置中, 中断程序模块 301 可以包括 :
第一判断子模块 3011, 用于判断采样定时器的计时时间是否到达预设值 ;第一采样子模块 3012, 用于在第一判断子模块 3011 的判断结果为是时, 对各个电 量进行采样并存储各个电量的采样数值 ;
第二判断子模块 3013, 用于判断第一采样子模块 3012 的采样次数是否等于 64 次;
第一控制子模块 3014, 用于在第二判断子模块 3013 的判断结果为是时, 复位第一 采样子模块 3012 的采样次数并启动用于唤醒线程的唤醒信号。
可选地, 如图 4 所示, 该流采样处理装置还可以包括 :
第二控制子模块 304, 用于在计算模块 303 获得各个交流电量之后, 复位采样定时 器并启动采样定时器重新计时。
可选地, 如图 4 所示, 该流采样处理装置还可以包括 :
液晶显示器 305, 用于在计算模块 303 获得各个交流电量之后, 显示上述的各个交 流电量。
本发明实施例将触发交流采样处理的任务从 MCU 主程序中分离出来, 减少 MCU 主 程序工作, 提高 MCU 工作效率 ; 同时, 本发明实施例中将各个电量的采样数值进行离散傅里 叶变换 DFT, 获得各个交流电量, 可以减少占用 MCU 的时间。 本领域普通技术人员可以理解 : 实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成, 前述的程序可以存储于一计算机可读取存储介质中, 该程序 在执行时, 执行包括上述方法实施例的步骤 ; 而前述的存储介质包括 : ROM、 RAM、 磁碟或者 光盘等各种可以存储程序代码的介质。
以上对本发明实施例中提供的一种交流采样处理方法及装置进行了详细介绍, 本 文中应用了具体个例对本发明的原理及实施方式进行了阐述, 以上实施例的说明只是用于 帮助理解本发明的方法及其核心思想 ; 同时, 对于本领域的一般技术人员, 依据本发明的思 想, 在具体实施方式及应用范围上均会有改变之处, 综上, 本说明书内容不应理解为对本发 明的限制。