qn1511491270

qn1511491270

0个粉丝

11

问答

0

专栏

1

资料

qn1511491270  发布于  2018-03-02 16:31:32
采纳率 0%
11个问答
2927

hi3531a 增大音量问题

 
我在使用hi3531a的时候,录出的音频特别小,查看海思手册,好像我的开发板使用的并不是海思内置的audio codec引擎,我所用的开发板使用了tlv320aic31的audio codec引擎,我尝试过
(1) 使用ioctl(s32Acodec_Fd, ACODEC_SET_INPUT_VOL, &iVol   发现我的sdk工程中并没有ACODEC_SET_INPUT_VOL这个定义
(2) 使用HI_MPI_AI_SetVqeVolume() 报错没有配置vqe 不知道vqe是否可以增大音量,有没有必要配置vqe?
(3 )调节tlv320的ioctl
         #if 0//20180302
         audio_ctrl.if_mute_route = 0;
     audio_ctrl.input_level = 0;
         #else
         audio_ctrl.if_mute_route = 1;
         audio_ctrl.input_level = 100;
         printf("mute route = 1!\n");
         printf("%d set input level =%d\n",__LINE__,audio_ctrl.input_level);
         #endif
     ioctl(s_fdTlv,LEFT_DAC_VOL_CTRL,&audio_ctrl);
     ioctl(s_fdTlv,RIGHT_DAC_VOL_CTRL,&audio_ctrl);
     
     /*Right/Left DAC Datapath Control */
     audio_ctrl.if_powerup = 1;/*Left/Right DAC datapath plays left/right channel input data*/
     ioctl(s_fdTlv,LEFT_DAC_POWER_SETUP,&audio_ctrl);
     if ((AIO_MODE_I2S_MASTER != enWorkmode) && (AIO_MODE_I2S_SLAVE != enWorkmode))
     {
        audio_ctrl.if_powerup = 0;
     }
     ioctl(s_fdTlv,RIGHT_DAC_POWER_SETUP,&audio_ctrl);

     /* */
     if ((AIO_MODE_PCM_MASTER_STD == enWorkmode)||(AIO_MODE_PCM_SLAVE_STD == enWorkmode))
     {
         bPCMStd = HI_TRUE;
         audio_ctrl.data_offset = bPCMStd;
         ioctl(s_fdTlv,SET_SERIAL_DATA_OFFSET,&audio_ctrl);
     }
     else if ((AIO_MODE_PCM_MASTER_NSTD == enWorkmode)||(AIO_MODE_PCM_SLAVE_NSTD == enWorkmode))
     {
         bPCMStd = HI_FALSE;
         audio_ctrl.data_offset = bPCMStd;
         ioctl(s_fdTlv,SET_SERIAL_DATA_OFFSET,&audio_ctrl);
     }
     else
     {;}
     
     /* data bit width (0:16bit 1:20bit 2:24bit 3:32bit) */
     audio_ctrl.data_length = 0;
     ioctl(s_fdTlv,SET_DATA_LENGTH,&audio_ctrl);
   
     /*DACL1 TO LEFT_LOP/RIGHT_LOP VOLUME CONTROL 82 92*/
         #if 1// 20180302
     audio_ctrl.if_mute_route = 1;/* route*/
         #else
         audio_ctrl.if_mute_route = 1;/* route*/
         #endif
     audio_ctrl.input_level = vol; /*level control*/
         printf("%d set input level =%d \n",__LINE__,vol);
     ioctl(s_fdTlv,DACL1_2_LEFT_LOP_VOL_CTRL,&audio_ctrl);
     ioctl(s_fdTlv,DACR1_2_RIGHT_LOP_VOL_CTRL,&audio_ctrl);

     /* LEFT_LOP/RIGHT_LOP OUTPUT LEVEL CONTROL 86 93*/
     
     audio_ctrl.if_powerup = 1;
     #if 0//20180302
     audio_ctrl.input_level = 0;
         audio_ctrl.if_mute_route = 1;
         #else
         audio_ctrl.input_level = 100;
         audio_ctrl.if_mute_route = 1;
         printf("%d set input level =%d \n",__LINE__,audio_ctrl.input_level);
         #endif
     ioctl(s_fdTlv,LEFT_LOP_OUTPUT_LEVEL_CTRL,&audio_ctrl);
     ioctl(s_fdTlv,RIGHT_LOP_OUTPUT_LEVEL_CTRL,&audio_ctrl);

     /*config AD*/
     /* LEFT/RIGHT ADC PGA GAIN CONTROL 15 16*/   
     
         #if 0//20180302
     audio_ctrl.input_level = 0;
         audio_ctrl.if_mute_route =0;
         #else
         audio_ctrl.input_level = 9;
         audio_ctrl.if_mute_route =1;
         printf("%d set input level =9\n",__LINE__);
         #endif
     ioctl(s_fdTlv,LEFT_ADC_PGA_CTRL,&audio_ctrl);   
     ioctl(s_fdTlv,RIGHT_ADC_PGA_CTRL,&audio_ctrl);

     /*INT2L TO LEFT/RIGTH ADCCONTROL 17 18*/   
     #if 0//20180302
     audio_ctrl.input_level = 0;   
         #else
         audio_ctrl.input_level = 100;
         printf("%d set input level =100\n",__LINE__);
         #endif   
     ioctl(s_fdTlv,IN2LR_2_LEFT_ADC_CTRL,&audio_ctrl);   
     ioctl(s_fdTlv,IN2LR_2_RIGTH_ADC_CTRL,&audio_ctrl);

尝试将level从0 增加到100,还是没有放大

请问:如果放大音频输入,我需要将录制的音频流发送出去,但是现在声音太小。
我来回答
回答7个
时间排序
认可量排序

qn1511491270

0个粉丝

11

问答

0

专栏

1

资料

qn1511491270 2018-04-02 17:59:17
认可0
结贴:只需要调节tlv320的音频驱动即可。

封锁记忆

0个粉丝

39

问答

0

专栏

1

资料

封锁记忆 2018-08-17 17:31:42
认可0
你好,我最近也在调试tlv320这个芯片,现在怎么讲左右声道分开那?比如MIcIn左声道,LineIn右声道。

通过还是的API可以调节吗?还是需要修改驱动引脚。
#define     IN2LR_2_LEFT_ADC_CTRL 0x0
#define     IN2LR_2_RIGTH_ADC_CTRL 0x1
#define     IN1L_2_LEFT_ADC_CTRL 0x2
#define     IN1R_2_RIGHT_ADC_CTRL 0x3
#define     PGAL_2_HPLOUT_VOL_CTRL 0x4
#define     PGAR_2_HPLOUT_VOL_CTRL 0x5
#define     DACL1_2_HPLOUT_VOL_CTRL 0x6
#define     DACR1_2_HPLOUT_VOL_CTRL 0x7
#define     HPLOUT_OUTPUT_LEVEL_CTRL 0x8
#define     PGAL_2_HPLCOM_VOL_CTRL 0x9
#define     PGAR_2_HPLCOM_VOL_CTRL 0xa
这种宏定义的说明有吗?谢谢

qn1511491270

0个粉丝

11

问答

0

专栏

1

资料

qn1511491270 2018-08-20 18:28:47
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=103723&ptid=39005]封锁记忆 发表于 2018-8-17 17:31[/url]
你好,我最近也在调试tlv320这个芯片,现在怎么讲左右声道分开那?比如MIcIn左声道,LineIn右声道。

通 ...[/quote]

嗯。。。。我的做法是在tlv320的驱动力就做了, 那些宏我没有仔细去看,大概就是ioctl控制的驱动,翻一下tlv320的手册,不算难。

jipd

0个粉丝

14

问答

0

专栏

0

资料

jipd 2018-08-18 10:36:09
认可0
顶起来。。。:victory::victory:

fpnbt

0个粉丝

6

问答

0

专栏

0

资料

fpnbt 2018-08-19 10:11:23
认可0
顶一顶~~~~~

jei

0个粉丝

6

问答

0

专栏

0

资料

jei 2018-08-19 10:20:13
认可0
:lol:lol:lol:lol

rcerk

0个粉丝

22

问答

0

专栏

1

资料

rcerk 2018-08-19 10:52:45
认可0
顶!!!;P;P
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区