CSR8615蓝牙芯片功能调试入门笔记---上
折腾了一个星期,终于在CSR8615上基本实现了配对、来电接听、挂断电话、音量加/减等功能,算是对CSR8615蓝牙芯片功能调试有了一个非常基础的简单的认识。因此,有必要写一个简单的总结了。
一. 背景知识:随着智能无线终端如智能手机、平板电脑的快速普及,与之相应的蓝牙无线音频产品借其东风,而进入快速发展的快车道,如蓝牙无线耳机、蓝牙无线音箱、蓝牙无线音响等。而在这些产品背后的蓝牙解决方案也有很多,如CSR,Broadcom,MTK,创杰(ISSC)、OVC等,这些蓝牙解决方案各有优缺点,但在蓝牙音频方面应用市场占有率、性价比比较高,且品质性能稳定的,当数CSR。CSR是一家什么公司呢?它是一家坐落于英国剑桥(看清楚哦,是剑桥哦,妥妥的英伦风哦,系出名门,贵族典范),基于其Bluecore提供先进的蓝牙软硬件解决方案,全球领先的蓝牙技术提供商。
CSR 86XX系列蓝牙芯片支持编程及工具ROM config两种方式进行开发。我们今天的大猪脚---CSR公司的老戏骨8615只支持ROM config方式,也就是说,我们只需用pc端的蓝牙配置软件就可以进行全套的蓝牙功能开发工作了。这么说来,貌似很简单涅?Come On,大家一起来,一起High起来,龙岗的兄弟在哪里?宝安的美女在哪里?一起来,动驰…动驰……
二. 配置调试工具简单介绍:
1. BlueCore Persistent Store :CSR蓝牙配置工具,直接使用16进制数据的方式详细显示蓝牙芯片每一个配置项,各个配置项(PS Keys)详见文档CS-212778-AN-1.pdf。该工具通过修改PS Keys设置芯片各个参数。工具支持直接读写。作为一个工程狗,没图我说个JB,为了提升这篇文章的逼格,上图是一个很重要方式。
2. CSR8600 ROM Series Configureation Tool:CSR86XX系列蓝牙芯片可视化配置工具,界面直观,容易理解掌握。配置完毕后通过write device写入配置,可通过open from device读取芯片当前配置。
三. 项目功能简述:
今天我们这个项目,乐视超级自行车的头机模块,就是在7731作为主控芯片,实现通讯、娱乐、传感器检测等传统功能之外,还要再接入CSR8615芯片,把头机模块作为一个蓝牙音箱/耳机来使,让你可以一边骑自行车,一边听音乐、打电话。对来自互联网企业的兄弟,我一向存有一颗敬畏之心。因为他们一贯秉承着没有想不到,只有做不到的理念来开发产品。在高薪股份期权的刺激之下,他们干起事来也打足了鸡血,什么连续加班啊,通宵啊全不在话下。
四. 调试流程
1. 安装BlueCore Persistent Store及CSR8600 ROM Series Configureation Tool这两个工具及pc端USB-SPI驱动。
2. 将调试板及USB-SPI相连,一头接入PC,另一头连接至CSR8615的SPI通讯口,总共需连接5根线(SPI_MOSI,SPI_MISO,SPI_CS,SPI_CLK,GND)。
3. 给CSR8615上电,使用BlueCore Persistent Store工具确认pc与8615芯片通讯成功。
4. 由于我们的项目使用EEPROM存储数据,Pc端使用cmd执行命令e2cmd info,检测EEPROM工作是否正常及容量大小。在我的电脑中执行结果如下:
C:\Program Files\CSR\BlueSuite 2.5.8>e2cmd info
e2cmd, version 2.5.8.667 Release
Copyright (C) 2007-2014, Cambridge Silicon Radio Ltd.
Device select - 0x00
Address mode - two bytes
EEPROM size - 64kbits
5. 擦除EEPROM:e2cmd fill 0
C:\Program Files\CSR\BlueSuite 2.5.8>e2cmd fill 0
e2cmd, version 2.5.8.667 Release
Copyright (C) 2007-2014, Cambridge Silicon Radio Ltd.
Fill successful
6. 写入头文件header(初始化EEPROM):e2cmd header
C:\Program Files\CSR\BlueSuite 2.5.8>e2cmd header
e2cmd, version 2.5.8.667 Release
Copyright (C) 2007-2014, Cambridge Silicon Radio Ltd.
Header written successfully
7. 写入psr系统配置文件,用pstool烧录eeprom。打开bluecore persistent store工具的pstool,直接选择file/merge,分别选择CSR8600_system.psr、CSR8615_config_H13099v5.psr、pb-169.psr这3个程序。
8. 使用CSR8600 ROM Series Configureation Tool工具进行具体配置,实现各个功能。
五. 注意事项:
1. 给CSR8615上电后,需要测量对应PIN脚是否有输出1.35V,1.8V电压,以确认8615是否已经工作正常。
2. CSR8615的SPI_PCM脚要接高电平。由于CSR8615的SPI_MOSI,SPI_MISO,SPI_CS,SPI_CLK脚为复用脚,将SPI_PCM脚接高,其他几个引脚才是spi模式。此时pc机才能和8615进行spi通讯。
3. EEPROM的上拉电阻一定要接,否则会出现数据无法写入的状况。
4. mic电路请按如下接法,在调试中由于电路没有按如下接法,导致mic声音一直出不来:
CSR8615蓝牙芯片功能调试入门笔记---上相关推荐
- MIUI开启开发者模式以及使用chrome调试移动设备上打开的网页
想利用chrome自带的调试功能调试小米3上打开的页面. 需要以下配备 1 PC上装有chrome 2 小米上装有chrome(PC上chrome版本最好与小米上的chrome版本一致.) 3 小米U ...
- ROS Noetic入门笔记(二)ROS Noetic创建工作空间和功能包
ROS Noetic入门笔记(一)在ubuntu20.04中安装ROS Noetic并简单测试 ROS Noetic入门笔记(二)ROS Noetic创建工作空间和功能包 ROS Noetic入门笔记 ...
- 学海灯塔新增学习笔记上传功能
又经过一天的努力,学海灯塔学习笔记上传功能实现.欢迎访问我们的学海灯塔 学习笔记这一模块的功能和课程文件类似,由同学们上传自己的学习笔记,用户可以下载,并且可以对笔记进行打分,后期将增加文件讨论功能. ...
- Koa2入门笔记 (上)
感谢一个不打荣耀的大神教会我使用Koa写接口 简单快速撸懂MySQL+Koa2_哔哩哔哩_bilibili 再也不必害怕后端不能沟通了,学会了还可以自己做喜欢的项目来玩 这里就是课堂笔记 哎呀!!真是 ...
- React.js入门笔记
# React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...
- Python基础入门笔记(二)
前言 本文主要为 Python基础入门笔记(一)内容的补充. 一.迭代器和生成器 1.1 Python迭代器 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元 ...
- ROS入门笔记(七):详解ROS文件系统
ROS入门笔记(七):详解ROS文件系统 文章目录 01 Catkin编译系统 1.1 Catkin特点 1.2 Catkin工作原理 1.3 使用`catkin_make`进行编译 02 Catki ...
- ROS入门笔记(六): ROS系统架构
ROS入门笔记(六): ROS系统架构 文章目录 1 ROS系统架构 1.1 文件系统(重点) 1.2 计算图 1.3 开源社区 1 ROS系统架构 1.1 文件系统(重点) 文件系统:主要指在硬盘里 ...
- 网上下的--ARM入门笔记
简单的介绍 打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方. 为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所以叫笔记而不是文章,是因为它们完全是本人个人学习经验的总结,而这 ...
- 深度学习入门笔记(五):神经网络的编程基础
欢迎关注WX公众号:[程序员管小亮] 专栏--深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献. 2)本文仅供学术交流,非商用.所以每一部分具 ...
最新文章
- 身份证号码对应地区-官方措辞:行政区划代码
- php获取网页标题接口,PHP获取网页标题的3种实现方法代码实例
- 使用计算机中的库教案,计算机应基础全部教案.doc
- Windows 2008远程桌面配置多用户登陆的方法
- SpringMVC项目配置全过程详解
- Android开发之打开指定APP | 打开APP任意页面的方法
- 开源硬件 专利_标准和开源:为什么专利待遇不同?
- 用Windows Live Writer客户端写51CTO博客
- Andirod——网络连接(HttpURLConnection)
- timezone java_如何将Java日期转换为特定的TimeZone格式
- 游戏帧数对比测试监控软件,8款游戏帧数对比实测 5800X多数超越11900K
- 文本转语音的接口(开放免费)
- python pytz模块_python pytz
- 交管123缴费显示代理服务器异常,交管12123服务异常怎么回事?交管12123网络请求失败怎么办...
- excel 操作技巧
- 98% after emitting CopyPlugin问题
- 指数爆炸问题的基本思路
- redefinition of class解决
- 【考研经验】19年华东师范大学计算机专硕考研经验(初试+复试)分享!专业课140分!...
- 使用 KubeKey 快速安装 Kubernetes 集群