基于DSP+ARM+FPGA的电能质量分析仪的软件设计

news2024/11/25 9:27:46
软件设计是电能质量设备的核心内容,上述章节详细介绍了电能质量参数的
算法,并且通过仿真实验进行了验证,本章将结合现代电能质量监测设备需求实
现算法在实际电网中应用。根据设计的电能质量分析仪的需求分析,进行总体的
软件设计,主要包括整体构架、各部分的软件功能实现、三核之间的通讯设计,
最终实现电能参数的高精度测量,并将其结果进行显示和存储。
本文主要通过设计软件,将理论算法进行实际应用,从应用角度出发,合理
安排算法,增强前面章节介绍的算法的应用性。
5.2 软件总体设计
5.2.1 仪器实现功能
根据电能质量分析仪的软件需求,大概可将此设备的功能分为如下模块:
1 )电能质量参数的测量功能
将电能质量基本参数,主要包括电压、电流、频率、谐波、间谐波、骤升骤
降、浪涌电流等,按照国标中 A 级仪器的标准进行实现,详细设计每一环节,尽
量较少误差,提高运算速度,保证设备的高精度,实现在线监测功能。
仪器的精度部分主要涉及数据采集、数据传递、数据的计算、数据显示。数
据采集部分主要由硬件电路决定,尽量减少器件对电网采集信号的影响;数据传
递主要与三核之间通讯相关,保证通讯的正常工作、数据的正确传输;数据的计
算主要由算法决定,本文采用的算法都是符合精度要求并通过仿真实验的算法;
数据显示主要涉及显示位数等问题,严格把握这些环节是实现电能质量参数高精
度的重要保障。
2 )人机交互功能
本文采用按键与 LCD 组合的方式实现人机交换环节,用户通过按键选择合适
的功能, LCD 进行相应的界面显示,更好的呈现算法的处理数据。
3 )事件监测功能
完整的设备应包含暂态和稳态事件的检测,通过观察事件的发生判断点电网
的运行情况,以及发生的情况,从而可采取相应的方法避免事故非发生。
5.2.2 系统总体框图
根据以上软件设计的需要功能,本文采用基于 FPGA+DSP+ARM 构架实现三
相电能质量分析仪。系统整体框图如下:
如图 5-1 所示的系统总体框图,电网信号首先通过信号调理电路,将电网信号
进行转换为 AD 的可接受范围的电信号,并尽量减少电路对原信号幅值和相位的
影响,然后经过两路 AD 数据采样,传递给 FPGA 进行数据的预处理,其中采样
信号一路低频采样传递给 FPGA 进行基波周期检测,一路高频采样传递给 FPGA
结合基波周期进行数据打包,然后通过 DSP 外部接口 upp 将数据包传递给 DSP
行处理。
其中,图 5-1 DSP+ARM 的芯片选用的是 TI 公司的 OMAPL138 ,该芯片将
DSPC6748 ARM926EJ-S 集中于一个芯片上,比分开使用两个芯片的功耗低,两
芯片中 DSP 采用 BIOS 系统、 C 语言编程进行开发,主要处理电能质量各个参数
的计算、 FPGA 的通讯、 ARM 的通讯。 ARM 芯片采用 Linux 操作系统, QT 编写
界面显示,主要进行电能参数的界面操作、 FPGA 通讯、 DSP 通讯、各接口的驱动
管理、应用程序管理等。 DSP ARM 之间的通讯通过 TI 公司提供的 DSPLINK
软件编程实现。该芯片的 DSP ARM 的主频为 300MHz ,但本芯片可以将两芯
片的主频最高提升为 456MHz ,可根据需要进行设定。 OMAPL138 的外设资源丰
富, DSP ARM 两核公用该芯片的外设资源,主要包括 DDR2 SPI FLASH
USBHost/OTG MMC/SD I2C 、以太网 EMAC 等,但在使用这些外设资源中要
特别注意此芯片由于引脚个数有限,不同的外设可能会同时使用同一引脚,要注
意引脚复用,防止 DSP ARM 的使用资源发生冲突 [29-32] 。由于此芯片与本文设
计所相关的接口功能一致,故可直接加以利用,减少了电能质量分析仪的开发周
期,降低了成本。
5.3 OMAPL138 软件结构设计
大部分电能参数的算法基于 OMAPL138 实现的,其中主要包括谐波间谐波算
法。 OMAPL138 的软件部分主要包括两部分,第一部分由 DSP 端进行参数计算,
主要涉及基本配置、任务调度、程序的优化等内容;第二部分由 ARM 端进行计算
结果的显示,更加简洁、方便观察运算数据的精度。
DSP 的嵌入式开发首先需要对编译环境的正确配置,方便后期工程管理和程
序调试。由于涉及到电能参数的计算较多,会有多个文件,最终需生成可执行程
序,移植到开发板上运行。 DSP 端主要包括裸机程序测试、编译环境配置、主程
序设计及实现。
5.3.1 基本配置
在对开发板进行程序开发时,首先应该保证基本资源的可用性。由于
OMAPL138 上的 DSP ARM 是公用外设资源,故可利用 DSP 的裸机程序进行测
试芯片的外设功能是否正常,检测硬件设计是否存在问题。本文通过连接仿真器,
将测试程序生成的 .out 文件烧写到开发板中,对 DDR2 Flash 、串口、网口等外设
进行功能测试。
本文的 DSP 采用的 DSP/BIOS 操作系统, DSP/BIOS 是一个可扩充的实时操作
系统,其实质是一组系统模块的 API 函数,可供用户编写程序时进行调用,节省
开发时间以及程序的执行时间。 DSP/BIOS 提供了一个可视化的环境来定义目标系
统的全局类属性:系统内存映射、中断向量表、片上定时器编程、内存的动态分
配和释放。软件开发平台使用 CCS3.3 进行编程实现。需要加载 GEL 文件,此文
件主要配置芯片上电时的各个引脚的基本配置,可根据需要进行修改。在 CCS
建立带有 DSP/BIOS 新项目,修改 DSP/BIOS 的配置文件,主要包括全局变量( GBL )、
存储器管理( MEM )、系统服务管理( SYS )、硬件中断管理( HWI )、软件中断管
理( SWI )、任务管理( TSK )、信号量( SEM )、邮箱( MBX )、时间记录( LOG )、
时钟管理( CLK )等。各个模块都提供了相应的 API 函数,可快速调用方便编程
实现。
主要介绍时序线程类木块的配置,包括硬中断、软中断、任务,其结构安排
如图 5-2 所示。
5-2 中当 FPGA 将每相采样点数达到 256 点即半周期时,将数据进行打包通
upp 发送数据包至 DSP ,引起一次 DSP 的硬中断,其中 upp 的数据包格式如表
5-1 所示,但由于 upp 的配置传输要求,每个数据为 16 位,每次传输的字节为
256*8+64 *2=2112 ;每一次的硬中断随即触发一个软中断,软中断进行一些简
单的数据处理,通过信号量触发各个任务,保证各任务之间的时序关系。
5.3.2 程序优先级实现
DSP 端的系统程序框图如图 5-3 所示:
DSP 端从 main 函数开始执行,首先进行模块上电, DSP 端的主函数进行寄存
器配置,主要进行 EMIFA 配置、 upp 配置,主要对寄存器的配置完成相应的功能
实现,其中 upp 功能实现 FPGA DSP 的数据传输以及引起 DSP 硬中断,是 DSP
端程序运行的时间基准; DSP 端的内存进行详细分配,主要完成 cache RAM
功能配置,加快程序的读取、执行速度;然后进行中断配置,主要完成中断使能;
由于本文采用全局数组来存储主要数据,方便各个任务进行调用,对这些数组进
行初始化,方便后续使用;然后对 DSPLINK 进行初始化,以便 DSP ARM 进行
握手通讯;对各个任务进行初始化。然后由 DSP/BIOS 来接管任务调度。
DSP/BIOS 4 类线程调度,优先级由高到低分别为硬中断( HWI )、软中断
SWI )、任务( TSK )、后台线程( IDL )。其中硬中断运行时间很短,主要进行紧
急处理,如果不能处理完,可触发软中断或者任务进行后续处理;软中断运行时
间介于硬中断与任务之间,但不可阻塞;任务可阻塞,灵活性强,任务之间主要
通过信号量、邮箱、队列等进行通信;后台线程是在 CPU 空闲时循环运行。线程
之间可以抢占,硬中断和软中断都使用系统堆栈,每一任务使用自己的堆栈。
对电能参数根据需要的数据周期数进行分类,可分成三类,分别为半周期计
算参数、一周期计算参数、 10 周期计算参数,由于计算可能被抢占而发生阻塞情
况,因此参数计算选择任务对象,因此分别设置为 10ms 任务、 20ms 任务、 200ms
任务。其中骤升骤降、浪涌电流需要半波有效值进行每半周期的判断,将其放在
10ms 任务中; 20ms 任务计算三相电压电流的有效值、最大值、最小值、波峰因数;
200ms 任务计算三相电压电流谐波、间谐波幅值、相位;谐波间谐波子组计算;谐
波畸变;三相不平衡参数计算;各个功率的计算等。
由于周期长的任务需要等待时间短的周期的数据积累,时间短的任务是周期
长任务的资源,因此周期短任务应该优先级比周期长任务高,可保证数据能够及
时处理,高优先级任务抢占低优先级任务进行运行,被抢占的任务也可以在高优
先级任务运行完之后,得到资源随后运行,任务之间通过信号量进行通讯,唤醒
任务。由于数据传输任务是 ARM 端进行实时显示的数据来源,因此必须保证数据
ARM 端需要的时候以最快的速度进行传递,而不被其他任务抢占,因此将数据
传输任务优先级高于其他任务。
5.3.3 程序实现优化
DSP 是根据时间片运行各个任务的,每个任务都有时间周期的限制,需要在
规定周期内完成运算,同时不能影响其他任务时间执行, 10 周期是最长的运行周
期,需各个任务在此期间都运行完成,才是完整的一次参数运算。因此,每个任
务运行时间最好比限制周期时间短为最佳,运算速度是 DSP 必须要保证。本文针
对这个前提对 DSP 程序设计进行了优化。
Upp 软中断中将数据进行数模转换过程中,有大量的除法运算,由于 DSP
次除法需几个周期,但可以一个周期完成一次乘法和加法,因此将此运算进行查
表计算,避免除法,加快了运算速度。其他程序设计处有类似除法运算也进行查
表、移位、乘法进行优化,充分利用 DSP 的运行优势加快程序执行。
200ms 任务主要完成谐波间谐波计算,由于需要计算 A B C 电压、电流 10
周期点数计算,计算量较大,为保证任务能够在 10 周期之内,对此任务进行了如
下几个方面的优化:
1 )旋转因子只计算一次,在 200ms 任务建立初期,计算出旋转因子并保存
在数组内,常驻与内存中, 200ms 任务执行时直接调用即可,避免每次执行此任务
时进行重复计算。
2 DSP 硬件中有关于 FFT 实现, API 有相关调用,利用这一点将谐波间谐
波算法设计中分离出可以应用 FFT 的运算,利用 DSP 本身优势加快运算速度。
3 )但由于算法中涉及到类 DFT 运算,若果计算三相电压电流的所有点数,
计算时间对于主频为 300M DSP 不够,而且对于基波频率为 50Hz 的输入,计算
频域为 0~12.8kHz ,步长为 5Hz 。而国标中以 5Hz 为间隔计算 0~2.5kHz 的频率点,
10Hz 为间隔计算 2.5k~9kHz 的频率点,针对国标中要求对算法进行择点计算优
化,节省了计算量,进行有效计算优化。
ARM 端界面的刷新时间一般为 200ms 或者 400ms 一次,最大传输数据量为
512*6*4=12288 个字节。 OMAPL138 主要有两类内存,片内 RAM DDR ,片内
RAM 的读写速度比 DDR 速度快的多,因此 DSP ARM 之间的通讯 DSPLINK
选择芯片片内 0x8000000~0x8001FFFF 128k 的共享 RAM ,内部空间大小足够传
递数据,故可以加快数据传输任务。
经过 CCS 编程测试各个任务的运行时间,通过设置断点测试优化时间。
执行一次 10ms 任务时间:有事件发生时 0.01598ms
执行一次 20ms 任务时间:约 1.5008ms
执行一次 200ms 任务时间:包含抢占,本函数头尾之间执行时间约 92.22519ms
由程序仿真检测时间可知,即使任务被抢占,每个任务也可在限制时间内完
成,并且剩余时间充裕,为功能扩展提供了充裕的时间。
5.3.4 测量数据显示
DSP 将运算电能参数通过 DSPLINK 传递给 ARM 进行数据显示,方便查看测
量数据。 ARM 端采用 Linux 操作系统,界面使用 QT 进行编程实现。本节主要研
究界面对电能参数测量结果的显示实现,以及为实现完成的驱动的设计,从而更
好的呈现出结果,方便后续试验进行数据测试。
5.3.4.1 界面设计
本文使用 QT 进行界面编程实现, QT 是基于 C++ 语言的高程度的模块化、可
重用性较高、良好的封装性。 QT 支持跨平台编程实现,可移植性好。嵌入式系统
中常使用 QT/Embeded 版本,可根据实际需求进行库的裁剪,实用性高,灵活性好。
首先进行 QT 库的编译,使用的版本为 4.6.3 ,编译 PC 版本,可进行虚拟机编
程调试,使用交叉编译工具编译 ARM 版本,此版本应尽量精简,进行编程移植使
用。
QT 界面设计中,主要工作是通过 DSPLINK 子类中获取 DSP 计算的电能参
数,然后进行数据分析、整理,将数据按照图 5-4 分类进行显示,可将数据按照需
求进行存储。
本文设计界面将菜单选项置于右侧,左侧显示相应的界面,通过主菜单选定
相应子界面选项,显示对应子界面的子菜单,通过子菜单的选项确定要显示的界
面。如图 5-4 所示,子界面主要有 8 项:波形显示、有效值 | 相位、谐波分析、波
动、功率、不平衡、告警、系统管理。波形显示实时显示电网三相电压电流 2
周期的波形、有效值、频率信息;有效值 | 相位显示三相电压电流的有效值、相位
角图;谐波分析包括谐波电压电流的柱状图、表格,间谐波表格等,主要显示含
有率、幅值、相位、畸变、功率等参数信息;波动显示趋势图,可通过观察一段
时间内的波动的整体趋势;功率界面包含有功功率、无功功率、功率因数、线损
等参数;不平衡界面包含趋势图和表格,趋势图可观察一段时间内的不平衡的走
向;告警显示稳态参数、暂态参数的事件显示,不同事件包含的参数不同,可根
据事件的记录判断电网的运行情况,并根据事件的发生频率采取相应的措施;系
统管理主要是参数配置,用户可根据需要对参数进行配置,主要参数包括标称电
压、标称电流、电压暂升暂降阈值等,这些值的修改、各种参数的切换都是通过
上下左右按键进行数值修改或者选定。 QT 界面设计中,每个子界面都定义为一个
类,根据每个界面具有的特色完成类的编程实现,其中比较重要的为波形显示、
柱状图显示、表格显示。而且不同的界面刷新频率不同,过于频繁的刷新会造成
CPU 运行过高,增加系统负荷,影响系统的响应速度,故需根据不同的界面设置
不同的刷新周期。
本文的 QT 界面框图如下图所示:
界面设计中最关键的界面切换,此功能依赖于按键功能的实现,本文设计的
仪器按键主要通过上、下、左、右、确认、取消来完成,通过按键功能的设置实
现不同子界面类之间的切换,其中可使用 QT 中信号槽机制,一个事件可以触发另
一个或多个事件,这种机制便于编程实现。
5.3.4.2 驱动程序设计
一般嵌入式驱动程序开发需要对外围设备进行如下内容:
1 )评审现有的驱动程序,测试并实验它是否可以如期工作;
2 )寻找一个相近的驱动程序,将其进行修改成与使用硬件相适应;
3 )重新编写驱动程序。
本文主要涉及到 SD 卡、 USB RTC LCD 、按键驱动,其中三相电能质量分
析的设计电路与购买的开发板的外围设备布线方式类似,其中嵌入式 Linux 中的
SD 卡、 USB RTC 驱动经过测试可以正常工作。本文采用的 LCD 选择尺寸较大,
但接线方式与购买开发板中的 LCD 一样,驱动的配置一致,但屏幕的相关参数不
同,可根据内核的 LCD 驱动找到对应的参数变量进行修改,但由于屏幕尺寸较大,
对于芯片 OMAPL138 传输数据量大,会出现屏幕显示不正常,需要修改 LCD
先级为最高,确保 LCDC 的吞吐量 / 延迟需求得到满足。
按键驱动没有类似的驱动实现,需重新编写,按键驱动主要用于 FPGA ARM
间的通讯。按键驱动实现有两种方式,第一种是通过中断的方式实现,第二种是
通过模拟标准键盘的方式实现。由于 OMAPL138 GPIO 中断资源有限,本文采
用第二种方法通过 I2C 实现。实现方式如下图所示:
用户通过按键产生一次中断, FPGA 接受到中断信息,产生对应的键值,按键
赋值从 0 或者 1 开始,然后通过 I2C 总线发送给 ARM ARM 中的 Linux 系统接
收到键值之后,将键值与标准键盘值进行对应,键值为数组编号,标准键盘值为
数组值。然后 Linux 系统将标准按键值进行事件上报,操作系统根据事件进行事件
分发, QT 应用程序接收到按键事件后,执行相应的按键处理。
5.4 测频程序实现
数据预处理木块主要由 AD 采样模块与 FPGA 实现,两路 AD 采样信号,一
路低频采样将电网信号传递给 FPGA 进行基波频率的测量,保证基波频率的快速
计算与高精度要求,为另一路使用定频采样信号提供可靠的间隔抽取,其中采样
频率为 10M ,保证实现同步的高精度,然后由 FPGA 将抽取得到的数据进行打包,
以半周期数据为一个数据包,通过 OMAPL138 的外部接口 upp ,以硬中断的方式
DSP 通讯,将数据发送给 DSP 进行数据处理,整个数据采集与数据预处理模块
为电能质量的参数高精度计算提供基础。
由第三章与第四章的算法分析可知,为保证电能质量分析仪的精度要求,此
模块中的 AD 芯片选用 16 位的进行采样,其中进行测频流程图如下:
由基波频率测量程序流程图可知根据国标标准,测频范围为 [42.5,57.5]Hz ,测
频精度为 0.001Hz ,然后根据频率范围设置黄金分割法的初始搜索值。对 AD 采样
数据首先进行加 Blackman 窗。然后黄金分割法进行精度判定,若不满足则进行
FFT+FT 运算,通过比较函数值,对黄金分割法的搜索点重新赋值,反复执行这个
过程,直到精度满足要求,计算出基波频率。
5.5 谐波间谐波程序实现
通过本章节的软件设计以及 OMAPL138 软件结构设计,对 DSP 中实现参数运
算进行了谐波间谐波时间优化,图 5-7 流程图实现谐波间谐波程序实现,与第四章
的算法设计一致。在 DSP 主函数中首先对旋转因子进行计算并存储,后面 200ms
任务被触发后,可直接读取内存,加快程序执行速度。 DSP 端接收数据进行次数
积累为 10 周期后,唤醒 200ms 任务,主要执行谐波间谐波程序计算。首先将 5120
点分成 5 1024 点,然后每一组进行基 2 FFT 运算,将运算结果进行实部、虚
部存储,然后根据国标中计算频率范围,进行选点进行 DFT 计算,进一步加快运
算速度,然后可计算谐波间谐波幅值、相位,根据此算法计算的数据,进行谐波、
间谐波其他参数的运算,例如总谐波畸变、谐波子组等计算。
5.6 核通讯设计
本文采用 FPGA+DSP+ARM 三核构架,三个核之间通讯关系到数据传输是否
正确, FPGA DSP 通讯使用的 UPP universal parallel port ), DSP ARM 通讯
使用 TI 提供的软件 DSPLINK 实现, FPGA ARM 使用上节中 I2C 驱动实现的。
UPP 16 位数据宽度进行数据传输,本文采用 DSP 接收数据的模式,示意图
如下所示:
如上图所示, FPGA 10ms 触发一次 upp 中断,进行一次数据包传输,数据
通过 I/O 通道 A 的然后存储在 upp 内部的 DMA 中,增加吞吐量,减轻 CPU 负担,
然后当 DMA 存储全部数据后,触发行中断,将数据写入内存中,然后进行数据解
包、处理。
DSPLINK 对于 GPP 端相当于驱动 DSP 的驱动程序,其对 GPP 端、 ARM
提供完整的 API 函数调用,是对底层 DSP ARM 通讯的封装,简化了对双核 CPU
的通讯开发,降低了难度。最主要的工作需在虚拟机上对 DSPLINK 进行参数配置,
需要修改对应的配置文件,通过 GPP 端对 DSPLINK 源码编译。主要对 DSP ARM
GPP )内存分配。开发板的 DDR 大小为 128M ,可在 uboot 中设置 ARM 的内存
大小参数传递给内核。其中 DDR 的起始地址 0xc0000000 ,内存分配如下:
ARM 端:
0xc000 0000~0xc2ff ffff 48M
0xc400 0000~0xc7ff ffff 64M
DSP 端:
0xc300 0000~0xc3ff ffff 16M

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

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

相关文章

【Android】Jetpack入门知识总结(LifeCycle,ViewModel,LiveData,DataBinding等)

文章目录 LifeCycle使用Lifecycle解耦页面与组件自定义控件实现LifecycleObserver接口注册生命周期监听器 使用LifecycleService解耦Service与组件使用ProcessLifecycleOwner监听应用程序生命周期 ViewModel用法在 Fragment 中使用 ViewModel LiveDataDataBinding导入依赖基本用…

Redis 性能优化选择:Pika 的配置与使用详解

引言 在我们日常开发中 redis是我们开发业务场景中不可缺少的部分。Redis 凭借其内存存储和快速响应的特点,广泛应用于缓存、消息队列等各种业务场景。然而,随着数据量的不断增长,单节点的 Redis 因为内存限制和并发能力的局限,逐…

FP7127:降压恒流LED芯片 支持双路调色调光 PWM调光

一、降压恒流LED芯片FP7127 FP7127 是平均电流模式控制的 LED 驱动 IC,具有稳定输出恒流的能力,优秀的负载调整率与高精度的电流控制。不用额外增加外部补偿元件,简化 PCB 板设计。输出的LED电流精度为 2%。 如果你想进行PWM数位调光&#…

R语言机器学习教程大纲

文章目录 介绍机器学习算法监督学习Supervised Learning分类Classification回归Regression 无监督学习 Unsupervised Learning聚类 Clustering降纬 Dimensionality Reduction相关Association 强化学习Reinforcement Learning模型自由 Model-Free Methods模型驱动 Model-Based M…

Rancher—多集群Kubernetes管理平台

目录 一、Rancher 简介1.1 Rancher 和 k8s 的区别 二、Rancher 安装及配置2.1 安装 rancher2.2 登录 Rancher 平台2.3 Rancher 管理已存在的 k8s 集群2.4 创建名称空间 namespace2.5 创建 Deployment 资源2.6 创建 service2.7 Rancher 部署监控系统 一、Rancher 简介 Rancher …

curl支持ssl错误:curl: (60) SSL certificate problem: certificate is not yet valid

在测试curl命令的时候发现curl: (60) SSL certificate problem: certificate is not yet valid出现这个错误,已经设置了ssl证书路径,最终发现是板子上时间不对,设置时间后可以正常使用。

论文研读 | End-to-End Object Detection with Transformers

DETR:端到端目标检测的创新 —— 作者 Nicolas Carion 等人 一、背景与挑战 目标检测是计算机视觉领域的一个核心任务,要求模型精确识别图像中的物体类别和位置。传统方法如 Faster R-CNN,因其区域建议网络等复杂结构,使得模型调…

网络安全基础知识点_网络安全知识基础知识篇

文章目录 一、网络安全概述1.1 定义1.2 信息安全特性1.3 网络安全的威胁1.4 网络安全的特征 二、入侵方式2.1 黑客2.1.1 入侵方法2.1.2 系统的威胁2.2 IP欺骗与防范2.2.1 TCP等IP欺骗基础知识2.2.2 IP欺骗可行的原因2.2.3 IP欺骗过程2.2.4 IP欺骗原理2.2.5 IP欺骗防范2.3 Sniff…

数据结构编程实践20讲(Python版)—16有向图

本文目录 16 有向图(Directed Graph)S1 说明特征应用领域S2 示例S3 问题:利用有向图构建贝叶斯网络Python代码代码说明结果S4 问题:有依赖的任务调度Python代码代码说明结果S5 问题:基于有向图的搜索引擎排序算法Python代码代码说明结果往期链接 01 数组02 链表03 栈04 队…

成都睿明智科技有限公司电商服务可靠不?

在这个短视频风起云涌的时代,抖音不仅成为了人们娱乐消遣的首选平台,更是众多商家竞相追逐的电商新蓝海。成都睿明智科技有限公司,作为抖音电商服务领域的佼佼者,正以其独到的洞察力和专业的服务,助力无数品牌在这片沃…

使用redis存储股股票数据及近一个月的行情数据

使用redis存储股票数据及近一个月的行情数据 性能瓶颈redis的使用odoo连接redis股票数据的读写结论 性能瓶颈 股票行情对数据的实时性是有要求的,在数据同步时如果都从数据库中查询数据,对于股票行情数据来说是有些慢了,因此我们使用redis来…

视频网站开发:Spring Boot框架的高效实现

5 系统实现 5.1用户信息管理 管理员管理用户信息,可以添加,修改,删除用户信息信息。下图就是用户信息管理页面。 图5.1 用户信息管理页面 5.2 视频分享管理 管理员管理视频分享,可以添加,修改,删除视频分…

HCIP-HarmonyOS Application Developer 习题(十五)

(判断)1、在HarmonyOs中发布带权限公共事件,发布者首先要在config.json中申请所需的权限。 答案:正确 分析:发布携带权限的公共事件:构造CommonEventPublishInfo对象,设置订阅者的权限。 &#…

基于springboot vue的音乐播放系统设计与实现

博主介绍:专注于Java(springboot ssm 等开发框架) vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不…

【Postman】如何导出导入数据文件?Postman链接分享?

方式一:postman分享链接 1.1 导出 1.2 导入 1.3 导入完成后删除分享的链接 方式二:postman导出导入json 2.1 导出 2.2 post导入json数据

智慧监管:EasyCVR视频汇聚智能分析平台助力有限空间作业实现全天候可视化监控

随着工业化和城市化进程的加快,有限空间作业(如地下管道、储罐、隧道等)在各类企事业单位中日益频繁。然而,这类作业环境复杂、危险系数高,对作业人员的安全管理和实时监控提出了严峻挑战。为了保障有限空间作业的安全…

基于Java的茶叶商城设计与实现(源码+定制+开发)茶叶电商系统开发、茶叶电商平台开发、茶叶在线销售平台设计与开发

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

cocos Creator + fairyGUI 快速入门

版本 Creator 3.8.x,FairyGUI 2022 大部分内容来自 https://en.fairygui.com/docs/sdk/creator 1.新建cocos项目,根目录运行 npm install --save fairygui-cc 引入 fairyGUI库 2.assets目录之外新建fairyGUI项目 3.fairyGUI中编辑UI 完成后发布到Creato…

细数RAG的12个痛点,英伟达高级架构师亲授解决方案

检索增强式生成(RAG)是一种使用检索提升语言模型的技术。具体来说,就是在语言模型生成答案之前,先从广泛的文档数据库中检索相关信息,然后利用这些信息来引导生成过程。这种技术能极大提升内容的准确性和相关性&#x…

野外便携定位终端|北斗三代短报文通信终端|移动通信终端

QM200B北斗三号便携终端是一款面对野外环境的北斗三代便携设备,具有低功耗、体积小、重量轻等特点。该设备不仅集成了北斗三代区域短电文通信、北斗三代定位功能、移动通信功能,同时具有语音对讲功能,配有液晶屏和功能按键,可在海…