5088
- 收藏
- 点赞
- 分享
- 举报
海思tw2968音频输出问题
大家好,调试tw2968的驱动时,视频与音频输入都已调试通过,现在音频输出(playback)一直没有输出,从cpu的输出量取数据线的波形都正常,只是到2968后,2968的AOUT没有输出。
现在可以确定CPU输出的信号是正常的,以下是音频的相关计算器配置,请大家帮看看:
static void tw2968_audio_init(unsigned char chip_addr)
{
/* Analog Power Down Control */
//tw2968_byte_write(chip_addr, 0xCE, 0x40 );
/* 0xD0, 0xD1, 0x7F - Analog Audio Input Gain */
tw2968_byte_write(chip_addr, 0x7f, 0x88);/* [7:4] AIGAIN5 [3:0] MIXRATIO5 */
tw2968_byte_write(chip_addr, 0xD0, 0x88);/* [7:4] AIGAIN2 [3:0] AIGAIN1 */
tw2968_byte_write(chip_addr, 0xD1, 0x88);/* [7:4] AIGAIN4 [3:0] AIGAIN3 */
/* Number of Audio to be Recorded */
tw2968_byte_write(chip_addr, 0xD2, 0x03);/* recode: I2S format, 16 audios */
/* 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA – Sequence of Audio to be Recorded*/
tw2968_byte_write(chip_addr, 0xD3, 0x10);/* default value: 1 0 */
tw2968_byte_write(chip_addr, 0xD7, 0x32);/* default value: 9 8 */
/* playback: I2S, master, 16bit, ACLKR pin is output */
tw2968_byte_write(chip_addr, 0xDB, 0xE1);
/* u-Law/A-Law Output and Mix Mute Control */
tw2968_byte_write(chip_addr, 0xDC, 0x00);/* PCM output */
/* Mix Output Selection */
tw2968_byte_write(chip_addr, 0xE0, 0x10);/* Select playback audio of the first stage chips*/
/* Audio Detection Threshold, 8K typical setting value */
tw2968_byte_write(chip_addr, 0xE1, 0xf0);
tw2968_byte_write(chip_addr, 0xE2, 0x33);
tw2968_byte_write(chip_addr, 0xE3, 0x33);
tw2968_set_audio_samplerate(TW2968_SAMPLE_RATE_16000);
#if 1
/* Audio Clock Increment, ACKI[21:0]: 09B583h for fs = 8kHz is default. */
tw2968_byte_write(chip_addr, 0xF0, 0x23);//0x23 0x91);/* ACKI[7:0] */
tw2968_byte_write(chip_addr, 0xF1, 0x48);///* 0x48 0x8B ACKI[15:8] */
tw2968_byte_write(chip_addr, 0xF2, 0x07);//0x07 0x30);/* ACKI[21:16] */
#endif
/* [3] ACKI control is automatically set up by AFMD register values */
/* [2:0] AFAUTO control mode. 0: 8kHz setting(default). */
tw2968_byte_write(chip_addr, 0x70, 0x09);/* [2:0] 0:8k, 1:16k, 2:32k, 3:44.1k 4:48k */
//tw2968_byte_write(chip_addr, 0x71, 0x60);
/* Audio Clock Control */
tw2968_byte_write(chip_addr, 0xF8, 0xc4);/* bit2: Loop open in ACKG block */
/* Enable state register updating and interrupt request of audio AIN5 detection for each input*/
tw2968_byte_write(chip_addr, 0x73, 0x00);
/* ADATM I2S Output Select (default value)*/ /* Mix Digital and Analog out set to */
tw2968_byte_write(chip_addr, 0x7B, 0x00);/* Select record audio of channel 51(AIN51)*/
tw2968_byte_write(chip_addr, 0x7C, 0x00);/* Select record audio of channel 51(AIN51)*/
/* MIX_MUTE_A5 ?????? */
tw2968_byte_write(chip_addr, 0x7E, 0xa0);
/* Audio Fs Mode Control */
tw2968_byte_write(chip_addr, 0x89, 0x04);/* AIN5MD=1, AFS384=0 */
}
现在可以确定CPU输出的信号是正常的,以下是音频的相关计算器配置,请大家帮看看:
static void tw2968_audio_init(unsigned char chip_addr)
{
/* Analog Power Down Control */
//tw2968_byte_write(chip_addr, 0xCE, 0x40 );
/* 0xD0, 0xD1, 0x7F - Analog Audio Input Gain */
tw2968_byte_write(chip_addr, 0x7f, 0x88);/* [7:4] AIGAIN5 [3:0] MIXRATIO5 */
tw2968_byte_write(chip_addr, 0xD0, 0x88);/* [7:4] AIGAIN2 [3:0] AIGAIN1 */
tw2968_byte_write(chip_addr, 0xD1, 0x88);/* [7:4] AIGAIN4 [3:0] AIGAIN3 */
/* Number of Audio to be Recorded */
tw2968_byte_write(chip_addr, 0xD2, 0x03);/* recode: I2S format, 16 audios */
/* 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA – Sequence of Audio to be Recorded*/
tw2968_byte_write(chip_addr, 0xD3, 0x10);/* default value: 1 0 */
tw2968_byte_write(chip_addr, 0xD7, 0x32);/* default value: 9 8 */
/* playback: I2S, master, 16bit, ACLKR pin is output */
tw2968_byte_write(chip_addr, 0xDB, 0xE1);
/* u-Law/A-Law Output and Mix Mute Control */
tw2968_byte_write(chip_addr, 0xDC, 0x00);/* PCM output */
/* Mix Output Selection */
tw2968_byte_write(chip_addr, 0xE0, 0x10);/* Select playback audio of the first stage chips*/
/* Audio Detection Threshold, 8K typical setting value */
tw2968_byte_write(chip_addr, 0xE1, 0xf0);
tw2968_byte_write(chip_addr, 0xE2, 0x33);
tw2968_byte_write(chip_addr, 0xE3, 0x33);
tw2968_set_audio_samplerate(TW2968_SAMPLE_RATE_16000);
#if 1
/* Audio Clock Increment, ACKI[21:0]: 09B583h for fs = 8kHz is default. */
tw2968_byte_write(chip_addr, 0xF0, 0x23);//0x23 0x91);/* ACKI[7:0] */
tw2968_byte_write(chip_addr, 0xF1, 0x48);///* 0x48 0x8B ACKI[15:8] */
tw2968_byte_write(chip_addr, 0xF2, 0x07);//0x07 0x30);/* ACKI[21:16] */
#endif
/* [3] ACKI control is automatically set up by AFMD register values */
/* [2:0] AFAUTO control mode. 0: 8kHz setting(default). */
tw2968_byte_write(chip_addr, 0x70, 0x09);/* [2:0] 0:8k, 1:16k, 2:32k, 3:44.1k 4:48k */
//tw2968_byte_write(chip_addr, 0x71, 0x60);
/* Audio Clock Control */
tw2968_byte_write(chip_addr, 0xF8, 0xc4);/* bit2: Loop open in ACKG block */
/* Enable state register updating and interrupt request of audio AIN5 detection for each input*/
tw2968_byte_write(chip_addr, 0x73, 0x00);
/* ADATM I2S Output Select (default value)*/ /* Mix Digital and Analog out set to */
tw2968_byte_write(chip_addr, 0x7B, 0x00);/* Select record audio of channel 51(AIN51)*/
tw2968_byte_write(chip_addr, 0x7C, 0x00);/* Select record audio of channel 51(AIN51)*/
/* MIX_MUTE_A5 ?????? */
tw2968_byte_write(chip_addr, 0x7E, 0xa0);
/* Audio Fs Mode Control */
tw2968_byte_write(chip_addr, 0x89, 0x04);/* AIN5MD=1, AFS384=0 */
}
我来回答
回答8个
时间排序
认可量排序
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2016-07-16 15:36:48
-
2017-04-04 16:52:37
-
2015-07-22 17:02:35
-
2019-05-16 21:28:47
-
2016-11-23 17:02:12
-
02015-01-29 15:11:49
-
2019-10-29 10:46:06
-
22020-07-15 11:17:11
-
72018-08-06 16:04:38
-
102019-01-26 20:07:56
-
2019-05-18 17:03:32
-
22020-09-09 17:58:25
-
2008-05-25 11:26:45
-
2023-08-01 14:52:03
-
2022-05-11 11:45:44
-
2021-04-27 16:46:47
-
2017-12-17 15:19:58
-
2022-11-17 15:23:13
-
2016-06-21 09:43:06
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认