1。介绍¶
本文档的目的是作为一个参考的嵌入式软件开发人员,提供一个启动实用和高级别理解蓝牙低能量(bie)标准。它给出了系统体系结构和软件体系结构概述DA14585/586/531系统芯片(SoC)的集成电路(IC)设备。
1.1。目标受众¶
本文档的目的是嵌入式软件开发人员/嵌入式固件工程师,工作在应用程序开发SmartBond™DA14585/586/531设备基于DA14585/586/531系统芯片(SoC)的平台。
开发人员新DA14585/586/531系统芯片(SoC)建议平台扫描整个文档,以便熟悉覆盖,和在哪里可以找到具体的信息。
经验丰富的嵌入式固件开发人员将能够深入SDK经过一些关键章节和技术文档所提供的示例应用程序。雷竞技安卓下载这将给一个更好的理解在对话框的DA14585/586/531蓝牙®低能量设备和如何最好地利用对话框的DA14585/586/531 SoC平台提供的功能。
1.2。设备模式¶
设备,同时支持祝福和基本汇率(BR) /增强数据速率协议(EDR)称为双模设备。通常情况下,在生态系统蓝牙手机或笔记本电脑被认为是一个双模设备,除非另有特别规定的。设备只支持祝福被称为单模设备。
1.2.1。单模设备¶
单模(BLE或蓝牙低能量)设备,实现只有祝福和能够与单模和双模设备。然而,并不是只支持BR /功能的设备。祝福是单模的必备设备的支持来处理传入消息和响应问题。
1.2.2。双模设备¶
双模BR /功能/ LE,蓝牙低能量准备好设备,实现了BR /功能,并能够与任何蓝牙设备通信。
1.3。主要构建块¶
在经典的蓝牙标准,协议栈包括两个模块:控制器和主机。在蓝牙BR /功能设备,实现这两个通常是分开的。然而,更多最新的蓝牙设备包括一个构建块数量的增加。主要构件中存在的几乎每一个蓝牙设备如下:
- 使用蓝牙协议栈接口的应用程序来实现一个特定的用例
- 的主机包含上层蓝牙协议栈
- 控制器包含低层的蓝牙协议栈,包括收音机
蓝牙规范还提供了一个标准的主机和控制器之间的通信协议主机控制器接口调用(HCI),它允许主机和控制器之间的互操作性,这是由不同的实体。
1.4。硬件配置¶
这些主要构建块可以实现在一个集成电路(IC)或系统芯片(SoC)设备上,或者可以分裂并执行多个集成电路连接到一个合适的通信接口和协议(UART、USB、SPI、或其他)。
1.4.1。集成处理器¶
大多数传感器应用程序倾向雷竞技安卓下载于使用集成处理器(SoC)硬件配置,驱动整个系统的复杂性和相关的印刷电路板(PCB)实现成本更低。
1.5。网络模式¶
BLE设备使用两个不同的沟通方法,每个都有一定的好处和限制:广播和连接。这两种方法都遵循一定的程序建立的通用访问配置文件(GAP)。
1.5.1。广播¶
当使用无连接广播时,祝福设备发送数据到任何扫描设备或可接受的听力范围内的接收器。从本质上说,这种机制允许BLE设备发送数据单向任何人或事能够拿起的传播。
广播定义两个不同的角色:
- 广播:发送non-connectable广告包定期有人愿意接收他们。
- 观察者:反复扫描预设频率得到任何non-connectable广告包。
广播的唯一方法是设备传输数据到多个对等。这些广播数据发送了祝福的广告功能的使用。
1.5.2。连接¶
祝福的双向数据传输,连接需要礼物。BLE只不过是一个建立连接,期刊在特定时间点上的数据交换(连接事件)之间所涉及的两个祝福。通常情况下,两者之间的数据交换祝福连接同行,也没有其他设备。连接定义两个不同的角色:
- 中心(主):反复扫描预设BLE频率接入广告包,合适时,启动一个连接。一旦建立连接,中央管理时间和启动期刊数据交换。
- 外围(奴隶):一种装置,定期发送接入广告包和接受传入的连接。一旦在一个活跃的连接,外围遵循中央的时机和定期交流数据中心设备。
要发起连接,中央设备拿起接入广告包从外设,然后发送一个请求到外围设备建立一个独有的两个设备之间的连接。一旦建立连接,外围停止广告和两个设备可以在两个方向上交换数据。尽管中央管理的设备连接建立,数据可以发送独立的设备在每个连接事件,和角色不施加限制在数据吞吐量或优先级。因此可以作为核心和外围设备同时,中央设备连接到多个外围设备以及外围设备连接到多个中央、。
连接为组织数据的能力提供更细粒度的控制每个字段或属性通过使用额外的协议层和,更具体地说,通用属性剖面(关贸总协定)。数据是围绕单位称为服务和特色。此外,连接允许更高的吞吐量和有能力建立一个安全的加密链接,以及谈判的连接参数以适应数据模型。
BLE设备可以有多个服务和特点,组织以一种有意义的结构。服务可以包含多个特征,每个国家都有自己的访问权限和描述性元数据。
1.6。配置文件¶
蓝牙规范协议和配置文件的概念清晰地分离开。这种差别是由于每个概念服务于不同的目的。整体规范分为:
- 协议:所有设备使用的构建块,符合蓝牙规范。协议基本上形成了层,实现不同的数据包格式,路由、多路复用、编码和解码,使同伴之间的数据有效地发送。
- 概要:垂直部分的功能定义的基本模式操作所需的所有设备(如通用访问配置文件和通用属性配置文件)或特定用例(距离剖面,葡萄糖概要文件);档案本质上指定协议应该如何被用来实现一个特定的目标,是否通用或特定。
1.6.1。通用概要文件¶
蓝牙规范定义的通用概要文件。两个配置文件是基础,确保祝福来自不同厂商的设备之间的互操作性:
- 通用访问配置文件(GAP):指定了使用模型的底层广播协议定义角色、程序和模式,允许广播数据设备,发现设备、建立连接、管理连接,和谈判安全水平;差距就是,祝福的最主要的控制层。这对所有祝福设备概要文件是强制性的,和所有必须遵守的差距。
- 通用属性配置文件(关贸总协定):地址数据交换祝福和指定的基本数据模型和程序允许设备发现,读,写,并把它们之间的数据元素。它基本上是,大多数数据层祝福。
差距,关贸总协定BLE的基础,它们通常被用作基地提供的应用程序编程接口(api)作为应用程序的入口点与协议栈交互。
1.6.2。具体到用例配置文件¶
具体到用例配置文件通常限于GATT-based概要文件。基本上所有的这些概要文件使用的程序和操作模型的关贸总协定剖面为基础构建块进一步扩展。然而,规范的版本4.1引入了逻辑链路控制和适应协议(L2CAP)面向连接的通道,这表明GATT-less概要文件也是可行的。
1.6.2.1。SIG-Defined GATT-Based概要文件¶
蓝牙技术联盟提供了一个可靠的参考框架的控制和数据层的设备参与BLE网络。它还提供了一组预定义的用例配置文件根据关贸总协定,完全覆盖所有的程序和数据格式要求实现各种特定的用例,例如:
- 找到我简介:允许设备物理定位其他设备。例如,使用智能手机找到BLE启用密匙环,反之亦然。
- 接近简介:检测附近设备的存在与否。Beep如果一个项目时忘记离开的地方像一个房间。
- 藏在关贸总协定简介:转移人机界面设备(藏)数据在祝福。例如,对于键盘、鼠标、遥控器。
- 葡萄糖简介:安全地转移血糖水平在祝福。
- 身体健康温度计简介:转移温度读数祝福。
采用的蓝牙特别兴趣小组规范文档页面提供了一个完整列表SIG-approved概要文件(更多的信息https://www.bluetooth.com/specifications/adopted-specifications)。开发人员也可以直接浏览所有当前的列表采用蓝牙服务和服务特点的蓝牙开发人员门户。
1.6.2.2。特定于供应商的资料¶
蓝牙规范允许供应商定义用例的配置文件不受SIG-defined配置文件。这些概要文件可以保存私人两同行参与一个特定的用例(例如,一个新的传感器配件和智能手机应用程序),或者他们也可以发布的供应商,以便各方提供的实现配置文件根据供应商提供的规范。发表了特定于供应商的概要文件的一个例子是苹果的iBeacon。
1.6.3。通用访问配置文件层¶
通用访问配置文件(GAP)层负责整体连接的功能。差距处理设备的访问模式和程序包括设备发现,直接接口与应用程序和/或资料,并处理设备发现和connection-related服务设备。此外,差距负责安全特性的起始。
本质上,差距可以视为BLE顶层的控制层,鉴于差距指定设备如何执行控制程序,如设备发现和建立安全连接。这样做是为了确保互操作性,从而允许来自不同厂商的设备之间的数据交换。
差距指定了四个角色,一个设备可以采用BLE网络:
- 播音员:设备是广告与特定的数据,让提升者知道的任何设备,例如,它是一个连接的设备。这个广告包含设备地址和可选的额外数据,比如设备名称。
- 观察者:扫描设备,收到一个广告后,发送一个广告客户的扫描请求”。广告客户扫描响应的响应。这是设备发现的过程,之后扫描设备是意识到广告设备的存在,而且也知道与广告设备的连接是可能的。
- 中央:发起一个连接时,中央设备必须指定对等设备地址连接。如果收到一个广告相匹配的对等设备的地址,中央设备会发出请求建立连接(链接)广告设备。它将考虑连接建立过程中特定的连接参数。
- 周边:一旦建立连接,该设备将函数作为一个奴隶如果是广告商和函数主如果是发起者。
从根本上说,差距建立不同的规则和监管的概念和规范的低级操作设备。特别是:
- 的角色和它们之间的交互。
- 在这些设备的操作模式和转换。
- 操作过程实现一致的、可互操作的沟通。
- 所有安全方面,包括安全模式和程序。
- 额外的数据格式non-protocol数据。
1.6.4,。通用属性剖面层¶
通用属性配置文件(关贸总协定)层是一个服务框架,定义所有子过程使用属性协议(ATT)。关贸总协定详细描述如何配置和用户数据交换通过BLE连接。相比差距,它定义了与设备,底层交互关贸总协定只处理实际数据传输程序和格式。
关贸总协定还提供参考框架的所有GATT-based概要文件所定义的团体。有效的精确的用例覆盖配置文件,关贸总协定确保来自不同厂商的设备之间的互操作性。所有标准的BLE概要文件因此根据关贸总协定和正确操作必须符合关贸总协定。这使得关贸总协定BLE规范的一个关键部分,由于每个数据收集相关的应用程序和用户必须格式化,包装,根据其规则和传播。雷竞技安卓下载
关贸总协定BLE交互设备定义了两个角色:
- 客户:发送请求到服务器,接收响应和潜在的服务器发起更新。关贸总协定客户事先不知道任何关于服务器的属性,所以它必须首先询问那些属性的存在和性质的服务发现。服务发现完成后,它开始发现服务器上的读写属性,以及接收服务器发起更新。它对应于ATT客户机。
- 服务器:从客户端接收请求和响应问题。时也发送服务器发起更新配置,和角色负责存储用户数据,让用户数据提供给客户,组织的属性。每卖出一BLE设备必须包括至少一个基本的关贸总协定能响应客户端请求服务器,即使只返回一个错误响应。它对应于ATT服务器。
知道关贸总协定和差距的角色是完全独立的,但同时相互兼容。例如,它是可能的差距差距中央和周边作为关贸总协定客户机或服务器,甚至在同一时间。
关贸总协定使用丙氨酸作为数据交换设备之间的传输协议。这个数据分层组织部分称为服务,这组概念上相关的用户数据特征。
1.7。协议栈¶
类似于所有蓝牙设备从架构的角度来看,一个单模BLE设备分为三块:控制器,主机和应用程序。每一个基本构件包括几层,使设备操作和紧密集成在所谓的协议栈。看到图2。
以下部分提供上述构件的描述和每个构件存在的层。
1.8。控制器¶
控制器包括所有所需的低层次功能BLE设备通信。控制器由一个物理层(体育),一个链路层(LL)和主机控制器接口控制器的一面(HCI)。
1.8.1。物理层(体育)¶
在物理层(体育)的一个关键块,其中,1 Mbps的自适应跳频高斯频移键控(GFSK)广播,在未授权的2.4 GHz工业、科学和医疗(ISM)乐队。
1.8.2。链路层(LL)¶
链路层(LL)直接与PHY接口。我是硬实时约束层的协议栈,因为你必须遵守所有的时间需求规范中定义的。鉴于许多所做的计算将计算昂贵,通常在硬件中实现自动化功能避免中央处理单元(CPU)超载运行所有软件层堆栈。因此,要实现通过定制的硬件和软件的结合。你提供的功能,通常包括:序言,访问地址,和空气协议框架,CRC生成和验证,数据美白、随机数生成和AES加密。我通常是高隔离层的协议栈接口隐藏了这种复杂性及其实时要求。
会主要控制设备的射频(RF)状态和管理的链接状态广播,这是设备连接到其他设备。BLE设备可以是一个主人,奴隶,或者两者都是根据用例和相应的要求。大师能够连接到多个奴隶和奴隶可以连接到多个主人。通常,设备,如智能手机或平板电脑往往作为主人,虽然小,简单,和内存受限的设备,如独立的传感器一般采用奴隶的角色。设备只能在下列五个州之一:待机、广告、扫描、启动或连接。看到图3:
广告商不连接传输数据,而扫描仪侦听广告商。发起者是一个装置,对广告客户的连接请求。如果广告客户接受,广告客户和发起人将进入连接状态。当设备处于连接状态时,设备将连接两种角色:主人或奴隶。通常,设备发起连接将大师和设备,宣传他们的可用性和接受连接将奴隶。因此,链路层定义了以下角色:
- 广告:广告设备发送数据包。
- 扫描仪:设备扫描广告包。
- 主:设备启动一个连接(引发剂)和管理连接。
- 奴隶:设备接受一个连接请求开始的,并遵照主人的时机。
这些角色可以在逻辑上分成两对:广告商和扫描仪(不活跃的连接时)和主人和奴隶(在连接)。
1.8.2.1。蓝牙设备地址¶
蓝牙设备地址的主要标识符是一个蓝牙设备,类似于一个以太网介质访问控制(MAC)地址是网络设备。这是一个48比特位(6-byte)数量,惟一地标识一个设备在同行。有两种类型的设备地址,和一个设备可以获得一个或两个类型:
公共设备地址:
这是相当于一个固定,factory-programmed设备地址用于BR /功能设备。它必须是注册电气和电子工程师学会(IEEE)登记机关和永远不应该改变设备的整个一生。
随机设备地址:
这个地址可以是预排程序的或设备在运行时动态生成。有许多用例的地址是有用的在祝福。
1.8.2.2。广告和扫描¶
BLE规范只允许一个包和两种类型的数据包格式:广告和数据。
广告包用于两个目的:
- 广播数据的应用程序不需要一个完整的连接建立的雷竞技安卓下载开销
- 发现奴隶与奴隶
数据包是用于用户主人和奴隶设备之间数据传输,双向的方式。
最后,链路层作为一个可靠的数据不记名自收到所有数据包检查对24位循环冗余校验(CRC)和重发计划,当检测到一个错误检查机制传输失败。由于没有预定义的重传上界,链路层将不断重新发送数据包,直到最后承认的接收器。
1.8.3。主机控制器接口,控制器¶
主机控制器接口(HCI)在控制器端,提供了一个交流的方式,主机通过标准化的接口。蓝牙规范定义了人机交互作为一组主机和控制器命令和事件的相互作用,以及数据包的格式和一组规则流控制和其他程序。此外,规范定义了几个传输,每个增加的HCI协议特定的物理传输(UART、USB、SDIO等)。
1.9。主机¶
主机由一组块层,每个都有特定的角色和功能,使得整个块的合作运营。所示图2这些层的逻辑链路控制和适应协议(L2CAP),属性协议(ATT),安全管理器(SM)和通用属性配置文件(关贸总协定)和通用访问配置文件(GAP)。
1.9.1。主机控制器接口,主机端¶
在主机端人机交互界面提供了一个交流的方式,通过标准化接口控制器。类似于控制器的人机交互,实现这一层通过软件建立了API,或在一个硬件接口UART或SPI等。
1.9.2。逻辑链路控制协议和适应¶
逻辑链路控制和适应协议(L2CAP)层为上层提供数据封装服务。因此,L2CAP允许使用数据传输逻辑的端到端通信。从本质上讲,L2CAP作为协议多路复用器,多个协议的上层,封装成标准的BLE数据包格式,反之亦然。L2CAP还负责包分片和重组的。在这个过程中一个大的数据包来自上层的发射端安装到27-byte最大载荷大小的祝福包。相反的过程发生在接收端,在分散的大型上层数据包重组由多个小绒包和传播上游向适当的上层实体。
L2CAP层主要负责路由两个协议:属性协议(ATT)和安全管理协议(SMP)。此外,L2CAP可以创建自己的用户定义的高通量数据传输渠道,基于功能叫做LE信贷流量控制模式。
1.9.3。属性的协议¶
ATT层允许BLE设备提供一定的数据,称为属性,设备到另一个祝福。丙氨酸的上下文中,设备暴露属性被称为服务器,和对等设备感兴趣和使用这些属性称为客户机。链路层状态(主或从)设备的独立于设备的丙氨酸的作用。例如,一个主设备可以是一个ATT服务器或一个ATT客户机,而奴隶设备也可能ATT服务器或一个攻击力客户机。也有可能为一个设备同时ATT服务器和一个ATT的客户。
本质上附上的是一个简单的客户端/服务器无状态协议基于设备的属性。客户端向服务器请求数据时,服务器将数据发送给客户端。协议是严格意味着对于未决请求(即还没有收到任何回复的已经发行的请求)没有进一步的请求可以提交,直到接收到响应和处理。这适用于两个方向上独立的情况下两个同行代理作为客户机和服务器。
每个ATT服务器包含数据组织形式的属性,每个属性分配一个16位的处理被称为全局惟一标识符(UUID),一组权限,最后一个值。有效地,属性处理只不过是一个标识符用来访问一个属性值。UUID指定的类型和性质的数据中包含的值。当客户想要读取或写入属性值或一个服务器,它发出一个读或写请求到服务器使用属性处理。服务器将响应的属性值或确认。对于读操作,由客户端解析和理解数据类型的值基于属性的UUID。另一方面,在写操作,客户预计将提供一致的数据属性类型和服务器是免费的拒绝手术如果不是这样。
1.9.4。安全管理器¶
安全管理器(SM)层定义了方法配对密钥分发,并提供功能的其他层协议栈安全地连接和与另一个祝福设备交换数据。安全管理器包括一个协议和一系列的安全算法,旨在给BLE协议栈生成交易安全密钥的能力允许同行,安全地在一个加密的通信链接,信任远程设备的身份,如果需要,隐瞒公众蓝牙地址。SM定义了两个角色:
- 引发剂:总是中央
- 应答:总是外围
此外,SM提供支持以下三个过程:
- 配对:生成一个安全加密密钥的程序和操作为了使设备能够切换到一个安全的加密链接。这个关键是暂时的,而不是存储或可供后续连接。
- 键:序列配对紧随其后的是永久的安全密钥的生成和交换,通常存储在非易失性内存中。因此,允许两个设备之间建立一个永久债券,它允许快速建立一个安全的链接在后续连接而不需要再次做一个焊接过程。
- 加密重建:焊接过程完成后,钥匙可能是存储两岸的连接。如果加密密钥存储,这个过程定义了如何使用这些键在随后的重新建立一个安全连接,加密连接,而无需再通过配对(或焊接)过程。
因此配对可以创建一个安全的链接只会持续连接的生命周期。另一方面,结合实际创建一个永久协会(也称为债券)的形式共享安全密钥,稍后将用于连接到任何一方决定删除它们。有时某些文档和api使用术语配对键而不是简单的结合,由于焊接过程总是包含一个配对阶段之前。
虽然它总是由引发剂引发一开始为一个特定的安全程序,可以异步请求的响应器上面列出的任何程序的开始。然而,没有保证的响应者发起者会坚持要求,呈现这个更多的一个可选的,而不是一个绑定请求。这个安全要求逻辑上可以发布只有奴隶或周边的连接。
1.9.5。应用程序¶
应用程序,就像在所有其他类型的系统中,在最高的层和一个负责包含逻辑,用户界面和数据处理的相关实际应用程序实现的用例。应用程序的体系结构是高度依赖于每个特定的实现和保佑它通常使用功能提供的保佑。
1.10。DA14585/586系统芯片平台上¶
1.10.2。DA14585/586关键特性¶
- 符合蓝牙V5.0, ETSI EN 300年328年和300年在440年二班(欧洲),FCC CFR47 15(美国),还有一部分STD-T66(日本)
- 支持多达8蓝牙连接
- 快冷启动不到50微秒
-
- 处理能力
-
- 16兆赫32位Arm®皮层®M0门限的界面
- 专用链路层处理器
- aes - 128位加密处理器
-
- 记忆
-
- 64 kB One-Time-Programmable (OTP)的记忆
- 96 kB数据/保留SRAM
- 128 kB罗
-
- 电源管理
-
- 综合巴克/提高DCDC变换器
- P0, P1和P2港口3.3 V宽容
- 简单的解耦的只有4供应别针
- 支持(typ硬币。3.0 V)和碱性(typ。1.5 V)电池
- 1.8 V冷启动支持
- 10位ADC对电池电压测量
-
- 数字控制振荡器
-
- 16兆赫水晶(±20 ppm max)和RC振荡器
- 32 kHz水晶(±50 ppm,±500 ppm max)和RCX振荡器
-
- 灵活的复位电路
-
- 系统在一个单一的销和上电复位
- 通用、捕获和睡眠计时器
-
- 数字接口
-
- 目的I / o将军:14 (WLCSP34), 25日(QFN40) 32 (QFN48)
- 2 x uart与硬件流控制1 Mbps
- SPI接口+™
- I2C总线在100 kHz, 400千赫
- 3轴正交解码能力
-
- 模拟接口
-
- 4-channel 10位ADC
-
- 无线电收发机
-
- 完全集成的2.4 GHz CMOS收发器
- 单线天线:不需要射频匹配或RX / TX切换
- 在VBAT3V电源电流:
- TX: 3.4 mA,处方:3.7 mA(理想DCDC)
- 0 dBm传输输出功率
- -20年“近场模式”dBm输出功率
- -93年dBm接收机灵敏度
-
- 包:
-
- WLCSP 34个别针,2.40毫米x 2.66毫米
- QFN 40针,5毫米x 5毫米
- QFN 48针,6毫米x 6毫米
摩托罗拉公司的SPI™是一个商标。
1.11。DA14531系统芯片平台上¶
1.11.2。DA14531关键特性¶
- 兼容蓝牙V5.1, ETSI EN 300年328年和300年在440年二班(欧洲),FCC CFR47 15(美国),还有一部分STD-T66(日本)
- 最多支持3 BLE连接
- 典型的冷启动放射性35女士
-
- 处理能力
-
- 16兆赫32位Arm®皮层®M0和门限+接口
- 专用链路层处理器
- aes - 128加密处理器
- 基于软件的认证的真随机数发生器(TRNG)
-
- 记忆
-
- 32 kB One-Time-Programmable (OTP)
- 48 kB RAM可保留的系统
- 144 kB罗
-
- 电源管理
-
- 综合巴克/提高DCDC变换器
- 巴克:1.8 V≤VBAT_HIGH≤3.3 V如果OTP阅读需要
- 巴克:1.1 V≤VBAT_HIGH≤3.3 V如果内存保留
- 增加:1.1 V≤VBAT_LOW≤1.65 V
- Clock-less休眠模式:巴克270 nA,促进240 nA
- 10位ADC对电池电压监测
- 内置温度传感器为核心温度监测
-
- 数字控制振荡器
-
- 32 MHz水晶和32 MHz RC振荡器
- 32 kHz水晶和32/512 kHz RC振荡器
- 15 kHz RCX 32 kHz水晶更换
- 可编程的复位电路
- 2×通用定时器捕获和PWM功能
-
- 数字接口
-
- GPIOs: 6 (WLCSP17), 12 (FCGQFN24)
- 2×uart与流控制(一)
- SPI主/从多达32 MHz(主)
- I2C总线在100 kHz和400千赫
- 使用硬件正交解码能力
- 键盘控制器
-
- 模拟接口
-
- 4-channel 10位ADC
-
- 无线电收发机
-
- 完全集成的2.4 GHz CMOS收发器
- 单线天线
- TX: 3.5 mA,处方:2.2 mA(系统与直流-直流电流,VBAT_HIGH = 3 V和0 dBm)
- 可编程传输输出功率从-19.5 + 2.5 dBm dBm
- -94年dBm接收机灵敏度
-
- 包:
-
- WLCSP 17球,1.7×2.05,0.5毫米
- FCGQFN 24针,2.2×3、0.4毫米
摩托罗拉公司的SPI™是一个商标。