基于STM32 ARM+FPGA+AD的电能质量分析仪方案设计(一)硬件设计

电能质量分析系统硬件设计
3.1 电能质量分析系统设计要求
本系统实现对电能质量的高精度测量,根据国家相关电能质量分析仪器规定
标准以及对市场电能质量分析仪的分析,指定以下设计目标。
1 )电能质量参数测量精度:
1 )有效值:电压有效值 ±0.2% ,电流有效值 ±0.5%
2 )频率: ±0.01Hz
3 )谐波: 2-50 次,精度: ±3%
4 )频率: ±0.01Hz
5 )三相不平衡度:电压不平衡度 ±0.2% ,电流不平衡度± 1%
2 )实时显示电能质量参数,实现数据共享和良好的人机交互。
3 )电能质量参数数据进行存储。
3.2 电能质量分析系统硬件方案设计
3.2.1 硬件架构设计
电能质量分析系统对采集到的电力信号数据进行处理的过程中涉及到大量
的数据计算和传输,此过程需要消耗芯片内部大量的逻辑单元和储存单元以实现
高效的计算和处理任务。因此,在选择处理器芯片时要综合考虑处理器的性能,
以确保其具有足够的计算能力和运行速度处理复杂的运算,从而保证系统的效率、
可靠性。
常见的单核控制微处理器有 ARM DSP FPGA 等。其中 ARM 具有高性
能、易集成以及较强的事务管理能力,在系统控制时并行独立处理多任务互不干
扰; DSP 擅长数据计算处理,但受硬件结构条件限制,依靠软件指令执行,串行
处理数据的方式在处理大量数据计算任务时仍存在低效能的情况; FPGA 的优势
则是其灵活性、可重构行以及并行处理的能力。单一的控制核心不足以满足复杂
的设计需求,现今主控解决方案采用双核以及三核处理器的方法以达到取长补短
的作用。目前高端的电能质量分析仪的主控架构主要有以下几种: ARM+DSP
DSP+FPGA ARM+FPGA
1 ARM+DSP 架构兼备系统控制以及数据处理功能,其中 ARM 承担任
务分配而 DSP 分担数据计算处理,但该系统扩展能力差,后续如想添加新功能
只能更换芯片较为麻烦。
2 DSP+FPGA 架构中 FPGA 承担数据采集和通信控制的功能, DSP 负责
算法运算。但任务管理能力差,对于功能繁多的任务来说显然是有所欠缺。
3 ARM+FPGA 架构具备系统控制以及数据处理功能,相较于 DSP 串行
处理数据的方式, FPGA 的并行处理在进行数据加速、实时性高的情景下更有优
势。
除上述架构外还有 ARM+DSP+FPGA 架构,该架构优势在于融合多种类型
处理器,提供更完善的功能和更强大的性能,但系统复杂度大幅增加,开发难度
和维护性更高,需要大量人力和物力投入,增加了系统的开发和维护成本。此外,
该架构的优化和调试更具挑战性,需要深入研究不同处理器之间的通信和数据交
换等问题。因此,在选择处理器架构时,需要考虑任务的性质、规模、预算和人
力资源等多方面因素,并在系统性能、复杂度和成本之间进行平衡。所以该架构
不在本次设计考虑范围。
综合考虑各种架构的优缺点以及结合实际开发时的内外在因素,选择基于
FPGA+ARM 架构实现电能质量分析系统设计。 ARM 架构满足三相电力系统电
能质量检测时的任务控制分配,包括三相电压(流)的六通道信号的采集、传输
和处理,并可在后期进行相应的扩展。 FPGA 架构通过对多通道数据并行处理技
术的应用,能够有效降低数据处理时间,实现对实时性要求的满足。
3.2.2 芯片选型
作为整个系统的核心控制组成部分, ARM 主控核心扮演着极其重要的角色。
在当今市场上众多微处理器种类层出不穷的情况下,选型一款合适的主控核心时
应考虑性能、资源以及配套设施是否完善。包括开发工具、学习资源和实施案例
等方面,在保证系统设计的可靠性和稳定性方面具有重要意义。通过对市场主流
控制芯片的对比分析选型为 STM32F407ZGT6 芯片作为 ARM 端的主控核心。
FPGA 芯片选型选择 Xilinx 公司 Spartan-6 系列的 XC6SLX16 芯片作为设
计的目标芯片,并使用 ISE14.7 作为系统工具进行程序设计,采用 Mentor 公司
ModelSim 进行仿真功能验证。
3.2.3 硬件架构系统设计
硬件架构设计图如图 3-1 所示。
本系统由前端信号采集预处理模块、基于 FPGA 的数据处理模块和基于
ARM 的人机交互与显示模块构成。
采集预处理模块将电力信号通过调理后转换成适合 ADC 的采样信号,并滤
除所需频率外的高频信号以及保留被测信号的各种信息,承担系统的核心检测工
作,对电能质量参数检测结果的精准性起到了决定性的作用。
基于 FPGA 的数据处理模块包括全数字锁相环模块、主控制模块, ADC
制以及算法等主要模块。其中,主控制器模块负责各模块参数的配置、数据交换
处理等任务,通过与其他模块的协调工作,保证电能质量分析系统的高效有序运
行。
基于 ARM 的人机交互模块是电能质量分析系统的控制部分,集成了 FSMC
控制器模块、配置控制器模块以及通信和存储模块,在系统中起到 大脑 的作用。
其中 FSMC ARM FPGA 通信总线; ARM 通过配置控制器模块对 FPGA
行相应的初始化配置。
3.3 数据采集预处理电路
电力系统中的电力信号通常是高电压、大电流且存在瞬态事件,因此并不能
直接对其进行数据采集转换,在数据采集时,必须确保仪器具有耐高压的能力,
并在保证使用者自身安全的前提下保证所采集数据的信息完整性。
电力信号的高精度采集依赖于精准可靠的信号采集预处理模块。该模块包括
采集电路、抗混叠滤波电路、同步采样锁相倍频电路、单端转差分电路以及
AD7609 模数转换电路。其中抗混叠滤波电路能有效消除目标信号外的高频干扰
信号,提高采样信号的稳定性和精度;锁相倍频电路可实现信号的精确实时同步,
使得 AD 的采样频率是信号频率的整周期倍,保证采样数据的一致性和准确性;
单端转差分电路可增强信号的抗干扰能力; AD 模数转换电路将采集到的电力信
号转换为离散数字信号。
本设计是对三相电压和三相电流的六通道信号进行检测,因电压电流预处理
步骤相似,本章仅对电压信号采集模块进行介绍。电压信号采集处理模块结构图
如下图 3-2 所示。
电力信号采样方式有以下两种方式:
1 )直流采样:将采集的交流信号不间断的转换成直流信号且与原始信号
保持线性关系,并转换成离散的数字信号。在此过程具有整流和滤波的功能,使
得直流采样具备了很强的抗干扰能力。但实时性不强且对原始信号无法直观观察。
2 )交流采样 [47] :使用互感器对原始交流信号进行采集,并对互感器副边
的交流信号进行采样。优点是采样的信号是与原始信号的频率相同、幅值具有一
定的比例关系的交流信号,具有实时性强且客观的反映出原始信号的波形。
本设计采用的是交流采样的方式对电力信号进行采集,此种方法可以保留原
始信号的波形相位等信息且失真较小。

3.6ARM 控制系统设计

ARM 为本系统的控制核心,负责整个系统的协调工作,完成与 FPGA 的数

据传输以及数据存储等。ARM 模块结构框图如图 3-16 所示。

3.5.1 FSMC 接口模块

FSMC 全称为可变静态存储控制器,是 ARM 内嵌的高性能、可靠性的存储

器控制器。该控制器能够连接多种类型的静态存储器,如 SRAM、NOR Flash、

PSRAM 等,并提供高速数据传输和灵活的访问方式,以满足各种嵌入式系统的

需求。FSMC 支持多种数据总线宽度和存储器大小,同时具有多种访问模式和时

序控制功能,以适应不同类型的存储器和应用场景。相对于 EMI 控制器,FSMC

在连接大容量存储器、支持更多的存储器类型、提供更丰富的控制功能和更高的

性能方面更有优势。与 FMC 相比,FSMC 提供更高的数据传输速度和更灵活的

存储器配置方式,同时还具有更高的可靠性和稳定性[54]。因此,本设计采用 FSMC

总线实现 FPGA 与 ARM 的数据通信与传输。

FSMC 将外部静态存储器划分为四个容量相同为 64M 的存储区域,本设计

使用 Bank1 中的 NOR 控制器管理内存。FSMC 存储区域,如图 3-17 所示。

如上图所示,FPGA 与 ARM 通过 FSMC 通信总线连接,通过控制该区域中

FSMC_NE1 的片选信号状态来控制双核的通信以及数据传输;FSMC_NOE 和

FSMC_NEW 是读写控制信号,FSMC_NBL[0:1] 是用于 FPGA 向 STM32 发送

请求中断信号。

3.5.2 数据通信与存储模块

STM32 中 UART 串口仅支持传统的串口通信协议,如 RS-232 或 RS-485 协

议,因此无法直接与上位机进行通信,为实现 STM32 与上位机的通信和控制,需

使用 USB 转串口电路将 UART 串口信号转换为 USB 信号进行传输。USB 转串

口原理图如图 3-19 所示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/56139.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go发送邮件:在Go语言中实现发邮件的教程?

go发送邮件的教程指南?怎么使用Go语言发送电子邮件? Go语言,作为一种简洁、高效且并发性强的编程语言,自然也提供了丰富的库来支持邮件发送功能。AokSend将详细介绍如何在Go语言中实现发送邮件的功能,帮助你快速掌握这…

关于Git Bash中如何定义alias

一、在一次临时Bash会话中使用alias 在Bash中直接输入alias xxdddd,xx为对应要执行的命令的缩写,dddd为要执行的命令,如alias ddcd /d,输入完成后,在Bash中输入dd,即可切换至D盘。 此种设置方式&#xff…

RabbitMQ 入门(六)SpringAMQP五种消息类型

一、发布订阅-DirectExchange(路由模式) 在Fanout模式中,一条消息,会被所有订阅的队列都消费。但是,在某些场景下,我们希望不同的消息被不同的队列消费。这时就要用到Direct类型的Exchange。 Direct Exchan…

个性化图像生成新SOTA!阿里开源MIP-Adapter,可将无需微调的IP-Adapter推广到同时合并多个参考图像。

今天给大家介绍阿里最近开源的个性化图像生成的新方法MIP-Adapter,将无需微调的预训练模型(IP-Adapter)推广到同时合并多个参考图像。MIP-Adapter会根据每个参考图像与目标对象的相关性来给这些图像分配不同的“重要性分数”。这样&#xff0…

Ngin入门套餐

快速了解Nginx 一、代理1.1 正向代理1.2 反向代理1.3 正向代理和反向代理的区别 二、Nginx负载均衡策略2.1 轮询(Round Robin)2.2 加权轮询(Weighted Round Robin)2.3 IP 哈希(IP Hash)2.4 最少连接&#x…

机器人大功率主轴SycoTec 4060 ER-S汽车电机机芯焊缝铣削打磨加工

在汽车制造的精密领域,每一个细节都关乎着整车的性能与品质,而汽车电机机芯的焊缝加工更是其中至关重要的一环。在机器人末端加装德国进口电主轴 SycoTec 4060 ER-S,为汽车电机机芯焊缝铣削打磨加工带来全新的解决方案。 SycoTec 4060 ER-S转…

【SEO】什么是SEO?

什么是SEO(搜索引擎优化)?为什么SEO对于⼀个⽹站⾄关重要? SEO 全称是搜索引擎优化(Search Engine Optimization) 因为我们目前开发的网址,需要人看到,除了通过宣传营销的方式展现…

电能表预付费系统-标准传输规范(STS)(4)

5.4 TokenCarrier 到 MeterApplicationProcess 的数据流 The flow of data from the TokenCarrier to the MeterApplicationProcess is shown in Figure 4.此数据流见图 4。 图 4 TokenCarrier 到 MeterApplicationProcess 的数据 The token entry process from the TokenCarr…

【OSCP Proving Grounds 靶场系列】Slort

作者:Eason_LYC 悲观者预言失败,十言九中。 乐观者创造奇迹,一次即可。 一个人的价值,在于他所拥有的。可以不学无术,但不能一无所有! 技术领域:WEB安全、网络攻防 关注WEB安全、网络攻防。我的…

使用LSPatch+PlusNE修改手机软件

一、问题概述 国内使用一些软件,即使科学上网,打开都是网络错误,更换节点同样如此。 二、软件下载 通过官网或者正规商店(如Google play)下载并且安装。 是的,先要下载一个无法使用的版本,后续对其进行修改。 三、下…

中标麒麟v5安装qt512.12开发软件

注意 需要联网操作 遇到问题1:yum提示没有可用软件包问题 终端执行如下命令 CentOS7将yum源更换为国内源保姆级教程 中标麒麟V7-yum源的更换(阿里云源) wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Cento…

k8s、prometheus、grafana数据采集和展示的链路流程

k8s集群中,容器级别的数据采集是由cAdvisor程序实现 cAdvisor # Container Advisor 容器顾问 cAdvisor程序是kubelet组件的一部分。 每个节点,包括master节点,都有一个kubelet系统服务, kukelet负责管理pod和容…

软件测试学习笔记丨Linux三剑客-grep

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32506 一、简介 1.1 grep命令 grep是一个全局查找正则表达式,并且打印结果行的命令。grep的输入是一个文件或者一个标准输入(stdin),或者是一…

【C语言】指针练习题

一、指针指向问题 int main() {int a[5] { 1, 2, 3, 4, 5 };int* ptr (int*)(&a 1);printf("%d,%d", *(a 1), *(ptr - 1));return 0; } 结果为:2,5。&a是整个数组(&a 1)被强转为(int*&am…

成都睿明智科技有限公司共创抖音电商新篇章

在当今这个数字化浪潮汹涌的时代,抖音电商以其独特的魅力迅速崛起,成为众多商家竞相追逐的新蓝海。在这片充满机遇与挑战的领域中,成都睿明智科技有限公司凭借其专业的服务、创新的策略和敏锐的市场洞察力,成为了众多商家信赖的合…

图像增强论文精读笔记-Kindling the Darkness: A Practical Low-light Image Enhancer(KinD)

1. 论文基本信息 论文标题:Kindling the Darkness: A Practical Low-light Image Enhancer 作者:Yonghua Zhang等 发表时间和期刊:2019;ACM MM 论文链接:https://arxiv.org/abs/1905.04161 2. 研究背景和动机 现有…

第十一章 RabbitMQ之消费者确认机制

目录 一、介绍 二、演示三种ACK方式效果 2.1. none: 不处理 2.1.1. 消费者配置代码 2.1.2. 生产者主要代码 2.1.3. 消费者主要代码 2.1.4. 运行效果 2.2. manual:手动模式 2.3. auto:自动模式 一、介绍 消费者确认机制(Consume…

GPT 生成绘画_Java语言例子_超详细

基于spring ai :简化Java AI开发,提升效率与维护性 过去在使用Java编写AI应用时,主要困境在于缺乏统一的标准化封装,开发者需要针对不同的AI服务提供商查阅各自独立的文档并进行接口对接,这不仅增加了开发的工作量&am…

python常用的字符串方法

一、求字符串的长度 python最常用的内置函数 二、切片获取子串 获取前第5个字符 print(s[:5]) # wuzij 获取后6个字符 print(s[-6:]) # python 三、去掉多余空格 四、是否以某个串开头 五、是否包含某个子串 六、串联多串 七、分割多串 八、替换子串

删除右键PDF文件时出现的多余快捷键 - 右键管理软件推荐 - ‘‘ContextMenuManger’’

1. 删除右键PDF文件时出现的多余快捷键 /* File: notes.mdProject: A3_2_关闭右键PDF时流氓程序File Created: Saturday, 12th October 2024 9:05:54 pmAuthor: Hanlin Gu (hg_fine_codes163.com)Last Modified: Saturday, 12th October 2024 9:31:06 pmModified By: HG (hg_…