Jieli Bluetooth Smart Speaker Development: Common Issues with AC696N SoCs
During the development of Bluetooth smart speakers using Jieli's AC696N series SoCs, developers may encounter several common issues. This article summarizes these problems and provides corresponding solutions to help streamline the development process.
1. AC696N V1.7.0: Unable to Display SDK Version Number via Test Box When TWS is Enabled
Problem Description:
After enabling TWS (True Wireless Stereo) in AC696N V1.7.0 SDK, the test box cannot display the SDK version number.
Solution:
Register a new callback function to handle the SDK version information request.
// Re-register a callback function
bt_testbox_ex_info_get_handle_register(TESTBOX_INFO_SDK_VERSION, user_bt_get_sdk_ver_info);
// Callback function example:
u8 user_bt_get_sdk_ver_info(u8 len)
{
y_printf("Getting version number\n");
const char *p = sdk_version_info_get();
if (len) {
*len = strlen(p);
}
log_info("sdk_ver:%s %x\n", p, *len);
return (u8 *)p;
}After Modification:
The SDK version number will be correctly displayed by the test box (see Image below).
2. AC696N V1.7.0: Some Mobile Phones Unable to Connect After Enabling PINCODE Connection
Problem Description:
After enabling PINCODE (personal identification number) connection in AC696N V1.7.0, certain mobile phones cannot establish a connection.
Solution:
Modify the relevant code as shown in Image below.
3. AC696N V1.7.0: Frequency Shift Issue in Online Audio Effect Tuning
Scenario 1:
The customer enabled reverb and changed the sampling rate from 44.1K to 32K, causing a frequency shift issue.
Solution for AC696N:
1.Replace the library file and recompile.
Library file: “AC696N_1.7.0_eq采样率更新无效导致的频偏问题修正”
(If opening WAV format causes compilation failure, add the following code as shown in Image below)
2.Modify the following configuration in apps\soundbox\log_config\lib_media_config.c :
// Decoder output points per cycle, recommended range: 32 to 900.
// For example, 128 represents 128 pairs of points.
// If exceeding 128, the decoder needs to use malloc, e.g., config_wav_dec_use_malloc=1.
const int WAV_DECODER_PCM_POINTS = 128;
// When output exceeds 128, if not using malloc, increase the corresponding buffer.
// Refer to the decoder's required size in the print output; generally, each additional output point increases by 4 bytes.
int wav_mem_ext[(1336+3)/4] SEC(.wav_mem); // Increase this array size if exceeding 128.3.If the system asserts and crashes when playing WAV files from a USB drive after the above modifications, enable the following setting (see Image below):
const int config_wav_dec_use_malloc = 1;4. AC696N: External Flash Recording TCFG_NOR_REC Range Overflow Issue
Problem Description:
When using external flash for recording, the TCFG_NOR_REC configuration may cause a range overflow.
Solution:
Reduce the length by 8K as shown in Image below.
Summary
This article addressed four common issues encountered during AC696N SoC development:
1.TWS-enabled SDK version display problem
2.PINCODE connection compatibility issue
3.Frequency shift in online audio effect tuning
4.External flash recording range overflow
By applying these solutions, developers can resolve these issues efficiently and focus on other aspects of product development. Always ensure to test modifications thoroughly in your specific application context.
评论
发表评论