同时支持SPP和BLE 。但是只能任选其中一个协议使用。
备注:这款芯片最大的特点,就是成本低,使用简单,生产简单。无其他。同时支持低功耗详见3.7章节
细节
参数说明
UART接口
标准串口,TTL电平,波特率可设,连接PC需要电平转换[如:CH340G--USB转TTL]
输入电压
建议给3.3V的电压【2.2V--3.4V】
额定电流
芯片上电启动是20mA,马上进入低功耗广播20uA 和唤醒4mA交替。 连接成功就一直都是4mA
低功耗电流
芯片算的是平均电流,因为内部是不断的低功耗、唤醒交替进行
工作温度
[-40度] -- [80度]
湿度
5% ~ 95%
主芯片型号
KT6368A[SOP8][管装出货]-----KT6328A[SOP8][管装出货]
1、我们目前分KT6368A 和 KT6328A两个版本
(1)、KT6368A版本,是不带低功耗,双模的版本,开机15mA ,后续一直稳定在6mA左右
(2)、KT6328A版本,低功耗版本,只有BLE,详细参数,如:3.7章节
(3)、这两个芯片版本的硬件一模一样,KT6328A存在的目的就是满足需要低功耗的客户
2、KT6368A版本的特点如下:
(1)、双模SPP + BLE,手册里面的全部功能具备 。就是不具备低功耗
(2)、但是这个版本,成本更低一些。
3、KT6268A版本的特点如下:
(1)、功耗更低,详见3.7章节描述
(2)、成本略高一点点 。
==》不同的版本,通过蓝牙名是可以识别出来的
序号
操作说明
第一步
搭建好芯片的外围电路,供电3.3V即可。蓝牙天线可以直接焊一根线即可
第二步
查询芯片的2脚是否开机有1秒钟的高电平输出,接个指示灯出来
第三步
连接好电脑的串口助手,看看芯片的TX脚是否有数据返回,115200的波特率
第四步
做自己实际的板子,搭配MCU进行调试
序号
Layout的注意事项
UART注意点
电源注意点
芯片的供电电压,最高位为3.4V 。一定不能超过这个电压,最好给3.3v
2脚注意点
第2脚,为连接状态脚。连接成功输出高电平。未连接则是高组态。调试时建议接一个指示灯出来。或者连接到外部MCU 。注意下拉一个10K电阻到地
细节描述
升级的测试点排列,建议是 1/7/8/3 这4个脚顺序排列。引出测试点,很重要
(1)、注意芯片的蓝牙天线引脚,出去,要预留安全间距
(2)、天线四周,一定要注意,包地处理
(3)、天线周边一定要隔空,不要铺绿油,背面和正面不要有金属
(1)、由于蓝牙对频偏要求比较高,所以晶振的品质对蓝牙的性能至关重要,选型过程中
必须保证晶振的一致性和稳定性。晶振的频率偏差必须≤±10ppm,负载CL 推荐12pF。
(2)、体积无要求的,推荐我DEMO上面的晶振,成本低,性能好
(3)、体积要求小的,推荐24M-3225的,成本稍高,性能好
建议直接用我们配套的晶体,相信比外面随意采购的要优惠和质量保障
AT串口指令作为一种在控制领域常用的通信,我们进行了优化和定制,这样大大简化了用户使用的难度,请严格按照我们给出的指令格式进行操作
支持异步串口通讯模式,通过串口接受上位机发送的命令
通讯标准:115200 bps --- 用户可以通过串口指令设置详见3.2
数据位 :8 停止位 :1 校验位 :none 流控制 :none
注意:所有的指令的设计,都是有规律的,不是随意划分的,可以对照下面找一下规律
控制指令格式:AT+<CMD>[<param>]\r\n ---- 所有的都是字符,不是十六进制数
数据反馈格式:<IND>[<param>]\r\n
数据反馈格式:<IND>[<param>]\r\n
数据特性
详细说明
AT+
控制指令是控制主机给BT201的控制命令,以“AT+ ”开始
<CMD>
后面紧跟<CMD>控制 ,通常是2个字符
指令
[<param>]
如果CMD后面有参数,则紧跟着[<param>]
\r\n
最后以”\r\n”结束,字符型为换行,windows就是回车键。十六进制为0x0D,0x0A
<IND>
1、数据反馈是蓝牙把各种状态和数据信息反馈给主机,以<IND>作为开头
,<IND>是反馈指
数,则紧跟<IND>之后继续传输<param>参数。
2、后面紧跟着的是芯片回传的参数
这里<CMD>重点说明:
由于芯片内部是跑的系统,主体的程序划分如下:
功能划分
命令
备注
公共指令特性
AT+C?
公共指令是以AT+C开头,后面的“?”就是具体细化的功能命令
音乐指令特性
AT+A?
音乐指令是以AT+A开头,后面的“?”就是具体细化的功能命令
蓝牙指令特性
AT+B?
蓝牙指令是以AT+B开头,后面的“?”就是具体细化的功能命令
这里<CMD>重点说明:
由于芯片内部是跑的系统,主体的程序划分如下:
举例
命令
备注
控制指令1
AT+CZ\r\n
代表系统复位
查询返回的结果1
QA+01
详见4.4.1 返回的查询信息永远是Qn+xx 其中n和前面是相对应的
查询返回的结果2
QG+01
详见4.2.12
公共部分--控制指令 -- 说明
CMD
对应的功能
详细说明
AT+CT
设置波特率
后面有参数,详见3.3 举例:AT+CT01/r/n
AT+UT
设置蓝牙BLE的广播间隔
后面有参数,详见3.11 举例:AT+UT01/r/n
AT+CZ
芯片复位
芯片软件复位,详见3.3 举例:AT+CZ/r/n
AT+CW
芯片恢复出厂设置
恢复出厂设置,清除所有之前记忆的参数 ,详见3.3 举例:AT+CW/r/n
AT+CL
芯片低功耗设置
详见3.7章节
AT+CR
芯片上电回传信息关闭
详见3.10章节 .注意默认是开启的
AT+BM
设置BLE蓝牙名称
详见3.4章节
AT+BN
设置BLE的MAC地址
详见3.4章节
AT+BD
设置SPP蓝牙名称
详见3.4章节
AT+BS
设置BLE连接密码
详见3.4章节 ,此功能没有实现,主要在于手机的兼容性不行
AT+QT
查询系统的波特率
详见3.3章节.返回的数据为
AT+QL
查询系统的低功耗状态
详见3.7章节.返回的数据为QL+00
AT+TM
查询BLE蓝牙名称
详见3.5章节
AT+TN
查询BLE蓝牙地址
详见3.5章节
AT+TD
查询SPP蓝牙名称
详见3.5章节
AT+TS
查询BLE蓝牙连接密码
保留
测试推荐的指令
AT+BM1234\r\n -- 设置BLE的名称
AT+BN112233445566\r\n --ble的地址
AT+BD223344\r\n -- 设置SPP的名称
AT+CT01\r\n
AT+CZ\r\n
AT+CW\r\n
AT+QT\r\n
AT+TM\r\n
AT+TN\r\n
AT+TD\r\n
AT+CT01\r\n == 9600
AT+CT06\r\n == 256000
AT+CT11\r\n == 31250
AT+CT02\r\n == 19200
AT+CT07\r\n == 512000
AT+CT12\r\n == 2400
AT+CT03\r\n == 38400
AT+CT08\r\n == 230400
AT+CT13\r\n == 4800
AT+CT04\r\n == 57600
AT+CT09\r\n == 460800
AT+CT05\r\n == 115200
AT+CT10\r\n == 1000000
1、一旦设置了波特率之后,芯片会记忆。下一次开机,波特率就变成了您所设置的.当然可以查询[AT+QT]
2、设置完波特率之后,请等待1秒钟,再发送复位[AT+CZ],或者断电一下即可
3、如果要恢复默认的波特率,请发送恢复出厂设置的命令,此时芯片会自动擦除所有的配置
4、由于我们芯片的主频很高,所以尽量把串口的波特率调高,越高越好
AT+BMBLE-1234\r\n
设置蓝牙名称为“BLE-1234”
AT+BN112233445566\r\n
设置BLE的地址。手机端显示的地址是:66 55 44 33 22 11
AT+BDSPP-1234\r\n
设置蓝牙名称为“SPP-1234”
1、设置蓝牙名称之后,需要让芯片复位,发指令或者断电上电都可以,这样会显示新的蓝牙名称。我们默认的蓝牙名为“KT6368A-BLE”。设置的蓝牙名最长为“30”个字节,请不要超过这个范围
2、如果AT指令修改蓝牙名称之后,注意,你的手机端可能没有同步更新,还是显示之前的名称
(3)、只要设置了蓝牙名,蓝牙名一定是更新过来了的,不用怀疑。芯片上电也会返回蓝牙名给您查看
AT+TM\r\n
返回TM+1234\r\n 代表蓝牙名为1234
AT+TN\r\n
返回TN+12345678AABB\r\n BLE的蓝牙地址:0xBB、0xAA、0x78、0x56、0x34、0x12
AT+TD\r\n
返回TD+SPP1234\r\n 代表蓝牙名为SPP1234
2、SPP的地址,是在BLE地址的最高字节加1处理的 。所以只用设置BLE的地址即可。SPP的地址也就没做查询指令,可以自己计算一下
测试环境:KT6368A测试板 串口软件:串口调试助手_aithinker_serial_tool_v1.2.3
==》这个数据的返回,无任何意义。主要是方便客户,上电测试串口是否连接正常,以及查看芯片运行状态
==》芯片上电是一定会返回的,如果没有返回,说明硬件连接有误
TM+KT6368A-BLE-1.7
代表的是当前芯片的BLE的名称,以及对应手册的版本为1.7
TN+220CB1C8A22C
代表的是当前芯片的BLE的地址
TD+KT6368A-SPP-1.7
代表的是当前芯片的SPP的名称,以及对应手册的版本为1.7
TS+220CB1C8A22D
代表的是当前芯片的SPP的地址 此地址是根据BLE的地址计算得来的
T4+01
代表的是当前BLE功能是打开的,详见3.8章节
T5+01
代表的是当前SPP功能是打开的,详见3.8章节
QL+00
代表的是当前是正常工作模式,详见3.7章节
这里面的很多返回的信息,用户可以不必关注,因为这个存在的目的是方便客户初次调试的时候看
AT+CL00\r\n
不进入低功耗模式。下次上电有效 。设置之后注意要重新上电
AT+CL01\r\n
进入低功耗模式 。下次上电有效。设置之后注意要重新上电 --- 芯片默认进入此状态,不用设置
4、当然芯片,出厂上电默认是,正常工作模式。
而这5秒之类,是可以正常识别AT指令的
序号
电流
说明
AT+CL01
状态,进入低功耗工作模式
开机瞬间
11mA
1、芯片开机需要初始化外设。瞬间电流比较大
2、这个时间维持300ms,就进入低功耗状态了
工作状态-未连接
20uA
4mA 交替
3、芯片正常工作状态,正常对外广播,处于一个睡眠、唤醒广播、睡眠这样的周期性状态 。目的为了节省功耗
4、周期500ms。100ms广播一次,400ms睡眠
5、广播一次电流就是4mA。进入睡眠,就变成20uA
工作状态-以连接
4.3mA
6、当连接成功之后,芯片就不再进入睡眠。而是一次处于工作状态了
AT+CL00 进入正常工作模式
开机瞬间
25mA
1、芯片开机需要初始化外设。瞬间电流比较大
2、这个时间维持300ms,就进入5mA工作状态
不管连接还是未连接。
5mA
3、芯片一直处于工作状态。电流很小的波动,忽略不计
AT+VER2.0-20211111
TM+KT6328A-BLE-2.0 --- 手机端会搜索到这个名字
TN+3031E54D77D9
T4+01
T5+00
QL+01 -- 进入低功耗模式
AT+B401\r\n
开启BLE的功能。当然AT+B400\r\n则是关闭了
AT+B500\r\n
关闭SPP的功能。当然AT+B501\r\n则是开启了
AT+T4\r\n
查询BLE功能是否开启。芯片会返回T4+01或者T4+00
AT+T5\r\n
查询SPP功能是否开启。芯片会返回T5+01或者T5+00
只用设置一次,芯片自动保存参数,下一次不用设置了。关闭SPP功能之后,手机就搜不到SPP的名称了
ER+1\r\n
接收的数据帧不对
ER+2\r\n
接收的命令不存在,也就是你发的AT+KK这样的字符串查找不到
ER+3\r\n
接收的AT指令,没有收到回车换行,也就是\r\n
ER+4\r\n
发送的指令给的参数超范围了,或者指令的格式不对 。请检查您的AT指令
ER+7\r\n
MCU发送数据给手机,但是手机端没有打开notify 。在ble连接成功状态下
ER+8\r\n
保留--无意义
芯片内部对一些错误的状态,会进行实时的反馈。具体的请对照上面的表格
重点描述一下notify [监听],手机端的测试APP连接上蓝牙芯片之后,必须打开notify。蓝牙芯片才能发送数据给手机。手机发数据给蓝牙芯片,用write这个特征就足够了。
AT+CR00\r\n
关闭上电的回传信息 。设置之后注意要重新上电
AT+CR01\r\n
开启芯片上电的回传信息 。下次上电有效。设置之后注意要重新上电
目前此功能,仅限于KT6328A的版本,也就是单模BLE的低功耗版本
对应的指令
代表的含义
参考的功耗
AT+UT00\r\n
0--对应--250ms 广播间隔
平均功耗是300uA
AT+UT01\r\n
1--对应--500ms 广播间隔
平均功耗是180uA
AT+UT02\r\n
2--对应--750ms 广播间隔
平均功耗是140uA
AT+UT03\r\n
3--对应--1000ms 广播间隔
平均功耗是100uA
AT+UT04\r\n
4--对应--1500ms 广播间隔
平均功耗是70uA
AT+UT05\r\n
5--对应--2000ms 广播间隔
平均功耗是62uA
AT+UT06\r\n
6--对应--3000ms 广播间隔
平均功耗是40uA
AT+UT07\r\n
7--对应--4000ms 广播间隔
平均功耗是30uA
1、一旦设置了广播间隔参数之后,芯片会记忆。下一次开机,广播间隔就变成了您所设置的.不支持查询
2、但是芯片每次上电会主动的返回当前的连接间隔参数,详见上面的截图
3、如果要恢复默认的广播间隔,请发送恢复出厂设置的命令,此时芯片会自动擦除所有的配置
4、具体的间隔时间,还是要根据自己的产品,来定义。因为广播间隔越长,手机搜索到的时间就越长
目前支持BLE纯数传,芯片可以实现透传。目前BLE和SPP均只能作为从。也就是“SERVER”端。
请注意,一旦蓝牙被连接之后,芯片自动进入透传模式。不再识别AT指令 。一定要在app里面去搜索
1、单次吞吐的数据最大为1024个字节,支持16位或者128位的UUID --- 128位的需要特别定制
2、如果使用BLE作为数传,请连接模块的“KT6368A-BLE”这个蓝牙名
3、当然可以自己修改BLE的蓝牙名以及MAC地址了,通过AT指令
1、主UUID是“FFF0”
2、特征1的UUID是“FFF1”,特征是“WRITE_WITHOUT_RESPONSE ”“NOTIFY”
3、特征2的UUID是“FFF2”,特征是“READ ”“NOTIFY”
4、特征3的UUID是“FFF3”,特征是“WRITE_WITHOUT_RESPONSE”
BLE透传效果演示:https://v.qq.com/x/page/q07660m1bta.html
1、安卓手机的ios手机[苹果],推荐使用“BLE调试宝”软件
2、苹果的可以直接在“APP Store”里面搜索下载
3、安卓的,我们会在资料包里面提供安装的程序
4、请注意,安卓的手机也是可以测试BLE的,测试BLE不是一定只能用苹果的手机
5、安卓的BLE不是不能用,而是不好用,安卓的版本必须是在4.3版本以上的才支持BLE
6、正因为安卓的BLE不好用的原因,所以才会有双模,安卓用SPP。苹果用BLE
7、因为苹果如果要用SPP,这需要买MFI认证芯片,超级贵,目前也没人用了
8、如果默认没有修改过蓝牙名称的,连接“KT6368A-BLE”这个蓝牙名
9、BLE测试说明演示视频:https://v.qq.com/x/page/o0766ubm78n.html
第一步:
第二步
第三步:
第四步:
1、注意测试的时候,最好打开手机的定位权限,因为很多app需要这个权限
2、无论是用户自己开发app还是微信小程序,操作的步骤和上面截图也是一样的
3、推荐用户只用第一个特征,也就是FFF1 .他的特征是写和监听,足够使用了
4、基础的问题,请自行百度解决。其实这些描述,网上也是很容易找的,不复杂
上位机通过uart单次发送1832
个字节的数据
这个是接收完成的截图
总共的耗时:220ms的样子
以上测试的数据,是建立在我们芯片设置的连接间隔基础上的测试
其实缩短连接间隔,也是可以加快数据的通信。但是同时也增加的功耗
注意,这里手机收到的数据,还是基本遵循20个字节分包。因为我们芯片内部默认设置的最大包的长度是20个字节
正常的流程,是APP那边连接完蓝牙芯片之后,可以主动发起请求MTU【最大通信包长度】--网上可以自己搜搜
设置了MTU之后,单次的数据包,就不再是20个字节了。从而加快的数据交互的速度
这里我们在广播包里面,添加了芯片蓝牙的MAC地址
对比右边的截图,即可知道规律
这里我们称之为:advertisData
做这个的目的,有如下原因
Spp走的还是经典蓝牙的2.1的协议,不推荐使用了,新产品建议直接使用BLE 。要在系统里面先连接KT6368A-SPP
1、单次吞吐的数据最大为1024个字节。需要连接“KT6368A-SPP-04”
2、如果使用SPP作为数传,请不要主动连接模块的“KT6368A-BLE”这个蓝牙名,或者自己设置的BLE蓝牙名
3、注意SPP是属于经典蓝牙里面的一个子链路而已。
4、SPP数传和BLE是互斥的,如果你只用SPP的数传,那么请关闭掉BLE。
1、安卓手机的测试使用“蓝牙串口”这个app,可以在“应用宝”里面下载
2、如果默认没有修改过蓝牙名称的,连接“KT6368A-SPP”这个蓝牙
3、SPP测试说明演示视频:https://v.qq.com/x/page/e0766bz15fw.html
SPP的大数据量的透传演示视频:
https://v.qq.com/x/page/c0843j975hl.html
测试的方法,可以看一下我们资料包里面的视频演示。
1、目前我们的串口指令,支持AT指令,同时支持蓝牙数据透传
问题1
什么是蓝牙透传,有什么特点呢?
答疑
3、我们的方案中,蓝牙透传,是不需要任何的指令或者设置的
问题2
芯片是如何区分AT指令和透传的数据呢?
答疑
MCU端发送的数据
说明
AT+CT00\r\n
这个就是正常的AT指令,是不会被透传出去的。KT6368A会直接处理
AT+CT00
这个就是异常的指令,是会被透传出去的,因为没有加换行,KT6368A也会返回ER+7
KT+CT00\r\n
这个也会被透传出去,因为他不是AT指令开头
1234AT+CM00\r\n
这个也会被透传出去,因为他的起始数据不是AT开头。AT的指令仅仅只是在中间,所以会被透传
12121212121212kkk
这个就是纯粹的透传数据了,所以会被透传至手机
至于这些透传的数据,如何去处理,就留给聪明的您去自由发挥啦
蓝牙芯片收到之后,也是不会处理的,只会串口输出给MCU
问题0
KT6368A是什么?有什么功能?特点是什么?适用于什么场景?配什么晶振呢?
KT6368A批量有优惠吗? 蓝牙天线预留的元器件怎么办,焊还是不焊?
回答
==》支持常用的AT指令,如:设置名称、设置地址、设置波特率等等。详见手册
晶振的选择,直接影响的是蓝牙的频偏,也就是蓝牙距离,所以别随便用,到时候搜不到蓝牙名,就又跑来问为什么了,我们有提供晶振的样品。可以顺便拿几个回去测试
晶振的电容不用焊,建议预留,我们开机芯片会自动校准晶振的负载电容,软件处理的
8、芯片批量基本没什么优惠了,价格超级敏感的,请选择其它
9、蓝牙天线脚,预留的元器件,做样品直接不焊,接一个C1的电容即可。批量建议预留,预防做认证,或者天线要求极高的场合 。只接C1电容蓝牙距离也是妥妥的超过10米以上
问题1
KT6368A有测试板吗? 拿到芯片如何开始测试呢? 有什么硬件上的注意事项?
回答
芯片是SOP8封装的,总共的引脚就很少很少,使用也很简单。暂时没有测试模块
问题2
KT60368A支持微信小程序吗 ? 默认的uart波特率是多少?
回答
1、微信小程序,只是用到了BLE而已。也就是说支持BLE就可以支持微信小程序
2、芯片是BLE5.0的协议,微信小程序需要客户自己开发。我们只是透传,无其他作用
3、芯片给的uart缓存是1K字节 。默认的波特率是115200
问题3
KT6368A这颗芯片供电电压多少V?电流多少? 透传的速率是多少BLE和SPP
回答
问题4
如何区分AT指令和串口透传数据? 如何知道蓝牙是否连接?
回答
3、这个要看芯片的第2脚。未连接输出低电平。连接成功输出高电平
4、当然,你可以接一个指示灯来看。或者也可以连接到mcu的gpio上面
问题5
如何确定芯片是否工作正常呢?以及串口接线正常呢?
回答
问题6
支持单芯片出货吗? 芯片是什么参数?什么包装?芯片出货稳定吗
回答
所以成本就很低,
4、另外不支持讲价。价格也没什么空间了,请留意
问题7
支持修改uuid ,以及蓝牙名和蓝牙MAC地址吗
回答
问题8
支持单芯片出货吗? 芯片是什么参数?什么包装
回答
问题9
硬件设计,有什么需要注意的地方吗?
回答
问题10
支持买几个样品,帮我修改波特率到9600吗?
回答
问题11
支持按照我们特定的uuid,以及服务,然后修改出样品吗?
回答
测试芯片的性能。不可能几块钱的东西,我们都要工程师参与配合修改,这样效率太低了
2、实在需要修改的,可以,收人工费500修改
本文由梁桂钊于2022-10-15发表在梁桂钊的博客,如有疑问,请联系我们。
本文链接:https://720ui.com/6311.html