Chinaunix首页 | 论坛 | 博客
  • 博客访问: 308624
  • 博文数量: 97
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 636
  • 用 户 组: 普通用户
  • 注册时间: 2014-10-12 22:41
文章分类

全部博文(97)

文章存档

2017年(8)

2015年(87)

2014年(2)

我的朋友

分类: 嵌入式

2015-06-13 13:26:06

1、首先有一个可用的驱动模板,程序框架正常即可,这里只讲TLV320AIC3101IRHBT芯片相关设置

2、在现有的音频驱动中,需要实现的接口函数如下:
AIC23B_Init     ---  初始化音频芯片的
AIC23B_Deinit  --   卸载音频
AIC23B_StartAdc  -- 开始录音,打开录音部分电源
AIC23B_StopAdc -- 停止录音 ,关闭录音部分power
AIC23B_StartDac -- 开始放音,打开放音部分电源
AIC23B_StopDac  - 停止放音,关闭放音部分电源
AIC23B_SetAdcVol  -- 设置录音音量
AIC23B_SetDacVol  -- 设置放音音量


3、在Freescale A9wince系统上,录音使用的是14(MIC2L/LINE2L/MICDET)和16(MIC2R/LINE2R); 放音使用的是19(HPLOUT)和23(HPROUT)
通道设置上,需要与硬件一致。在datasheet上可以看得出芯片内部结构如下
 


4、解读芯片寄存器设置
TLV320AIC3101IRHBT寄存器共分两组:page0和page1,每页127个寄存器, 我们需要关心的主要是page0的127个寄存器
page0中寄存器,按照功能分类如下:
page选择:    register 0
复位:           register 1
配置采样率: register 2 3 4 5 6 7 11
配置数据格式: register 8 9 10
录音ADC音量增益: register 15 16
输入通道设置: regisert 17 ~ 35
输出通道设置: register 37 ~89
输出音量设置:register 43 44
时钟设置:       register 101 102


5、调试音频时,需要注意的地方
调试放音时,
a,放音音量默认设置为最大
b,cpu输出的i2s数据,位宽等要与音频芯片中的设置对等
c,注意通道的选择,硬件上连接的通道与软件寄存器设置的通道要对的上
调试录音时,
a,录音的增益调至最大
b,录音时,mic部分不能有悬空的引脚,否则会出现杂音的。


6、调试技巧
IIC调试
a,可以尝试向音量控制寄存器写入音量,在读出,若都ok的话,则证明iic通讯异常
录音/放音有杂音,放音无声音
a,用逻辑分析仪测试I2S总线,在放音时左声道,右声道的数据应该是一致的,否则需要检查reg10的设置与处理器输出数据设置的关系
b,录音时,测试I2S总线,录音的左右声道数据也应该是一致的,可与手册中的I2S波形进行对比,查找原因。
阅读(3162) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~