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歌音响-调音标准流程
  • 无线话筒产测流程

951&961软件问题整理

📎 原始文档:https://www.kdocs.cn/l/co8bqB9U9r6v

951&961软件问题整理

TOC \o "1-1" \h \u  HYPERLINK \l "_Toc75541659" 1. 各功能评估(以ac95n_ac96n-release_V1.0.3和TWS AC961 Wireless Charger V2.2) 20200910 xin  PAGEREF _Toc75541659 \h 2
 HYPERLINK \l "_Toc75541660" 2. 芯片资源评估 xin_20200815  PAGEREF _Toc75541660 \h 2
 HYPERLINK \l "_Toc75541661" 3. 案子需求评估 xin_20200815  PAGEREF _Toc75541661 \h 3
 HYPERLINK \l "_Toc75541662" 4. 芯片选型 xin_20200815  PAGEREF _Toc75541662 \h 3
 HYPERLINK \l "_Toc75541663" 5. 软件开发平台 xin_20200815  PAGEREF _Toc75541663 \h 3
 HYPERLINK \l "_Toc75541664" 6. 软件开发方式 xin_20200815  PAGEREF _Toc75541664 \h 4
 HYPERLINK \l "_Toc75541665" 7. PCB设计 xin_20200815  PAGEREF _Toc75541665 \h 5
 HYPERLINK \l "_Toc75541666" 8. 烧录配置 xin_20200817  PAGEREF _Toc75541666 \h 5
 HYPERLINK \l "_Toc75541667" 9. 推灯方式 xin_20200817  PAGEREF _Toc75541667 \h 6
 HYPERLINK \l "_Toc75541668" 10. 波特率及时钟设置 xin_20200817  PAGEREF _Toc75541668 \h 7
 HYPERLINK \l "_Toc75541669" 11. 定时计数周期 xin_20200817  PAGEREF _Toc75541669 \h 7
 HYPERLINK \l "_Toc75541670" 12. AC961外挂无线充注意事项 20200910 xin  PAGEREF _Toc75541670 \h 8
 HYPERLINK \l "_Toc75541671" 13. AC951部分功能说明和注意事项 20210625 FSW  PAGEREF _Toc75541671 \h 9




  1. 各功能评估(以ac95n_ac96n-release_V1.0.3和TWS AC961 Wireless Charger V2.2) 20200910 xin
  • 霍尔(必须要带霍尔开关)
    默认SDK以霍尔来控制961的唤醒跟睡眠
    暂不支持不带霍尔的案子,需要改动的功能(支持耳机提起开机、自动激活充电、维持充电脚输出电压而导致的功耗问题等),待完善
  • 灯效(呼吸灯、跑马灯、控制间隔时间跟次数等功能)
    只要芯片资源够,灯效都能加,951和带内置无线充的961,凡是要改灯效,要外挂握手芯片,软件去掉握手功能,才有空间加灯效
  • 数码管(暂不支持)
    需要去掉充电功能,外挂充电IC,原理图需要大改,961只能做纯粹检测跟显示功能而已
  • NTC
    新版原理图已添加,代码需要打补丁,对于内置握手内置无线充的工程,是不够放ntc的补丁的,需要去掉内置握手功能
  • DUT
    可以单独做一个程序用于产线测试用,进DUT模式,实际出货的机子,肯定没空间加DUT功能的
  1. 芯片资源评估 xin_20200815 AC951和AC961的资源奇缺,ROM只有3K,RAM只有128B(注意是字节)

image

以工程f96_ppm_wpr.cbp举例:(不带串口加密通信的)
公版不开打印,编译后ROM剩余空间38B,每个指令占用2B,只够写19个指令,随便写个函数都不够

image

image

对于其他工程也是这种情况,ROM的资源几乎是没剩多少
image

RAM资源留给应用开发的,只能定义一个u8的变量,没有多余的了
3. 案子需求评估 xin_20200815 充电仓3大功能,Lightning 握手,无线充,串口通信,最多只能3选其2
*如果选了2大功能,那UI的功能,基本没有空间修改,否则要删掉公版的流程,自己写一套(只能汇编写,随便写个灯的流程,熟练的话,至少一周时间,很有可能是盲调,没法看打印的哦)。
*如果要修改UI,要修改led和key的话,建议只选1个功能,即只有串口通信,那握手和无线充就只能外挂芯片。

  • 至于外挂之后的整体成本,自行评估
  1. 芯片选型 xin_20200815 需要内置握手,优先选961,对于951的Lightning 握手兼容性差,无法处理(有些充电器会无法激活充电)
    需要内置无线充,只能选961。
    对于type-C接口,只需要串口通信,951和961都可
    不带串口通信,951和961都可

  2. 软件开发平台 xin_20200815 需要安装2个软件,请自行网上下载
    image

image

  1. 软件开发方式 xin_20200815 只能汇编开发方式,没有汇编基础的,请自行学习
    参考AC951_AC961_指令集介绍.pdf,阅读指令集功能,才能看懂SDK的代码流程
    ROM空闲的情况下,可以打开打印。
    仅限于一个字符的打印,是无法打印字符串的
    image

SDK可以打印变量的值,一般情况下是无法打开的,绝对爆空间,得先去掉一些功能
image

只能看这种打印,对代码的流程的
image

  1. PCB设计 xin_20200815 请严格按照公版原理图的IO定义进行设计,没有多余的代码空间去写映射的!!!!
    一定要优先考虑,把rom节省下来,留做UI的修改。切记切记!!

  2. 烧录配置 xin_20200817 AC951 、AC961是OTP芯片,只能烧录一次,代码空间很紧张,百分百没有重烧的机会
    烧录前请再三确认
    image

image

  1. 推灯方式 xin_20200817 SDK默认是全占空比的推灯方式,亮度靠外围电阻调节,共阴极接法
    PWM占空比修改: duty的占空比是反向设置,0xFF对应灭,0x00对应全亮
    image

极性修改:
image

灯的亮灭周期控制:3个灯是独立控制的,之间没有互闪、同时亮灭的效果
image

红灯默认是慢闪,每个灯的闪烁频率可创建宏,独立控制,但是没法动态修改,因为宏是固定的
想动态修改,除非ram够,可将宏改成变量定义,默认SDK是没有ram了

  1. 波特率及时钟设置 xin_20200817 芯片是省晶振方式,烧录器会校准芯片的时钟源,其他的时钟都是依赖烧录器的校准值去算的。
    开发板的芯片,如若打印乱码等,请用烧录器烧录之后再使用
    打印串口波特率默认115200,是固定的,没有修改的地方

  2. 定时计数周期 xin_20200817 SDK为了避免有乘除的操作,没法做整数倍的计数周期,都是2的倍数计数周期
    如:100ms -> 128ms; 300ms -> 256ms; 500ms -> 512ms
    image

关盖无充电,定时关机时间修改
image

240 * 512 == 122880 == 120s 约为2分钟,由于代码计数周期不是整数倍,加上执行效率较慢,会导致几分钟的计时,通常会出现几s的误差的。很难避免的

  1. AC961外挂无线充注意事项 20200910 xin AC961配合无线充使用时不能使用开关充电(单独外挂无线充芯片也不行),
    如果在“f96_ppm_enc.cbp”的工程上使用了外挂无线充芯片,那么必须将工程替换为线性充电! 修改方法是: 关闭工程配置中开关充电的宏,PMU库替换为线性充电的库使用!
    image

image

  1. AC951部分功能说明和注意事项 20210625 FSW
    (1) 代码启动流程:_start->_startup->main
    (2) IO口(以p06为例):
    #define p0_dir 0x92 //IO方向
    #define p0_out 0x93 //IO电平
    #define p0_pu 0x94 //IO上拉
    #define p0_pd 0x95 //IO下拉
    #define p0_hd 0x96 //IO强驱
    #define p0_die 0x97 //IO数字或模拟
    #define p0_in 0x98 //IO输入电平检测
    [p0_dir].6 = 0 //p06配置为输出
    [p0_dir].6 = 1 //p06配置为输入
    [p0_out].6 = 0 //p06配置为输出低
    [p0_out].6 = 1 //p06配置为输出高
    [p0_pu].6 = 0 //p06配置为上拉关闭
    [p0_pu].6 = 1 //p06配置为上拉打开
    [p0_pd].6 = 0 //p06配置为下拉关闭
    [p0_pd].6 = 1 //p06配置为下拉打开
    [p0_hd].6 = 0 //p06配置为强驱关闭
    [p0_hd].6 = 1 //p06配置为强驱打开
    [p0_die].6 = 0 //p06配置为模拟
    [p0_die].6 = 1 //p06配置为数字
    [p0_in].6 == 0 //判断p06输入电平是否为低
    [p0_in].6 == 1 //判断p06输入电平是否为高

(3) ad检测:
adc_read_phy(ch,ana_ch)
ch:根据实际IO选择对应的AD通道,ADC_CH_ANA表示要测量内部电源
#define ADC_CH_P01 0
#define ADC_CH_P03 1
#define ADC_CH_P05 2
#define ADC_CH_P06 3
#define ADC_CH_P13 4
#define ADC_CH_P14 5
#define ADC_CH_P15 6
#define ADC_CH_ANA 7
ana_ch:普通IO的AD通道直接填写0,测量内部电源通道根据要测量的电源选择,例如测量电池电压(Vbat脚)选择ANA_VBAT
#define ANA_VBG 0
#define ANA_VCC 1
#define ANA_VEB 2
#define ANA_Vsense_OUT1 3
#define ANA_Vsense_OUT0 4
#define ANA_LINE_PROGI 5
#define ANA_BUCK_PROGI 6
#define ANA_VBAT 7
采集到的结果为左对齐的0~1023,存放在TR0(H)和TR1(L)中

(4) PWM输出:(PWM输出的两种状态:高阻态和IO输出态,有效时为输出态)
初始化:
.global pwm_led_init
pwm_led_init:
[iomc3].7 = 1
w = D_PWM_PRD %% [pwm_prd] = w
[pwm_con0].5 = 1
[pwm_con0].4 = 0
[pwm_con0].3 = 1
[pwm_con0].2 = 0
[pwm_con0].1 = 0
[pwm_con0].0 = 1
寄存器说明:
[pwm_con0].7 ---PND
[pwm_con0].6 ---CLR_PND
[pwm_con0].5 ---SSEL PWM模块时钟源: 0-->wclk;1-->src_clk
[pwm_con0].4 ---PSET PWM模块时钟分频系数
[pwm_con0].3 ---PSET PWM模块时钟分频系数
[pwm_con0].2 ---PSET PWM模块时钟分频系数
[pwm_con0].1 ---PSET PWM模块时钟分频系数
[pwm_con0].0 ---EN
PWM模块时钟分频系数:[2:1]: 00-->div1 01-->div4 10-->div16 11-->div64
[3]: 0-->x1 1-->x2
[4]: 0-->x1 1-->x256
占空比:
w = duty %% call set_pwmx
duty为需要输出的占空比,set_pwmx可选为set_pwm0、set_pwm1、set_pwm2
duty的占空比是反向设置,0xFF对应0%,0x00对应100%
IO配置(以pwm0为例):
#define set_pwm0_io [p1_dir].3 = 0 %% [p1_out].3 = 1 //有效状态输出高,非有效高阻
#define set_pwm0_io [p1_dir].3 = 0 %% [p1_out].3 = 1 %% [p1_pd].3 = 1 //有效状态输出高,非有效为低电平(因为有下拉)
#define set_pwm0_io [p1_dir].3 = 0 %% [p1_out].3 = 0 //有效状态输出低,非有效高阻
#define set_pwm0_io [p1_dir].3 = 0 %% [p1_out].3 = 0 %% [p1_pu].3 = 1 //有效状态输出低,非有效为高电平(因为有上拉)

(5) 睡眠和唤醒:可参看芯片介绍的寄存器配置
睡眠:
注意:
1、睡眠前可能需要关闭一些IO(具体看外围),否则可能耗电
睡眠前需要关闭内部电源分压,否则会耗电
vcc_div_en = 0
vbat_div_en = 0
vout_div_en = 0
唤醒后需要重新打开(测量电源电压时需要)
vout_div_en = 1
vcc_div_en = 1
vbat_div_en = 1
2、如果需要用到P12脚(不使用内部充电时可用),需要将vout_discharge配置为0:vout_discharge = 0
唤醒:
两路普通IO口唤醒(IO可选任意普通IO,但要注意上电时p06不能是低电平)
#define io_wkup_rise(ch,port,n) \ //普通IO上升沿唤醒;例如p07:io_wkup_rise(ch0, p0, 7)
input_map(ch,port,n) %% \
bs port ## _pd,n %% \ //如有外部下拉,不要开内部下拉(bc port ## _pd,n)
bc port ## _pu,n %% \
bs port ## die,n %% \
wkup
##ch(0)

    \#define io_wkup_fall(ch,port,n)  \ //普通IO下降沿唤醒;例如p14:io_wkup_fall(ch1, p1, 4)  
            input_map(ch,port,n) %% \  
            bc port \#\# _pd,n  %% \  
            bs port \#\# _pu,n  %% \ //如有外部上拉,不要开内部上拉(bc port \#\# _pu,n)  
            bs port \#\# _die,n %% \  
            wkup_\#\#ch(1)  

    以上:ch:只有两个,ch0和ch1  

    两路固定IO唤醒,p10和p11(不使用内部充电时可用)  
    \#define voutx_wkup_set_rise(ch,n)  \  
        bs p1_dir,n  %% \  
        bs p1_pd,n  %% \ //如有外部下拉,不要开内部下拉(bc port \#\# _pd,n)  
        bc p1_pu,n  %% \  
        bs p1_die,n %% \  
        wkup_\#\#ch(0)  

    \#define voutx_wkup_set_fall(ch,n)  \  
        bs p1_dir,n  %% \  
        bc p1_pd,n  %% \  
        bs p1_pu,n  %% \//如有外部上拉,不要开内部上拉(bc port \#\# _pu,n)  
        bs p1_die,n %% \  
        wkup_\#\#ch(1)  

    p10 例:  
    wkup9_cpnd = 1  
    wkup9_vout0_sleep  
    wkup9_en = 1  
    voutx_wkup_set_rise(ch2, 0) //p10只能选ch2  

    p11 例:  
    wkup10_cpnd = 1  
    wkup10_vout1_sleep  
    wkup10_en = 1  
    voutx_wkup_set_rise(ch3, 1) //p11只能选ch3  

    注意:[wkup_flt]的低4位为4个ch的唤醒滤波使能(详见芯片介绍文档),没有开启唤醒功能的ch不能使能其对应的滤波使能,否则会耗电!  

    vcc唤醒(不使用内部充电时可用),两种唤醒方式:  
    1、比较唤醒,vcc接入电压大于电池电压唤醒  
    wkup6_cpnd = 1 %% wkup6_eie = 1 %% wkup6_sel1 = 1 %% wkup6_sel0 = 0  
    wkup6_inv = 0 //只能为0  
    2、跳变沿唤醒,出现指定的跳变沿时唤醒  
    wkup6_cpnd = 1 %% wkup6_eie = 1 %% wkup6_sel1 = 0 %% wkup6_sel0 = 1   
    wkup6_inv = 1 //下降沿唤醒  
    wkup6_inv = 0 //上升沿唤醒  

(6) vcc状态检测(不使用内部充电时可用):
初始化检测:
bs 0x8f, 6 //clr wtd
sfr_rd_sel2 = 0 //bc 0xfc, 7
sfr_rd_sel1 = 1 //bs 0xda, 7
sfr_rd_sel0 = 1 //bs 0xda, 6
两种检测判断方式:
第一种,判断电平:
if(vcc_det_pg3 == 1) skip //btbn 0xe4, 2, 判断vcc的电平是否为高电平
第二种,判断vcc是否比电池电压大:
if(vcc_vbat_comp_pg3 == 1) skip //btbn 0xe4, 3, 判断vcc是否比电池电压大
例:
.global vcc_detect_read
vcc_detect_read:
bs 0x8f, 6 //clr wtd
sfr_rd_sel2 = 0 //bc 0xfc, 7
sfr_rd_sel1 = 1 //bs 0xda, 7
sfr_rd_sel0 = 1 //bs 0xda, 6
if(vcc_det_pg3 == 1) skip //btbn 0xe4, 2, 判断vcc的电平是否为高电平
// if(vcc_vbat_comp_pg3 == 1) skip //btbn 0xe4, 3, 判断vcc是否比电池电压大
goto __vcc_detect_offline
__vcc_detect_online:
ret
__vcc_detect_offline:
ret
(7) 看门狗溢出时间修改:
[wdt_con]的低4位[3:0]time:溢出时间为 2^ time 毫秒

注意事项:
1、P06上电之前不能拉低,否则会不开机
2、配置唤醒功能,唤醒前的电平必须与唤醒后的相反,否则会耗电,也就是sleep之前是高电平,需要配置为下降沿唤醒(不能是上升沿唤醒),sleep之前是低电平,需要配置为上升沿唤醒(不能是下降沿唤醒)。
3、[wkup_flt]的低4位为4个ch的唤醒滤波使能(详见芯片介绍文档),没有开启唤醒功能的ch不能使能其对应的滤波使能,否则会耗电!
4、不用到的IO口,sleep之前建议配置为输入模拟关上下拉,否则可能耗电(例如输入数字关上下拉,会有几十ua的耗电)

Prev
AC701X耳机软件问题整理
Next
AC104X软件问题整理