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

news2024/11/27 16:41:06

电能质量分析系统硬件设计
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.coloradmin.cn/o/2204460.html

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

相关文章

基于 Prometheus+Grafana+Alertmanager 搭建 K8S 云监控告警平台(附配置告警至QQ、钉钉)

文章目录 一、机器规划二、部署安装 node-exporter、prometheus、Grafana、kube-state-metrics1、创建 monitor-sa 命名空间2、安装node-exporter组件2.1、说明2.2、应用资源清单2.3、通过node-exporter采集数据 3、k8s 集群中部署 prometheus3.1、创建一个 sa 账号3.2、将 sa …

智谱开放平台API调用解析

一、什么是智谱AI 智谱AI成立于2019年,由‌清华大学计算机系知识工程实验室的技术成果转化而来,是一家致力于人工智能技术研发和应用的公司。智谱致力于打造新一代认知智能大模型,专注于做大模型的中国创新。 二、智谱开放平台API调用 官方文…

遍历有向图链路(DFS算法)- 优化版

在上一节基础上,去除了节点的pre集合,只保留节点next的结合,对数据模型进行了优化,实现思想做了优化。 有向图示例: 基本思路 构建有向图数据模型校验有向图不能出现回路,即当前节点不能出现在历史链路中首…

Java控制台实现《多线程模拟龟兔赛跑》(实现Runnale接口,重写run()方法)

(温馨提示:本题最重要的是学习思路,代码还有待优化和改进!) 下一篇博客进行优化。实现Callable接口:V call() throws Exception 。可以返回结果,以及可以抛出异常。(启动线程比较麻烦…

spingboot项目打包到docker镜像[保姆级教程]

目录 1. 项目准备 2. 项目打包测试 3. docker配置 3.1 服务器端配置 3.2 开发IDEA配置 3.3 创建dockerfile 写在前面: 这博客一晃鸽了好久了,其实不是没有创作,只是懒得写博客了.日常都记录在自己的语雀小本本上了.好久没有出保姆级教程了,这次忽然想通过ide…

IP地址类型选择指南:动态IP、静态IP还是数据中心IP?

你是否曾经困惑于如何选择最适合业务需求的IP地址类型?面对动态IP、静态IP和数据中心IP这三种选择,你是否了解它们各自对你的跨境在线业务可能产生的深远影响? 在跨境电商领域,选择合适的IP类型对于业务的成功至关重要。动态IP、…

UART在Linux内核启动时突然不打印的问题

国庆前一天收到的任务,在一颗比较成熟的芯片的SDK基础上,移植一个新内核,让它能够在bitfile下跑在FPGA上。 看了芯片设计那边给的文档,对比过去的那颗,感觉也就改改寄存器,中断号,时钟&#xff…

聚焦AI|智享AI直播三代模型的出现,打破传统直播束缚!

聚焦AI|智享AI直播三代模型的出现,打破传统直播束缚! 在数字化浪潮的推动下,直播行业正经历着前所未有的变革与升级。其中,智享AI直播三代模型的出现,无疑成为了业界关注的焦点。这一创新技术不仅引发了关于无人直播未来发展方向的…

18709 魔法

### 思路 为了将所有白色奶牛排在前面,黑色奶牛排在后面,我们可以考虑两种策略: 1. 将所有的奶牛都变成白色。 2. 将所有的奶牛都变成黑色。 我们需要计算这两种策略所需的最少次数,并选择其中较小的一个。 具体步骤如下&#x…

从加载到对话:使用 Llama-cpp-python 本地运行量化 LLM 大模型(GGUF)

(无需显卡)使用 Llama-cpp-python 在本地加载具有 70 亿参数的 LLM 大语言模型,通过这篇文章你将学会用代码创建属于自己的 GPT。 建议阅读完 19a 的「前言」和「模型下载」部分后再进行本文的阅读。 代码文件下载 - Llama-cpp-python 文章目…

AI智能体:共塑企业变革新纪元,引领未来无限潜能

当我们被《银翼杀手2049》或《机械公敌》等科幻大片中那些远超人类能力、能够自主判断并行动的人工智能所震撼时,AI时代的“智能体”已经悄然渗透进我们的工作生活中,成为引领企业变革的先锋力量,将我们带入一个全新的纪元。 ​从辅助到共生&…

【Unity】背景图片随着背景里面内容大小而变化

今天制作项目里面的设置界面和暂停界面时,发现两个界面有很多重复部分,所以直接做一个界面就行了,但是两个界面的背景大小会有变化,图片在下面 这个是游戏暂停界面的,设置界面和这个界面有很多重复地方,仅仅…

学习博客写作

欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持&#x…

安卓手机平板远程访问内网服务器中安装的code-server编程开发实战

文章目录 前言1.Ubuntu本地安装code-server2. 安装cpolar内网穿透3. 创建隧道映射本地端口4. 安卓平板测试访问5.固定域名公网地址6.结语 前言 本文主要介绍如何在Linux Ubuntu系统安装code-server,并结合cpolar内网穿透工具配置公网地址,轻松实现使用安…

SQL 干货 | 使用 Having 子句筛选聚合字段

如果你编写 SQL 查询已有一段时间,那么你可能对 WHERE 子句非常熟悉。虽然它对聚合字段没有影响,但有一种方法可以根据聚合值过滤记录,那就是使用 HAVING 子句。本博客将介绍它的工作原理,并提供几个在 SELECT 查询中使用它的示例…

计次卡魔都千丝冥缘应用———未来之窗行业应用跨平台架构

一、魔都千丝冥缘作用 在本次卡购买种,涉及卡包表单、次卡表单,商品表单,提成表单,支付方式表单,职员表单 并且在商品表和次卡表单字段一样,元素name名称一样。 未来之窗魔都千丝冥缘,将功能…

字节跳动青训营开始报名了!

关于青训营: 青训营是字节跳动技术团队发起的技术系列培训 &人才选拔项目;面向高校在校生,旨在培养优秀且具有职业竞争力的开发工程师。 本次技术训练营由掘金联合豆包MarsCode 团队主办课程包含前端、后端和 A 方向,在这个飞速发…

高频股票期货ETF历史高频数据源

【数据源】 银河金融数据库(yinhedata.com) 提供金融数据股票、美股、期货以及ETF等高频tick数据,分钟级别数据。 MACD背离是指MACD指标与价格走势之间发生的方向性差异,这通常被视为市场可能发生趋势反转的信号。以下是一个具体…

GS-SLAM论文阅读笔记-CG-SLAM

前言 这是一篇不是最新的工作,我之前没有阅读,但是我前几天阅读GLC-SLAM的时候,发现它的一部分内容参考了CG-SLAM,并且CG-SLAM最近被ECCV2024接收,说明这是一片值得参考的好文章,接下来就阅读一下吧&#…

数据库——表格之间的关系(表格之间的连接和处理)

数据库表格之间经常存在各种关系: 一对一、一对多、多对多 1.一对一 —— 丈夫表,妻子表为例 连接方式一:合并为一张表 这种方式对于一对一来说最优 连接方式二:在其中一张表内加入一个外键,连接另一张表 连…