Ping
GR551X的32M和32.768K晶振采用内置匹配电容方案,必须对32M晶振进行校准,才能开展BLE的RF性能测试评估,量产过程中是在SMT阶段采用原厂提供的量产工具进行晶体校准。
1. 晶体校准值范围:0~511,量产测试时把校准值存储在efuse中的0x12A起始位置,占用2Byte空间;
2. 软件读取efuse晶体校准参数参考代码如下:
A:实现efuse读取函数dfu_efuse_read,读取数据要求Word对齐:
#include "gr55xx_hal_efuse.h"
bool dfu_efuse_read(uint8_t word_offset, uint32_t *data, uint8_tsize_word)
{
efuse_handle_t EFUSEHandle={0};
hal_status_t status = HAL_OK;
memset(&EFUSEHandle,0,sizeof(efuse_handle_t));
EFUSEHandle.p_instance = EFUSE;
EFUSEHandle.init.info_mode =DISABLE;
hal_efuse_deinit(&EFUSEHandle);
__HAL_EFUSE_DISABLE_MAIN_BACKUP(&EFUSEHandle);
hal_efuse_init(&EFUSEHandle);
status = hal_efuse_read(&EFUSEHandle,word_offset, data, size_word);
if(HAL_OK ==status)
return true;
else
return false;
}
B:读取示例:
uint32_t buff[80] = {0};
dfu_efuse_read(0,buff,75);
uint32_t xo_offset = buff[74];
3. 通过过判断xo_offset是否为0,判断是否写入晶振校准值;
PS:如果xo_offset为0,可能无法判读是没有写入还是写入值为0,按照经验值,该校准值一般不为0。
Angelo
请问一下那怎么才能把校准值写入那个efuse的地址呢?是专门的量产工具?谢谢!
Ping
1. 使用我司提供的PLT/PLT Lite量产测试工具进行校准,测试通过后会自动把校准值写入efuse中;
相关工具板如下图所示,可以联系我司代理采购。
2. 可以通过我们提供的调试工具,把校准值写入efuse中;—可以通过邮箱提供,请提供接收邮箱;
Ping
打开微信,使用“扫一扫”即可关注