锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

BC66F3652研发笔记

时间:2022-10-24 07:30:00 电感19nh5t电感多少nhbc103电容4d22功率电感器

BC66F3652研发笔记

  • 一、产品简介
    • 1. 产品主要参数
    • 2. 芯片周边特性
      • MCU特性
      • RF收发器特性
    • 3. 芯片结构
    • 4. 单点唤醒详解
    • 5. 多功能IO口介绍
    • 6. PLL外部电感
  • 二、设置各种参数
    • 1. 存储器介绍
    • 2. 输出功率设置
    • 3. 频率设置
    • 4. 数据速率设置
    • 5. 设置频率偏移
    • 6. 数据包格式设置
    • 7. 晶振负载C~L~设置

一、产品简介

  • E330-915T13S是基于BC66F小体积、低功耗、低成本的3652超高性价比FSK串口模块,收发一体,覆盖9000.125 MHz ~ 932.125 MHz频段。
  • 模块支持透传、定点传输模式,支持LDC单点唤醒,软件多级空速可调,多级功率可调,可适用于各种无线传输应用。同时,模块简单易用,无需复杂配置即可快速启动,真正即时使用。
  • 下载官方数据手册:BC66F3652数据手册
  • 下载官方数据手册:BC3602数据手册

1. 产品主要参数

主要参数 最小值 默认值 最大值
供电范围 3 V 3.3 / 5 V 5 V
频段范围 900.125MHz 915.125MHz 932.125MHz
发射功率 4 dBm 13 dBm 13 dBm
空中速率 2K 2K 25K
波特率 1.2K 9.6K 38.4K
封包长度 - 58字节 -
发射电流 - 30 mA -
接收电流 - 7mA -
WOR电流 - 7 μA -
休眠电流 - 2 μA -
最大距离 - 1.2 KM -

2. 芯片周边特性

MCU特性

● 系统时钟:
? Fsys = 8MHz : 1.9V~3.6V
? Fsys = 12MHz:2.7V~3.6V
? Fsys = 16MHz:3.3V~3.6V
● Flash 程序存储器:8K×16
● 数据存储器:512×8
True EEPROM 存储器:128×8
看门狗定时器功能
● 支持在线应用编程 – IAP
22 个双向 I/O 口
两个与 I/O 口腔共用外部中断引脚
● 可编程 I/O 口源电流可用于LED 驱动应用
● 时间测量、输出匹配、多个定时器模块PWM 输出和单脉冲输出
● 串行接口模块 – SIM,用于 SPI 或 I2C 通信
全双工通用异步收发器接口 – UART
● 软件控制 18 个 SCOM/SSEG 口和 4 个 SSEG 口的 1/3bias LCD 驱动
● 可编程内部参考电压 VR 的 12 个外部通道 12-bit 分辨率 A/D 转换器
● 比较器功能
产生固定时间中断信号的双时基功能
低压复位功能
● 低压检测功能
封装类型:46-pin QFN

RF收发器特性

● 频率带宽:315/433/470/868/915MHz
● FSK/GFSK 调制
● 支持 3 线或 4 线 SPI 接口
输入电压范围宽:1.9V~3.6V
可编程数据速率:2Kbps~250Kbps
可编程 TX 输出功率:高达 13dBm
● 低电流损耗
? Deep Sleep 模式电流 0.4μA,支持数据保存
? RX 电流损耗 ( AGC 开启 & 低数据速率 ) @ 868.3MHz:5.5mA
? TX 电流损耗 @ 868.3 MHz: 24mA @ 10dBm POUT
RX高灵敏度-118dBm @ 2Kbps 无线数据速率 (868.3MHz)
● 片上 VCO 带内置电路
滤波器的小数 N 分频合成器
支持低成本 16MHz 晶体振动,内置负载电容
● 可编程数字通道滤波器在各种数据速率条件下实现更好的性能
● AGC ( 自动增益控制 ) 功能实现宽输入范围,高达 10dBm
● AFC ( 自动频率补偿 ) 该功能用于补偿晶振老化引起的频漂
片上低功率 RC 振荡器用于 WOR ( 从 RX 唤醒 ) 和 WOT ( 从TX 唤醒 ) 功能
● 物理 TX/RX FIFO 缓冲器:TX 64 字节,RX 64 字节
Simple FIFO/Block FIFO/Extend FIFO ( 高达 255 字节 )/Infinite FIFO 模式
● 可编程载波检测阈值
● FIFO 模式和Direct 模型支持帧同步识别
● 数据包处理
● ATR ( 自动发送 / 接收 )
数据包过滤

3. 芯片结构

  • BC66F3652是一块CHIP IC,内部由HT66F3185和BC3602组成,其IC如图所示:

IC内部绑线图

  • 由上图可见,PA1 与 IRQ 也连接过,所以 PA1 中断输入上拉需要设置。

4. 单点唤醒详解

  • E330-915T13S使用的数据封包为:
    前导码 Preamble(1) 同步字 SYNC (4) 动态长度 PLEN(1) 数据 DATA(64)

  • 不同于其他传统模块,E330-915T13S使用特殊模块的模块WOR唤醒方式:
    传统模块在WOR前导码将在模式下发射很长时间,这将导致所有接收模块在一定范围内被唤醒,整个系统之间的功耗将相对较高。

  • li>

    E330-915T13S的单点唤醒则不同(硬件WOR):
    其采用短前导码(1)+ 同步字(4)+ 0x00 的格式(空封包),其中 同步字(4)= 短前导码(2)+ 模块地址(2)
    当接收到同步字不同时(即模块地址不同),接收方会立即进入IDEL模式不再接收后续的DATA,从而达到省电的效果。

5. 多功能IO口介绍

  • BC3602 上搭载了2个多功能IO口,可以配置位于公共区控制寄存器的 IO2 以得到所需的功能:
    例如:
  1. 将BC3602配置为 Direct模式 并将GPIO3/4设置为RXD,可以使用 信号发生器 进行BER的测量。
  2. 将GPIO3/4配置为TBCLK / RBCLK / LIRCCLK,可以对外部晶振的频偏进行测量。
  3. 将GPIO3/4配置为 EPA_EN / ELAN_EN 可以判断BC3602当前处于TX或者RX模式。
  • Bit 7~4 GIO4S[3:0]:GIO4 引脚功能选择 ( 仅通过 POR 复位 )
	0000/0111/1111:无功能,输入
	0001:SDO,4 线 SPI 数据,输出
	0010:TRXD,Direct 模式 TXD/RXD,输入 / 输出
	0011:TXD,Direct 模式 TXD,输入
	0100:RXD,Direct 模式 RXD,输出
	0101:IRQ,中断请求,输出
	0110:ROSCi,ATR 时钟外部输入
	1000:TBCLK,TX 位 ( 数据 ) 时钟,输出
	1001:RBCLK,RX 位 ( 还原 ) 时钟,输出
	1010:FSYCK,即 XCLK 1/1,1/2,1/4,1/8 输出
	1011:LIRCCLK,内部 LIRC 去抖时钟,输出
	1100:EPA_EN,外部功率放大器使能,输出
	1101:ELAN_EN,外部 LNA 使能,输出
	1110:TRBCLK,TX 模式的 TBCLK 或 RX 模式的 RBCLK,输出
  • Bit 3~0 GIO3S[3:0]:GIO3 引脚功能选择 ( 仅通过 POR 复位 )
   0000/0111/1111:无功能,输入
   0001:SDO,4 线 SPI 数据,输出
   0010:TRXD,Direct 模式 TXD/RXD,输入 / 输出
   0011:TXD,Direct 模式 TXD,输入
   0100:RXD,Direct 模式 RXD,输出
   0101:IRQ,中断请求,输出
   0110:ROSCi,ATR 时钟外部输入
   1000:TBCLK,TX 位 ( 数据 ) 时钟,输出
   1001:RBCLK,RX 位 ( 还原 ) 时钟,输出
   1010:FSYCK,即 XCLK 1/1,1/2,1/4,1/8 输出
   1011:LIRCCLK,内部 LIRC 去抖时钟,输出
   1100:EPA_EN,外部功率放大器 (PA) 使能,输出
   1101:ELAN_EN,外部 LNA 使能,输出
   1110:TRBCLK,TX 模式的 TBCLK 或 RX 模式的 RBCLK,输出

6. PLL外部电感

  • BC3602 相环的电感并未集成到IC内部,而是采用了外部电感的方式,所以客户在硬件设计时需要去自行将外部电感调整到合适的电感值:
  • PLL的外部电感 在 BC66F3652 的 EXTLN 和 EXTLP 之间(即 PIN11 ~ PIN12 之间),如下所示。
  • 除此之外,官方还隐藏了许多寄存器,下图的 VCO Control Register 2寄存器 位于BANK 2的 2CH
Name Addr R/W B7 B6 B5 ~ B1 B0
VC2 2CH RW DFCSF VCO_DFC [4:0] DFC_OW
Reset 0 0 1 0 0 0 0 0
  • DFC_OW:
    0: VCO_DFC set by channel selection.
    (0:通过通道选择设置VCO_DFC)
    1: overwrite VCO_DFC by TWIF.
    (1:用TWIF覆盖VCO_DFC)
  • VCO_DFC [4:0]: VCO DFC curve trim value.
    (VCO DFC曲线微调值)
- 通过上述寄存器可知:
 1. VCO_DFC最大为 31,故需要将 中心频点 的外部电感值调整到靠近 16 ,为其两边的频点保留一定的裕量。
 2. 若 VCO_DFC 超过最大值或为零,PLL将无法锁定特定频率,输出的RF波形将会异常。
 3. 外部电感附近尽量不要有其他器件,否则波形会被其他器件干扰,导致输出的RF波形会出现尖刺。
读取DFC参考程序:
	BC3602_RegisterBank(BC3602_BANK2);		//切换为BANK2
	VC2 = BC3602_ReadRegister(0x2C);		//读取VC2的寄存器值
	BC3602_RegisterBank(BC3602_BANK0);		//重新回到BANK0
	UART_Send(VC2);							//将读取到的寄存器值输出到串口

二、各项参数设置

1. 存储器介绍

  • 公用区:包含 32 字节空间。无论存储区指针为何值,访问地址 00h~1Fh 都意
    味着访问公用区。
  • Bank 0~2:每个 Bank 包含 32 字节空间。通过存储区指针选择 Bank。
    存储区指针,即 BANK[1:0],定义在公用区,可通过设置寄存器存储区命令直
    接设置,且可通过控制寄存器命令进行读 / 写。

2. 输出功率设置

  • TX2 寄存器位于 BANK 0 的 3FH
  • CT_PAD[3:0]:
    输出功率等级,设置为 0x0F 则输出最大功率(13 dBm)

3. 频率设置

  • OM 寄存器位于 BANK 0 的 20H
  • 设置频段范围:
    BAND_SEL[6:5]:
    00:315MHz 频段
    01:433MHz 频段
    10:470~510MHz 频段
    11:868/915MHz 频段
  • 设置完频段范围后,还需要调整PLL的外部电感值
  • 不同的 PCB 需要根据 VCO_DFC 值来判断是外部电感值是否合理
  • 不同的元器件电感值也会存在差异
  • 参考外部电感值:
    315MHz 频段:33nH
    433MHz 频段:15nH
    470~510MHz频段:13nH
    868/915MHz 频段:2.0nH
    Note:VCO_DFC 应尽量使靠近中间,避免 VCO_DFC 受 温度 或者 频率范围过大 导致无法锁住特定频率。
  • 设置频率:
  • SX1、SX2、SX3、SX4位于 BANK 0 的 22H ~25H
  • 频率由SX1、SX2、SX3、SX4四个寄存器共同来控制
    - 频率计算公式:
    D_N[6:0] = floor { fRF / [ fXTAL / ( XODIV2 + 1) ] }
    其中fXTAL = 16 MHz(外部晶振频率),fRF为设定频率
    D_K[19:0]=floor { ( fRF / [ fXTAL / (XODIV2 + 1) ] - D_N[6:0]) × 220}
例如:
默认 XO = 16 MHz 且 RF 频段 = 433.92 MHz: 
→ 433.92MHz / 16MHz = 27.12
→ D_N = 27
→ Dec2Hex(27) = 1B
→ Dec2Bin(27) = 001_1011

→ D_K=0.12×2^20 = 125829
→ Dec2Hex(125829) = 1EB85
→ Dec2Bin(125829) = 0001_1110_1011_1000_0101

∴SX1 = 0x1B,SX2 = 0x1E,SX3 = 0xB8,SX4 = 0x05

4. 数据速率设置

  • 数据速率设置:
  • MOD1 、MOD2 位于Common BANK 的 14H 和 15H
  • 速率由 MOD1、MOD2 两个寄存器控制
  • 计算公式:
  • RXIFOS[11:0] = floor { fIF / [ fXTAL / ( XODIV2 + 1 ) ] × 217 },XODIV2 = 0
    其中 fIF = 数据速率;fXTAL= 16 MHz (外部晶振)
  • 数据速率 = fXTAL/ [(XODIV2+1)×32×(DTR[8:0] +1)],
    →DTR[8:0] = ( fXTAL / 数据速率 -1 ) / 32

数据速率 MOD2 & MOD1的参考设定值:

数据速率 频率偏移 MOD2 & MOD1
2K 8K 60 F9 H
5K 20K 60 63 H
10K 40K 60 31 H
25K 50K 60 13 H
50K 18.75K 60 09 H
125K 46.875K 90 03 H
250K 93.75K 90 01 H

5. 频率偏移设置

  • 频率偏移设置:
    频率偏移由FCF2、FCF3两个寄存器控制
  • 计算公式:
    • FSCALE[11:0] = round { h × fS / [ fXTAL / ( XODIV2 + 1 ) ] × 215 },
      且 h = ( 2 × 频率偏移 ) / ( 数据速率 );
      → FSCALE[11:0] = round { h × 2 / [ fXTAL / ( XODIV2 + 1 ) ] × 215 },
    • 其中 fs = 数据速率;fXTAL = 16 MHz (外部晶振)

频率偏移 FCF3 & FCF2 的参考设定值:

数据速率 频率偏移 FCF3 & FCF2
2K 8K 00 21 H
5K 20K 00 52 H
10K 40K 00 A4 H
25K 50K 00 CD H
50K 18.75K 00 4D H
125K 46.875K 01 19 H
250K 93.75K 02 94 H

6. 数据包格式设置

  • 数据包格式由 PKT1 ~ PKT9 控制

  • PKT1 ~ PKT9 位于 Common BANK 的 0B H ~ 13 H

  • TXPMLEN[7:0]:TX 前导码长度
    发送前导码长度 = (TXPMLEN[7:0]+1) 字节

  • RXPMLEN[1:0]:RX 前导码检测长度选择
    00:0 字节 – 无前导码检测
    01:1 字节
    10:2 字节
    11:4 字节

  • SYNCLEN[1:0]:TX/RX 模式同步码长度选择
    00:保留 ( 2 字节 )
    01:4 字节
    10:6 字节
    11:8 字节

  • TRAILER_EN:连接码字段使能(复位默认使能)
    0:除能
    1:使能

  • PLH_EN:有效载荷头码域使能
    0:除能
    1:使能

  • PLLEN_EN:有效载荷长度域使能(动态长度)
    0:除能
    1:使能

  • CRC_EN:CRC 域使能
    0:除能
    1:使能

  • TXDLEN[7:0]:
    TX 数据长度 ( 单位:字节;仅用于 Burst 模式 )

  • RXDLEN[7:0]:RX 数据长度 ( 单位:字节;仅用于 Burst 模式 )
    当 PLLEN_EN 位清零时,接收的数据长度取决于此字段。
    当此寄存器被读取时,所读出的数值表示 RX FIFO 中的数据长度。
    此寄存器被读取出的默认值是 00 H。

7. 晶振负载CL设置

  • XO1位于 BANK0 的 3EH
  • XO_TRIM[4:0]:XO 负载电容微调
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章