基于ARM+FPGA的电力通信管理机IEC61850规约通信机的实现

本章通过对比传统的通信管理机方案对需要支持多RS485端口的不足之处, 以及在进行海量数据处理时的性能瓶颈,本文使用Intel全新的Cyclone V SoC  FPGA芯片,充分发挥FPGA的高速并行运算特性以及现场可配置优势,并且结合 ARM处理器的灵活运算和控制能力,设计了基于异构计算架构的硬件可配置电力 通信管理机系统[8]。本章将结合第二章介绍的光伏方阵对通信管理机的基本要求, 结合SoC FPGA的自身硬件特点,分析了SoC FPGA针对光伏电力通信系统管理 机的可实现性。

3.1 SoC FPGA的基本概念 
Intel Cyclone V SoC FPGA是Intel PSG(原Altera)于2013年发布的一款在单 一芯片上集成了双核的ARM Cortex-A9处理器和FPGA逻辑资源的新型SoC芯片, 相较于传统的单一ARM处理器或FPGA芯片,Intel Cyclone V SoC FPGA既拥有 了ARM处理器灵活高效的数据运算和事务处理能力,同时又集成了FPGA的高速 并行处理优势,同时,基于两者独特的片上互联结构,使用时可以将FPGA上的 通用逻辑资源经过配置,映射为ARM处理器的一个或多个具有特定功能的外设, 通过高达128位宽的AXI(Advanced Extensible Interface)高速总线进行通信,完 成数据和控制命令的交互[9]。由于片上的ARM处理器是经过布局布线的硬线逻辑, 因此其能工作的时钟主频较高,因此单位时间内能够执行的指令也更多[8]。  3.2 SoC FPGA架构相较于传统架构的优势  3.2.1 SoC FPGA架构相较于独立处理器架构的优势 
在SoC FPGA架构出现之前一般的嵌入式系统通常使用各种处理器或单片机 作为系统核心,如ARM、X86、PowerPC等。这些处理器的最大局限在于其芯片 上的外设数量是确定的,一旦选定一款特定的处理器,则其本身能够提供的各种 功能也就确定了,例如选择S3C2410这款处理器,则该芯片本身有且仅有3个 UART串口,当系统所需的串口数量大于3个时,不得不采用另外的方法来扩张实 现,例如使用各种串口扩展芯片,另外,由于这些处理器芯片片上外设功能都是 固定的,仅支持在一定程度上设置其工作模式,却无法实现非常灵活的个性化定 制,例如S3C2410处理器的片上UART控制器带有16个字节的FIFO缓冲,但是在某些大数据量的应用中,希望有更大容量的FIFO来满足功能开发需求,则片上 的UART控制器不能完全满足要求,只能通过软件的方式处理[10]。 
SoC FPGA由于芯片上包含有现场可编程逻辑门阵列,可以根据实际应用需求 设计相应的逻辑电路,如带有256个字节的FIFO的UART控制器。而且,得益于 SoC FPGA芯片上FPGA和HPS部分独特的高速互联架构,FPGA侧设计的功能 电路可以直接连接到HPS的总线上,从而映射为HPS的一个外设,由HPS对其 进行读写操作,该操作就像处理器操作本身片上含有的外设一样简单方便。 
相较于传统的硬件功能固定的处理器,SoC FPGA能够突破硬件功能限制,根 据实际应用需求灵活设计功能电路并连接到处理器的总线上,由处理器对其进行 控制。 
3.2.2 SoC FPGA架构相较于独立FPGA系统的优势 
FPGA作为一种可以随时更改其实现的逻辑电路功能的器件,在高速并行数据 处理方面有天然的优势。由于FPGA实现的是硬件逻辑功能,其执行效率相较于 使用程序指令实现功能的处理器来说要高很多,例如执行3个数据的乘加运算, FPGA可以使用两个乘法器和一个加法器,在一个时钟周期内完成运算并输出结 果,而CPU则可能需要将将该操作拆分成1条乘加指令和1条乘法指令,即使高 性能的CPU,也需要2个指令周期才能完成该操作。同时,FPGA也可以利用功 能复制的方式,在一个芯片上实现大量相同的功能,例如设计好一个高速数据采 集+FIR数字滤波功能模块,然后可以直接将其例化多次,实现一个高速多路数据 采集处理系统。 
然而,单独的FPGA设计的系统也有其不足之处,由于FPGA实现功能都是 通过功能固定的逻辑电路实现的,那么当应用中需要灵活的控制和人机交互或者 复杂的以太网协议通信时,使用FPGA实现就会有较大的难度,即使使用复杂的 状态机能够勉强实现功能,也面临者功能固定,修改难度大的问题,例如在上述 多路采集系统之中,当需要将多路采集到的数据在液晶显示屏上绘制为波形或者 使用TCP/IP协议传输到远端服务器时,单纯的FPGA就难以胜任了,而ARM处 理器,尤其是运行了嵌入式操作系统的ARM处理器,在图形界面显示和网络传输 方面有较大的优势,如果将FPGA实现的多路高速数据采集系统的采集结果交给 ARM处理器来实现波形显示或者网络传输,则只需要简单的软件编程即可实现。 
SoC FPGA作为一种在单一芯片上集成了FPGA和高性能处理器的新型芯片 架构,即拥有FPGA高速并行处理和灵活功能定制的优势,同时又拥有ARM处理 器实现灵活控制、图形界面显示和网络传输方面的优势。而且,这两者在芯片上并不是相互独立的存在,而是通过片上的高速互联架构有机的连接到了一起, FPGA采集的数据可以通过F2H Bridge桥直接写入到HPS侧的存储器中,然后由 HPS将数据读取,使用高级的图形界面编程工具,例如Mini GUI(Graphical User  Interface)或者Qt来设计图形界面并显示波形,也可以使用Web Server网络服务 器将数据组织起来并传递给远端计算机接收。  3.2.3 SoC FPGA架构相较于SOPC技术的优势 
为了解决单独的FPGA在灵活多变应用中的不足,在SoC FPGA技术推出之 前,各大FPGA厂家已经推广了有多年的SOPC(System-on-a-Programmable-Chip) 技术。和SoC FPGA不相同的是,SOPC是在单纯的FPGA芯片上使用FPGA的逻 辑和存储器资源搭建一个软核CPU系统,由该软核CPU实现所需处理器的完整功 能。最具代表性的就是Altera的NIOS II处理器和Xilinx的MicroBlaze处理器。 
由于是使用FPGA的通用逻辑搭建的CPU,因此具有一定的灵活性,用户可 以根据自己的需求对CPU进行定制裁剪,增加一些专用功能,例如除法或浮点运 算单元,用于提升CPU在某些专用运算方面的性能,或者删除一些在系统里面使 用不到的功能,以节约逻辑资源。另外也可以根据用户的实际需求,为CPU添加 各种标准或定制的外设,例如UART(Universal Asynchronous Receiver/Transmitter)、 SPI(Serial Peripheral Interface)、IIC(Inter-Integrated Circuit)等标准接口外设, 同时,用户也可以自己使用FPGA的逻辑资源,编写各种专用的外设,然后连接 到CPU总线上,由CPU进行控制,以实现软硬件的协同工作,在保证系统性能的 同时,增加了系统的灵活性。而且,如果单个的软核CPU无法满足用户需求,可 以添加多个CPU软核,搭建多核系统,通过多核CPU协同工作,让系统拥有更加 灵活便捷的控制能力和较强的运算处理能力。 
但是,由于CPU是使用FPGA的通用逻辑资源搭建的,相较使用经过布局布 线优化的硬核处理器来说,软核处理器够运行的最高时钟主频要低一些,而且也 会相应的消耗较多的FPGA逻辑资源以及片上存储器资源,因此SOPC方案仅适 用于那些对于数处理器整体性能要求不高的应用,例如整个系统的初始化配置, 人机交互,多个功能模块间的协调控制等功能。 
从架构的角度来说,SOPC和SOPC FPGA是统一的,都是由FPGA部分和处 理器部分组成。在SoC FPGA中,嵌入的是ARM公司的Cortex-A9硬核处理器, 简称HPS(Hardware Processor System),而SOPC技术中,嵌入的是NIOS II软核处 理器,两者指令集不一样,处理器性能也不一样。Cortex-A9硬核处理器性能远远 高于NIOS II软核处理器。 

● CPU+NPU+GPU

-CPU: Rockchip RK3568, Quad-Core ARM Cortex-A55, up to 2.0GHz

-NPU: 1.0 TOPS

-GPU: Mali-G52

● 4 x GbE LAN

(扩展方案可选:①可选4 x GbE电口;②可选2 x GbE电口+2 x 百/千兆光口)

● 8 x RS232/RS485 / 16 x RS232/RS485

● 1 x M.2 B-Key, 1 x M.2 M-Key

● 1 x MPCle (w/USB2.0)

● 4 x DO继电器应用 (常开/常闭可选), 4 x DI (NPN/PNP可选), 2KV隔离

● 2 x USB2.0 HOST Type-A

● 1 x USB OTG internal (用于系统烧录和调试)

● 双电源设计: AC/DC 220V input

● OS: Debian10 server

硬件平台

处理器

-CPU: Rockchip RK3568, Quad-Core ARM Cortex-A55, up to 2.0GHz

-NPU: 1.0 TOPS

-GPU: Mali-G52

内存

4GB LPDDR4 (可扩展至8G)

存储

32GB eMMC 5.1(可扩展至64G)

接口类型

USB

2 x USB2.0 host, type-A

网口

2 x GbE port by RJ45 with YT8531C Controller WOL - LAN1/LAN2

2 x GbE port by RJ45 with YT6801 WOL - LAN3/LAN4

两种扩展方案可选:

①4 x 电口扩展板 (RJ45, w/LED, 10/100/1000M自适应)

②2 x 电口 (RJ45, w/LED, 10/100/1000M自适应)+2 x 100/1000Base光口

M.2

1 x M.2 B-Key 3042/3052 USB3.0,for 4G/5G

1 x M.2 M-Key 2242/2280 SATA,for Storage

MPCIE1 x MPCIE (w/USB2.0), 支持WIFI/BT

SIM

1 x 1.8V/3V SIM/UIM卡

串口

8 x RS232/RS485, 凤凰端子接口, 9600~115200Kbps, 2KV光电隔离

1 x RS232/GPIO/电源, 2 x 4 Pin header, PH=2.54mm 母座 (COMx), 内部连接

1 x UART, TTL for Debug

DI/DO

4 x DI,干节点,2.5KV光电隔离

4 x DO,继电器输出,默认常开输出

CAN

2 x CAN 2.0 A/B

2 x CAN FD by MPCIE--可选

电源接口

2 x 220V AC/DC,凤凰端子,电源模块支持交直流冗余输入

交流:AC220V±20%

直流:DC110/220V±20%

支持远程重启

复位键1 x 复位键,恢复远程端口IP
USB OTG1 x USB OTG,用于系统烧录
LEDPower / RUN / LAN / COM / user define
B码对时1 x TTL

Display

HDMI1 x HDMI, Up to 4096 x 2304@60Hz

物理特性

结构外框铁壳 (SECC),铁件烤漆,烤漆黑色工艺,铝散热片,阳极原色
安装方式Rack mount
尺寸1U, 444(L) * 255(W) * 44mm(H)

工作温度

-20~60°C

储存温度

-40~70°C

相对湿度

5 to 95%@ 40˚C, non-condensing

认证Meet CE/FCC Class A

系统

OS

Debain 10 Server

===============四网口方案==========

 ● 工业级设计,金属外壳,无风扇控制器

● Rockchip瑞芯微 RK3568,基于ARM架构的四核Cortex-A55处理器,主频最高可达2.0GHz

● 4GB DDR4,最高支持8GB

● 4 x GbE LAN

● 8 x RS485(2KV 隔离)

● 5 x DI 干接点,NPN/PNP 可选,2KV 光电隔离

● 5 x DI 湿接点,NPN/PNP 可选,2KV 光电隔离

● 4 x DO,继电器应用,常开/常闭可选,2KV 光电隔离

● 1 x M.2 B-Key、1 x M.2 E-key、1 x M.2 M-Key

● 操作系统:Debain 11 Server

硬件平台

处理器

Rockchip瑞芯微 RK3568 4核ARM Cortex-A55处理器,主频最高可达2.0GHz

内存

4GB DDR4 (可扩展至8G)

存储

32GB eMMC 5.1(可扩展至64G)

接口类型

USB

2 x USB2.0 host, type-A

网口

4 x GbE LAN by RJ-45

M.2

1 x M.2 B-Key 3042/3052 内部 (w/USB3.0),支持 4G/5G

1 x M.2 M-Key (SATAIII),2242/2280,支持SATA SSD

1 x M.2 E-Key (SDIO/UART/PCIe),2230,支持无线/蓝牙

SIM

1 x 1.8V/3V SIM/UIM卡

串口8 x RS485,凤凰端子接口,波特率范围9600~115200Kbps,2KV光电隔离
DI/DO

5xDI 干接点,2KV 光电隔离

5xDI 湿接点,2KV 光电隔离

4xDO 常开/常闭可选,2KV 光电隔离

CAN2 x CAN 2.0 A/B
复位键1 x 复位键,恢复远程端口IP
USB OTG1 x USB OTG,用于系统烧录

功耗

供电范围DC 9~36V

物理特性

工作温度

-20~60°C

储存温度

-30~70°C

相对湿度

10~90%

系统

OS

Debain 11 Server、Ubuntu20.04

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

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

相关文章

ASP.NET Core Webapi 返回数据的三种方式

ASP.NET Core为Web API控制器方法返回类型提供了如下几个选择&#xff1a; Specific type IActionResult ActionResult<T> 1. 返回指定类型&#xff08;Specific type&#xff09; 最简单的API会返回原生的或者复杂的数据类型&#xff08;比如&#xff0c;string 或者…

ROS机器视觉入门:从基础到人脸识别与目标检测

前言 从本文开始&#xff0c;我们将开始学习ROS机器视觉处理&#xff0c;刚开始先学习一部分外围的知识&#xff0c;为后续的人脸识别、目标跟踪和YOLOV5目标检测做准备工作。我采用的笔记本是联想拯救者游戏本&#xff0c;系统采用Ubuntu20.04&#xff0c;ROS采用noetic。 颜…

Bufferevent and evbuffer

每个bufferevent都有一个输入缓冲区和一个输出缓冲区&#xff0c;它们的类型都是“struct evbuffer”。有数据要写入到bufferevent时&#xff0c;添加数据到输出缓冲区&#xff1b;bufferevent中有数据供读取的时候&#xff0c;从输入缓冲区抽取&#xff08;drain&#xff09;数…

DQN代码详解

代码链接见文末 1. 任务描述 任务目标: 在 MountainCar-v0 环境中,智能体的目标是尽可能快地将一辆小车从山谷的一端(起始位置)驾驶到山谷的另一端(目标位置),通过学习如何利用环境中的动力学来实现目标。智能体只能施加力量(加速)来推动小车,且受到物理规律的限制…

pip/conda install bugs汇总

DNSResolutionError 一直不行&#xff0c;惯防火墙还是不行&#xff0c;可能导致漏洞了&#xff1b; 解决方案&#xff1a; reboot下次try可以刷新DNS缓存: resolvectl flush-cachespip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host‘mirrors.a…

主机型入侵检测系统(HIDS)——Elkeid在Centos7的保姆级安装部署教程

一、HIDS简介 主机型入侵检测系统(Host-based Intrusion Detection System 简称:HIDS);HIDS作为主机的监视器和分析器,主要是专注于主机系统内部(监视系统全部或部分的动态的行为以及整个系统的状态)。 HIDS使用传统的C/S架构,只需要在监测端安装agent即可,且使用用户…

Django启用国际化支持(2)—实现界面内切换语言:activate()

文章目录 ⭐注意⭐1. 配置项目全局设置&#xff1a;启用国际化2. 编写视图函数3. 配置路由4. 界面演示5、扩展自动识别并切换到当前语言设置语言并保存到Session设置语言并保存到 Cookie ⭐注意⭐ 以下操作依赖于 Django 项目的国际化支持。如果你不清楚如何启用国际化功能&am…

软件工程-需求分析与设计-更新中-1.0版

前言: 感觉书本上和线上课程, 讲的太抽象, 不好理解, 但软件开发不就是为了开发应用程序吗?! 干嘛搞这么抽象,对吧, 下面是个人对于软件开发的看法, 结合我的一些看法, 主打简单易懂, 当然,我一IT界小菜鸟, 对软件开发的认识也很浅显, 这个思维导图也仅仅是现阶段我的看…

Springboot之登录模块探索(含Token,验证码,网络安全等知识)

简介 登录模块很简单&#xff0c;前端发送账号密码的表单&#xff0c;后端接收验证后即可~ 淦&#xff01;可是我想多了&#xff0c;于是有了以下几个问题&#xff08;里面还包含网络安全问题&#xff09;&#xff1a; 1.登录时的验证码 2.自动登录的实现 3.怎么维护前后端…

Vue3 虚拟列表组件库 virtual-list-vue3 的使用

Vue3 虚拟列表组件库 virtual-list-vue3 的基本使用 分享个人写的一个基于 Vue3 的虚拟列表组件库&#xff0c;欢迎各位来进行使用与给予一些更好的建议&#x1f60a; 概述&#xff1a;该组件组件库用于提供虚拟化列表能力的组件&#xff0c;用于解决展示大量数据渲染时首屏渲…

http常⻅请求头和响应头详细讲解(笔记)

http常⻅请求头状态码 简介&#xff1a;讲解http常⻅见的请求⽅方法和使⽤用 http1.0定义了了三种&#xff1a;GET: 向服务器器获取资源&#xff0c;⽐比如常⻅见的查询请求POST: 向服务器器提交数据⽽而发送的请求Head: 和get类似&#xff0c;返回的响应中没有具体的内容&am…

(33)iptables设置防火墙策略常用命令(docker环境、非docker环境)

#普通环境&#xff08;非docker&#xff09; # 拒绝所有对端口 31001 的访问 iptables -A INPUT -p tcp --dport 31001 -j DROP # 允许 IP 地址 20.59.30.77 访问端口 31001 (此处用的是虚拟机 所以要使用nat地址的网关) iptables -I INPUT 1 -p tcp -s 20.59.30.77 --dpor…

【嵌入式】关于push老仓库到新仓库的方法

1. 背景 公司项目经常会有需要从开源项目中镜像代码过来的活,所以常常会在自己的服务器上创建一个对应的仓库,然后使用命令将期push过去。为方便日后抄命令,这里记录一下使用的命令。 2. 操作步骤 2.1. 已下载的代码push 特别提醒: 使用此脚本前请确保你修改的代码已保存…

利用云计算实现高效的数据备份与恢复策略

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 利用云计算实现高效的数据备份与恢复策略 利用云计算实现高效的数据备份与恢复策略 利用云计算实现高效的数据备份与恢复策略 引…

基于 PyTorch 从零手搓一个GPT Transformer 对话大模型

一、从零手实现 GPT Transformer 模型架构 近年来&#xff0c;大模型的发展势头迅猛&#xff0c;成为了人工智能领域的研究热点。大模型以其强大的语言理解和生成能力&#xff0c;在自然语言处理、机器翻译、文本生成等多个领域取得了显著的成果。但这些都离不开其背后的核心架…

SpringCloud多机部署,负载均衡-LoadBalance

一.负载均衡 1.1问题描述 //根据应用名称获取服务列表 List<ServiceInstance> instancesdiscoveryClient.getInstances("product-service"); //一个微服务可能有多个实例&#xff0c;获取第一个 EurekaServiceInstance instance(EurekaServiceInstance)insta…

聊聊Flink:Flink中的时间语义和Watermark详解

该篇主要讲Flink中的时间语义、Flink 水印机制以及Flink对乱序数据的三重保障。 一、Flink的三种时间语义 1.1 Event Time Event Time指的是数据流中每个元素或者每个事件自带的时间属性&#xff0c;一般是事件发生的时间。由于事件从发生到进入Flink时间算子之间有很多环节&…

R语言-快速对多个变量取交集

大家好&#xff0c;这里 【生信摆渡】。 获取更好阅读体验&#xff1a;R语言-快速对多个变量取交集 两个变量取交集 众所周知&#xff0c;在R中&#xff0c;两个变量取交集可以使用intersect函数: # 两个变量取交集 string1 letters string2 strsplit("Hello, bioin…

CSS基础选择器与div布局

基础选择器一 全局选择器 可以与任何元素匹配&#xff0c;优先级最低&#xff0c;不推荐使用 *{margin: 0;padding: 0;}元素选择器 HTML文档中的元素&#xff0c;p、b、div、a、img、body等。 标签选择器&#xff0c;选择的是页面上所有这种类型的标签&#xff0c;所以经常…

npm上传自己封装的插件(vue+vite)

一、npm账号及发包删包等命令 若没有账号&#xff0c;可在npm官网&#xff1a;https://www.npmjs.com/login 进行注册。 在当前项目根目录下打开终端命令窗口&#xff0c;常见命令如下&#xff1a; 1、登录命令&#xff1a;npm login&#xff08;不用每次都重新登录&#xff0…