Firefly开源社区

标题: rk3308b,烧录官网固件,系统进入休眠,后语音不能唤醒 [打印本页]

作者: 老干部    时间: 2020-5-9 18:27
标题: rk3308b,烧录官网固件,系统进入休眠,后语音不能唤醒
[img]按照下面的命令操作后,系统是正常进入睡眠了,但是不能通过语音进行唤醒
amixer cset name='vad switch' 1
arecord -c 4 -r 16000 -f S16_LE -t raw -d 1 --period-size=1024 --buffer-size=102400 /tmp/test.pcm
echo mem > /sys/power/state

#这之后系统进入休眠,可以对 mic 发出任意声音唤醒系统

微信图片_20200509182652.jpg (234.05 KB, 下载次数: 1302)

微信图片_20200509182652.jpg

作者: firefly_zhongw    时间: 2020-5-11 09:15
本帖最后由 firefly_zhongw 于 2020-5-11 09:19 编辑

模拟mic或者耳机的mic录音能不能录到声音,录不到声音,参考此帖子http://dev.t-firefly.com/thread-101774-1-1.html
作者: 老干部    时间: 2020-5-12 09:13
firefly_zhongw 发表于 2020-5-11 09:15
模拟mic或者耳机的mic录音能不能录到声音,录不到声音,参考此帖子http://dev.t-firefly.com/thread-101774 ...

耳机的mic,是可以录音的。这个我试过,才输入命令进入休眠,但是进入休眠后,就怎么也唤不醒了。
作者: firefly_zhongw    时间: 2020-5-12 14:16
本帖最后由 firefly_zhongw 于 2020-5-14 11:04 编辑

1. 更新最新的SDK
2. 检查所使用的dts
  1. &vad {
  2.     status = "okay";
  3.     rockchip,audio-src = <&i2s_8ch_2>;
  4.     rockchip,det-channel = <3>;
  5.     rockchip,mode = <1>;
  6.     rockchip,buffer-time-ms = <200>;
  7.     #sound-dai-cells = <0>;
  8. };
复制代码

作者: 老干部    时间: 2020-5-12 17:15
firefly_zhongw 发表于 2020-5-12 14:16
1. 更新最新的SDK
2. 检查所使用的dts



作者: 老干部    时间: 2020-5-12 17:22
老干部 发表于 2020-5-12 17:15

系统睡眠后,是随便说什么都可以唤醒么,固件我是直接使用官网的,如图:

system_model.jpg (218.8 KB, 下载次数: 1273)

system_model.jpg

作者: firefly_zhongw    时间: 2020-5-12 18:44
本帖最后由 firefly_zhongw 于 2020-5-12 18:45 编辑

1. 更新最新的SDK,编译固件。
2. 官网最新的固件还没发布出来。

作者: 老干部    时间: 2020-5-13 18:27
firefly_zhongw 发表于 2020-5-12 18:44
1. 更新最新的SDK,编译固件。
2. 官网最新的固件还没发布出来。

你好,大神。编译出的新固件依旧,不能唤醒呢。是我的麦有问题么,系统进入休眠后被唤醒,会有现象么,比如进入睡眠时板子上的红灯会变暗,成功被后灯变回原来的 颜色。最新版本:
[attach]5598[/attach]
配置vad_dts:



作者: 老干部    时间: 2020-5-13 18:31
老干部 发表于 2020-5-13 18:27
你好,大神。编译出的新固件依旧,不能唤醒呢。是我的麦有问题么,系统进入休眠后被唤醒,会有现象么,比 ...

使用sdk的版本:

作者: 老干部    时间: 2020-5-13 18:43
老干部 发表于 2020-5-13 18:31
使用sdk的版本:

如果可以,能直接推一个可以直接用的mic么。
作者: firefly_zhongw    时间: 2020-5-14 10:46
本帖最后由 firefly_zhongw 于 2020-5-14 11:34 编辑
  1. &acodec {
  2.     rockchip,micbias1;
  3.     rockchip,micbias2;
  4.     rockchip,en-always-grps = <0 1 2 3>;
  5.     rockchip,adc-grps-route = <1 0 3 2>;
  6.     /delete-property/rockchip,loopback-grp;
  7. };
复制代码

1. 如果rockchip,adc-grps-route是<1 0 3 2>(表示MIC3为0通道),就把vad的rockchip,det-channel改成0
2. 接调试串口看log
==========================================================================================
# echo mem > /sys/power/state
[  255.923423] PM: suspend entry 1970-01-01 00:04:17.450476955 UTC
[  255.923486] PM: Syncing filesystems ...
[  255.934946] mmc_host mmc1: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0)
[  255.968669] mmc_host mmc1: Bus speed (slot 0) = 147456000Hz (slot req 150000000Hz, actual 147456000HZ div = 0)
[  256.349343] dwmmc_rockchip ff490000.dwmmc: Successfully tuned phase to 242
[  256.350742] done.
[  256.351284] Freezing user space processes ... (elapsed 0.001 seconds) done.
[  256.352932] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[  256.354452] Suspending console(s) (use no_console_suspend to debug)

IRQ=146
v1.3(release):30f1405, cnt=2, config=0x804040c:hwplldown-ddrsw-gating-24M-PWMregulator-Vdefault-sout-
b01234
Enabling: vad(1) acodec(1) pdm(0) i2s_2(1)
DDR: vpll0 | VOICE(sum): vpll0 | I2S: vpll0 | PWM: dpll | Enabling: apll dpll vpll0 | CRU_MODE: 3955
PMU Disabling: apll dpll vpll1
PMU: pd-000e wake-000c core-0bfb lo-180d hi-000e if-4001 24Mhz
5bRc6Aa78wfi 87aA6ab543210
IRQ=89 IRQ=146
PMU wakeup int: vad
VAD int=00000113
==========================================================================================
3. 如果唤醒太灵敏,参考文档doc目录下的《Rockchip_RK3308_Developer_Guide_Linux_VAD_Hardware_CN.pdf》,《Rockchip_RK3308_Developer_Guide_Linux_VAD_Register_Configuration_CN.pdf》。








作者: 老干部    时间: 2020-5-14 11:41
firefly_zhongw 发表于 2020-5-14 10:46
1. 如果rockchip,adc-grps-route是(表示MIC3为0通道),就把vad的rockchip,det-channel改成0
2. 接调试 ...

非常感谢,可以了




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1