基于 STM32+FPGA 的通用工业控制器设计(一)系统方案设计

本章首先介绍了现有 PLC 系统的概况,然后提出了本文设计的通用工业控制器的
整体方案架构,分析了硬件和软件上需要实现的功能,最后对各部分功能进行分析并提
出具体的实现方案。
2.1 PLC 系统简介
可编程逻辑控制器( Programmable Logic Controller PLC )是以微处理器为基础,
综合了计算机技术、自动控制技术和通讯技术而发展起来的一种新型、通用的自动控制
装置 [14] 。它采用一类可编程的存储器,用于其内部存储程序、执行逻辑运算、顺序控制、
定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入 / 输出控制各种类型
的机械或生产过程,是工业控制的核心部分 [15]
西门子 S7-200 系列的 PLC 就是整体式 PLC ,图 2-4 是其中一款 PLC 基本单元内部
结构图,其结构由三部分组成:上面部分是核心板即 CPU ,其中包含拨码开关、扩展单
元接口;中间部分是接口板,包括 I/O 接口、 RS485 通讯接口、 220V 交流电源输入接口、
24V 直流电源输出接口等;下面部分是开关电源板, 220V 交流输入,24V 直流输出。

2.1.3 PLC 的软件系统
PLC 的软件包括系统程序和用户程序。系统程序是固化在中央处理器芯片内部的的
程序,用户不能直接对其进行更改操作,系统程序包含异常状态的检测、 I/O 单元的操
作、用户程序的执行、与外界的通信等功能。用户程序是用户使用与 PLC 控制器配套
的开发软件所开发的程序,最常用的开发语言为梯形图语言( LD ),此外还有指令表语
言( IL )、功能模块图语言( FBD )、顺序功能流程图语言( SFC )、结构化文本语言( ST )。
对于用户来讲,不必详细了解系统程序,只需根据实际生产需求编写用户程序,实现逻
辑控制即可 [28]
在编辑梯形图时会经常用到许多现成的功能块,如定时器模块、计数器模块、高速
计数器模块、模拟量输入模块、模拟量输出模块、 PID 模块、通信模块等功能块,这些
功能块的实现过程都包含在系统程序内,用户程序在使用这些功能块时只是调用了这些
实现过程 [29]
2.2 整体方案架构
本文采用整体式 PLC 结构,如图 2-7 所示,整体结构分为主控制器和远程模块,主
控制器由核心板、接口板、开关电源构成,集成中央处理单元( CPU )、 I/O 单元、电源
于一体。远程模块作为扩展模块,作用于面积大、范围广的工业现场,以便主控制器需
要控制距离较远的现场设备,同时能够为主控制器增加 I/O 点数,使控制器能够向大型
化、多功能方向靠拢。远程模块主要包括数字量输入模块( DI )、数字量输出模块( DO )、
模拟量输入模块( AI )、模拟量输出模块( AO )和以太网通信模块( EN ),其中以太网
通信模块主要负责与主控制器通信,将各个远程模块的状态与数据发送给主控制器以及
接收主控制器发来的控制命令。

本文设计的控制器主要实现以下结构和功能:
硬件方面:硬件 PCB 板需包含核心板、接口板、开关电源、以太网通信模块、数
字量输入模块、数字量输出模块、模拟量输入模块、模拟量输出模块。接口板上需要包
含数字量输入输出接口、模拟量输入输出接口、数字量高速输入输出接口、高速 USB
通信接口、 RS485 通信接口、以太网通信接口等。
软件方面: modbus 通信协议,作为主控制器与远程模块通信时的数据协议;远程
模块内部通信协议,作为各个远程模块之间通信时的数据协议。设计模块化控制功能,
包括工业现场经常使用到的运动控制和过程控制,同时会用到 PID 控制算法,如果需要
驱动变频器或者逆变器,还会需要用到 SPWM 算法、 SVPWM 算法。设计高速计数器
模块,用于采集旋转编码器之类的传感器信号。设计人机交互界面,便于现场工人操作
控制器。设计用户程序的编程语言,作为人类自然语言与底层芯片编程语言之间的桥梁,
方便没有任何编程语言基础的普通工人进行现场编程和测试工作。
2.3 主控制器方案设计
主控制器的总体方案设计如图 2-8 所示,分为核心板、接口板、开关电源。
信迈提供STM32+FPGA的运动控制解决方案。
主控制器几乎所有的对外接口都设计在接口板上,只有连接本地扩展模块的接口设
计在核心板上。 由于主控制器的体积有限,因此所包含的接口数量、 I/O 点数有限,如
需更多的 I/O 点数需要以太网接口连接远程模块来使用。主控制器上对外接口包含 16
路数字量输入接口、 16 路数字量输出接口(继电器输出)、 8 路数字量高速输出接口(晶
体管输出)、 220V 交流电源输入接口、 24V 直流电源输出接口、高速 USB 通信接口、
RS485 通信接口、以太网通信接口。在主控制器内部,开关电源与接口板相连,接口板
将从外界输入进来的 220V 交流电源输入到开关电源板,然后经过开关电源后会得到稳
定的 24V 直流电源。接口板与核心板相连,一是将 24V 经过 DC/DC 降压后得到的 5V
电源传递到核心板,二是与核心板上的控制芯片进行 I/O 信号的传递以及串口通信。
2.3.1 核心板方案设计
核心板的硬件结构包括控制芯片电路、下载电路、晶振电路、复位电路、芯片电源
电路、 RS485 通信电路、状态选择电路、状态指示电路、 I/O 指示电路、电平转换电路
等。
控制芯片采用目前较为流行的“ MCU+FPGA ”的方式进行控制 [32] MCU 是微控制
单元( Micro Controller Unit ),又称单片微型计算机或单片机,是将中央处理器、内存、
计数器、 USB A/D 转换、 UART PWM DMA 等周边接口集成到一片芯片上,形成
芯片级计算机,应用于手机、遥控器、汽车、机械臂等控制领域。 FPGA 是现场可编程
门阵列( Field Programmable Gate Array ),它是专用集成电路中的一种半定制电路,通
过编程对底层逻辑门阵列进行组合,从而实现内部各模块之间以及 I/O 之间的连接方式。
FPGA 具有以下优点:并行度高,可以支持多个模块同时进行独立的计算;可定制,即
通过编程实现自己的逻辑电路,并且可以无限次编程;运算速度快,通常情况下任务在
硬件上跑比软件上跑得要快,比如比较一个 64 位数高 32 位和低 32 位的大小,在 CPU
下需要 2 条区数指令,两条位与指令,一条移位指令一条比较指令和一条写回指令,而
FPGA 下只要一个比较器就行了。 FPGA 同时也存在着缺点,所有功能均依靠硬件实
现,无法实现分支条件跳转等操作,同时诸如 A/D 转换、 flash 等外设很少,这正好能
够靠 MCU 来弥补。因此本文利用 MCU FPGA 组合的方式,能够最大的发挥两者各
自的优势 [33]
MCU 选择意法半导体集团开发的 32 STM32 微控制器,该芯片是基于 ARM
Cortex-M 处理器内核的嵌入式单片机,有着集成度高、低功耗等特点。 FPGA 选择
ALTERA Cyclone IV 系列芯片,该系列芯片在 Cyclone CycloneII CycloneIII 的基
础上提升了性能并降低成本。 STM32 利用其自身丰富的外设作为主控芯片,使用 UART
与外界通信; FPGA 利用运算速度快、并发性好的特点,对 I/O 信号进行处理。 STM32
FPGA 之间的通信方式有串行通信、并行通信以及共用存储器通信。串行通信所需引
脚少,但是速率没有另外两种通信方式快;共用存储器通信方式在硬件线路上较为复杂,
一般用在数据交换量较大的场合,用在这里有点大材小用;并行通信虽然占用引脚较多,
但是通信效率高 [34] 。综合来看选择并行通信方式。
电源电路需要根据控制芯片所需电压来决定,核心板上选择的控制芯片 STM32
具体型号为 STM32F103ZET6 ,工作电压为 3.3V FPGA 的具体型号是 EP4CE6E22C8
工作电压为 3.3V 2.5V 1.2V
STM32 的下载方式包括 SWD JTAG 方式, SWD 模式比 JTAG 在高速模式下面更
加可靠,在大数据量的情况下面 JTAG 下载程序会失败,但是 SWD 发生的几率会小很
多,并且 SWD 需要的引脚数量少,可以节省 PCB 空间。 STM32 虽然有 8MHz 内部晶
振,但是精度没有外部配置的高速晶振精度高。外部晶振有高速晶振和低速晶振两种,
典型的低速晶振为 32.768KHz ,高速晶振可选择 4~32MHz ,然后可以经过锁相环设置将
主频升至 72MHz 。核心板上需要预留的扩展模块接口用于连接多个扩展模块,而与扩
展模块之间的通信方式这里选择 RS485 通信,因为 RS485 支持一主多从模式。同时
STM32 周围需要设计状态选择电路和状态指示电路,状态选择电路是用拨码开关作为
STM32 的引脚输入,状态指示电路是用 LED 作为 STM32 的引脚输出。
FPGA 没有片内 flash ,因此 FPGA 的程序需要存储到片外 flash 中,这里选择
EPCS4SI8N 作为 FPGA 的片外 flash FPGA 的下载方式有 JTAG 模式、 AS 模式和 PS
模式。 AS 模式是将程序烧入到配置芯片 EPCS 中, FPGA 每次上电时,作为控制器从配
置芯片 EPCS 中读取数据; PS 模式是将 EPCS 作为控制器件,将 FPGA 作为存储器, FPGA
上电时, EPCS 会主动将数据写入到 FPGA 中,此模式可以实现对 FPGA 的在线编程;
JTAG 模式是最常用的一种模式,直接把程序烧录到 FPGA SRAM 中,所以掉电后程
序会消失。 FPGA 在正常工作时,它的配置数据存储在 SRAM 中,加电时须重新下载。
在实验系统中,通常用计算机或控制器进行调试,因此可以使用 PS 。但是在实用系统
中,多数情况下必须由 FPGA 主动引导配置操作过程,这时 FPGA 将主动从外围专用存
储芯片中获得配置数据,而此芯片中 FPGA 配置信息是用普通编程器将设计所得的 .pof
格式的文件通过 AS 烧录进去。通过 JTAG 模式烧录 .sof 文件会将程序烧录到 SRAM 中,
但是通过文件转换,将 .sof 文件转换成 .jic 文件,通过 JTAG 模式烧录会将程序通过 FPGA
固化到配置芯片 EPCS 中,这样 FPGA 重新上电是会从 EPCS 中读取程序。本文最终考
虑到调试的方便性,所以选择了 JTAG 模式。
FPGA 的主频需要用到外部晶振, STM32 内部有晶振的起振电路故可以用无源晶振,
FPGA 没有,所以 FPGA 外部只能接有源晶振,这里选择 50MHz 作为 FPGA 时钟源,
通过锁相环的倍频后可以得到高达 300MHz 的时钟。
FPGA 的引脚既可以配置为输入模式,也可以配置为输出模式,都是 3.3VTTL 信号,
FPGA 输入输出引脚直接控制 LED ,作为 I/O 指示灯,共 40 个, 16 个输入点、 16 个输
出点、 8 个高速输出点。核心板与接口板通过接插件接在一起,用来传递 I/O 点数据信
号,在 FPGA 与接插件之间还要接入电平转换芯片,在 3.3VTTL 信号与 5VTTL 信号之
间转换,并且电平转换芯片能够起到保护作用,避免 FPGA 引脚直接与外部连接 [35]
2.3.2 接口板方案设计
接口板的硬件结构包括光耦输入电路、继电器输出电路、晶体管输出电路、 RS485
通信电路、 USB 通信电路、以太网通信模块、 DC/DC 降压电路、与核心板和电源板的
接口电路等。
光耦输入电路用于对外部开关量信号的输入,一般 PLC 的输入模块由若干输入点
和一个公共端组成。如图 2-9 a) b) PLC 直流输入电路的两种不同形式,区别在于
当外部开关闭合时, a) 中的电流从公共端 M 流出 PLC (源型输入), b) 中的电流从公共
M 流入 PLC (漏型输入)。当开关闭合时, PLC 内部光耦的发光二极管点亮,光敏三
极管饱和导通,再将该信号传送至中央处理器,认为有输入信号。 c) d) 分别是 a) b)
的多路信号结构。为了适应更多的现场设备,本文使用 e) 所示的混合型输入电路,光耦
选择双向输入型光耦,外部接线形式既能源型输入也能漏型输入。

2.5 软件方案设计
2.5.1 嵌入式操作系统
虽然嵌入式应用程序能够在芯片上直接运行,但是为了能够更加合理的调用多任务、
充分利用系统资源,本文采用在 STM32 上移植嵌入式操作系统的方案。目前常用的嵌
入式操作系统有 μClinux μC/OS-II eCos FreeRTOS
μClinux micro-control Linux )是微控制 Linux ,同标准 Linux 相比, μClinux 内核
小,但仍然继承了 Linux 良好的稳定性、可移植性,并具有强大的网络功能、出色的文
件系统、标准丰富的 API 以及 TCP/IP 网络协议等。在移植方面,由于 μClinux Linux
针对嵌入式系统的一种改良,所以其结构比较复杂,目标处理器需要足够容量的外部
ROM RAM ,对于 STM32F103 来说,移植此系统需要至少 512KB RAM 空间, 1MB
ROM/FLASH 空间,而 STM32F103 仅有 256KB FLASH ,所以需要外接存储器,
这就增加了硬件成本。并且 μClinux 结构复杂,移植难度大,实时性也差,不适合作为
本系统的移植方案。
μC/OS-II 是用 C 语言编写的一个结构小巧、抢占式的多任务实时内核。 μC/OS-II
最多支持 64 个任务,分别对应优先级 0~63 ,其中 0 代表优先级最高, 63 为最低,系统
保留了 4 个最高优先级和 4 个最低优先级,所以用户可以使用的任务数有 56 个。
μC/OS-II
能够提供任务调度与管理、内存管理、任务间同步与通信、时间管理和中断服务等功能,
具有执行效率高、占用空间小、实时性能优良和扩展性强等特点。在移植方面, μC/OS-II
支持当前流行的大部分 CPU ,由于其本身内核小,最小代码仅有 2KB ,需要数据空间
仅有 4KB RAM ,所以移植相对简单,只需要修改与处理器相关的代码即可,比较适
合在本系统上移植。
eCos embedded Configurable operating system )是嵌入式可配置操作系统,是一种
源代码开元的能够配置、可移植、面向深度嵌入式应用的实时操作系统。其最大的特点
就是内核可配置,采用模块化的设计方式带来的灵活的配置,核心部分由小同的组件构
成,通过 eCos 配置工具能够方便的配置内核、 C 语言库和底层运行包等组件,能够很
好的满足不同嵌入式应用需求。在移植方面, eCos 内核小,最小代码仅有 10KB ,所需
数据空间仅有 10KB RAM ,可移植性好,比 μClinux μC/OS-II 都更加容易,但是
其应用并不广泛,资料没有 μC/OS-II 多,更适用于例如消费电子领域中的应用。
FreeRTOS 是一款完全免费并能够在小 RAM 单片机上运行的实时操作系统,具有源
代码开元、可移植性强、可裁剪、调度策略灵活等特点。 FreeRTOS 操作系统能够完成
任务管理、时间管理、信号量、消息队列、内存管理、记录等功能,可以满足一个最小
操作系统的基本需求。在移植方面, FreeRTOS 能够方便的移植到不同处理器上,例如
ARM MSP430 PIC AVR C8051F 等, STM32 的内核就是 ARM ,所以 FreeRTOS
适合本系统移植,也是本文所采用嵌入式操作系统。
2.5.2 软件系统
软件系统由系统程序和用户程序组成。系统程序是固化在控制芯片中的程序,本控
制器由主控制器和远程模块构成,主控制器上有 STM32 FPGA 两个控制芯片, 5
远程模块为实现各自功能分别有一个 STM32 作为控制芯片,因此需要设计 7 套不同的
系统程序,编程语言包含 STM32 所需的 C 语言和 FPGA 所需的 Verilog HDL 语言。用
户程序的编辑本文设计了两套方案,一是设计一款 PC 端编程软件,通过 USB 端口下载
到主控制器 STM32 上的 flash 中,另一种是现场编程功能,即通过人机交互界面,利用
关键词让没有编程基础的普通用户能够编写简单的测试程序,方便现场调试 [36][37]
2.5.3 模块化功能
本文设计了模块化功能,运动控制和过程控制。运动控制经常用于机械、机床、机
器人、电梯控制等场合,用于驱动步进电机、伺服电机或交流电动机,此时需要控制器
产生相应的驱动信号,如驱动异步交流电动机需要用 SPWM SVPWM 算法,同时运动
控制还会经常用到编码器来测量速度和位置,本文在软件上设计高数计数器功能。过程
控制经常用于冶金、化工、锅炉控制等场合,用于对温度、压力、流量等模拟量的闭环
控制,此时需要控制器实现 PID 算法。
2.5.4 通信协议
各个 PLC 厂商一般都有自己的通信协议,比如罗克韦尔的 PLC 都支持 DF1 协议,
GE 90-70 90-30 系列 PLC 支持 SNP 协议,西门子 S-200 系列 PLC 支持 MPI PPI
等协议,施耐德 PLC 支持 Modbus Modbus Plus 协议,欧姆龙 PLC 支持 Host Link
议,三菱 PLC 支持 CC-Link 协议,松下 PLC 支持 MEWTOCOL-COM 协议。这其中Modbus
已经不仅仅是 PLC 的通信协议,在许多智能仪表、变频器中也有应用,已经在工控领
域中得到广泛的应用 [38] 。本文选择 Modbus 作为主控制器与远程模块之间通信的数据协
议,上述的协议中 MEWTOCOL-COM 协议对外开放且简单,本文在其基础上做些更改
作为 RMEN I/O 模块之间通信的数据协议,后称为 RM-COM 协议。

信迈提供STM32+FPGA的运动控制解决方案。

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

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

相关文章

【机器学习】机器学习中的“本体”概念

一、说明 在机器学习中,本体越来越多地用于提供基于相似性分析和场景知识的 ML 模型。 在传统的基于标签的定义中,对象往往是孤立的,可扩展性差,存在重复的可能性,对象之间的关系无法体现。在基于本体的定义中&#xf…

【深度学习】以图搜索- 2021sota repVgg来抽取向量 + facebook的faiss的做特征检索, 从环境搭建到运行案例从0到1

文章目录 前言安装小试牛刀用repVgg抽取向量构建Faiss索引进行相似性搜索本项目延伸其它项目拓展总结 前言 Faiss的全称是Facebook AI Similarity Search。 这是一个开源库,针对高维空间中的海量数据,提供了高效且可靠的检索方法。 暴力检索耗时巨大&a…

最全的3D动画软件介绍来了!良心总结9款3D动画制作必备软件

现在,市面上流行着的3D动画软件如此之多,以至于很难敲定到底哪一款更适合自己或自己的团队。本篇文章带来了一些热门的、被视为行业标准的3D动画软件的介绍,帮助您更好地做出选择。 不仅如此,您还能从文章中了解到在数字内容创建…

费舍尔线性分辩分析(Fisher‘s Linear Discriminant Analysis, FLDA)

费舍尔线性分辩分析(Fisher’s Linear Discriminant Analysis, FLDA) 目录 费舍尔线性分辩分析(Fishers Linear Discriminant Analysis, FLDA)1. 问题描述2. 二分类情况3. 多分类情况4. 代码实现4.1 二分类情况4.2 多分类情况 5. 参考资料 1. 问题描述 为解决两个或多个类别的…

PS - Photoshop 抠图与剪贴蒙版功能与 Stable Diffusion 重绘

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/131978632 Photoshop 的剪贴蒙版是一种将上层图层的内容限制在下层图层的形状范围内的方法,也就是说,上层图层只能在下层图…

32.选择器

选择器 html部分 <div class"toggle-container"><input type"checkbox" id"good" class"toggle"><label for"good" class"label"><div class"ball"></div></label&…

uni-app云打包(android)(自有证书、云端证书、公共测试证书)

一、进入云打包入口 发行->原生App-云打包 二、证书选择 1、使用自有证书 ①进入香蕉云编&#xff08;这里采用的证书从香蕉云编进行生成&#xff09; 香蕉云编-app打包上架工具类平台 ②进入页面选择“生成签名证书”->"立即创建证书" ③选择“安卓证书生…

数字人会成为文旅行业的新增量吗?写实数字人定制包含哪些技术?

近年来&#xff0c;各大文旅机构均在围绕数字人展开了文旅营销创作&#xff0c;凭借着写实数字人定制技术&#xff0c;将数字人的人设、功能以及才艺得到创新&#xff0c;并由此在文旅形态上展开了诸多尝试。 比如会唱山歌多才多艺的数字人刘三姐&#xff0c;使用多种语言推介…

windows环境下adb 下载和配置,连接手机。

ADB下载地址&#xff1a; https://adbdownload.com/ 选择下载windows系统的。 下载后解压&#xff0c;查看adb.exe所在的目录&#xff0c;如下 这里将路径复制下来&#xff1a;D:\ADB 配置到系统环境变量中。 然后再打开cmd&#xff0c;输入adb version查看版本。 出现…

ThinkPHP8知识详解:ThinkPHP8是什么?

欢迎你来到PHP服务网学习最新的ThinkPHP8开发教程&#xff0c;本文介绍一下ThinkPHP8是什么&#xff1f; 1、ThinkPHP8是ThinkPHP框架的最新版本&#xff0c;它在之前版本的基础上进行了改进和优化。它采用了现代化的设计理念和架构&#xff0c;提供了更好的性能和更丰富的功能…

【机器学习】Linear Regression

Model Representation 1、问题描述2、表示说明3、数据绘图4、模型函数5、预测总结附录 1、问题描述 一套 1000 平方英尺 (sqft) 的房屋售价为300,000美元&#xff0c;一套 2000 平方英尺的房屋售价为500,000美元。这两点将构成我们的数据或训练集。面积单位为 1000 平方英尺&a…

41. linux通过yum安装postgresql

文章目录 1.下载安装包2.关闭内置PostgreSQL模块:3.安装postgresql服务:4.初始化postgresql数据库:5.设置开机自启动:6.启动postgresql数据库7.查看postgresql进程8.通过netstat命令或者lsof 监听默认端口54329.使用find命令查找了一下postgresql.conf的配置位置10.修改postgre…

基于Java+SpringBoot制作一个学生公寓管理小程序

制作一个学生公寓管理小程序,旨在优化和简化学生公寓的日常管理工作。该系统涵盖了各种功能模块,以满足学生住宿的需求,同时提供方便、高效的管理方式,该系统包含用户管理、卫生评比、来访登记、宿舍报修等模块。 一、小程序1.1 项目创建1.2 首页轮播图快捷导航iconfont图标…

修改若依框架为自己的项目并上传到git

第一步: 打开后台若依项目,把全局替换打开,搜索ruoyi 和 RuoYi 和 若依 分别换成自己公司的名称( 记住要把区分大小写打开 ) 第二步: 关闭idea中的项目,然后在文件夹中打开这个项目,然后搜索target( 缓冲 ) 删除,部分人的电脑上面还有imp文件切记也要删除 第三步: 接着把项目…

重要通知|关于JumpServer开源堡垒机V2版本产品生命周期的相关说明

JumpServer&#xff08;https://github.com/jumpserver&#xff09;开源项目创立于2014年6月&#xff0c;已经走过了九年的发展历程。经过长期的产品迭代&#xff0c;JumpServer已经成为广受欢迎的开源堡垒机。 JumpServer堡垒机遵循GPL v3开源许可协议&#xff0c;是符合4A&a…

无线蓝牙耳机有什么推荐?怎么选择适合自己的耳机?七款蓝牙耳机分享

随着信息技术的不断发展&#xff0c;蓝牙耳机的不断发展也是必然的&#xff0c;可以说蓝牙耳机在大部分人们的生活中是不可缺少的一部分。那么我们该怎么去挑选出适合我们自己的需求的“蓝”朋友呢&#xff1f; 第一款&#xff1a;南卡小音舱lite2蓝牙耳机 推荐指数&#xff…

使用Anaconda3创建pytorch虚拟环境

一、Conda配置Pytorch环境 1.conda安装Pytorch环境 打开Anaconda Prompt&#xff0c;输入命令行&#xff1a; conda create -n pytorch python3.6 ​ 输入y&#xff0c;再回车。 稍等&#xff0c;便完成了Pytorch的环境安装。我们可以利用以下命令激活pytorch环境。 conda…

JVM源码剖析之JIT工作流程

版本信息&#xff1a; jdk版本&#xff1a;jdk8u40思想至上 Hotspot中执行引擎分为解释器、JIT及时编译器&#xff0c;上篇文章描述到解释器过度到JIT的条件。JVM源码剖析之达到什么条件进行JIT优化 这篇文章大致讲述JIT的编译过程。在JDK中javac和JIT两部分跟编译原理挂钩&a…

使用Kmeans算法完成聚类任务

聚类任务 聚类任务是一种无监督学习任务&#xff0c;其目的是将一组数据点划分成若干个类别或簇&#xff0c;使得同一个簇内的数据点之间的相似度尽可能高&#xff0c;而不同簇之间的相似度尽可能低。聚类算法可以帮助我们发现数据中的内在结构和模式&#xff0c;发现异常点和离…

小研究 - 一种复杂微服务系统异常行为分析与定位算法(一)

针对极端学生化偏差&#xff08;&#xff25;&#xff58;&#xff54;&#xff52;&#xff45;&#xff4d;&#xff45; &#xff33;&#xff54;&#xff55;&#xff44;&#xff45;&#xff4e;&#xff54;&#xff49;&#xff5a;&#xff45;&#xff44; &#…