2024年10月25日发(作者:回河灵)
股票代码:872374
深圳云里物里科技股份有限公司
SHENZHEN MINEW TECHNOLOGIES CO LTD
蓝牙模块MS50SFA1
产品型号
MODEL NO/DESCRIPTION
产品名称
产品型号
适用固件版本
Version
发布时间
蓝牙从模块
MS50SFA1
V2.4.x
V1.0
2020-05-26
1
网址:邮箱:*****************
蓝牙模块MS50SFA1
目录
1. 产品概述 ………………………………………………… 3
2. 应用领域 ………………………………………………… 4
3. 模块尺寸图 ……………………………………………… 4
4. 电气参数 ………………………………………………… 5
5. 模块管脚图 ……………………………………………… 6
6. 引脚定义 ………………………………………………… 6
7. 模块使用操作说明 ……………………………………… 8
8. 功耗参数 …………………………………………………17
9. PCB设计说明………………………………………………18
10. MCU参考代码 ……………………………………………19
11. 模块原理图………………………………………………22
12. 回流焊温度曲线图………………………………………23
13. 支持设备…………………………………………………23
14. 注意事项…………………………………………………23
15. 包装信息…………………………………………………24
16. 认证信息…………………………………………………25
17. 质量保证…………………………………………………25
附件:版本说明………………………………………………26
2
网址:邮箱:*****************
蓝牙模块MS50SFA1
1.产品概述
MS50SFA1串口从模块采用nRF52810 芯片,通过UART(串口)操作可以实现模块与手机(或其它主设
备)之间数据传输。本模块为从模块,有广播和连接状态,可通过命令设置和查看模块的广播名
称,修改广播间隔和连接间隔等参数。使用该模块用户可以快速把数据以蓝牙方式进行传输。
产品效果图
MS50SFA(V1.x)
PCB天线
产品反面
产品特点
★
远距离:10-60米(空旷环境);
★ BLE协议栈深度优化,睡眠功耗1uA以下;
★
传输速率最快可达11kB/s;
★ 支持供电电压检测;
★
支持串口指令配置;
★ 支持 Android 4.3+,iOS7.0+;
★
无需 MFi;
★ 通过BQB认证(证书编号QDID:138541);
★ 带屏蔽罩。
3
网址:邮箱:*****************
蓝牙模块MS50SFA1
2.应用领域
该模块主要用于短距离的数据无线传输领域。可以方便的和PC机的蓝牙设备相连,也可以与智
能手机之间的数据互通。避免繁琐的线缆连接,能直接替代串口线。可广泛应用于智能家居、
智能穿戴设备、消费电子、智慧医疗、安防设备、汽车设备、运动健身设备、仪器仪表、远程
遥控等需要低功耗蓝牙系统的领域。
3.模块尺寸图
(默认单位:mm 默认公差:±0.1)
4
网址:邮箱:*****************
蓝牙模块MS50SFA1
4.电气参数
参数
工作电压
工作频率
工作温度
频率误差
发射功率
接收灵敏度
接收电流
发射电流
睡眠功耗
遥控距离
天线
模块尺寸
存储大小
数值
1.7V-3.6V
2400-2483MHz
-40℃~+85℃
+/- 20KHz
-40 ~ +4dBm
-96dBm
4.6mA
4.6mA
1uA以下
10-60米
50ohm
15.8*12*2mm
192KB
备注
DCDC
Programmable
Null
Null
Programmable
High gain mode
RX only run current(DCDC, 3V) 1Msps
Transmission power 0dBm
Power mode 3, connection-less state
BER<0.1%, Open space
Null
Null
Null
5
网址:邮箱:*****************
蓝牙模块MS50SFA1
5.模块管脚图
6.引脚定义
引脚编号引脚名称引脚定义功能描述备注
使用模块自带天线,此引脚直接悬空。
如若不使用模块自带天线,可通过此引
脚外接天线,外接天线时,需要将与天
线相接的电阻横向焊接与此引脚相接
固件未使用,可直接悬空
1ANT外接天线引脚
2~7
P0.27 to
P0.09
P0.03
P0.04
VCC
GND
BTX
BRX
VCC
GND
GPIO
8
9
10
11
UART TX
UART RX
电源正极
电源负极
蓝牙模块的TX
蓝牙模块的RX
6
网址:邮箱:*****************
蓝牙模块MS50SFA1
引脚编号引脚名称引脚定义功能描述备注
12P0.11CON_IND连接指示
睡眠状态:低电平
广播状态:低电平
连接状态:高电平
判断传输空间是否可用
0:蓝牙模块有可用空间,可传输
1:主机停止传输,等待可用空间释放
低电平唤醒,高电平睡眠,不可悬空
串口开启/关闭控制引脚,不可悬空
0:串口打开,可发送和接收串口数据
1:串口关闭
用于烧录固件
用于烧录固件
13P0.12FIFO_FULL传输空间满
14P0.17SLP睡眠 /唤醒
15P0.18BTDATA串口控制
16
17
SWDIO
SWCLK
烧录数据引脚
烧录时钟引脚
18P0.21GPIO此引脚固件未使用,可悬空处理
7
网址:邮箱:*****************
蓝牙模块MS50SFA1
7.模块使用操作说明
7.1 工具
手机APP:Minew串口助手,nRF connect(通用APP,也叫nRF Master Control Panel),测试BLE
产品时,直接使用系统设置自带蓝牙是无法正常使用的,特别是IOS端,设置里面的蓝牙不会显
示BLE设备。
IOS端直接在APP store上下载, 安卓APP下载地址:
/myapp/?apkName=&ADTAG=mobile
/myapp/?apkName=&ADTAG=
mobile
PC端串口助手:百度“友善串口助手”即可下载。PC端串口助手用于调试模块UART接口。
7.2 接线
1.供电
芯片工作电压范围为1.7V-3.6V,为保证正常使用,供电电压尽量保证为3.0V-3.6V。
(休眠/唤醒)
SLP被拉低时,模块进入广播状态,此时可以用手机APP扫描到设备,设备名称为Minew_Vxxxxx
(此名称为默认设置),可连接模块,进入连接状态。SLP被拉高时,设备会直接进入休眠状态。
注:此引脚不可悬空,避免带来无法预知的错误。
8
网址:邮箱:*****************
蓝牙模块MS50SFA1
(串口控制)
BTDATA引脚只有在SLP为低时,才有效。SLP为低,BTDATA为低,当模块处于广播状态时,所有
UART数据会被认为是指令。当模块被连接上时,所有数据被认为是透传数据。
注:此引脚不可悬空,避免带来无法预知的错误。
接口:TX和RX
当SLP、BTDATA都为低时,UART接口才会打开,将TX、RX分别与MCU的RX、TX连接,即可进行
UART通讯。
模块测试时,可将TX和RX引脚接到USB转UART模块上,通过PC端串口助手可发送和接收UART数据。
注:如果未准备USB转UART模块,可将两个蓝牙模块的TX和RX分别反接好,通过两个手机分别连
接模块,即可测试数据透传。
5.连接指示引脚(CON_IND)
CON_IND用于指示是否连接,连接状态高电平,其它状态低电平,可用于唤醒相连的MCU,节省
功耗。
_FULL
FIFO_FULL用于指示缓存是否满。从MCU往模块发送数据量大时,可加上此引脚判断。如果为高,
则FIFO满,此时不可再继续发送UART数据,以免丢包。
7.3 指令说明
接好VCC、GND后,SLP、BTDATA引脚直接接地,此时任何APP没有连接模块,即模块处于指令模
式,且串口开启,可发送指令,设置和查询参数。
针对所有的设备指令,返回结果都是一样的:发送成功返回54544D3A4F4B0D0A00(TTM:OKrn0),
发送失败返回54544D3A4552500D0A00 (TTM:ERPrn0)。
发送完正确的设置指令, 需要发送复位指令或者重新上电后新的参数才会生效。以下是设置指
令列表:
9
网址:邮箱:*****************
蓝牙模块MS50SFA1
功能
设置广播名称
设置广播间隔
设置连接间隔
设置波特率
设置发射功率
设置广播数据
设置工厂ID
设置服务UUID
设置广播模式
设置ibeacon的
UUID
设置ibeacon的
Major
设置ibeacon的
Minor
设置连接模式
设置连接密码
恢复出厂设备
复位
指令(hex/ASCII)
54544D3A52454E2D
TTM:REN-
54544D3A4144502D
TTM:ADP-
54544D3A4349542D
TTM:CIT-
54544D3A4250532D
TTM:BPS-
54544D3A54504C2D
TTM:TPL-
54544D3A4144442D
TTM:ADD-
54544D3A5049442D
TTM:PID-
54544D3A5549442D
TTM:UID-
54544D3A4D4F442D
TTM:MOD-
54544D3A4149442D
TTM:AID-
54544D3A4D414A2D
TTM:MAJ-
54544D3A4D494E2D
TTM:MIN-
54544D3A5057452D
TTM:PWE-
54544D3A5057442D
TTM:PWD-
54544D3A5253542D464143
TTM:RST-FAC
54544D3A5253542D535953
TTM:RST-SYS
说明
长度:1-16 Byte,取值:ASCII
长度:1 Byte, 取值: 1-20,对应广播间隔
1*100ms
长度:1 Byte, 取值:1-100,对应最小连接间
隔1*10ms,最大连接间隔=最小连接间隔+10ms
长度:1 Byte, 取值:0-4,分别对应
9600/19200 /38400/57600/115200 (单位:bps)
长度:1 Byte, 取值:0-7,分别对应-40、-20、
-16、-12、-8、-4、0、+4(单位:dB)
长度:1-16 Byte, 取值:任意十六进制数
长度:2 Byte, 取值:任意十六进制数
长度:6Byte, (2 Byte service uuid+ 2 Byte
tx UUID+ 2 Byte rx UUID)取值:任意十六进制
数,service 、tx、rx的UUID不可以一致
设置设备广播包格式:0:透传广播包
1:ibeacon广播包,具体可查看广播包格式说明
长度:16字节,取值:任意十六进制数
长度:2字节,取值:任意十六进制数
长度:2字节,取值:任意十六进制数
设备是否需连接密码,0:无需密码连接
1:需要连接密码
长度:1-8字节,取值:ASCII, 连接上5s时间
内必须输入正确密码,否则会断开连接
和设置指令返回一致
成功会返回TTM:OKnr0
10
网址:邮箱:*****************
蓝牙模块MS50SFA1
为保证参数设置成功,新增了参数读取指令,读出设备当前生效参数,指令错误时,都返回
54544D3A4552500D0A00 (TTM:ERPrn0)。
功能
读取广播名称
读取广播间隔
读取连接间隔
读取波特率
读取发射功率
读取广播数据
读取工厂ID
读取服务UUID
读取广播模式
读取ibeacon的
UUID
读取ibeacon的
Major
读取ibeacon的
Minor
读取连接模式
读取连接密码
读取MAC地址
读取版本信息
指令(hex/ASCII)
54544D3A52454E3F
TTM:REN?
54544D3A4144503F
TTM:ADP?
54544D3A4349543F
TTM:CIT?
54544D3A4250533F
TTM:BPS?
54544D3A54504C3F
TTM:TPL?
54544D3A4144443F
TTM:ADD?
54544D3A5049443F
TTM:PID?
54544D3A5549443F
TTM:UID?
54544D3A4D4F443F
TTM:MOD?
54544D3A4149443F
TTM:AID?
54544D3A4D414A3F
TTM:MAJ?
54544D3A4D494E3F
TTM:MIN?
54544D3A5057453F
TTM:PWE?
54544D3A5057443F
TTM:PWD?
54544D3A4D4143(2D)3F
TTM:MAC-?或TTM:MAC?
54544D3A564552(2D)3F
TTM:VER-?或TTM:VER?
说明
返回TTM:REN-
返回TTM:ADP-
返回TTM:CIT-
返回TTM:BPS-
返回TTM:TPL-
返回TTM:ADD-
返回TTM:PID-
返回TTM:UID-
返回TTM:MOD-
返回TTM:AID-
返回TTM:MAJ-
返回TTM:MIN-
返回TTM:PWE-
返回TTM:PWD-
返回TTM:MAC-
返回TTM:VER-
11
网址:邮箱:*****************
蓝牙模块MS50SFA1
7.4 操作示例
1. 出厂默认参数
广播名称:Minew_Vxxxxx 串口波特率:9600bps,8N1
发射功率:0dBm 广播间隔:1s
广播模式:透传广播包
最小最大连接间隔:20ms - 30ms
连接密码使能:不开启 连接密码:minew123
Major: 0x1234 minor: 0x1235
UUID:74278BDA-B644-4520-8F0C-720EAF059935
DC_RC: DCDC开启,外部32K
自定义数据:Minew Tech
2.广播包(广播数据包+回复数据包)
使用nrf connect扫描设备,扫描到设备后点击Raw,Raw data是扫描到设备的未解析数据。 按
照BLE数据类型解析后, 见Detail部分。BLE广播数据都是有一定格式的:长度+类型+内容
内容是可以变化的,类型是固定的,长度是由内容确定。设备有两种广播格式,透传广播包和
ibeacon广播包。两种格式都包含有flag(0x01), 广播名称(0x09),service data(0x16),
manufacturer data(0x0FF)四个类型。
12
网址:邮箱:*****************
蓝牙模块MS50SFA1
下图为透传广播包:flag,广播名称,service data放在广播数据包,manufacturer data放
回复数据包。其中,service data内容为:service data UUID(E1FF)+ MAC地址。
manufacturer data内容由company id(3906)+电池电量信息(1字节)+自定义数据组成。
注:IOS端获取不到MAC地址域的内容,所以将MAC地址重新放到广播包中,保证IOS端可获取
设备的MAC地址。另外,微信小程序是获取不到回复数据包的,所以MAC放到广播数据包的
service data中,保证IOS端使用微信小程序连接也可以获取设备MAC地址。
13
网址:邮箱:*****************
蓝牙模块MS50SFA1
下图为ibeacon广播包:flag,manufacturer data放在广播数据包,service data和广播名
称放回复数据包。 广播数据包必须按照此固定格式才可以满足ibeacon协议定义。在
manufacturer data数据中,4C 00为苹果公司的company id, 02 15是ibeacon的固定格式,
Proximity uuid(16字节)+Major(2字节)+Minor(2字节)+Measured power(1字节)。在ibeacon
广播模式下, manufacturer data只可以改变proximity uuid, Major, Minor值。
service data= service data UUID(FFE1)+电池电量信息+MAC地址。
14
网址:邮箱:*****************
蓝牙模块MS50SFA1
3. 修改参数示例
按照接线方式将所有引脚接好,SLP和BTDATA接地,此时通过手机APP(Minew串口助手或nRF
connect)查看到广播名称为Minew_Vxxxxx的设备。在此状态下串口发送TTM:REN-XXXXXX,会返
回TTM:OKrn0,然后再发送复位指令:TTM:RST-SYS或者上电复位等返回TTM:OKrn0后即可
完成名称修改。
注:需要修改多个参数时,可先发送所有设置指令后,再发送复位指令。
15
网址:邮箱:*****************
蓝牙模块MS50SFA1
4. 透传
在步骤3的基础上,使用手机APP连接设备,保持BTDATA引脚为低,即可进行数据透传。BTDATA
不为低时,不影响设备的广播和连接,只是无法进行透传。使用nRF connect可以看到具体的服
务(service)、特征(characteristic) 及其相对应的属性(properties)。
UUID由 alias UUID(2 byte,图中左第
3.4byte)+base UUID(其余14byte)组成。
透传程序中服务,特征使用的base UUID是
标准的,下面用alias UUID进行说明。
FFF0是服务UUID, FFF1是手机接收数据,模块发送数据; FFF2是手机发送数据,模块接收数据
特征值
UUID
可执行
的操作
包长度备注
串口发送数据到模块,转发给手机。手机使能notify
后才可以获取到数据。模块一包发出的最大字节数是
244 byte
FFF1notify244
注:此过程固件做了自动分包处理,可不必按照一包
长度进行分包,但是每包最大不可超过10k, 且发送
间隔需要考虑速率,否则会导致丢包,断连等情况。
手机发送数据到模块,转发到串口。使用API接口函数
写入数据时,一次写入最大数据长度为244个字节。
FFF2write244
16
网址:邮箱:*****************
蓝牙模块MS50SFA1
8.功耗参数
以下功耗测试是在供电电压为3.3V,常温状态下测试。广播间隔为1s, 最大最小连接间隔为20-
30ms。使用年限计算一般以平均功耗(Avg)为准。
功耗
Peak(mA)Avg(mA)
状态
睡眠状态平均电流(只接VCC和GND)0.08570.0012
广播状态平均电流(SLP脚接GND)6.47430.0153
连接状态平均电流(SLP脚接GND,连接手机)7.0340.1266
透传平均电流(SLP、BTDATA脚接GND,连接手机)7.0380.4986
17
网址:邮箱:*****************
蓝牙模块MS50SFA1
设计说明
模块天线区域不能有GND平面或金属交叉布线,附近不能放置元器件,最好做镂空或净空区域处
理,或安置在PCB板边缘。参考示例如下:
Recommended
Acceptable
Worst
PCB Board
注:
1、模块天线区域最好完全净空,不要有金属阻挡,否则将影响天线效果;(如上图所示)
2、模块天线区域以外的部分,尽量是完整的铺铜,以减少主板信号线或其它干扰;
3、模块天线四周(包含外壳),最好能有4mm及以上净空区域,以减少对天线的影响。
18
网址:邮箱:*****************
蓝牙模块MS50SFA1
参考代码
void main(void)
{
InitMCU(); //MCU初始化,IO
SLP_OUT; //设置MCU上SLP引脚为输出,控制模块的SLP
BTDATA_OUT; //设置MCU上BTDATA引脚为输出,控制模块的BTDATA
SLP=0; //唤醒模块
delay_ms(500); //模块唤醒需要等待500ms
BTDATA=0; //开启模块串口
Int0_int(); //MCU外部引脚中断,用于检测模块LED引脚状态改变
uart_init(); //MCU串口初始化
uart_start(); //开启MCU串口
FGIE=1; //开启MCU全局中断
if(connect_flag==0) //设备未连接,此状态为指令模式
{
ren_set(); //设置模块广播名称
while(set_flag);//等待设置成功
res_sys(); //复位指令或者重启设备才有效
}
while(1)
{
if(connect_flag==1) //设备连接上,透传模式
{
UTXD =0x01; //发送数据到手机端
}
}
}
bit set_ok(uint8_t * set_return_data)
{
uint8_t set_ok_return[9]="TTM:OKrn0"; //参数正确设置的返回
for(uint8_t i=0;i<9;i++)
{
if(set_return_data[i]!=set_ok_return[i])
return 0;
}
return 1;
}
bit set_error(uint8_t * set_return_data)
{
uint8_t set_error_return[10]="TTM:ERPrn0"; //参数错误设置的返回
for(uint8_t i=0;i<10;i++)
{
if(set_return_data[i]!=set_error_return[i])
return 0;
}
return 1;
}
19
网址:邮箱:*****************
蓝牙模块MS50SFA1
bit get_mac_ok(uint8_t * get_mac_data)
{
uint8_t get_mac_return[8]="TTM:MAC-"; //获取MAC地址指令正确的返回
for(uint8_t i=0;i<8;i++)
{
if(get_mac_data[i]!=get_mac_return[i])
return 0;
}
if((get_mac_data[14]!=0x0d)||(get_mac_data[15]!=0x0a)||(get_mac_data[1
6]!=0x00))
return 0;
return 1;
}
bit get_ver_ok(uint8_t * get_ver_data)
{
uint8_t get_ver_return[8]="TTM:VER-"; //获取版本信息指令正确的返回
for(uint8_t i=0;i<8;i++)
{
if(get_ver_data[i]!=get_ver_return[i])
return 0;
}
if((get_ver_data[16]!=0x0d)||(get_ver_data[17]!=0x0a)||(get_ver_data[1
8]!=0x00))
return 0;
return 1;
}
void ren_set(void) // 设置广播名字
{
uint8_t set_ren_command[8]="TTM:REN-"; //设置广播名称指令
uint8_t advname[9]="Minew_111"; //BLE 模块的广播名字
uint8_t advname_len =9;
for(uint8_t i=0;i<8;i++)
{
UTXD=set_ren_command[i];
delay_us();
}
for(uint8_t j=0;j { UTXD= advname[j]; delay_us(); } } 20 网址:邮箱:***************** 蓝牙模块MS50SFA1 void __interrupt [0x09] ISR_INT0(void) //外部引脚中断,表示连接指示引脚 { if(FP00IRQ) { FP00IRQ = 0; if(CON_IND==1) connect_flag=1; //设备连接上 else } connect_flag=0; //断开连接 } void __interrupt [0x10] ISR_UART_RX(void) //串口接收中断 { if(FURXIRQ) { FURXIRQ=0; rx_data[rx_count]=URXD; //保存接收到的数据 rx_count++; if(CON_IND==0) //未连接状态下,串口接收数据为指令返回 { if((rx_count==9)&& (set_ok(rx_data)==1)) { set_flag=1; //参数设置成功 rx_count=0; } if((rx_count==10)&& (set_error(rx_data)==1)) { set_flag=0; //参数设置失败 rx_count=0; } if((rx_count==16)&& (get_mac_ok(rx_data)==1)) rx_count=0; //获取MAC地址成功 if((rx_count==18)&& (get_ver_ok(rx_data)==1)) rx_count=0; //获取版本信息成功 if(rx_count>18) //指令返回其它 rx_count=0; } else //连接状态下,透传数据 { if(rx_count>=155) //接收数据一包最大跟版本有关 rx_count=0; } } } 21 网址:邮箱:***************** 蓝牙模块MS50SFA1 11.模块原理图 52810 22 网址:邮箱:***************** 蓝牙模块MS50SFA1 12.回流焊温度曲线图 13.支持设备 支持设备系统 iOS 7.0及以上 支持设备型号 iPhone 4S,iPhone 5, iPhone 5S,iphone 6, iPhone 6p,iPad 3, iPad mini, iPad air等 华为,小米,OPPO,魅族,VIVO,Samsung Galaxy S III, HTC One 等 Android 4.3及以上 14.注意事项 1、该芯片中有CMOS器件,在运输、使用过程中要注意防静电; 2、器件接地要良好,减少寄生电感; 3、模块天线下面不要铺铜,以防影响信号辐射,导致传输距离受影响; 4、天线应远离其他电路,防止辐射效率变低和影响其他电路正常使用; 5、模块尽量放置在电路板的边缘,远离其他电路; 6、模块的接入电源建议使用磁珠进行隔离。 23 网址:邮箱:***************** 蓝牙模块MS50SFA1 15.包装信息 The direction of a tape drawer *(默认单位:mm 默认公差:±0.1) 包装详情 数量 规格 850PCS 净重 425g 毛重 885g 尺寸 W=330mm,T=50.4mm * 注:默认重量误差皆在10g以内(特别标注说明除外) 24 网址:邮箱:***************** 蓝牙模块MS50SFA1 16.认证信息 FCC ID编号:2ABU6-MS50SFA CE证书编号:BCTC-LH180501271N1C RoHS证书编号:BCTC-FYC180052061R EN50498 车规证书编号:BCTC-LH180702073C 17.质量保障 工厂通过了ISO9001质量体系认证。每一个产品都经过严格测试(发射功率测试、灵敏度测试、 功耗测试,稳定性测试、老化测试等)。 权利声明:本手册及其包含的所有内容为深圳云里物里科技股份有限公司所有,受中国法律及 适用之国际公约中有关著作权法律的保护。本公司有权根据技术发展的需要对本手册内容进行 更改,且更改版本不另行通知。未经本公司书面允许与授权,任何个人或公司、组织不得将本 手册内容进行改动或以其它方式使用本手册的部分或全部内容,违者将被依法追究责任。 免责声明:深圳云里物里科技股份有限公司对本手册中与实际产品相异之处保有最终解释权。 本公司不承担由于客户不正常操作造成的财产或者人身伤害责任,请客户按照手册中的技术规 格和参考设计开发相应的产品。 25 网址:邮箱:***************** 蓝牙模块MS50SFA1 附件:版本说明 版本 内容变更 变更人 变更时间 说明 1.0 规格书内容撰写 黄珊瑚2020.05.21 26 网址:邮箱:*****************
2024年10月25日发(作者:回河灵)
股票代码:872374
深圳云里物里科技股份有限公司
SHENZHEN MINEW TECHNOLOGIES CO LTD
蓝牙模块MS50SFA1
产品型号
MODEL NO/DESCRIPTION
产品名称
产品型号
适用固件版本
Version
发布时间
蓝牙从模块
MS50SFA1
V2.4.x
V1.0
2020-05-26
1
网址:邮箱:*****************
蓝牙模块MS50SFA1
目录
1. 产品概述 ………………………………………………… 3
2. 应用领域 ………………………………………………… 4
3. 模块尺寸图 ……………………………………………… 4
4. 电气参数 ………………………………………………… 5
5. 模块管脚图 ……………………………………………… 6
6. 引脚定义 ………………………………………………… 6
7. 模块使用操作说明 ……………………………………… 8
8. 功耗参数 …………………………………………………17
9. PCB设计说明………………………………………………18
10. MCU参考代码 ……………………………………………19
11. 模块原理图………………………………………………22
12. 回流焊温度曲线图………………………………………23
13. 支持设备…………………………………………………23
14. 注意事项…………………………………………………23
15. 包装信息…………………………………………………24
16. 认证信息…………………………………………………25
17. 质量保证…………………………………………………25
附件:版本说明………………………………………………26
2
网址:邮箱:*****************
蓝牙模块MS50SFA1
1.产品概述
MS50SFA1串口从模块采用nRF52810 芯片,通过UART(串口)操作可以实现模块与手机(或其它主设
备)之间数据传输。本模块为从模块,有广播和连接状态,可通过命令设置和查看模块的广播名
称,修改广播间隔和连接间隔等参数。使用该模块用户可以快速把数据以蓝牙方式进行传输。
产品效果图
MS50SFA(V1.x)
PCB天线
产品反面
产品特点
★
远距离:10-60米(空旷环境);
★ BLE协议栈深度优化,睡眠功耗1uA以下;
★
传输速率最快可达11kB/s;
★ 支持供电电压检测;
★
支持串口指令配置;
★ 支持 Android 4.3+,iOS7.0+;
★
无需 MFi;
★ 通过BQB认证(证书编号QDID:138541);
★ 带屏蔽罩。
3
网址:邮箱:*****************
蓝牙模块MS50SFA1
2.应用领域
该模块主要用于短距离的数据无线传输领域。可以方便的和PC机的蓝牙设备相连,也可以与智
能手机之间的数据互通。避免繁琐的线缆连接,能直接替代串口线。可广泛应用于智能家居、
智能穿戴设备、消费电子、智慧医疗、安防设备、汽车设备、运动健身设备、仪器仪表、远程
遥控等需要低功耗蓝牙系统的领域。
3.模块尺寸图
(默认单位:mm 默认公差:±0.1)
4
网址:邮箱:*****************
蓝牙模块MS50SFA1
4.电气参数
参数
工作电压
工作频率
工作温度
频率误差
发射功率
接收灵敏度
接收电流
发射电流
睡眠功耗
遥控距离
天线
模块尺寸
存储大小
数值
1.7V-3.6V
2400-2483MHz
-40℃~+85℃
+/- 20KHz
-40 ~ +4dBm
-96dBm
4.6mA
4.6mA
1uA以下
10-60米
50ohm
15.8*12*2mm
192KB
备注
DCDC
Programmable
Null
Null
Programmable
High gain mode
RX only run current(DCDC, 3V) 1Msps
Transmission power 0dBm
Power mode 3, connection-less state
BER<0.1%, Open space
Null
Null
Null
5
网址:邮箱:*****************
蓝牙模块MS50SFA1
5.模块管脚图
6.引脚定义
引脚编号引脚名称引脚定义功能描述备注
使用模块自带天线,此引脚直接悬空。
如若不使用模块自带天线,可通过此引
脚外接天线,外接天线时,需要将与天
线相接的电阻横向焊接与此引脚相接
固件未使用,可直接悬空
1ANT外接天线引脚
2~7
P0.27 to
P0.09
P0.03
P0.04
VCC
GND
BTX
BRX
VCC
GND
GPIO
8
9
10
11
UART TX
UART RX
电源正极
电源负极
蓝牙模块的TX
蓝牙模块的RX
6
网址:邮箱:*****************
蓝牙模块MS50SFA1
引脚编号引脚名称引脚定义功能描述备注
12P0.11CON_IND连接指示
睡眠状态:低电平
广播状态:低电平
连接状态:高电平
判断传输空间是否可用
0:蓝牙模块有可用空间,可传输
1:主机停止传输,等待可用空间释放
低电平唤醒,高电平睡眠,不可悬空
串口开启/关闭控制引脚,不可悬空
0:串口打开,可发送和接收串口数据
1:串口关闭
用于烧录固件
用于烧录固件
13P0.12FIFO_FULL传输空间满
14P0.17SLP睡眠 /唤醒
15P0.18BTDATA串口控制
16
17
SWDIO
SWCLK
烧录数据引脚
烧录时钟引脚
18P0.21GPIO此引脚固件未使用,可悬空处理
7
网址:邮箱:*****************
蓝牙模块MS50SFA1
7.模块使用操作说明
7.1 工具
手机APP:Minew串口助手,nRF connect(通用APP,也叫nRF Master Control Panel),测试BLE
产品时,直接使用系统设置自带蓝牙是无法正常使用的,特别是IOS端,设置里面的蓝牙不会显
示BLE设备。
IOS端直接在APP store上下载, 安卓APP下载地址:
/myapp/?apkName=&ADTAG=mobile
/myapp/?apkName=&ADTAG=
mobile
PC端串口助手:百度“友善串口助手”即可下载。PC端串口助手用于调试模块UART接口。
7.2 接线
1.供电
芯片工作电压范围为1.7V-3.6V,为保证正常使用,供电电压尽量保证为3.0V-3.6V。
(休眠/唤醒)
SLP被拉低时,模块进入广播状态,此时可以用手机APP扫描到设备,设备名称为Minew_Vxxxxx
(此名称为默认设置),可连接模块,进入连接状态。SLP被拉高时,设备会直接进入休眠状态。
注:此引脚不可悬空,避免带来无法预知的错误。
8
网址:邮箱:*****************
蓝牙模块MS50SFA1
(串口控制)
BTDATA引脚只有在SLP为低时,才有效。SLP为低,BTDATA为低,当模块处于广播状态时,所有
UART数据会被认为是指令。当模块被连接上时,所有数据被认为是透传数据。
注:此引脚不可悬空,避免带来无法预知的错误。
接口:TX和RX
当SLP、BTDATA都为低时,UART接口才会打开,将TX、RX分别与MCU的RX、TX连接,即可进行
UART通讯。
模块测试时,可将TX和RX引脚接到USB转UART模块上,通过PC端串口助手可发送和接收UART数据。
注:如果未准备USB转UART模块,可将两个蓝牙模块的TX和RX分别反接好,通过两个手机分别连
接模块,即可测试数据透传。
5.连接指示引脚(CON_IND)
CON_IND用于指示是否连接,连接状态高电平,其它状态低电平,可用于唤醒相连的MCU,节省
功耗。
_FULL
FIFO_FULL用于指示缓存是否满。从MCU往模块发送数据量大时,可加上此引脚判断。如果为高,
则FIFO满,此时不可再继续发送UART数据,以免丢包。
7.3 指令说明
接好VCC、GND后,SLP、BTDATA引脚直接接地,此时任何APP没有连接模块,即模块处于指令模
式,且串口开启,可发送指令,设置和查询参数。
针对所有的设备指令,返回结果都是一样的:发送成功返回54544D3A4F4B0D0A00(TTM:OKrn0),
发送失败返回54544D3A4552500D0A00 (TTM:ERPrn0)。
发送完正确的设置指令, 需要发送复位指令或者重新上电后新的参数才会生效。以下是设置指
令列表:
9
网址:邮箱:*****************
蓝牙模块MS50SFA1
功能
设置广播名称
设置广播间隔
设置连接间隔
设置波特率
设置发射功率
设置广播数据
设置工厂ID
设置服务UUID
设置广播模式
设置ibeacon的
UUID
设置ibeacon的
Major
设置ibeacon的
Minor
设置连接模式
设置连接密码
恢复出厂设备
复位
指令(hex/ASCII)
54544D3A52454E2D
TTM:REN-
54544D3A4144502D
TTM:ADP-
54544D3A4349542D
TTM:CIT-
54544D3A4250532D
TTM:BPS-
54544D3A54504C2D
TTM:TPL-
54544D3A4144442D
TTM:ADD-
54544D3A5049442D
TTM:PID-
54544D3A5549442D
TTM:UID-
54544D3A4D4F442D
TTM:MOD-
54544D3A4149442D
TTM:AID-
54544D3A4D414A2D
TTM:MAJ-
54544D3A4D494E2D
TTM:MIN-
54544D3A5057452D
TTM:PWE-
54544D3A5057442D
TTM:PWD-
54544D3A5253542D464143
TTM:RST-FAC
54544D3A5253542D535953
TTM:RST-SYS
说明
长度:1-16 Byte,取值:ASCII
长度:1 Byte, 取值: 1-20,对应广播间隔
1*100ms
长度:1 Byte, 取值:1-100,对应最小连接间
隔1*10ms,最大连接间隔=最小连接间隔+10ms
长度:1 Byte, 取值:0-4,分别对应
9600/19200 /38400/57600/115200 (单位:bps)
长度:1 Byte, 取值:0-7,分别对应-40、-20、
-16、-12、-8、-4、0、+4(单位:dB)
长度:1-16 Byte, 取值:任意十六进制数
长度:2 Byte, 取值:任意十六进制数
长度:6Byte, (2 Byte service uuid+ 2 Byte
tx UUID+ 2 Byte rx UUID)取值:任意十六进制
数,service 、tx、rx的UUID不可以一致
设置设备广播包格式:0:透传广播包
1:ibeacon广播包,具体可查看广播包格式说明
长度:16字节,取值:任意十六进制数
长度:2字节,取值:任意十六进制数
长度:2字节,取值:任意十六进制数
设备是否需连接密码,0:无需密码连接
1:需要连接密码
长度:1-8字节,取值:ASCII, 连接上5s时间
内必须输入正确密码,否则会断开连接
和设置指令返回一致
成功会返回TTM:OKnr0
10
网址:邮箱:*****************
蓝牙模块MS50SFA1
为保证参数设置成功,新增了参数读取指令,读出设备当前生效参数,指令错误时,都返回
54544D3A4552500D0A00 (TTM:ERPrn0)。
功能
读取广播名称
读取广播间隔
读取连接间隔
读取波特率
读取发射功率
读取广播数据
读取工厂ID
读取服务UUID
读取广播模式
读取ibeacon的
UUID
读取ibeacon的
Major
读取ibeacon的
Minor
读取连接模式
读取连接密码
读取MAC地址
读取版本信息
指令(hex/ASCII)
54544D3A52454E3F
TTM:REN?
54544D3A4144503F
TTM:ADP?
54544D3A4349543F
TTM:CIT?
54544D3A4250533F
TTM:BPS?
54544D3A54504C3F
TTM:TPL?
54544D3A4144443F
TTM:ADD?
54544D3A5049443F
TTM:PID?
54544D3A5549443F
TTM:UID?
54544D3A4D4F443F
TTM:MOD?
54544D3A4149443F
TTM:AID?
54544D3A4D414A3F
TTM:MAJ?
54544D3A4D494E3F
TTM:MIN?
54544D3A5057453F
TTM:PWE?
54544D3A5057443F
TTM:PWD?
54544D3A4D4143(2D)3F
TTM:MAC-?或TTM:MAC?
54544D3A564552(2D)3F
TTM:VER-?或TTM:VER?
说明
返回TTM:REN-
返回TTM:ADP-
返回TTM:CIT-
返回TTM:BPS-
返回TTM:TPL-
返回TTM:ADD-
返回TTM:PID-
返回TTM:UID-
返回TTM:MOD-
返回TTM:AID-
返回TTM:MAJ-
返回TTM:MIN-
返回TTM:PWE-
返回TTM:PWD-
返回TTM:MAC-
返回TTM:VER-
11
网址:邮箱:*****************
蓝牙模块MS50SFA1
7.4 操作示例
1. 出厂默认参数
广播名称:Minew_Vxxxxx 串口波特率:9600bps,8N1
发射功率:0dBm 广播间隔:1s
广播模式:透传广播包
最小最大连接间隔:20ms - 30ms
连接密码使能:不开启 连接密码:minew123
Major: 0x1234 minor: 0x1235
UUID:74278BDA-B644-4520-8F0C-720EAF059935
DC_RC: DCDC开启,外部32K
自定义数据:Minew Tech
2.广播包(广播数据包+回复数据包)
使用nrf connect扫描设备,扫描到设备后点击Raw,Raw data是扫描到设备的未解析数据。 按
照BLE数据类型解析后, 见Detail部分。BLE广播数据都是有一定格式的:长度+类型+内容
内容是可以变化的,类型是固定的,长度是由内容确定。设备有两种广播格式,透传广播包和
ibeacon广播包。两种格式都包含有flag(0x01), 广播名称(0x09),service data(0x16),
manufacturer data(0x0FF)四个类型。
12
网址:邮箱:*****************
蓝牙模块MS50SFA1
下图为透传广播包:flag,广播名称,service data放在广播数据包,manufacturer data放
回复数据包。其中,service data内容为:service data UUID(E1FF)+ MAC地址。
manufacturer data内容由company id(3906)+电池电量信息(1字节)+自定义数据组成。
注:IOS端获取不到MAC地址域的内容,所以将MAC地址重新放到广播包中,保证IOS端可获取
设备的MAC地址。另外,微信小程序是获取不到回复数据包的,所以MAC放到广播数据包的
service data中,保证IOS端使用微信小程序连接也可以获取设备MAC地址。
13
网址:邮箱:*****************
蓝牙模块MS50SFA1
下图为ibeacon广播包:flag,manufacturer data放在广播数据包,service data和广播名
称放回复数据包。 广播数据包必须按照此固定格式才可以满足ibeacon协议定义。在
manufacturer data数据中,4C 00为苹果公司的company id, 02 15是ibeacon的固定格式,
Proximity uuid(16字节)+Major(2字节)+Minor(2字节)+Measured power(1字节)。在ibeacon
广播模式下, manufacturer data只可以改变proximity uuid, Major, Minor值。
service data= service data UUID(FFE1)+电池电量信息+MAC地址。
14
网址:邮箱:*****************
蓝牙模块MS50SFA1
3. 修改参数示例
按照接线方式将所有引脚接好,SLP和BTDATA接地,此时通过手机APP(Minew串口助手或nRF
connect)查看到广播名称为Minew_Vxxxxx的设备。在此状态下串口发送TTM:REN-XXXXXX,会返
回TTM:OKrn0,然后再发送复位指令:TTM:RST-SYS或者上电复位等返回TTM:OKrn0后即可
完成名称修改。
注:需要修改多个参数时,可先发送所有设置指令后,再发送复位指令。
15
网址:邮箱:*****************
蓝牙模块MS50SFA1
4. 透传
在步骤3的基础上,使用手机APP连接设备,保持BTDATA引脚为低,即可进行数据透传。BTDATA
不为低时,不影响设备的广播和连接,只是无法进行透传。使用nRF connect可以看到具体的服
务(service)、特征(characteristic) 及其相对应的属性(properties)。
UUID由 alias UUID(2 byte,图中左第
3.4byte)+base UUID(其余14byte)组成。
透传程序中服务,特征使用的base UUID是
标准的,下面用alias UUID进行说明。
FFF0是服务UUID, FFF1是手机接收数据,模块发送数据; FFF2是手机发送数据,模块接收数据
特征值
UUID
可执行
的操作
包长度备注
串口发送数据到模块,转发给手机。手机使能notify
后才可以获取到数据。模块一包发出的最大字节数是
244 byte
FFF1notify244
注:此过程固件做了自动分包处理,可不必按照一包
长度进行分包,但是每包最大不可超过10k, 且发送
间隔需要考虑速率,否则会导致丢包,断连等情况。
手机发送数据到模块,转发到串口。使用API接口函数
写入数据时,一次写入最大数据长度为244个字节。
FFF2write244
16
网址:邮箱:*****************
蓝牙模块MS50SFA1
8.功耗参数
以下功耗测试是在供电电压为3.3V,常温状态下测试。广播间隔为1s, 最大最小连接间隔为20-
30ms。使用年限计算一般以平均功耗(Avg)为准。
功耗
Peak(mA)Avg(mA)
状态
睡眠状态平均电流(只接VCC和GND)0.08570.0012
广播状态平均电流(SLP脚接GND)6.47430.0153
连接状态平均电流(SLP脚接GND,连接手机)7.0340.1266
透传平均电流(SLP、BTDATA脚接GND,连接手机)7.0380.4986
17
网址:邮箱:*****************
蓝牙模块MS50SFA1
设计说明
模块天线区域不能有GND平面或金属交叉布线,附近不能放置元器件,最好做镂空或净空区域处
理,或安置在PCB板边缘。参考示例如下:
Recommended
Acceptable
Worst
PCB Board
注:
1、模块天线区域最好完全净空,不要有金属阻挡,否则将影响天线效果;(如上图所示)
2、模块天线区域以外的部分,尽量是完整的铺铜,以减少主板信号线或其它干扰;
3、模块天线四周(包含外壳),最好能有4mm及以上净空区域,以减少对天线的影响。
18
网址:邮箱:*****************
蓝牙模块MS50SFA1
参考代码
void main(void)
{
InitMCU(); //MCU初始化,IO
SLP_OUT; //设置MCU上SLP引脚为输出,控制模块的SLP
BTDATA_OUT; //设置MCU上BTDATA引脚为输出,控制模块的BTDATA
SLP=0; //唤醒模块
delay_ms(500); //模块唤醒需要等待500ms
BTDATA=0; //开启模块串口
Int0_int(); //MCU外部引脚中断,用于检测模块LED引脚状态改变
uart_init(); //MCU串口初始化
uart_start(); //开启MCU串口
FGIE=1; //开启MCU全局中断
if(connect_flag==0) //设备未连接,此状态为指令模式
{
ren_set(); //设置模块广播名称
while(set_flag);//等待设置成功
res_sys(); //复位指令或者重启设备才有效
}
while(1)
{
if(connect_flag==1) //设备连接上,透传模式
{
UTXD =0x01; //发送数据到手机端
}
}
}
bit set_ok(uint8_t * set_return_data)
{
uint8_t set_ok_return[9]="TTM:OKrn0"; //参数正确设置的返回
for(uint8_t i=0;i<9;i++)
{
if(set_return_data[i]!=set_ok_return[i])
return 0;
}
return 1;
}
bit set_error(uint8_t * set_return_data)
{
uint8_t set_error_return[10]="TTM:ERPrn0"; //参数错误设置的返回
for(uint8_t i=0;i<10;i++)
{
if(set_return_data[i]!=set_error_return[i])
return 0;
}
return 1;
}
19
网址:邮箱:*****************
蓝牙模块MS50SFA1
bit get_mac_ok(uint8_t * get_mac_data)
{
uint8_t get_mac_return[8]="TTM:MAC-"; //获取MAC地址指令正确的返回
for(uint8_t i=0;i<8;i++)
{
if(get_mac_data[i]!=get_mac_return[i])
return 0;
}
if((get_mac_data[14]!=0x0d)||(get_mac_data[15]!=0x0a)||(get_mac_data[1
6]!=0x00))
return 0;
return 1;
}
bit get_ver_ok(uint8_t * get_ver_data)
{
uint8_t get_ver_return[8]="TTM:VER-"; //获取版本信息指令正确的返回
for(uint8_t i=0;i<8;i++)
{
if(get_ver_data[i]!=get_ver_return[i])
return 0;
}
if((get_ver_data[16]!=0x0d)||(get_ver_data[17]!=0x0a)||(get_ver_data[1
8]!=0x00))
return 0;
return 1;
}
void ren_set(void) // 设置广播名字
{
uint8_t set_ren_command[8]="TTM:REN-"; //设置广播名称指令
uint8_t advname[9]="Minew_111"; //BLE 模块的广播名字
uint8_t advname_len =9;
for(uint8_t i=0;i<8;i++)
{
UTXD=set_ren_command[i];
delay_us();
}
for(uint8_t j=0;j { UTXD= advname[j]; delay_us(); } } 20 网址:邮箱:***************** 蓝牙模块MS50SFA1 void __interrupt [0x09] ISR_INT0(void) //外部引脚中断,表示连接指示引脚 { if(FP00IRQ) { FP00IRQ = 0; if(CON_IND==1) connect_flag=1; //设备连接上 else } connect_flag=0; //断开连接 } void __interrupt [0x10] ISR_UART_RX(void) //串口接收中断 { if(FURXIRQ) { FURXIRQ=0; rx_data[rx_count]=URXD; //保存接收到的数据 rx_count++; if(CON_IND==0) //未连接状态下,串口接收数据为指令返回 { if((rx_count==9)&& (set_ok(rx_data)==1)) { set_flag=1; //参数设置成功 rx_count=0; } if((rx_count==10)&& (set_error(rx_data)==1)) { set_flag=0; //参数设置失败 rx_count=0; } if((rx_count==16)&& (get_mac_ok(rx_data)==1)) rx_count=0; //获取MAC地址成功 if((rx_count==18)&& (get_ver_ok(rx_data)==1)) rx_count=0; //获取版本信息成功 if(rx_count>18) //指令返回其它 rx_count=0; } else //连接状态下,透传数据 { if(rx_count>=155) //接收数据一包最大跟版本有关 rx_count=0; } } } 21 网址:邮箱:***************** 蓝牙模块MS50SFA1 11.模块原理图 52810 22 网址:邮箱:***************** 蓝牙模块MS50SFA1 12.回流焊温度曲线图 13.支持设备 支持设备系统 iOS 7.0及以上 支持设备型号 iPhone 4S,iPhone 5, iPhone 5S,iphone 6, iPhone 6p,iPad 3, iPad mini, iPad air等 华为,小米,OPPO,魅族,VIVO,Samsung Galaxy S III, HTC One 等 Android 4.3及以上 14.注意事项 1、该芯片中有CMOS器件,在运输、使用过程中要注意防静电; 2、器件接地要良好,减少寄生电感; 3、模块天线下面不要铺铜,以防影响信号辐射,导致传输距离受影响; 4、天线应远离其他电路,防止辐射效率变低和影响其他电路正常使用; 5、模块尽量放置在电路板的边缘,远离其他电路; 6、模块的接入电源建议使用磁珠进行隔离。 23 网址:邮箱:***************** 蓝牙模块MS50SFA1 15.包装信息 The direction of a tape drawer *(默认单位:mm 默认公差:±0.1) 包装详情 数量 规格 850PCS 净重 425g 毛重 885g 尺寸 W=330mm,T=50.4mm * 注:默认重量误差皆在10g以内(特别标注说明除外) 24 网址:邮箱:***************** 蓝牙模块MS50SFA1 16.认证信息 FCC ID编号:2ABU6-MS50SFA CE证书编号:BCTC-LH180501271N1C RoHS证书编号:BCTC-FYC180052061R EN50498 车规证书编号:BCTC-LH180702073C 17.质量保障 工厂通过了ISO9001质量体系认证。每一个产品都经过严格测试(发射功率测试、灵敏度测试、 功耗测试,稳定性测试、老化测试等)。 权利声明:本手册及其包含的所有内容为深圳云里物里科技股份有限公司所有,受中国法律及 适用之国际公约中有关著作权法律的保护。本公司有权根据技术发展的需要对本手册内容进行 更改,且更改版本不另行通知。未经本公司书面允许与授权,任何个人或公司、组织不得将本 手册内容进行改动或以其它方式使用本手册的部分或全部内容,违者将被依法追究责任。 免责声明:深圳云里物里科技股份有限公司对本手册中与实际产品相异之处保有最终解释权。 本公司不承担由于客户不正常操作造成的财产或者人身伤害责任,请客户按照手册中的技术规 格和参考设计开发相应的产品。 25 网址:邮箱:***************** 蓝牙模块MS50SFA1 附件:版本说明 版本 内容变更 变更人 变更时间 说明 1.0 规格书内容撰写 黄珊瑚2020.05.21 26 网址:邮箱:*****************