车载AUTOSAR和OSEK关系及网络管理的异同(NM)

news2024/12/25 23:48:27

AUTOSAR和OSEK关系及网络管理比较

AUTOSAR和OSEK关系及网络管理比较

  • AUTOSAR和OSEK关系及网络管理比较
    • AUTOSAR与OSEK的关系
    • AUTOSAR
      • AUTOSAR架构和标准的目标是:
      • AUTOSAR架构的主要特点是:
      • AUTOSAR标准有四个核心内容:
    • OSEK
      • 其特点主要有以下几个方面:
    • AUTOSAR和OSEK网络管理比较
      • 1. OSEK - Simplified state transition diagram of the direct NM
      • 2. AutoSAR - CanNm Algorithm
    • 报文发送与接受状态
      • 状态机时间参数
    • 3. 共同点:
      • 3.1、都属于直接网络管理。
      • 3.2、网络管理的目的都是协调各节点同步进入休眠及唤醒(主要是休眠)。
      • 3.3、都依靠特定的网络管理CAN报文,每个节点的网络管理ID都不一样。
      • 3.4、唤醒方法相同,第一个唤醒的节点发送网络管理帧即同时唤醒其它节点。
    • 4. 不同点:
      • 4.1 唤醒帧类型不一样:
      • 4.2 休眠的同步算法不一样:
      • 4.3 PDU结构不一样:
    • 小结
    • 参考

AUTOSAR与OSEK的关系

AUTOSAR与OSEK二者都是汽车电子软件的标准。OSEK/VDX是基于ECU开发的操作系统标准,AUTOSAR基于整体汽车电子开发的功能标准。AUTOSAR中规定的操作系统标准就是基于OSEK/VDX,通信和网络管理虽然和OSEK有区别,但是是有继承性的。可以认为,AUTOSAR是基于OSEK/VDX发展出来的,OSEK/VDX被AUTOSAR标准软件架构所包含。

AUTOSAR

**AUTOSAR(Automotive Open System Architecture,即汽车开放系统架构)**的出现是为了解决汽车电子架构日益增加的ECU单元带来的复杂系统设计问题,让汽车电子系统开发更灵活,更有效率。

2003年汽车行业内的几大巨头(BMW, Bosch, Continental, DaimlerChrysler, Volkswagen, Siemens VDO)联合建立了AUTOSAR联盟,一起开发并建立一套真正的开放的汽车电子电器架构,也就是我们现在所说的AUTOSAR标准或者AUTOSAR架构,我们经常提到的AUTOSAR一般就是指AUTOSAR构架/标准,AUTOSAR的全称是AUTomotive Open System ARchitecture,随着多年的发展,越来越多的行业内的公司加入到了AUTOSAR联盟中,这其中有OEM(汽车整车厂),Tier1(汽车零部件供应商),芯片制造商以及工具制造商,AUTOSAR构架/标准也成为了汽车E/E设计的发展方向。
在这里插入图片描述

AUTOSAR架构和标准的目标是:

1、满足未来汽车的需求,如可用性和安全性、软件升级更新、可维护性等
2、增加软件的灵活性和可扩展性来实现软件的集成和整合
3、实现商用现成的跨产品线的软件硬件
4、控制产品和流程的复杂度和风险
5、优化成本

AUTOSAR架构的主要特点是:

1、模块化和可配置性
2、标准化接口
3、提出了RTE的概念
4、标准的测试规范

AUTOSAR标准有四个核心内容:

1、ECU软件构架
2、软件组件(software components)
3、虚拟功能总线(Virtual Functional Bus)
4、AUTOSAR设计方法(Methodology)

OSEK

为了解决汽车控制技术通信和网络发展多元化带来的软件移植和不同应用程序的接口协调问题,德国汽车工业界在1993年推出了OSEK(open systems and the corresponding interfaces for automotive electronics)体系,定义汽车开放式系统及接口。1994年法国标致雷诺将汽车分布式运行系统VDX(vehicle distributed executive)纳入OSEK。

在1995年召开的OSEK研讨会上,众多的厂商对OSEK和VDX的认识达成了共识,产生了OSEK/VDX规范(1997年发布)。它主要由四部分组成:操作系统规范(OSEK Operating System,OSEK OS)、通信规范(OSEK Communication , OSEK COM )、网络管理规范( OSEK Net Management, OSEK NM)和OSEK实现语言(OSEK Implementation Language,OIL)。

此后,各软件生产厂商都相继推出了符合OSEK规范的产品。随着该规范应用的不断深入,其结构和功能不断完善和优化,版本也不断升级和扩展。目前OSEK OS2.2 , OSEK COM2.3 , OSEK NM2.3和OIL2.3已经提交ISO审议,即将成为一个国际标准。
在这里插入图片描述

OSEK规范为实现其制定的初衷并满足汽车控制领域对系统安全性和节省有限资源的特殊要求,制定了系统而全面的操作系统规范。

其特点主要有以下几个方面:

1、实时性
2、可移植性
3、可扩展性

由上我们可以看出,AUTOSAR与OSEK二者都是汽车电子软件的标准。OSEK基于ECU开发,AUTOSAR基于整体汽车电子开发。AUTOSAR中规定的操作系统就是OSEK,而通信和网络管理虽然和OSEK有区别,但思路一样的。所以认为,AUTOSAR是基于OSEK提出的(但不仅基于OSEK),OSEK被AUTOSAR标准软件架构包含。

AUTOSAR和OSEK网络管理比较

1. OSEK - Simplified state transition diagram of the direct NM

在这里插入图片描述

OSEK建立逻辑环

直接网络管理(以下简称为NM)通过发送和接收两种类型的消息来建立逻辑环:Alive message和Ring message。其中,Alive message是一个节点要加入逻辑环时要发送的消息,Ring message是网络正常工作时的环消息,是从一个节点传递给下一个节点,依次在逻辑环中传递,以表示网络中的节点正常工作。当某一节点功能不正常时,就会周期性的向网络中发送LimpHome message。

逻辑环的建立通过一种发送“令牌(Token)”的方式来进行,按标识符由小到大的顺序进行传递,最初发送Alive message的节点(或者标识符优先级高的节点)成为逻辑环中的第一个发送节点,消息都是以广播的方式发送的,这就使得每个节点发送的消息,其他节点都可以监测到,以确定自己是否为上一个发送节点的后继节点,并更新节点的运行状态等。

在这里插入图片描述

所有参与建环的ECU在建环初期,发出报文数据的第一字节都是自己的ID第二字节都是 0xC9 ,即协议里讲的发出指向自身的 Alive 报文,每个 ECU 都发完 Alive 报文之后,就建立起来逻辑环了,上图的后面几帧报文, ECU25 指向了 ECU17 , ECU17指向了ECU1D, ECU1D指向了ECU21, ECU21指向ECU22 , ECU22指向ECU25 ,ECU25 指向 ECU17 ,形成一个封闭的逻辑环,且第二字节都是 Ring 置 1 的 Ring 报文。

正常建环的情况下,上一条NM报文的ID就是下一条NM报文的第一字节的数据,比如划线的3条报文,第一条报文的ID为0x19,数据的第一字节为0xE8,第二条报文的ID为0xE8,数据的第一字节为0xEE,第三条报文的ID为0xEE,数据的第一字节为0x19,所有正常建环的报文的第二字节,其Bit2置1,表示发出了正常建环的Ring报文,这就是所谓的逻辑环。
在这里插入图片描述

ECU 进入 LimpHome 状态时的情况,下图所示,在网络上只有一个 NM 节点的情况下, ECU上电后,先尝试建立逻辑环,尝试 5 次后,依旧无法建立逻辑环,则 ECU 进入 LimpHome 状态, ECU 按 TError (一般是 1000ms )的周期发送 LimpHome 位置 1 的报文,下图可以看出, LimpHome 报文的第一字节指向自己,第二字节为 0x04 。
在这里插入图片描述

OSKE网络管理的休眠过程,当我们下到 OFF 档时,控制器满足了休眠条件,就会发出睡眠指示位 (Sleep.Ind) 置 1 的 Ring 报文,如图中的第二字节数据为 0x12 的报文,当所有节点都满足休眠条件,发出 0x12 的报文后,最后一个休眠节点的下一个节点,就会发出睡眠应答位 (Sleep.Ack) 置 1 的 Ring 报文,如图中的第二字节数据为 0x32 的报文,同一网段的控制器收到这个报文后,就会进入睡眠状态,这个时候,会停止发送任何报文到总线,等待 ECU 的内部任务完成后,就会进入低功耗模式,静态电流会变得很小。
在这里插入图片描述

2. AutoSAR - CanNm Algorithm

在这里插入图片描述

NM状态机
状态机的状态类型可分为“三大三小”。其中“三大”指的是Bus Sleep Mode、Network Mode、Prepare Bus-Sleep Mode;而“三小”则值得是Network Mode下的三个子状态:Repeat Message State、Normal Operation Mode、Ready Sleep Mode。

Bus Sleep Mode
当没有远程唤醒或者本地唤醒请求时,ECU的Controller应当切换至Sleep模式,电流消耗将降低至最低水平,该Mode是ECU启动时的起始状态或者是ECU睡眠时的最终状态。

在该模式下,NM报文以及应用报文都应该被禁止发送,但是可以被网络上的报文唤醒。

在此特意说明一点,当Transiver支持并使能了特定帧唤醒时,该ECU只会接受到特定的NM报文才会正常唤醒,否则就会一直处于休眠状态,能够不受网络上应用报文的干扰。

如果Transiver不支持特定帧唤醒,那么网络的任意报文都可以唤醒该ECU,如果唤醒条件不满足,又会走休眠流程继续睡下去,这样“睡醒交替”的方式就是不支持特定帧唤醒的Transiver的典型特征。当然,如果整车上的NM都可以正常运作,那么就不会频繁出现这种“睡醒交替”的方式,这种方式一般都是在做测试时才会较多的体现出来。

Network Mode
一旦进入Network Mode,计时器T_NM_Timeout就会启动,只要成功接收到来自总线上的NM报文或者成功发送至总线NM报文,都会将该计时器T_NM_Timeout重置。

该模式又进一步细分为以下三种子状态,RMS、NOS、RSS

  • Repeat Message State(RMS)

该状态能够确保当ECU的状态机从Bus-Sleep Mode或者Prepare Bus-Sleep mode切换至Network Mode时能够及时的被网络上其他ECU节点发现,也就是告诉其他ECU,“大家注意了,我成功上线了,请多多指教!”

当成功进入到RMS状态时,该节点就会重新发送NM报文并开启计时器T_REPEAT_MESSAGE,应用报文则需要等待第一帧网络管理报文发送之后再发送。

当然,第一帧NM报文可以通过配置参数MSG_CYCLE_ OFFSET来延迟发送,降低在同一时间内的总线负载,这个配置参数默认是0 ,一般根据测试结果来做适当的调整。

在计时器T_REPEAT_MESSAGE超时之前,该节点就会一直保持在该状态,否则将会离开该状态。

在该状态下也存在着两个子状态:

    • NM Immediate Transmit State
      在该模式下,ECU的目的是快速唤醒整个网络,同时该节点将会以配置参数T_NM_ImmediateCycleTime的周期发送NM报文,而发送次数则是由配置参数N_ImmediateNM_TIMES来决定,每一次成功发送,该参数就会减1,直至为0,退出该子状态;
    • NM Normal Transmit State
      在该模式下,ECU节点将会以正常报文周期T_NM_MessageCycle的方式来发送NM报文。
  • Normal Operation State(NOS)
    只要ECU节点自身存在网络通信的需要,那么ECU就会一直工作在NOS的状态下。该状态下NM报文的发送将会以T_NM_MessageCycle的周期来发送报文,每次报文的成功发送或接收或者计时器NM-Timeout超时都会重置该计时器NM-Timeout;
    在该状态下的NM报文以及应用报文都应该正常收发通信。

  • Ready Sleep State(RSS)
    在该模式下,ECU节点应当停止发送NM报文。每次成功接受到来自网络上的NM报文,计时器T_NM_TIMEROUT 就会重置,一旦T_NM_TIMEROUT超时,那么就会离开该状态转而进入Prepare Bus-Sleep状态。

Prepare Bus-Sleep Mode
一旦进入该模式,计时器T_WAIT_BUS_SLEEP就会启动。在该模式下禁止网络管理报文的发送,允许接受NM报文。应用报文已经在buffer中的一般允许继续发送,但最终应该是silent bus,该ECU的Controller的状态应当处于operational mode。一旦T_WAIT_BUS_SLEEP超时,就会进入到Bus-Sleep阶段。

Passive Mode
在该模式下只接受NM报文,但不发送任何的NM报文。该模式可以通过配置得到,同时该模式应只存在于开发或者调试过程中,在正式SOP的软件中禁止出现此种模式。

报文发送与接受状态

在测试的过程中,需要针对网络管理每一个状态下的NM报文与APP报文接收与发送进行测试。如下图所示,体现了在不同NM子状态下的报文发送与接受状态。

  • Bus-Sleep阶段

只接收NM报文唤醒,不发送任何报文;

  • Pre-Bus-Sleep阶段

同样仅允许接收NM报文,对于早已在发送Buffer中的APP报文应发送完毕后立刻停止APP报文;

  • Network Mode模式

除了在Ready Sleep阶段不允许发送NM报文之外,其余阶段APP报文与NM报文正常收发;
在这里插入图片描述

状态机时间参数

在网络管理各子状态的切换过程中都依赖于各种计时器,相关参数总结如下。
在这里插入图片描述

3. 共同点:

3.1、都属于直接网络管理。

3.2、网络管理的目的都是协调各节点同步进入休眠及唤醒(主要是休眠)。

3.3、都依靠特定的网络管理CAN报文,每个节点的网络管理ID都不一样。

3.4、唤醒方法相同,第一个唤醒的节点发送网络管理帧即同时唤醒其它节点。

4. 不同点:

4.1 唤醒帧类型不一样:

  • 网络唤醒后,OSEK要求节点发出的第一帧必须是Alive类型,不能是Ring, Limphome等。
  • AutoSar只要求是网络管理帧就行,条件宽松。

4.2 休眠的同步算法不一样:

OSEK网络管理使用令牌环机制,令牌从网络地址低的节点传到网络地址高的节点,如果没有更高的节点,就传给最低地址节点。令牌环根据ECU的网络地址建立。每个ECU都会接受网络管理消息,只有和目的地址相同的一个节点才会得到令牌。

唤醒后建立逻辑环过程:

1.控制器唤醒后想参与网络的节点会先发Alive报文申请加入逻辑环。

2.逻辑环建成后,各节点按顺序发Ring报文向后续节点传递“令牌”。

在这里插入图片描述

同步休眠过程:

1.如果逻辑环中有节点想休眠,就设置Ring报文中的Sleep.Ind指示位。

2.当逻辑环中所有的节点都设置了Sleep.Ind指示位,也意味着任何节点接收到所有其它节点的Sleep.Ind指示位。

3.逻辑环中所有的节点设置Sleep.Ack指示位

4.任何节点接收到所有其它的节点的Sleep.Ack指示位

5.所有节点同步进入等待睡眠状态

6.tWaitBusSleep时间内没有收到唤醒时间,所有节点同步进入睡眠状态。

在这里插入图片描述

AutoSar基于分布式策略,每个节点根据通信系统中发送或者接收到的NM消息来执行自给自足的网络活动。NM消息通过广播发送,所有网络中的所有节点都可以接收到。接收到NM消息表示发送这个NM消息的节点倾向保持网络工作模式(NETWORK MODE)。如果有节点准备好进入总线睡眠模式 (BUS SLEEP MODE),它就停止发送NM消息,但是只要它还能够接收到从其他节点发来的NM消息,它就延迟到总线睡眠模式的变迁。最终,在一定的时限内,由于不再接收到NM消息,每个节点都启动到总线睡眠模式的变迁。如果网络中的任何节点需要总线通信,它可以通过发送NM消息使网络从来总线睡眠模式中唤醒。概括如下:

1.每个网络节点如果想保持总线通信,就会一直发送周期性的NM消息;如果它不再需要保持总线通信,它就不再发送NM消息。

2.如果总线通信已经被释放,并且在配置的一段时间内没有发送或者接收到NM消息,则执行到Bus-Sleep模式的转移。

4.3 PDU结构不一样:

在这里插入图片描述

OSEK网络帧PDU包括自己地址,目标地址(下一个令牌环目标),命令状态,用户选择数据。
在这里插入图片描述

NM messages can have length of 4-8 bytes depending on manufacturer.
Byte-1: It contains address of logical successor in the ring here. In case node is in Alive Mode or in Limphome mode , it will have the station’s own address here.
Byte-2: It contains Network state information.
Bit 0 - Alive State
Bit 1 - Ring State
Bit 2 - Limphome state
Bit 3 - Reserved
Bit 4 - Sleep indication State
Bit 5 - Sleep acknowledgement State
Bit 6 - Reserved
Bit 7 - Reserved
Byte-3: Reason for wake up is listed in this byte. Data is interpreted as follows
00 - No entry
01 - Wake Up due to Power ON/IGN ON
02 - Wake Up due to CAN messages
03 - Wake Up due to external events like door warning
04 - Wake Up due to internal events like NMWakeUp
Bytes 4-8 - Reserved

AutoSar网络帧PDU只包括自己地址,少量控制信息,用户选择数据。内容简单的多。
在这里插入图片描述在这里插入图片描述

Bit 0: Repeat Message Request Bit
0: 代表存在Repeat Message Request ;
1:代表不存在Repeat Message Request ;
Bit 1:PN ShutDown Request Bit(PNSR)
0:NM报文中不包含同步局部网络管理休眠请求;
1:NM报文中包含同步局部网络管理休眠请求;
Bit 3:NM Coordinator Sleep Bit
0:未被主协调NM节点请求开始同步休眠;
1:已被主协调NM节点请求开始同步休眠;
Bit 4: Active Wakeup Bit
0:节点没有唤醒过网络,属于被动唤醒;
1:节点唤醒过网络,属于主动唤醒;
Bit 5: PN Learning Bit(PNL)
0: PNC learning被请求
1: PNC learining未被请求
Bit 6 PN Information Bit(PNI)
0: NM报文中包含PN 信息;
1:NM报文中未包含PN 信息;
常使用到的也就Bit0,Bit3,Bit4, Bit6这4位。

小结

OSEK同步休眠时刻是所有节点都发送Ring请求休眠帧,且收到其它节点的Ring确认休眠帧。而AutoSar的同步休眠时刻是所有节点都停发NM帧,且不能收到其它节点的NM帧。比较而言,AutoSar要简单一些。

OSEK令牌环中有一个节点异常,其它节点就要重新建立环才能维持正常网络状态,策略比较复杂。而AutoSar网络管理中,一个节点异常时不影响其它节点的网络状态。比较而言,AutoSar要简单一些

参考

Specification of CAN Network Management

Network Management Concept and Application Programming Interface

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

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

相关文章

基于SSM+JSP的高校学生健康档案管理系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

【ChatGPT】ChatGPT-5 到底有多强?

目录 1、ChatGPT-5 到底有多强2、技术方向3、系统特点4、系统应用5、ChatGPT-5为什么停止训练? 1、ChatGPT-5 到底有多强 OpenAI 最新的自然语言处理技术 ChatGPT-5 近期发布,拥有过去版本的一系列升级和改进。那么,在 ChatGPT-4 强大的基础…

STM32 调试TM7711驱动原理图驱动代码

本文使用工程代码如下 (1条消息) STM32调试TM7711驱动原理图驱动源代码,参考如下博客,有原理图设计资源-CSDN文库 背景 项目选用TM7711,还是很令人吃惊的,主要是有如下几个理由 第一就是便宜 第二精度高 STM32的ADC精度不够…

STM32 学习笔记_8 定时器中断:输入捕获

输入捕获 输入引脚发生跳变时,cnt的值会被记录到ccr中,可以用于测量pwm信号等。配置成pwmi模式还可以同时测量频率和占空比。主从触发模式可以实现硬件全自动测量。 高级定时器和通用定时器才有的功能。 这个功能只能测数字信号,对于a信号…

【k8s概念】一文搞懂k8s核心概念,吐血整理~两万字~!!!

文章目录 1. k8s简介1.1 k8s概念1.2 作用/功能 2. k8s集群搭建方式3. k8s核心组件3.1 Master Node(控制平面组件)3.2 Worker Node 4. k8s核心概念4.1 容器4.2 工作负载——Pod4.3 Pod控制器4.3.1 ReplicationController(RC)4.3.2 ReplicaSet(RS)4.3.3 De…

四大关键举措高效管控企业税务风险

税务风险是指企业在税务管理中,由于涉税行为因未能正确有效地遵守税法规定,而导致企业出现经济损失以及企业形象受损。企业税务风险的来源主要有两方面:第一,企业的纳税行为不符合税收法律法规的规定或对相关的税务政策未能全面理…

隐私计算论文合集「多方安全计算系列」第一期

当前,隐私计算领域正处于快速发展的阶段,涌现出了许多前沿的SOTA算法和备受关注的顶会论文。为了方便社区小伙伴学习最新算法、了解隐私计算行业最新进展和应用,隐语开源社区在GitHub创建了Paper推荐项目awesome-PETs(PETs即Priva…

生态伙伴 | 硬创大赛新起航!携手华强科创广场,助力硬科技创业者

01 大赛介绍 中国硬件创新创客大赛始于2015年,由深圳华秋电子有限公司主办,至今已经成功举办八届,赛事范围覆盖华南、华东、华北三大地区,超10个省市区域。 大赛影响了超过45万工程师群体,吸引了35000多名硬创先锋报…

markdown神器 -Typora使用教程笔记2023最新版

文章目录 前言一、下载安装包和魔法工具二、第一步 选择为所有人安装三、第二步 创建桌面快捷方式四、第四步 安装五、第五步 完成安装六、第六步 取消勾选自动更新七、第七步 将魔法文件放在安装路径的根目录八、第八步 恭喜你,激活完成总结魔法工具获取方式 前言 …

{嵌入式操作系统}我国为什么要自主研发国产嵌入式操作系统

嵌入式操作系统不同于传统的桌面操作系统,用户不能直接执行它们,不同于桌面操作系统的无处不在,嵌入式操作系统隐藏在我们的视野之外,很多人甚至不知道它们的存在。 什么是嵌入式操作系统,它与非嵌入式操作系统有何不…

整合营销和内容营销哪个好,有什么区别

如果想做自媒体运营,不管是品牌还是个体从业者,其实都要学会如何去营销。这个也分为很多种方式,比如整合营销和内容营销。今天,来和大家谈谈整合营销和内容营销哪个好,如何才能将他们应用好? 要想回答这个问题&#x…

Linux实操篇---常用的基本命令4(磁盘查看和分区类)

一、磁盘查看和分区类 du查看文件和目录占用的磁盘空间 du:disk usage 磁盘占用情况 基本语法: du 目录/文件 显示目录下每个字母里的磁盘使用情况选项说明: 选项功能-h以人们较易阅读的GBytes,MBytes,KBytes等…

android waklock锁阻止休眠调试

上层wakelock 锁获取 adb shell dumpsys powerLooper state:Looper (PowerManagerService, tid 30) {aabc9c2}Message 0: { when42s654ms what4 targetcom.android.server.power.PowerManagerService$PowerManagerHandler }Message 1: { when9m39s94ms what1 targetcom.android…

一种通用的业务监控触发方案设计 | 京东云技术团队

一、背景 业务监控是指通过技术手段监控业务代码执行的最终结果或者状态是否符合预期,实现业务监控主要分成两步:一、在业务系统中选择节点发送消息触发业务监控;二、系统在接收到mq消息或者定时任务调度时,根据消息中或者任务中…

【Python Matplotlib】零基础也能轻松掌握的学习路线与参考资料

Python Matplotlib是一个流行的数据可视化工具,可以帮助数据科学家和分析师更好地理解数据。本文将介绍Python Matplotlib的学习路线,参考资料和优秀实践。 文章目录 一、Python Matplotlib的学习路线二、Python Matplotlib参考资料三、Python Matplotl…

ChatGPT的使用体验及教程

ChatGPT对社会带来了什么影响? ChatGPT的出现对社会产生了广泛的影响,主要体现在以下几个方面: ① 提升了人工智能领域的发展水平:ChatGPT在最初发布时获得了广泛的关注,并受到了人工智能领域专家和研究者的高度评价。…

OpenGL实战-调试

glGetError() OpenGL文档,可以查询函数出现的错误的对应原因。  默认情况下glGetError只会打印错误数字,如果你不去记忆的话会非常难以理解。通常我们会写一个助手函数来简便地打印出错误字符串以及错误检测函数调用的位置。 GLenum glCheckError_(co…

SpringBoot——RESTful风格以及如何快速发送不同方式的请求

RESTful风格: 简单来说,RESTful就是一种将请求方式融合到路径中的一种请求路径书写风格,注意这里是风格,不是规定,我们也可以不使用他或者不是非常严格的按照他规定的样式来写,但是由于行业中大多数的人在…

Boost电路的参数设计

本文以实例方式介绍Boost电路的参数设计方法。项目需求:12V升压至50V,功率35W。 先看示例电路图,如下图所示。 在进行具体的参数计算之前,我们先简要的分析一下Boost电路的工作原理。 1、我们假设,C3和C4的容值相对于负…

发挥数据潜能,为在金融服务行业进行创新做好准备

发挥数据潜能,为在金融服务行业进行创新做好准备 为何选择 NetApp 的金融服务? 作为云专家,我们将确保始终适时适地提供财务数据,以推动转型。我们将消除数据孤岛,提供实时的市场就绪分析,借助经验证的 AI…