蓝牙BQB认证的过程与方式(SIG)

2023-12-17 09:32
文章标签 认证 方式 过程 sig 蓝牙 bqb

本文主要是介绍蓝牙BQB认证的过程与方式(SIG),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

蓝牙BQB认证的过程与方式(SIG)

刚刚做完了车机产品的蓝牙认证,遇到了一些问题,特此整理记录下,分享给大家。

1 项目背景

项目立项初期,整机成本压力下,选择了国内的一家偏小的蓝牙模块供应商,供应商承诺会提供蓝牙模块的相关QDID,便于我司产品的通过蓝牙BQB认证。
实际在开发后期,启动BQB认证时,确认了模块的认证相关状态如下:

  1. 模块供应商对此模块未做完整的BQB认证,即不能提供整体的DID(End product DID);
  2. 此蓝牙模块为BT5.0 EDR模块,但前期仅提供了蓝牙芯片(cypress)Component QDID(包含了部分协议栈的测试结论)。

2 BQB认证的两种方式

与BQB第三方测试机构沟通,参考蓝牙模块的BQB认证方式,分两种情况:

  • 列名方式,无需第三方机构测试;
  • 非列名方式,需要第三方机构测试。
2.1 列名方式
  1. 首先,需要到SIG官网购买一个DID(如果是SIG年费会员,要4000美金一个DID,如果是免费会员,则需要8000美金);
  2. 获得蓝牙模组供应商的授权,注意:所采用的蓝牙模组需要过BQB认证,且认证方式必须为end product,或着为Controller Subsystem、Profile Subsystem、Host Subsystem三个子系统的组合,缺一不可
  3. 将购买的DID与蓝牙模组授权进行绑定(在SIG账户中进行操作);
  4. 以后每次用该蓝牙模组生产新产品,只需在此DID下列名即可,SIG就会分配一个QDID给每个产品(End product 的DID是永久有效的,Component的DID一般是三年有效期)。
  5. 需要注意的是,一般情况下,模组在做End product时,Profile,RF性能会和模块导入到整机后的Profile,RF性能不同,故严格意义上来说,也是建议对整机中,这两部分进行重新测试。然后结合模块的End product QDID进行整机列名。
2.2 非列名方式

当蓝牙模块厂商拿到的BQB认证不是end product,也不是Controller Subsystem、Profile Subsystem、Host Subsystem三个子系统的组合,例如,为Component,那么就不能采用上面列名的方式了。
此时我们就需要以车机为单位,拿到第三方实验室进行BQB的认证测试,一般情况下的测试项目是如下这些:

  1. 补充测试Component QDID中未包含的协议栈;
  2. 测试Profile;
  3. 测试RF性能。

最终此车机会作为End Product的类型,然后我们就可以基于此车机,做其他类似车机的Listing,这样也能做到花一份钱,在SIG官网上列名多个产品的操作。
相对于上面列名的方式,此方式首先得准备硬件设备去做测试,且除了支付SIG购买DID的费用,还需要支付第三方实验室一笔检测费用,一般是几万块,实验室会根据Profile和蓝牙版本进行调整。

3 项目实际操作

在实验室的帮助下,供应商提供了Host的QDID,基于此,蓝牙模块等同于做了实验室确认了车机产品相关协议栈的是完整通过测试的。
最终以我司的车机为单位测试了Profile,RF性能,然后综合供应商提供的蓝牙模块的Controller和Host 的QDID,完成了本次的蓝牙BQB测试。
实验室测试完成后,将报告提供给SIG的BQE1审核后,就可以进行蓝牙最终DID的列名操作了。

4 其他注意点

BQB认证的官方文档要求:BQB认证,必须以品牌商的名义去申请,审查的时候会进行关注。即产品产品的Brand所属哪家公司的,就得以这家公司的名义做BQB的Listing。

参考链接:

  1. BQB listing的查询网站
  2. Bluetooth 官网

  1. BQE: Bluetooth Qualification Expert ↩︎

这篇关于蓝牙BQB认证的过程与方式(SIG)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/503886

相关文章

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

C++中零拷贝的多种实现方式

《C++中零拷贝的多种实现方式》本文主要介绍了C++中零拷贝的实现示例,旨在在减少数据在内存中的不必要复制,从而提高程序性能、降低内存使用并减少CPU消耗,零拷贝技术通过多种方式实现,下面就来了解一下... 目录一、C++中零拷贝技术的核心概念二、std::string_view 简介三、std::stri

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

Mybatis的分页实现方式

《Mybatis的分页实现方式》MyBatis的分页实现方式主要有以下几种,每种方式适用于不同的场景,且在性能、灵活性和代码侵入性上有所差异,对Mybatis的分页实现方式感兴趣的朋友一起看看吧... 目录​1. 原生 SQL 分页(物理分页)​​2. RowBounds 分页(逻辑分页)​​3. Page

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流