UDA1341控制

简介: L3总线 地址模式是用于选择设备和定义目标寄存器,在这种模式下,8位数据高6位是设备地址(UDA1341的地址固定为000101),低两位是数据模式下选择的寄存器(00:DATA0,01:DATA1,10:STATUS)。

L3总线

地址模式是用于选择设备和定义目标寄存器,在这种模式下,8位数据高6位是设备地址(UDA1341的地址固定为000101),低两位是数据模式下选择的寄存器(00DATA001DATA110STATUS)。只要没有再改变地址模式下的数据,则数据模式下的数据始终是传输到上一个地址模式所定义的寄存器内。

地址模式时序为: L3MODE置电平->L3CLOCK置高电平->L3CLOCK置低电平->写一位地址->延时->L3CLOCK置高电平->L3CLOCK置低电平,开始写地址下一位->...8位地址写完->L3MODEL3CLOCK置高电平。

如下图所示:

数据模式用于设置寄存器。此模式下,STATUS用于设置复位,系统时钟频率,数据输入格式,直流滤波器,输入增益开关,输出增益开关;DATA0分为直接寻址模式和扩展寻址模式,直接寻址模式是直接进行模式的控制,包括音量、重低音、高音、峰值检测位置、去加重、静音和模式,而扩展寻址模式是在直接寻址模式下先设置3位扩展地址,再在直接寻址模式下设置5位扩展数据,包括数字混音器控制、自动增益控制、麦克灵敏度控制、输入增益、自动增益时间常数及输出等级;在DATA1下,可以读取到被检测峰值。

时序为L3CLOCK置低电平->写一位数据->延时->L3CLOCK置高电平->L3CLOCK置低电平,开始写下一位数据->...8位数据写完,向之前写入的地址地址,一次写数据完成。

如下图所示:

STATUS 控制寄存器

D7

D6

D5

D4

D3

D2

D1

D0

0

RST

SC1

SC0

IF2

IF1

IF0

DC

1

OGS

IGS

PAD

PDA

DS

PC1

PC0

D7=0

RST(复位)1:复位,0:不复位;

SC1:SC0(系统时钟频率选择)

0 0          512fs

0 1          384fs

1 0          256fs

1 1          不使用

系统时钟应和数据输入总线系统时钟一致,如IIS总线输入,则系统时钟应和IIS总线频率一致。

IF2:IF1:IF0(数据输入模式选择)

0 0 0       IIS总线

0 0 1       最低有效位对齐的16

0 1 0      最低有效位对齐的18

0 1 1      最低有效位对齐的20

1 0 0      最高有效位对齐

1 0 1      最低有效位对齐的16位输入和最高有效位对齐的输出

1 1 0      最低有效位对齐的18位输入和最高有效位对齐的输出

1 1 1      最低有效位对齐的20位输入和最高有效位对齐的输出

DC(直流滤波器使能)0 禁用,1 使能;

D7=1

OGS(输出增益开关) 0 增益为0      1 增益6dB

IGS (输入增益开关) 0 增益为0     1 增益6dB

PAD ADC极性)    0 不反相,       1 反相

PDA DAC极性)    0 不反相,       1 反相

DS  (双倍速设置)   0 单倍数回放    1 双倍速回放

PC1PC0(电源控制)

0 0          ADC电源切断,DAC电源切断

0 1          ADC电源切断,DAC电源接通

1 0          ADC电源接通,DAC电源切断

1 1          ADC电源接通,DAC电源接通

DATA0 直接控制寄存器

D7

D6

D5

D4

D3

D2

D1

D0

0

0

VC5

VC4

VC3

VC2

VC1

VC0

0

1

BB3

BB2

BB1

BB0

TR1

TR0

1

0

PP

DE1

DE0

MT

M1

M0

1

1

0

0

0

EA2

EA1

EA0

1

1

1

ED4

ED3

ED2

ED1

ED0

 

VC5:VC4:VC3:VC2:VC1:VC0(音量控制):

BB3 :BB2 :BB1: BB0(低音增强):

TR1:TR0(高音增强)

PP(峰值检测位置): 0 音调特性之前 1 音调特性之后

DE1: DE0(去加重):

0 0                               不去加重

0 1                               32kHz去加重

1 0                               44.1kHz去加重

1 1                               48kHz去加重

MT(静音):              0 不静音 1 静音

M1:M0(音频滤波模式选择):

0 0                               平均值

0 1/1 0                         最小值

1 1                               最大值

EA2 EA1 EA0 (扩展地址),ED4 ED3 ED2 ED1 ED0(扩展数据)

DATA0扩展编程寄存器

EA2

EA1

EA0

ED4

ED3

ED2

ED1

ED0

0

0

0

MA4

MA3

MA2

MA1

MA0

0

0

1

MB4

MB3

MB2

MB1

MB0

0

1

0

MS2

MS1

MS0

MM1

MM0

1

0

0

AG

0

0

IG1

IG0

1

0

1

IG6

IG5

IG4

IG3

IG2

1

1

0

AT2

AT1

AT0

AL1

AL0

MA4:MA3:MA2:MA1:MA0(控制通道1的混频增益)

MB4:MB3:MB2:MB1:MB0(控制通道2的混频增益)

MS2:MS1:MS0(麦克风敏感度)

选择麦克风增益放大,只有当AGC(自动增益)使能,而不是在激活双差模式,这些设置才有效。

MM1:MM0(混频器模式选择)

 

 

MM1

MM0

选择模式

0

0

双差模式

0

1

选择输入通道1,输入通道2切断

1

0

选择输入通道2,输入通道1切断

1

1

数字混频器模式(input 1×MA + input 2×MB

AGAGC使能) 0 禁用,手工设置增益(通过IG设置) 1 使能

IG6:IG5:IG4:IG3:IG2:IG1:IG0(输入通道2放大器增益)

仅当AG禁用且不在双差模式下有效。

AT2:AT1:AT0:AL1:AL0(自动增益控制时间常数)

AT2

AT1

AT0

启动时间

(ms)

衰减时间

(ms)

0

0

0

11

100

0

0

1

16

100

0

1

0

11

200

0

1

1

16

200

1

0

0

21

200

1

0

1

11

400

1

1

0

16

400

1

1

1

21

400

 

AL1:AL0(自动增益输出电平)

AL1

AL0

输出电平

(dB FS)

00

?9.0

00

01

?11.5

01

10

?15.0

10

11

?17.5

11

 

DATA1 控制寄存器

DATA1数据传输类型

D5

D4

D3

D2

D1

D0

PL5

PL4

PL3

PL2

PL1

PL0

PL5:PL4:PL3:PL2:PL1:PL0 (峰值电平)

程序设计(S3C2440处理器):GPB2->L3MODE,GPB3->L3DATA,GPB4->L3CLOCK

相关文章
|
7月前
详解步进电机的结构和三种控制模式
详解步进电机的结构和三种控制模式
339 0
详解步进电机的结构和三种控制模式
|
3月前
|
存储 安全 调度
同步时视频与控制
【9月更文挑战第25天】
47 2
|
2月前
|
机器学习/深度学习 编解码 人工智能
光遗传学:控制生物体功能的光控技术
【10月更文挑战第12天】光遗传学作为一项革命性的技术,正在生命科学领域掀起一场前所未有的变革。它利用光信号精确操控生物体内的细胞活性,为神经科学、疾病治疗乃至生物技术的研究开辟了全新的路径。随着技术的不断进步和创新,光遗传学技术有望在未来发挥更大的作用,为人类健康和生物技术的发展贡献更多的力量。让我们共同期待光遗传学技术带来的美好未来!
|
4月前
|
传感器 编解码
SFNC —— 设备控制(二)
SFNC —— 设备控制(二)
65 3
|
4月前
|
XML 传感器 算法
SFNC —— 模拟控制(五)
SFNC —— 模拟控制(五)
42 3
|
4月前
|
物联网
什么是动态发射功率控制 (DTPC)?
【8月更文挑战第24天】
157 0
|
7月前
|
存储 弹性计算 运维
使用if-else实现更多控制
【4月更文挑战第29天】
30 0
|
项目管理 语音技术
如何控制项目范围?
如何控制项目范围?
67 0
|
7月前
|
机器学习/深度学习 传感器 监控
交通信号控制优化
交通信号控制优化
161 2
|
Java Go 开发者
实现 while 和 dowhile 控制|学习笔记
本节课将讲解 While 和 do...while 的实现(完全没有编程经历的同学可以直接跳过)。而 Go 语言没有 while 和 do...while 语法,这一点需要注意,如果需要使用类似其他语言(比如 Java/c 的 while 和 do...while )可以通过 for 循环来实现其使用效果。
109 0