音频驱动之UDA1341芯片之L3接口介绍

来源:互联网 发布:淘宝上的金毛幼崽 编辑:程序博客网 时间:2024/05/14 18:02

我们接着上一节的将,我们I2S传输声音的接口是标准的

但是控制接口却各有不一样,比如说我们的UDA1341用的接口叫做L3接口,WM8960等可能用的I2C接口或者自己定义了一个三线接口

我们先来看看L3接口是怎么传输控制信号的,发出信息啊,控制音量啊实际上就是读写寄存器,转换的就是读写某个地址,把某个数据读出来或者写进去

从这个L3接口怎么传输地址信息和数据信息呢,我们来看看UDA1341的手册


这是我们L3所用到的引脚

一个叫L3MODE,一个是L3DATA,一个是L3CLOCK

通过这三条线我们怎么传输数据,地址和读写说明呢,看看手册,别人有说明的



这个接口有地址模式,还有数据传输模式

怎么分辨呢,当L3MODE变为0的时候是地址模式,等于1的时候是数据模式

当为地址模式的时候L3DATA上面的数据是地址信号,当为1的时候data上面的就是数据

CLK是每一时钟,每一个CLK传一位

但是传地址的时候前面说了,周期里面 bit7-bit2表示设备地址,每一个L3设备接口的芯片都有一个设备地址,我们UDA1341的设备地址是000101  data0-date1表示传输类型

00是data0,可以设置音量,静音,各种东西,或者是扩展的地址,AGC(自动放大)控制

01表示data1 ,读回一些信息

10是状态信息,比如说复位,系统时钟,数据输入格式等等

在来看一看数据的


状态控制

当你在传输地址的时候设备地址是000101后面是10的时候,紧接的8位数据代表的含意如上图,这8位数据的含义各有不同,bit7代表0的时候是上面那一层含义,bit7代表1的时候是下面这一层含义。

bit7等于0的时候,


写入1的时候会复位这个芯片,

这两位代表系统时钟的设置,系统时钟就等于cdclk,写为00就是指系统时钟等于512倍的采样率,采样率就是一秒钟要采集多少次数据。

换句话说当你系统时钟已经定死了之后,你设置SC1 SC0就可以算出采样率等于多少,比如说你设置为00,你系统时钟/512就是你采样率


再看看我们data0,如果你在发地址的时候,最后两位发的是00的话,表明是数据0传输,数据0传输里面会传输什么东西呢,看看手册





0 0