`
fulerbakesi
  • 浏览: 562049 次
文章分类
社区版块
存档分类
最新评论

linux & android平台音频IC CS42L52调试笔记

 
阅读更多

最近在调试android平台的音频IC,过程中体会不少,现在把一些调试笔记整理出来与大家分享,由于个人水平有限,难免有写得不对的地方,如果你觉得我哪里写得有问题,或者你有更好的建议,欢迎批评指正。

先弄明白音频IC是怎么回事:

平台信息:

内核:linux 2.6.35

android:2.3.4

CPU:三星S5PV210

*简介

CS42L52是一款由IIC控制,标准的IIS输入,HP/SPK输出的D类功放音频IC。同时它有4路特殊功能ADC输入,可当成外部音频、MIC输入。42L52一般当成从器件使用,可通过IIC接口来设置模块内部寄存器的值。

*42L52作用

一般来说,CPUaudio接口只提供标准的IIS数据格式输出,而喇叭或耳机不能接收IIS数据,只能接收音频模拟数据,为了达到输出声音的目的,需要一个能把IIS数据转换成音频模拟数据的芯片。如下流程图所示:

1、上电复位

42L52的第32/RESET为复位脚,低电平复位。上电后,最好对它进行一次50mS复位,复位完成后延迟500mS

2、控制接口

标准的I2C接口,CLK最高100KHZ

3、输入输出,以及各名词解释

参考S5PV210CPUdatasheetP1883对以下各CLK的关系图:



对应关系如下图及下表所示:


CPU

42L52

参考值

解释

ROOTCLOCK

MCLK

RFS*LRCK=384*44.1K

=16.9344M

MasterClock的缩写,audioCLKMCLKRFS决定,软件通过设置RFS来设置MCLK

IISLRCLK

LRCK

44.1K

LeftRightClock,Determineswhichchannel,LeftorRight,iscurrentlyactiveontheserialaudiodataline,输入的采样频率(Inputsamplerate

IISSCLK

SCLK

BFS*LRCK=32*44.1K

=1.411M

SerialClockfortheserialaudiointerfaceSCLKBFS决定,软件通过设置BFS来设置SCLK

IISSDI

SDOUT

audio数据输出

IISSDO

SDIN

audio数据输入

Tip:

BLCBFSRFS设置顺序:先后设置BLCBFSRFS,如下图所示


以下两图可以加深对IIS模块系统的理解:



了解了这些基本的硬件逻辑之后,下面就可以参考CPU手册及音频IC手册进行相应的编程了。这部分笔记等整理完成后再继续贴出来与大家分享。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics