KDocs 研发资料库
  • 音频技术应用文档入口汇总
  • 杰理WINDOWS环境安装及其他事项
  • LINUX安装和编译
  • Linux环境编译SDK教程(ubuntu18.04)
  • 音频类补丁汇总表
  • 认证资料获取汇总(最新资料后台会更新)
  • 《Hi-Res申请指南v1.0》
  • FreeRTOS 开源协议版本
  • uCOS 开源协议版本信息
  • 各个模块关键资料汇总
  • 软件调试方法
  • Makefile编译
  • 提bug的规范
  • 常规设备使用指导
  • 对外特别发布开发注意点信息汇总
  • AD697X软件问题整理
  • AC700N软件问题整理
  • AC701X耳机软件问题整理
  • 951&961软件问题整理
  • AC104X软件问题整理
  • AC128N问题整理文档
  • 可视化工具调试问题整理
  • 耳机资料汇总
  • AC704N、 AC705N相关应用
  • AC695N&AC696N&AC608N音箱问题整理
  • JL701N音箱问题整理
  • AC692X软件问题整理
  • AC706N音箱问题整理
  • JL701N音箱问题整理(可视化工具SDK)
  • JL703N音箱问题整理
  • JL709N(JL689N)音箱问题整理
  • JL7094系列-入门到进阶开发指导
  • AC210N音箱问题整理
  • 无线麦系列版本支持指南
  • AW32N无线麦问题整理
  • lAD697X&JL701X 无线麦软件共性问题整理
  • AC706N无线麦问题整理
  • AW36N无线麦问题整理
  • AC710X无线麦问题整理
  • 唤醒源获取及唤醒IO设置
  • 电源
  • LVD
  • 长按复位配置方法
  • 低功耗应用
  • TIMER
  • UART
  • SPI
  • 内部FLASH空间添加用户自定义区域
  • IIC
  • GPIO
  • MCPWM
  • SD&U盘
  • 时钟&晶振
  • GPCNT
  • IO口crossbar映射功能
  • 文件系统使用总结
  • 复用应用
  • LINEIN_AUX相关应用
  • IIS音频接口应用
  • SPDIF模式相关(HDMI_ARC、光纤、同轴)
  • PDM LINK
  • 外设相关应用
  • 蓝牙相关
  • 杰理蓝牙距离调试文档
  • TWS耳机配对方式使用及生产把控指南
  • GFP谷歌快连及其认证流程指引
  • 蓝牙发射器(bt_emitter)相关
  • BLE应用
  • 关于提升BLE传输速率说明
  • BLE测试数据
  • MUSIC 模式相关应用
  • MIDI音乐实现
  • PC相关应用
  • FM相关应用
  • AC695N_AC696N FM天线ESD静电防护措施说明V2.0_20250107
  • fm应用详细设计说明书
  • 杰理FM硬件指南-20230315
  • ADC模块
  • AUDIO相关应用
  • 新Tools的音效调试使用
  • 混响应用使用说明
  • 音效调式
  • 音箱耳机低音小音量增强实现方法
  • DAC输出功率调试
  • DAC性能测试指南
  • 针对各类底噪、电流声分析流程
  • 录音相关应用
  • OPUS编解码相关
  • RTC相关应用
  • 升级相关
  • UI相关应用
  • 通话调试流程指南
  • 通话相关应用
  • 省电容mic使用手册
  • 如何测试验证手表通话系统的语音失真 V1.0
  • AC695X_AC696X_AD697X 常见通话问题处理参考资料
  • 通话调试问题确定步骤
  • 内置触摸调试指南
  • 低功耗内置触摸介绍V2.2
  • 触摸相关文档
  • AC697X、AC698X内置触摸调试及整改方法V1.0
  • 产测相关应用
  • AC63X BLE DUT测试介绍
  • 兆华序列使用简易说明
  • JL_1T2蓝牙测试盒音频文件更换说明
  • ENC相关应用入口汇总
  • ANC相关应用入口汇总
  • JL DMS通话调试手册-V3.9.4
  • ANC-ENC结构设计要点-20240407
  • 半入耳式ANC耳机器件选型与结构设计指南V1.0
  • JL 耳道自适应调试指南
  • ANC相关问题处理
  • ANC调试文档
  • 评估蓝牙耳机通话上行降噪性能的方法 V1.0 (2)
  • FCC 或者 BQB 认证相关应用
  • BQB profile 测试中常遇到的问题点汇总
  • 蓝牙参数整理20210811
  • 杰理科技认证问题参考
  • 无线音频产品开发指南
  • 无线麦系列从入门到进阶开发指导
  • 量产烧录相关说明
  • 一拖八烧录器远程过程调用说明
  • 量产相关建议
  • EffectTool(eq)调试工具说明文档
  • AC897AD697系列的EQ调试方法-V3
  • 杰理调音指南-20220622
  • 音效模块总结
  • 简要调音步骤指引(可视化)
  • 耳机充电与通信调试指南
  • 充电仓硬件调试指南
  • 充电仓软件问题整理
  • AC951常用说明
  • AC951_AC961_开发板使用说明V1.0
  • 彩屏仓AC982 入门指导及FAQ
  • 蓝牙音频APP相关应用
  • 手机APP的简介和开发流程
  • 蓝牙音频系列-硬件设计指南
  • 静电测试及整改方法-20220706
  • TWS耳机底噪整改指南V1.2
  • 杰理蓝牙距离调试文档
  • 蓝牙RF硬件设计与调试V1.1-20250219
  • AC695N_AC696N FM天线ESD静电防护措施说明V2.0_20241228
  • 音效调试指南
  • 无线话筒K歌音箱标准开发流程
  • 杰理科技 700N TWS耳机产品标准-202303
  • 杰理科技 701N 广播产品标准-202303
  • JL-HAT ANC高效产测自适应
  • 无线话筒测试板使用介绍
  • 一拖八频偏校准使用说明
  • 领夹麦产测工具使用介绍
  • Dongle量产测试说明
  • Dongle+Tws或头戴式 SDK通过工具绑定配对功能说明文档
  • 双麦ENC产测宏配置验证方法 V1.0
  • JL耳机方案麦克风声学测试指令_V1.0
  • JL耳机方案麦克风声学测试指令_V2.0
  • JL_ENC自动测试命令_V0.0.1
  • JL蓝牙测试盒用例说明
  • LDAC自测环境搭建_ubuntu
  • 延迟小板使用手册
  • 杰理库文件的制作及添加实现过程
  • 关于 AC635N&AC636N系列免晶振兼容性补丁 说明
  • 关于 AC63系列VM兼容性修复补丁_20250224 说明
  • 关于 AC632N &AE632N_ 蓝牙& 低功耗兼容性修复补丁 说明
  • AD698N和AC638N电压优化补丁V3说明
  • 关于 AC635N&AC636N漏电和E&G版兼容联合补丁 说明
  • AD698N和AC638N电压优化补丁V2说明
  • 702相关应用
  • 2024-4-30 发布歌词显示SDK开发注意事项
  • BQB RF & FCC 认证测试固件问题汇总及源码
  • BQB profile 测试中常遇到的问题点汇总
  • 进dut测试模式方法及固件
  • 704-频偏修改bin文件合集
  • 701手表BQB PROFILE认证注意事项
  • 认证的干扰规避整改
  • 海外CRA认证报告生成说明
  • JL700N可视化工具问题处理文档
  • JL701X可视化工具问题处理文档
  • JL701N_earphone_release_v1.6.0_ANC 低功耗问题补丁
  • JL708X可视化工具问题处理文档
  • JL709N可视化工具问题处理文档
  • JLstudio可视化工具使用说明
  • 一拖二-串口_蓝牙_app在线EQ、通话参数及调试方式和内置触摸调试
  • 可视化JL701M_DONGLE_SDK添加MIC为发射源
  • 可视化JL701M_DONGLE_SDK添加按键切换usb audio与MIC发射源
  • JL701M_DONGLE_SDK_1.0.0_dongle输入linein输出dac
  • 701可视化_a2dp_to_le_demo说明
  • 耳机系列demo汇总
  • JL7018F&JL7006F_7003F AUX IIS
  • 一键连接应用
  • 普通SDK动态开关一拖二功能
  • 蓝牙分析仪(EllisysBluetoothAnalyzer)抓包例程
  • TWS配对常见应用
  • APP自定义按键的demo
  • AC700N 播歌双EQ DEMO示例及说明
  • AC698V164 MIC与蓝牙音乐共同输出DAC demo
  • 添加第三方算法以及多算法授权流程
  • 空间音频配置方法
  • 普通高低电平TWS耳机控制通讯
  • 入耳检测状态更新demo解析
  • 资源优化(非可视化的SDK)
  • 资源优化(可视化SDK)
  • 翻译耳机、语音识别应用demo
  • 耳机抗干扰问题排查和优化
  • AC698D2 抗干扰优化
  • AC696X软件问题整理
  • AC695X软件问题整理
  • AC695X软件问题整理_1722249702
  • AC608X软件问题整理
  • JL701N_2T1_DUPLEX 应用软件问题汇总
  • le_audio_1.0.0_patch05 以及之前的版本IRkey 功能异常修改
  • AC706N-le_audio-200SDK有线_无线麦录音demo
  • jl701n_le_audio_v200patch02 IO串口升级修改串口单次发送字节长度的修改办法
  • 703创建IIS 输入dac输出音频流demo
  • 703将媒体流音频同时上传PC_mic录音demo实现
  • 703四路IIS输入输出demo
  • 底噪调试
  • AW328A烧录说明
  • 文档合集
  • AC706N_wireless_mic_release_PATCH_20240712 补丁 说明
  • AC706N_wireless_mic_release_PATCH_20240726 补丁 说明
  • AC706N_wireless_mic_release_V1.0.0、1.0.1、1.0.2 补丁 说明
  • AC706N_wireless_mic_release_V1.1.2 中的2T1应用 RX端不绑定配对,TX端实现绑定配对的修改方法
  • 各系列省晶振实现方法
  • iis tx rx说明文档
  • spdif信号
  • 蓝牙电话本
  • 安卓手机同步时间补丁
  • CDC配置
  • PC模式下增加Teams唤起功能
  • 杰理HDMIARC开发实现过程
  • AC701N patch06之前的版本用第三方算法节点实现新版本的pcm delay节点功能
  • (K歌音箱)各SDK音效配置相关说明
  • 长文件录音
  • 点阵屏歌词字库相关(蓝牙歌词,普通歌词)
  • 字模提取工具说明
  • 音箱可视化彩屏-入门到进阶开发指导
  • 彩屏LVGL UI设计及工具使用
  • 使用内部UI框架进行UI调试的系列步骤
  • AD101C使用强制升级工具spi 烧录不了问题处理(测试版本)
  • AD161扩展灯板说明文档
  • 歌词显示器开发注意项
  • 使用硬件数字增益控制通话下行音量(可视化)
  • 杰理小牛产测资料
  • ENC配置说明
  • 通话调试流程指引
  • ANC相关功能demo
  • 无线麦硬件资料汇总
  • 无线麦相关应用
  • 无线麦复杂功能补丁包汇总
  • 无线话筒形态SDK程序&开发经验&问题点分享
  • 双模式结合应用问题汇总
  • 无线麦距离优化案例
  • 无线麦系列中的双工形态(duplex)演变开发对讲机方案开发资料
  • 音箱入门到进阶指导文档(编写中)
  • 蓝牙耳机品控和生产技巧
  • 982过_欠压标志获取异常
  • 如何获取最新涂鸦SDK及库文件
  • 无线话筒K歌音响-调音标准流程
  • 无线话筒产测流程

SD&U盘

📎 原始文档:https://www.kdocs.cn/l/cviQAlM2VU0i SD&U盘

MMC卡:MultiMediaCard,多媒体存储卡
SD卡:Secure Digital Memory Card
常用区分方式1:大卡
image 常用区分方式1:小卡
小的mmc卡有类似和SD卡外观形状一致的。需要仔细对比:

  1. 正常SD卡比MMC卡厚了0.7mm,外表几乎一样,但是放在一起,用手摸一下能看到厚薄的差别。

  2. mmc卡和sd卡的 cmd检测命令不一致。所以如果程序配置SD卡检测方式为cmd检测,会出现无法兼容mmc卡的情况。 image

  3. 所以需要兼容SD卡和mmc卡,SD卡检测方式应选为clk或IO检测。并做以下修改: image

  4. SD相关应用

  5. SD卡应用相关配置 image

  6. 三种检测方式 image

  7. 流程 检测到卡插入或拔出-->触发相应的公共设备事件处理-->解码设备上下线,设备挂载等处理-->设备扫盘

  8. 卡活跃状态的使能与否

杰理默认读卡流程如下:

  • 读卡数据完毕后,发送CMD0命令将SD卡复位到Idle状态。(SD卡上电或者复位后,会进入idle低功耗状态)
  • 在idle状态下省电,每当需要读取数据时,执行一次初始化流程再进行读取。(但该初始化过程的瞬态功耗很高,可能会导致扯电下线) image 使能卡活跃状态后,流程如下:
  • 该状态下,读取完数据后不会让卡进入idle状态,卡的全程耗电是稳定的。但整体功耗会比idle高 image

另外,SDK 设计在 播高码率歌的 时候, 会动态将卡的操作模式 设为 卡活跃模式。 而 播 低码率的歌 时,会切回 非卡活跃 模式,省电。
通过配置提高sd卡解码读文件缓存的大小,可以优化播放高码率文件有卡顿的情况(在非卡活跃模式下,可减少瞬态扯电的频次,但作用不大)

注意:VBAT>IOVDD>SDPG,当发生扯电或者播放中sd卡下线时,须确认SDPG、VBAT的电压波形。VBAT作为源头,要保持稳定

  1. 如何使能MMC卡功能 如果需要支持市场上这种MMC卡程序上需要做以下配置
  2. 程序上打开MMC卡的配置 SDK\apps\soundbox\log_config\lib_driver_config.c
const int sdx_can_operate_mmc_card = 1;
  1. SD卡的检测改为CLK或者IO检测。不能使用CMD检测 image

  2. U盘不读问题处理方法

  3. 先检查U盘文件系统是否是支持的文件系统。 默认支持 FAT12,FAT16,FAT32,exFAT
    不支持:NTFS
    不支持:苹果文件系统

  4. 常见U盘不读处理方法 以下所有方法只在ac608n_soundbox_sdk_v1.2.1和ac696n_soundbox_sdk_v1.3.0
    ,ac696n_soundbox_sdk_v1.2.3验证过。旧版本的可以参照一下。

对于608n省晶振系列和696系列:
有些U盘反应较慢,host过了超时时间会认为U盘没有回应导致不读取U盘,挂载不成功
3. 在程序上开启log打印。 image 观察打印有没有出现这个打印
image 若有可以修改
image 第1点没有改善可以看第2点。
2.在apps\common\usb\usb_common_def.h文件中修改
image 超时时间,复位持续时间,尝试次数加长,以等待slve回应,。
4. 程序若使能了PC模式,则USB OTG 会第一时间以host端发送数据,若从机没有回应会认为此时应该担任slave的角色。有些U盘会插入后发送信息会较慢,导致USB OTG 认为插入的是主机,从而切换到从机模式,导致U盘不读。 image

  1. 检查下inquery的延时是否正确 apps\common\usb\host\usb_storage.c 文件中的int usb_stor_init(struct device *device),右图为正确修改
    image

  2. 对于6965e使用的是USB和SD卡复用引脚,可以尝试一下改法: image 【6.1-6965E使能U盘和SD卡复用时,如果遇到U盘不读挂载不上的问题时可以参考以下文档中的修改方法】
    【金山文档】 6965E-SD卡和USB的DM脚复用的问题修改
    6965E-SD卡和USB的DM脚复用的问题修改.otl

608N省晶振系列:
608系列可以参照第1点、第2点、第3点。若以上第1点和第2点没能改善,尝试下面的方法。
修改usb_host.c文件
imageimage 注意:608N省晶振系列对于东芝U盘(Toshiba),采用以上办法后,仍然有概率不能挂载成功,这个问题暂时没有办法解决。

  1. U盘和卡复用相关 (SD、USB复用IO介绍请查找对应sdk介绍文档)
  2. U盘和卡复用后,默认SDK是不支持卡用CMD检测的(建议使用CLK检测)。若生产出现卡座出问题,无法使用CLK检测。一定要改成CMD检测,需要按以下修改,并多做测试:(以下是AC696X 案例)

image

image

image 6. USB DM接地/DM&DP短接检测(假U盘) 注意:SD&USB复用的方案,由于DM跟SD的dat是同一个IO。不能使用DM&DP短接的方式。否则会导致SD卡不正常
使用方法:sys_timer_add(NULL,fake_udisk_scan,100);
观察打印:三个状态对应的打印
DP接地/DM&DP短接: y_printf("fake udisk online 2\n");
拨出: y_printf("fake udisk offline\n");

//使用方法:sys_timer_add(NULL,fake_udisk_scan,100);
#include "usb/device/usb_stack.h"
void fake_udisk_scan(void *ptr)
{
    static u16 online_cnt = 0;
    static u16 outline_cnt = 0;
    //static u16 fake_udisk_online = 0;

    u32 otg = usb_otg_online(0);

    //仅通过判断otg状态进行判断
    printf("otg %x\n",otg);
    extern int get_sd_status(void);
    get_sd_status();

    if((otg != HOST_MODE) && (otg != SLAVE_MODE)) {
        //通过检测DP下拉,判断是不是假U盘
        u32 usb_con0, usb_io_con0;
        usb_con0 = JL_USB->CON0;
        usb_io_con0 = JL_USB_IO->CON0;

        //单纯 DP接地
        gpio_direction_input(IO_PORT_DP);
        gpio_set_die(IO_PORT_DP, 1);
        gpio_set_pull_up(IO_PORT_DP, 1);
        gpio_set_pull_down(IO_PORT_DP, 0);


        gpio_direction_output(IO_PORT_DM,0);
        gpio_set_die(IO_PORT_DM, 1);

        printf("1 IO_PORT_DP DM %x %x\n",gpio_read(IO_PORT_DP),gpio_read(IO_PORT_DM));
        if(gpio_read(IO_PORT_DP)==0){
            online_cnt++;
            if(online_cnt == 5) {
                if(fake_udisk_online == 0) {
                    fake_udisk_online = 1;
                    app_task_switch_to(APP_USER_TASK);
                    y_printf("fake udisk online 2\n");
                }
            }
            gpio_set_pull_up(IO_PORT_DP, 0);
            //!!!这里直接返回
            JL_USB->CON0 = usb_con0;
            JL_USB_IO->CON0 = usb_io_con0;
            return;
        }

        gpio_set_pull_up(IO_PORT_DP, 0);
        JL_USB->CON0 = usb_con0;
        JL_USB_IO->CON0 = usb_io_con0;

        // printf("JL_USB->CON0 %x %x %x\n",JL_USB->CON0,JL_USB->CON0 & BIT(9),JL_USB->CON0 & BIT(15));
        // if(JL_USB->CON0 & BIT(9) && (JL_USB->CON0 & BIT(15)) == 0) {
        //     online_cnt++;
        //     if(online_cnt == 5) {
        //         if(fake_udisk_online == 0) {
        //             fake_udisk_online = 1;
        //             y_printf("fake udisk online2\n");
        //         }
        //     }
        //     //!!!这里直接返回
        //     return;
        // }
    }
    if(fake_udisk_online) {
        fake_udisk_online = 0;
        y_printf("fake udisk offline\n");
        // app_task_msg_post(USER_MSG_BT_TASK_MODE, 0);
        app_task_switch_to(APP_BT_TASK);
    }

    online_cnt = 0;
}
  1. 有某张TF卡不读,但其他的TF卡能读 排查思路:
    1、软件开打印看一下log
    2、排查一下TF卡的供电,用外置3.3V给卡供电是否正常;
    3、插卡瞬间,VDDIO的电压是否有被拉低;
    4、测试一下,OK卡和NG卡的瞬态工作电流,测试方法如下图:在TF电源串一个小电阻(例如2.7R),然后用示波器挂在电阻两端,测试电阻两端的瞬态压差,然后根据欧姆定律,转换为瞬态电流。
    image 注意:不同品牌、不同速度等级、不同存储容量的TF卡,工作电流和额定工作电压是不一样的
    电流大小:低速卡<高速卡<超高速卡, 小容量<大容量;

示例AC7018F-TF卡测试数据-20240903.xls
image

8、大音箱中,TF卡副板与音箱主板排线过长,导致不读卡

答:1、这类大音箱,一般是使用220V电源板或高压电源供电,电源辐射较强。主副板排线过长容易引入辐射干扰,影响TF卡通信。需要在TF卡副板端的CMD、CLK、DAT这3根数据线上各串一个磁珠(1K@100M)来吸收高频干扰。
2、用示波器测试TF卡插入瞬间,VCC电压是否被拉扯过低(不要低于3V ),若是被拉扯过低,则加大TF卡座电源脚的滤波电容,最大可加到226。
image

本文档包含以下子页面

  • 6965E-SD卡和USB的DM脚复用的问题修改
  • 示例AC7018F-TF卡测试数据-20240903
Prev
MCPWM
Next
时钟&晶振