GPC_APDU_Transport_over_SPI-I2C_v1.0_PublicRelease

news2024/12/24 4:00:43

GPC_APDU_Transport_over_SPI-I2C_v1.0_PublicRelease.pdf

目录

 1 简介

越来越多的设备,如移动设备、可穿戴设备或其他 IoT(物联网)设备现在正在使用焊接安全元件 (SE)。 这产生了支持 SPI 或 I2C 等物理接口的新需求,以代替以前的 ISO/IEC 7816-3 层。 本规范描述了 APDU(如 [7816-3] 中定义的)如何通过这些替代物理接口传输。 这种新协议允许传输更长的有效载荷,旨在适应底层物理接口的特定功能。

1.1 


本规范主要用于:
• 希望将安全元件嵌入到他们的解决方案中的设备制造商。
• 希望通过其产品中的替代物理接口支持 APDU 传输的 Secure Element OS 开发人员。 假设读者熟悉 ISO/IEC 7816-3 T=1 智能卡协议

Data Link Layer

管理物理接口上可靠的点对点数据传输的协议层。 它提供数据流控制和纠错。 它确保传入的数据既不会丢失也不会损坏,也不会以错误的顺序接收。

2 概述


本文档指定如何在主机设备 (HD) 和安全元件 (SE) 之间传输 APDU
使用基于 [SPI] 或 [I2C] 的串行物理接口,这些接口在行业中非常常用于连接电子元件。
第 3 节描述了为访问物理接口而应实现的物理层。
第 4 节描述了用于传输 APDU 命令和响应的数据链路层(在物理层上实现)。
第 5 节描述了 SE 可以进入省电模式的条件

3 物理接口


3.1 SPI接口


3.1.1 说明


[SPI] 中描述的串行外设接口 (SPI) 是一种同步串行数据链路,可提供全双工通信。 设备以主/从模式通信,主机通过发送数据启动通信,而从机能够同时发送数据。 然而,在本规范中,SPI 接口仅用于半双工通信。 尽管可能存在多个从设备,每个设备都使用自己单独的从选择线 (SS),但本规范仅描述了一个主设备和一个从设备之间的通信; 主机设备 (HD) 充当主设备,安全元件 (SE) 充当从设备。

3.1.2 物理层


SPI 总线指定了四种强制性物理信号/线:
• SCL 线:串行时钟(从 HD 输出)
• MOSI 线:Master Out / Slave In(HD 输出)
• MISO 线路:Master In / Slave Out(从 SE 输出)
• SS线:Slave Select(低电平有效,HD输出)
可以使用可选的 SPI-IRQ 物理线路。

 如果存在,SE 可以使用 SPI-IRQ 线来通知 HD 它已准备好发送数据,这是必需的,因为只有 HD(主设备)可以启动通信。 如果 SPI-IRQ 线不可用,HD 可能会轮询 SE 以获取传入数据。 有关详细信息,请参阅第 3.1.5 节。

3.1.2.1 信号约定
SPI 通信应使用“模式 0”配置,如下所述:
• SPI 时钟极性位(CPOL) 应为0(非反相时钟),这意味着时钟的空闲状态为低并且触发在上升时钟信号(选择高电平有效时钟)时启动。
• SPI 时钟相位位(CPHA) 应为0,这意味着数据采样发生在SCL 信号的上升时钟信号上。 数据信号设置在片选和下降时钟信号。
• SCL 频率不得超过CIP 定义的最大时钟频率(MCF)(参见第4.3 节)。 如果 HD 不知道使用哪个 MCF(例如尚未检索到 CIP),则应使用第 3.1.7 节中定义的默认最大时钟频率(DMCF)。
• 在单个SPI 访问期间通过MOSI 或MISO 信号传输的位数应为8 的倍数。
• 最高有效位 (msb) 应首先发送

3.1.2.2 数据传输
只有 HD 可以发起数据传输,并且在与 SE 交换数据之前它应该选择 SE,即 HD 应该下拉 SS 线并在 SCL 线上提供适当的时钟信号。
当HD需要向SE发送数据时,它应该在MOSI线上提供,而可以忽略在MISO线上接收到的数据。 反之,当HD需要从SE接收数据时,需要在MOSI线上提供填充字节,并在MISO线上读取接收到的数据。
当SE需要向HD发送数据时,它应该在MISO线上提供,并可以忽略在MOSI线上接收到的数据。 反之,当SE需要从HD接收数据时,需要在MISO线上提供填充字节,并在MOSI线上读取接收到的数据。
一旦所有数据都按预期交换完毕,HD 将停止时钟信号并取消选择 SE。 上述规则如图 3-2 所示,其中:
• “msb”表示传输数据第一个字节的最高有效位的位置。
• “lsb”显示最后一个字节的最低有效位的位置。
• “tSS”是在启动时钟信号和传输数据的第一位之前主机在断言SS 线后应等待的最短时间。 它的值超出了本规范的范围。
• “tDS”是主机在数据的最后一位传输后取消断言 SS 线(即取消选择从机)之前应等待的最短时间。 它的值超出了本规范的范围。

3.1.2.3 数据碎片/SPI 碎片
  SPI 总线用于传输定义了数据流控制的数据链路层模块(参见第 4 节)。 但是,第一级数据流控制是通过交换所谓的 SPI 片段在物理层实现的。 一个数据块可能被分割成多个 SPI 片段。 数据的分段将取决于需要交换的数据的大小和 SE 访问长度 (SEAL)。

当 HD 需要与 SE 交换数据(发送或接收)并且此类数据的长度超过 SEAL 字节时,HD 应分片和交换数据,以便每次 SPI 访问期间传送的字节数不超过 SEAL 的最大值 字节(在每个方向)。 HD 应该最大化每个 SPI 访问传输的字节数,以最小化 SPI 访问的数量。 此外,HD 应在两次连续的 SPI 访问之间暂停一段 SE 保护时间 (SEGT)。 这个过程如图 3-3 所示。

3.1.2.4 半双工使用


尽管 SPI 总线允许全双工模式操作,但本规范不使用此类功能,有意义的信息仅由数据链路层以半双工模式(见第 4 节)进行通信,这意味着 HD 和 SE 仅预期 交替发送数据链路层块。

3.1.3 激活顺序


在 SE 上电后,HD 在启动与 SE 的任何通信之前应等待电源唤醒时间 (PWT) 的持续时间。 当发起与 SE 的通信时,HD 应确保 SE 已准备好按照 3.1.4 节中描述的程序接收数据。
HD 然后可以检索 CIP(参见第 4.3 节)。 如果从未检索到 CIP 和/或 HD 不知道可以使用哪些参数值,则 HD 应使用第 3.1.7 节中定义的默认值(例如默认 PWT、默认 SEAL 等)。 否则,它可以使用先前从 CIP 读取的参数值。 HD 应根据 CIP 指定的参数调整其行为。

3.1.4 检测SE准备接收数据

SE 可能决定进入省电模式以节省电池(通常是主机设备电池),在这种情况下它将无法接收数据。 SE 实现可能进入省电模式的条件在第 5 节中描述。当 HD 希望发送数据并认为 SE 可能已进入省电模式时,它应首先确保 SE 已准备好接收数据。 为此,HD 应应用所谓的唤醒程序。 下面介绍两种唤醒程序; 然而,本规范承认在某些环境中可能无法实施这些过程这一事实。 因此,允许使用专有唤醒程序(HD 和 SE 都知道)。

• 唤醒程序 1(又名 SS-WUT-SCL):
在应用时钟信号 (SCL) 和发送数据之前,HD 应断言 SS 线并等待 WUT(或 DWUT)的持续时间。在此过程中,SS 线用作唤醒 SE 的中断线,等待 WUT 为 SE 提供足够的时间来唤醒并准备好接收数据。 为获得最佳性能,HD 应在 WUT 之后立即开始发送数据。 但是,它可以安全地等待更长时间; 保持 SS 线路断言可防止 SE 返回省电模式。

• 唤醒程序 2(又名 NB-WUT):
HD 应发送一个空字节(使用 3.1.2.2 节中描述的程序,即以取消选择 SE 结束),然后在发送任何重要数据之前等待 WUT(或 DWUT)的持续时间。 当 SE 检测到它在唤醒后第一次被取消选择时,它应该丢弃之前在 MOSI 线上接收到的任何数据。

在此过程中,等待 WUT 为 SE 提供了足够的时间来唤醒并准备好接收数据,并且取消选择指示 SE 丢弃最初在 MOSI 线上接收到的任何非重要数据。 请注意,为防止 SE 返回省电模式(参见第 5 节),HD 应注意不要等待太久。

此外,当 SE 期望一个新的数据链路层块(见第 4 节)而不是接收单个空字节时,SE 将简单地丢弃该空字节并等待进一步的传入数据。 需要此行为来处理 HD 错误地将 SE 评估为处于省电模式并不必要地应用唤醒程序的情况。

为支持上述程序,唤醒时间 (WUT) 被定义为 CIP 的一部分(参见第 4.3.3 节),默认 WUT (DWUT) 在第 3.1.7 节中定义。 如果实施专有唤醒程序,则 CIP 中的 WUT 可能会被忽略或用于其他含义。

3.1.5 检测SE准备发送数据


为检测 SE 已准备好发送数据并启动此类数据的检索,HD 物理层应使用以下部分中描述的机制之一。 由于此类机制对应于不同的硬件架构,因此选择使用一种或另一种是隐含的(即 HD 隐含地知道使用哪个)

3.1.5.1 轮询机制

当HD和SE设计为使用轮询机制时,HD应轮询SE以获取可用数据。 为此,它应首先决定轮询时间 (POT),该时间应大于 CIP 传送的 MPOT。 然后,当需要一些响应数据时,HD 将按如下方式轮询 SE:
  • HD 应声明 SS 线,在 SCL 线上应用时钟,并发送一个空字节以尝试从 SE 接收第一个有意义的字节(即数据链路层块的有效第一个字节)。
• 如果从SE 接收到一个空字节,HD 将解除断言SS 线,等待POT 持续时间,然后再次尝试发送一个空字节。 HD 应重复此过程,直到它从 SE 接收到有意义的字节(见下文)或直到 HD 数据链路层确定超时已发生。
• 如果从SE 接收到一个有意义的字节,HD 可以立即继续接收剩余的块数据,或者可以解除断言SS 线,然后应用3.1.2.2 节中描述的过程来接收剩余的块数据。

3.1.5.2 中断机制
当 HD 和 SE 设计为使用中断机制时,专用 SPI-IRQ 线应在响应数据可用时由 SE 断言。 应实施电平敏感机制,其中应通过将 SPI-IRQ 线设置为有效高电压电平来触发中断。 一旦 SS 线被 HD 断言,SE 应立即清除中断。

为防止通信错误:
• SE 应仅在一致数据实际准备好发送时断言SPI-IRQ 线,即当有意义数据的SEAL 字节或比SEAL 字节短的完整数据链路层块准备好发送时。
• 如果 SPI-IRQ 线有效,HD 不应尝试发送新的命令数据

3.1.6 从 SE 接收数据


因为从 SE 接收数据只能由 HD(主设备)发起和驱动,所以 HD 需要知道应该从 SE 检索的数据的大小。 这个问题通过以下事实得到解决:当 HD 检测到 SE 准备好发送数据时(参见第 3.1.5 节),HD 然后仅从 SE 接收数据链路层块(参见第 4 节)并且 从该块的序言字段,HD 可以了解应接收多少数据。

注:当使用3.1.5.1节描述的轮询机制检测SE准备发送数据时,SE返回的第一个有效(非空)字节表示轮询过程结束,是第一个字节 SE 打算发送的数据链路层块。 当使用中断机制时,HD还没有接收到任何字节并且应该检索整个数据链路层块。

注意:数据传输和通信性能可以通过让 HD 始终立即不仅检索数据链路层块的序言字段而且检索常见的短块大小(例如 6 字节)来优化。 如果 HD 试图检索比 SE 可用的数据更多的数据,HD 应该只接收额外的填充字节(SPI 实现中的常见行为),如果 HD 收到一个不完整的块,它可能会使用额外的 SPI 访问来检索丢失的数据 .

4 数据链路层


数据链路层使用第 3 节中描述的物理层之一在 HD 和 SE 之间传输数据块。 此类块只能由 HD 和 SE 交替发送(即半双工通信),并且可以传送应用数据或传输控制数据。 数据链路层应实现的协议与[7816-3]中描述的T=1协议非常相似,因此简称为T=1'。

4.1 T=1'协议


T=1' 协议建立在 [7816-3] 中描述的 T=1 协议之上,具有以下差异:
• 一般的块结构是相同的,除了序言的LEN 字段,它被编码在2 个字节上。
• 为NAD 字段的值定义了附加规则。
• 2 字节CRC 保留为唯一的EDC 算法,应该使用。
• S(IFS xxx) 块可能包含按 1 或 2 个字节编码的值。
• 定义了额外的S-Block(详见4.2.2 节)。
  • 定义了默认的 IFSC 值 8,HD 在不知道 IFSC 时应使用该值。 这个默认值足够大,HD 可以发送一个 S(CIP 请求)块,HD 可能想要这样做,以便发现更合适的 IFSC 值。
• 定义了默认的 IFSD 值 64,如果 SE 不知道 IFSD,则应使用它。 此默认值与最大 CIP 长度兼容。 HD 可以发送一个 S(IFS 请求)块来为通信的其余部分声明一个更合适的 IFSD 值。
• 不假设是否存在物理复位机制(例如冷复位或热复位)。 仅定义了软件复位,可以使用新的 S(SWR xxx) 块请求。 可能需要和使用物理机制的情况超出了本规范的范围。

在第 4.2 节中给出了更多解释。
[7816-3] 第 11.6.2.3 节中描述的无差错操作规则和 [7816-3] 附件 A.2 中描述的示例场景仍然适用。 [7816-3] 第 11.6.3 节中描述的错误处理规则和 [7816-3] 附件 A.3 中描述的示例场景仍然适用。 但是请注意,当 [7816-3] 建议执行“热重置”时,T=1' 协议应该尝试交换 S(SWR xxx) 块(参见第 4.2.2 节)。

4.2 块格式


T=1'协议使用的通用块结构与[7816-3]中描述的T=1协议相同; 然而,LEN 字段编码为 2 个字节,如表 4-1 所示。

LEN 和 CRC 字段应首先发送其最高有效字节(即大端顺序)。
例如,传输 14 字节 APDU 命令(包括 Le 字段)并具有 0xBDA4 的 CRC 值的块将按照表 4-2 中的指示进行编码。 (注意:NAD 和 PCB 值可能会有所不同,CRC 值也会相应变化。)

4.2.1 Node Address Byte (NAD) Field Format
 

 NAD 字段指定块的源和预期目的地

 

以下规则适用于 NAD 值的编码:
• HD 和SE 应分配不同的地址,因此DAD 和SAD 值永远不会相同。
• 为了便于检测 NAD 字节(即块的开始与非重要字节),地址 0000b 和 1111b 是禁止的,因此对于 DAD 和 SAD 也是禁止的。
• 如果SE 知道它自己的地址和/或HD 的地址,那么它可以检查DAD 和/或SAD 值,如果其中任何一个无效则决定拒绝该块。
• 如果 SE 不知道自己的地址,那么为了构建传出块的 NAD 值,SE 应重新使用并反转从 HD 接收的最后一个块的 DAD 和 SAD 值。

对于涉及单个主机和单个从机的配置,本规范建议使用以下地址:
• 0001b:主机设备(HD)
• 0010b:安全元件 (SE)

 4.2.2 Protocol Control Byte (PCB) Field Format

4.2.2 协议控制字节 (PCB) 字段格式

PCB 字段定义块的类型并包括传输控制数据。
T=1' 协议引入了以下新的块类型:
• S(CIP request):请求SE返回CIP。
• S(CIP 响应):回答包含CIP 的S(CIP 请求)块(参见第4.3 节)。
• S(RELEASE request):释放SE,即HD表示此时不介意SE进入省电模式。 有关详细信息,请参阅第 5 节。
• S(RELEASE 响应):确认一个S(RELEASE 请求)块。
• S(SWR 请求):请求SE 执行通信接口的软件复位。 发送此请求时,HD 还重置 N(S) 位并丢弃任何块链接信息。 SE 对该请求的确切解释超出了范围。
• S(SWR 响应):软件复位后确认S(SWR 请求)块。
PCB 域的编码如表 4-4 所示。

 

4.2.3 长度(LEN)字段格式


LEN 字段编码块的 INF 字段的长度。
以下值应被接收方视为无效:
• 超过接收器当前 IFS 值的值(即 SE 的 IFSC、HD 的 IFSD)
• 超出“0FF9”的值 (4089)(请参阅第 4.2.5 节中的解释)

4.2.4 信息(INF)字段格式


INF 字段的内容取决于块类型。

对于 S(IFS 请求)块的 INF 字段:
• 从'01' 到'FE' 的值应在1 个字节上编码。
• 从'00FF' 到'0FF9' (4089) 的值应按2 个字节编码(MSB 在前)。
• 超出“0FF9”(4089) 的值无效(请参阅第 4.2.5 节中的详细信息)

4.2.5 结语字段格式


Epilogue 字段传达块的错误检测代码。 在此版本的规范中,将使用 2 字节的 CRC。 请注意,这样的 CRC 只能有效地保护 (2^15 - 1) 位(包括其自身)免受 1、2 和 3 位损坏。 因此,此协议中 INF 字段的大小限制为最大值“0FF9”(4089)字节

4.3 通讯接口参数


CIP 包含 HD 用于与 SE 通信的通信接口参数(即物理层和数据链路层参数)以及历史字节。 为了检索 CIP,HD 应发送一个 S(CIP 请求)块(参见第 4.2 节)并接收一个包含以下部分中描述的 CIP 结构的 S(CIP 响应)块。 可以随时使用此过程(尽管更希望在开机时或软件重置后使用)。 在以下部分中,所有数值都编码为无符号整数

4.3.1 CIP——通用结构


本节介绍 CIP 的通用结构,与使用的物理层无关。

物理层参数
描述 SPI 物理层的数据,如表 4-8 中所定义,或者
描述 I2C 物理层的数据,如表 4-9 中所定义。

在这个版本的协议中,CIP 结构的总长度不得大于 64 字节。
注意:此要求与第 4.1 节中定义的默认 IFSD 值兼容

 

4.3.2 CIP – Specific Parameters for Data Link Layer


This section describes the parameters provided by the CIP for the Data Link Layer.
 

如果 HD 不知道要使用哪个 BWT 值(例如,尚未检索到 CIP),它应使用 300ms 的默认 BWT 值(DBWT)。
注意:为了与更高版本的协议(如果将来有定义)实现一定程度的兼容性,HD 实现应接受更多数据(上表中未描述)出现在数据链路层参数的末尾 并忽略这些数据

4.3.3 CIP – Specific Parameters for SPI Physical Layer


This section describes the parameters provided by the CIP when the SPI Physical Layer is used
 

4.3.3 CIP——SPI 物理层的特定参数
本节介绍使用SPI物理层时CIP提供的参数

注 1:为了与更高版本的协议(如果将来有定义)实现一定程度的兼容性,HD 实现应接受更多数据(上表中未描述)出现在物理层参数的末尾 并忽略此类数据。
注 2:参见第 3.1.5 节。 如果不使用轮询机制,则 MPOT 应设置为“00”。
注 3:参见第 3.1.2.3 节。 设置为“FFFF”的 SEAL 值应被解释为 SE 利用直接内存访问 (DMA),这意味着 HD 可以在每次 SPI 访问时虚拟地发送任何数量的数据。 在这种情况下,SE 可以相应地指示适当的 SEGT 值。

4.3.4 CIP – Specific Parameters for I2C Physical Layer


This section describes the parameters provided by the CIP when the I2C Physical Layer is used.
 

 4.3.4 CIP——I2C 物理层的特定参数
本节介绍使用 I2C 物理层时 CIP 提供的参数。

注意:为了与更高版本的协议(如果将来有定义)实现一定程度的兼容性,HD 实现应接受更多数据(上表中未描述)出现在物理层参数的末尾和 忽略此类数据。

5 Power Saving Policy
 

SE 可以决定进入省电模式以节省电池(通常是主机设备电池)。 SE 实现进入这种模式的条件通常取决于定义有关性能、可用性、电池节省等要求的高级应用用例。因为可能无法捕获一组适合所有使用的此类条件 在某些情况下,本规范承认特定 SE 实现可能会根据专有策略决定进入省电模式这一事实。 然而,本文档为 SE 指定了以下可互操作的策略:

 

• SE 只能进入省电模式:
o 在收到 S(RELEASE 请求)块(参见第 4.2.2 节)并返回相应的 S(RELEASE 响应)块之后,或者
o 如果 HD 在以下任何事件后没有发送任何新的数据链路层块,则超时后:

   启动完成(上电时)
   SE 返回了一个 R-block 或 S-block(包括 S(SWR response))。
   SE 返回一个 I-block 完成发送 APDU 响应(如果使用 APDU 链接,则返回链的最后一个 APDU 响应)。

虽然此政策保证 SE 仅在满足上述条件之一时才会进入省电模式,但出于其他专有原因,SE 可能会选择不这样做(即即使满足上述条件)。

请注意,如果超时适用(见下文),HD 可能会选择在达到超时之前发送 S(RELEASE 请求)块,即为 SE 提供更早进入省电模式的机会。

• SE 应指示适用的节能超时值(PST) 作为CIP 的一部分(参见第4.3 节)。
o 如果超时值设置为“00”,则 SE 表示它实际上可以随时进入省电模式。 实施专有政策的 SE 应指示此值。 假设 HD 实现知道并可以调整其行为以适应这种专有策略。
o 如果超时值设置为“FF”,则 SE 表示它不使用此超时值,因此只能在收到 S(RELEASE 请求)块时进入省电模式。
o 任何其他值(从“01”到“FE”)应理解为有效的超时值。 请注意,HD 在测量超时时应应用一些余量。

上电后,如果 HD 期望 SE 执行上述互操作策略并且不知道适用的超时值(例如,尚未检索到 CIP),则它应假定 SE 可能已经进入省电模式。

假定,如果 SE 实施专有的节电策略(或仅根据上述可互操作策略部分运行),HD 将对此类专有策略有足够的了解以调整其自身的行为。

请注意,假设进入或退出省电模式对数据链路层的通信参数(例如 N(S) 位、M 位、N(R) 位)没有影响。

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

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

相关文章

高阶python | 字符串高级功能

不可变的字符串 python中的数据类型分为可变的和不可变的两种,字符串属于不可变的数据类型。 不可变的数据类型可以作为字典的键使用,例如: my_dict {Lily: 68, Harry: 98, Lucy: 79} 不可变类型的另一个优点就是有助于进行内部消化&…

ISO_IEC_7816-3

介绍 ISO/IEC 7816 是一系列标准,规定了集成电路卡和此类卡的使用 互换。 这些卡是用于在外部世界和卡中的集成电路之间协商的信息交换的识别卡。 作为信息交换的结果,卡传递信息(计算结果、存储的数据)和/或修改其内容&#xff0…

高级第一个月考试题

1.什么是Vue框架? Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,并且还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持…

Unity之ShaderGraph节点介绍 Artistic艺术效果

前言 Artistic(艺术效果)  1、Adjustments(图像调节)   1) Chennel Mixer(通道混合器)   2) Contrast(对比度)   3) Hue(色调偏移)   4) Invert Co…

layui框架学习(24:弹出层模块_消息框提示框)

弹出层模块layer是Layui的重要模块,layui官网教程中的原话是:“layer 作为 Layui 的代表性组件”。弹出层模块layer的作用主要是在页面中以消息框、弹出框等形式进行信息提醒、信息交互等操作,类似于C/S架构中的MessageBox.Show、自定义窗口的…

AcrelCloud-6000安全用电云平台在某景区的应用

摘要 我国历史文化悠久,拥有相当丰富的历史文化遗产,而古建筑作为文化遗产的重要组成部分,体现着中华民族的生命力和创造力,蕴含了丰富的物质价值和精神价值。根据国家文物局近些年公布的数据,每年都发生十多起文物建筑…

ThingsBoard教程(五二):规则节点解析 AWS SNS Node, AWS SQS Node

AWS SNS Node Since TB Version 2.0 节点将消息发布到AWS SNS(亚马逊简单通知服务)。 配置: 主题ARN模式 - 可以直接设置消息发布的主题名称,也可以使用模式,该模式将使用消息元数据解析为实际的ARN主题名称。 AWS Access Key ID和AWS Secret Access Key是具有编程访问…

chatgpt赋能python:PythonUSBKey:安全可靠的数字身份验证

Python USBKey:安全可靠的数字身份验证 介绍 Python USBKey是一种安全可靠的数字身份验证工具,它基于Python编程语言开发,便于跨平台使用,并支持多种加密算法,使得加密安全性更高。 Python USBKey能够保护您的隐私&…

C++中string的用法

博主简介:Hello大家好呀,我是陈童学,一个与你一样正在慢慢前行的人。 博主主页:陈童学哦 所属专栏:CSTL 前言:Hello各位小伙伴们好!欢迎来到本专栏CSTL的学习,本专栏旨在帮助大家了解…

chatgpt赋能python:Pythonthreading:什么是线程及其使用

Python threading:什么是线程及其使用 在计算机科学中,线程是指操作系统能够进行调度和分派的最小单位。在 Python 中,线程允许程序在执行过程中并行完成多个任务。线程是并发编程的核心元素之一,使开发人员能够轻松地编写并行代…

Golang中互斥锁和读写互斥锁

目录 互斥锁 使用互斥锁的示例代码 读写互斥锁 读写互斥锁的示例代码 互斥锁 在Golang中,互斥锁(Mutex)是一种基本的同步原语,用于实现对共享资源的互斥访问。互斥锁通过在代码中标记临界区来控制对共享资源的访问&#xff0c…

LC-3 机器码编程实验

一、实验目的 分析和理解试验指定的需解决问题。利用LC-3的机器代码设计实现相关程序。通过LC-3仿真器调试和运行相关程序并得到正确的结果。 二、实验内容 利用LC-3的机器代码计算一个16位的字中有多少位是“1”,程序从x3000开始,需计算的字存储在x3…

智能集成式电力电容器在山东某环保材料制造厂中的应用

摘要:分析智能集成式电力电容的工作原理及功能,结合山东环保材料制造厂配电现状,选择经济可靠的方案,智能电容过零投切与低功耗,解决了继电器投切产生涌流的问题;接线简单,扩容方便,…

chatgpt赋能python:Python实现Word合并

Python实现Word合并 在日常工作和生活中,我们经常需要处理Word文档。有一种情况是需要将多个Word文档合并成一个,并且保留原有的格式和样式。这个时候,Python就派上用场了。 Word文档的结构 在了解怎样合并多个Word文档之前,我…

手机修复老照片软件有哪些?手机修复老照片的软件哪个好?

随着智能手机与数码相机的广泛普及,越来越多的小伙伴爱上了拍照。那么面对这些拍下来美美的照片,随着时间的不断流逝,它们终会磨损、损坏或者褪色。其实我们可以通过手机上的一些软件来帮助我们修复这些老照片,那么手机修复老照片…

ISO证书“带标”与“不带标”的区别是什么?

ISO9001质量管理体系认证是企业产品获得“通行绿卡”的最直接最有效的途径。 通过认证在打破贸易壁垒,提高产品知名度,降低生产成本,提高经济效益,维护消费者权益,减少重复审核负担等方面的作用越来越为企业界所共知。…

使用Cpolar+freekan源代码 搭建属于自己的在线视频网站

文章目录 1.前言2.本地网页搭建2.1 环境使用2.2 支持组件和环境设置2.3 支持组件选和环境设置2.4 网页安装2.5 测试和使用2.6 问题解决 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 转发自CSDNprobezy的文章:使用Cpolarfreekan源码…

三线制Pt100隔离器在掘进机电机保护系统中的应用

摘要:三线制Pt100隔离器相较于二线制的更加稳定可靠,在中低温地区有广泛的应用。掘进机电机保护系统中,利用三线制Pt100隔离器将热电阻信号转换为线性4-20mA电流信号,经过A/D转化,传输至PLC并显示,通过实时…

OpenCV中的图像处理3.10(九)二维直方图与反投影

目录 3.10.3 直方图--3:二维直方图目标绪论OpenCV中的二维直方图Numpy中的2D直方图绘制二维直方图 3.10.4 直方图 - 4:直方图反投影目标理论Numpy中的算法OpenCV中的反投影其他资源 翻译及二次校对:cvtutorials.com 编辑者:廿瓶鲸…

前端新员工入职,需要为你的新电脑安装一些环境,开发工具

目录 一.先安装个谷歌浏览器,稳定版。 二.安装公司日常交流软件 三.安装个VSCode 四.安装nvm 五.vue-cli的安装和配置 六.安装git 配置git账号 拉取线上仓库到本地 一些常用git命令 七.其他工具 网络抓包工具:whistle 反向代理工具&#xff1…