AC695N手表软硬件问题整理
AC695N手表软硬件问题整理
TOC \o "1-1" \h \u HYPERLINK \l _Toc316641388 1、V315垂直列表中的滚动文字布局外出现了叠影并乱码的情况 ---SCB 20220512 PAGEREF _Toc316641388 \h 3
HYPERLINK \l _Toc250476528 2、V315兼容1000个以上表盘的修改方法 ---SCB 20220512 PAGEREF _Toc250476528 \h 3
HYPERLINK \l _Toc2075625413 3、V315 FLASH功耗大的问题 ---SCB 20220512 PAGEREF _Toc2075625413 \h 3
HYPERLINK \l _Toc689284750 4、PR0、PR1作为普通IO输出以及作为控制DCDC的应用 ---SCB 20220512 PAGEREF _Toc689284750 \h 4
HYPERLINK \l _Toc1650879785 5、V315 开机待机状态电池电压值不对 ---SCB 20220512 PAGEREF _Toc1650879785 \h 5
HYPERLINK \l _Toc500573973 6、V315 开机屏幕闪烁处理 ---SCB 20220512 PAGEREF _Toc500573973 \h 7
HYPERLINK \l _Toc1735773691 7、MCPWM背光模块控制背光注意事项 ---SCB 20220512 PAGEREF _Toc1735773691 \h 8
HYPERLINK \l _Toc1379456983 8. 开启ANCS功能时,进行OTA升级后如果不操作手机系统设置中的取消配对,会出现频繁断连连接情况,取消后正常。----20220416 AQ PAGEREF _Toc1379456983 \h 9
1、V315垂直列表中的滚动文字布局外出现了叠影并乱码的情况 ---SCB 20220512
v315版本 列表范围外显示叠影花屏问题,为控件覆盖区域计算的问题需要更新ui.a库解决。
百度网盘(替换ui.a库并全编译)
链接:https://pan.baidu.com/s/192nPTa4WblvWm02fqqfjdw
提取码:fz43
2、V315兼容1000个以上表盘的修改方法 ---SCB 20220512
修改APP库。安卓端不限制表盘文件名的补丁、及测试APP下载链接:
链接:https://pan.baidu.com/s/1fg_5aOmPZP6K1QIMo-IxRg
提取码:8888
3、V315 FLASH功耗大的问题 ---SCB 20220512
①FLASH待机功耗偏大:
首先需要硬件测量确保是不是flash导致功耗大,测试方法将di口,接下拉电阻,功耗会下来。
若有上述情况,原因是一些厂商的flash在IO为高阻状态时,收到外部干扰,会触发生电平信号,导致flash的本身功耗加大。
这种情况下,需在spi.c的驱动上,将DI引脚PB8设置设置为下拉输入状态。

f(port == IO_PORTB_08){ gpio_set_pull_up(port,0); gpio_set_pull_down(port,1); //将DI引脚设为下拉输入,避免影响OTA升级。}else{ gpio_set_pull_up(port,0); gpio_set_pull_down(port,0);}
②VDDIO常供电,FLASH关机功耗大
同理需要硬件测量确保是不是flash导致的功耗大,测试方法关机下,将cs、di、do口,接下拉或上拉电阻,功耗会下来。
若有上述情况,关机保护flash的IO,将CS脚固定为高电平的状态(上拉输入),将DI、DO固定为低电平状态(下拉输入)。
4、PR0、PR1作为普通IO输出以及作为控制DCDC的应用 ---SCB 20220512
以下代码是PR1作为DCDC使能脚应用,注意rtc_port_pr_xx的第一个参数是0或1。若作为普通IO控制请参考 DCDC13_EN(u8 en) ,注意关机要维持IO状态。
①board_xxx.c末尾添加
#if 1 //PR1口控制DCDC使能,需要将TCFG_DCDC_PORT_SEL设为IO_PORT_PR_01
#include "asm/power/p33.h"
#define IO_PORTR_00 0
#define IO_PORTR_01 1
#if (TCFG_DCDC_PORT_SEL==IO_PORT_PR_01)
void DCDC13_EN(u8 en)
{
p33_tx_1byte(R3_OSL_CON, 0);
rtc_port_pr_die(IO_PORTR_01, 1);
rtc_port_pr_out(IO_PORTR_01, en);
rtc_port_pr_pu(IO_PORTR_01, 0);
rtc_port_pr_pd(IO_PORTR_01, 0);
}
#endif
#endif
②在board_set_soft_poweroff,添加关机维持IO状态。
#if (TCFG_DCDC_PORT_SEL==IO_PORT_PR_01)
#include "asm/power/p33.h"
#define OUT_LOW 0
#define OUT_HIGH 1
#define IO_PORTR_00 0
#define IO_PORTR_01 1
p33_tx_1byte(R3_OSL_CON, 0);
rtc_port_pr_die(IO_PORTR_01, 1);
rtc_port_pr_out(IO_PORTR_01, OUT_HIGH);
rtc_port_pr_pu(IO_PORTR_01, 0);
rtc_port_pr_pd(IO_PORTR_01, 0);
#endif
5、V315 开机待机状态电池电压值不对 ---SCB 20220512
问题原因:系统运行时,默认20s采集一次ADC电量,经过16次平均滤波后返回电压值;但一进入低功耗SLEEP状态后,ADC采集的硬件定时器会丢失大量的节拍,实测 4分钟才会采集一次VBAT电压,从而导致电压数据更新非常缓慢。(701已优化)
解决方法:
①优化采集间隔
在定时采样电池的ADC代码里,使用时间撮,来代替计数法定时,可以保证SLEEP状态下,也是同样的20s间隔采样一次。
adc_api.c\adc_scan()添加以下代码
#if 1 static u32 last_time=0; if(sys_timer_get_ms()-last_time>(VBG_VBAT_SCAN_CNT*2)){ printf("SLEEP下采样VBAT"); vbg_vbat_cnt = VBG_VBAT_SCAN_CNT; last_time = sys_timer_get_ms(); } #endif
INCLUDEPICTURE \d "C:\Users\Administrator\Documents\WXWork\1688850794107278\Cache\Image\2022-03\企业微信截图_16487177037747.png" * MERGEFORMATINET
②可适当减少 VBG_VBAT_SCAN_CNT。(默认20s采样1次,该值越小实时性越好) 
③根据需求调整滤波vbat_value_array_size的值。(该值越大电压显示滞后越大)
6、V315 开机屏幕闪烁处理 ---SCB 20220512
①替换这个__lcd_backlight_ctrl函数:
static int __lcd_backlight_ctrl(u8 on)
{
static u8 first_power_on = true;
if (on) {
on = get_backlight_brightness() & 0xff;
}
u8 first_bascklight_on=0;
if (first_power_on) {
backlight_status = true;
lcd_clear_screen(0x0000);
backlight_status = false;
//os_time_dly(6);
first_power_on = false;
first_bascklight_on = 1;
}
if (__this->BackLightCtrl) {
if (on) {
clock_add_set(LCD_UI_CLK);
if (__this->ExitSleep) {
__this->ExitSleep();
}
// static u8 first_bascklight_on = true;
if(first_bascklight_on){
// first_bascklight_on = false;
__this->BackLightCtrl(false);
} else {
__this->BackLightCtrl(on);
}
} else {
__this->BackLightCtrl(false);
if (__this->EnterSleep) {
__this->EnterSleep();
}
clock_remove_set(LCD_UI_CLK);
}
lcd_sleep_in = !!!on;
if(first_bascklight_on) {
first_bascklight_on = 0;
backlight_status = false;
} else {
backlight_status = on;
}
}
return 0;
}
①关机后维持背光低:

7、MCPWM背光模块控制背光注意事项 ---SCB 20220512
如若背光引脚没有接下拉电阻,只能使用MCPWM模块控制背光,需要添加开背光不进低功耗的流程,防止闪烁。MCPWM开背光时的功耗会比平常高3-4mA左右。测试屏幕可视的亮度变化在pwm区间0-20%比较明显合适。
MCPWM背光增加修改如下:
//2:使用MCPWM模块控制背光(低功耗不能输出)
#define TCFG_BACKLIGHT_PWM_MODE 2
1、在板级c文件的末尾添加以下代码,控制低进出低功耗的函数。
u8 can_enter_lp = 0; //置 1 可进睡眠, 置 0 不可进睡眠
static u8 custom_idle_query(void)
{
if(can_enter_lp){
return 1;
}else{
return 0;
}
}
REGISTER_LP_TARGET(custom_lp_target) = {
.name = "custom_lp",
.is_idle = custom_idle_query,
};
2、通过can_enter_lp变量控制,在开背光前,退出低功耗,关了背光之后,再次允许进入低功耗。
- 开启ANCS功能时,进行OTA升级后如果不操作手机系统设置中的取消配对,会出现频繁断连连接情况,取消后正常。----20220416 AQ
