为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板【思度科技CSR开发板】。

技术交流QQ群号:743434463
开发板会员QQ群号:725398389(凭订单号入群,赠PPT、项目源码、视频教程)
——————————正文分割线———————————–

1. 引言

蓝牙音频产品的出厂测试是产品出货前的一项重要测试内容,需要专门的测试仪器对产品的基本功能进行测试,以满足产线的整体效率。一般生产型的企业不愿意在测试领域投入资源进行研发,其更加愿意从测试仪器公司采购或租赁测试设备,快速组建产线形成生产能力。

测试仪器厂家根据其自身研发能力分为两种类型。一种是提供通用测试解决方案,可以为客户提供通用的、基础的、稳定可靠的测试服务,但方案难以根据客户的需求定制,整体部署成本也较高。另一种是根据客户需求定制测试解决方案,优点是方案可以实现较好的性价比,缺点是需要为每个客户单独开发,维护成本较高。

本项目中给出一种基于CSR8670方案的蓝牙音频测试dongle,能够在满足通用测试需求的基础上,为客户定制测试功能。

2. 主要功能

  • 支持USB音源、模拟接口音源
  • 支持USB HID控制接口(或串口)
  • 支持音乐播放和语音通话
  • 支持的控制命令列表
序号 名称 简述
1 设备复位 设备复位到初始状态
2 断开连接 与被测设备断开连接,清除配对信息
3 音量+ 增大被测设备当前音量
4 音量- 减小被测设备当前音量
5 自动搜索 自动搜索附近可配对设备,列出设备信息
6 自动配对 自动搜索附近可配对设备,与信号最强的设备配对
7 HFP模式 被测设备进入HFP模式,可以进行免提通话测试
8 A2DP模式 被测设备后进入A2DP模式,可以进行音乐播放测试
9 模拟来电铃声 模拟向被测设备呼叫
10 模拟接听 HFP主机接听
11 模拟挂断 HFP主机挂断
12 MAC地址配对 与特定MAC地址的设备配对
13 读取设备名称 读取已配对设备的名称
14 读取设备地址 读取已配对设备的MAC地址
15 读取设备音量 读取已配对设备的当前音量
16 读取RSSI值 读取已配对设备的当前RSSI值
17 读取蓝牙状态 读取蓝牙连接状态
18 显示按键 显示被测设备按下的按键信息
19 切换音源 在设备的USB和AUX音源之间切换
20 SPP测试 与被测设备建立SPP连接,发送定制指令

系统框图如下:

3. 项目难点

项目难点主要集中在打通PC端的User GUI到CSR8670 USB HID的控制链路。由于User GUI与平台之间的通信是串口协议,不能直接调用USB HID协议与CSR8670通信,需要在两者之间进行协议转换,可以用C调用windows的API即可。

需要注意的是CSR8670原生例程的USB HID描述符不能满足传输自定义USB HID数据块的需求,推荐修改如下:

/* HID Report Descriptor - HID Control Device */
static const uint8 report_descriptor_hid_control[] =
{   0x06, 0xa0, 0xff,            /* USAGE_PAGE (Vendor-defined 0xFFA0) */0x09, 0x01,                  /* USAGE (Vendor-defined 0x0001) */0xa1, 0x01,                  /* COLLECTION (Application) */  0x85, 0x01,                  /*   REPORT_ID (1) */  0x09, 0x01,                  /*   USAGE (Vendor-defined 0x0001) */0x15, 0x00,                  /*   LOGICAL_MINIMUM (0) */0x26, 0xff, 0x00,            /*   LOGICAL_MAXIMUM (255) */0x75, 0x08,                  /*   REPORT_SIZE (8) */0x95, (REPORT_REQ_SIZE&0xff),  /*   REPORT_COUNT */0x91, 0x02,                    /*   OUTPUT (Data,Var,Abs) */0x85, 0x02,                  /*   REPORT_ID (2) */  0x09, 0x02,                  /* USAGE (Vendor-defined 0x0002) */0x75, 0x08,                    /*   REPORT_SIZE (8) */0x95, (REPORT_RSP_SIZE&0xff),  /*   REPORT_COUNT */0x81, 0x02,                    /*   INPUT (Data,Var,Abs) */0xc0                           /* END_COLLECTION */
};

其中report id 1和report id 2分别对应PC->CSR8670和CSR8670->PC这两条链路。

开发过程中客户提出需要dongle能够通过SPP协议发送特定命令给被测设备,使其进入特殊的工作模式,此时就需要dongle能够与被测设备建立SPP连接,有关SPP server和client可参考我的另一篇博文CSR867x学习笔记:SPP Server and Client。

4. 总结

蓝牙音频测试dongle的整体方案并不复杂,难点在于解决测试过程中遇到的平台兼容性问题,毕竟生产型的企业接到的订单可能涉及到各种蓝牙方案,这就需要蓝牙测试仪的开发厂商能够解决适配问题,长期积累下来的经验是这类公司的核心资产。并且此产品的需求是持续增长并有更新换代的需求,从中长期看是一个可以在细分市场持续盈利的产品。

开发此产品过程中,深刻体会到打磨产品非一日之功,同时接触到一些中国制造企业经营者的浮躁、短视,以及对研发投入的吝啬、对知识产权的不尊重。期望政府和行业能够不断规范和完善整个市场的运作,让有德的企业持续高速发展,造福整个行业。

另外也要反思一下,合作不是称兄道弟,也不应打感情牌,服务内容和验收标准,白纸黑字写在合同上,避免产生责权不清和事后扯皮。

CSR8670项目实战:BlueDongle 蓝牙音频测试dongle相关推荐

  1. CSR8670项目实战:BluePager蓝牙寻呼机

    为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板[淘宝链接:思度科技CSR开发板]. 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入 ...

  2. CSR8670项目实战:BlueCar蓝牙音频网关

    为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板[淘宝链接:思度科技CSR开发板]. 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入 ...

  3. CSR8670项目实战:4人组网蓝牙对讲耳机

    为了方便大家学习,现与我爱蓝牙网联合推出[QCC300x/CSR867x/QCC30xx/QCC51xx开发板]. 博主联系方式:Call-15715161220,QQ-705829339 技术交流Q ...

  4. CSR8670项目实战:BlueHeartSound电子心音计

    为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板[淘宝链接:思度科技CSR开发板]. 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入 ...

  5. CSR8670项目实战:BlueHeartSound2电子心音计

    为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板[思度科技CSR开发板]. 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入群,赠PP ...

  6. CSR8670项目实战:BlueHeart心率监测耳机

    为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板[淘宝链接:思度科技CSR开发板]. 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入 ...

  7. 电商项目实战之web网站测试--非业务

    Web实战测试 一:网络基础知识:http 3,,Web浏览器发送请求头信息一(1) 1,建立TCP连接 -----(https://www.cnblogs.com/EricaMIN1987_IT/p ...

  8. CSR8670项目实战:BlueAgBatC蓝牙发射器BLE遥控器

    为了方便大家学习,现与我爱蓝牙网联合推出[QCC300x/CSR867x/QCC30xx/QCC51xx开发板]. ⭐⭐⭐⭐⭐[本项目为客户项目,欢迎商务合作]⭐⭐⭐⭐⭐ 技术交流QQ群号:10330 ...

  9. cmw500自动化测试软件,CMW500:蓝牙模块射频与音频测试的多标准解决方案-测试测量-与非网...

    如今,蓝牙模块应用于手机,汽车,智能家居以及其它物联网应用.相应的,制造商和集成专家有了更高的测试要求.罗德与施瓦茨帮助他们优化测试性能,最小化测试时间进而节省下可观的成本.R&S CMW50 ...

最新文章

  1. 21个UI设计必会的设计技巧
  2. hdu 2448 Mining Station on the Sea(最短路+费用流)
  3. 如何:在Maven项目(JUnit,Mockito,Hamcrest,AssertJ)中测试依赖项
  4. c++隐式类型转换存在的陷阱
  5. python定义三维数组不指定长度_插值/调整三维数组大小
  6. Qt工作笔记-使用SQL中的LIMIT进行数据分页
  7. C++ 公有继承、保护继承和私有继承中类成员的访问权限的控制
  8. 推荐一篇我高中同班同学的文章[转载]
  9. 使用angrutils生成控制流图出错的解决过程
  10. jeDate 日期控件
  11. lg g3 android 5.0,LG G3 4.4和5.0系统root教程
  12. Filenet:主打底层技术创新,检索分发挖矿开创全民挖矿时代!
  13. matlab_多目标遗传算法
  14. 世界500强和中国500强的视觉设计手册,设计圈都传遍了
  15. H5网页微信授权登录
  16. linux shell fflush,強制shell腳本fflush
  17. matlab中单刀双掷开关,proteus 怎样找单刀双掷开关
  18. 税务系统计算机设备管理制度,区国税局计算机设备管理办法_规章制度
  19. 寻迹小车逻辑电路模块
  20. [Java高级](二)泛型

热门文章

  1. efcore 6.0 从属实体
  2. 2020 MIX人工智能
  3. 计算机专业退休有退休金,哪些职业有退休金
  4. 最新价值2500元 网易web白帽子黑客培训视频
  5. BMC——服务器运维管理利器
  6. 如何判断团队是否真正实施Scrum -- Scrum方法二十问(一) Scrum 使用者强烈推荐
  7. 层位追踪matlab,隧道衬砌层位在探地雷达成像中的自动识别
  8. Metasploit入侵win7
  9. python opencv图片读入格式转换
  10. ElasticSearch的介绍及使用