初始化方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

代码段
//miniDSP_A 程序代码段 struct reg_value miniDSP_A_reg_values[] = {reg_off, reg_val}.....
//miniDSP_D 程序代码段 struct reg_value miniDSP_D_reg_values[] = {reg_off, reg_val}.....
图 1. 图 2. 图 3. 图 4.
图表
预置处理模式的初始化流程图 ............................................................................................ 3 驱动头文件结构示例 .......................................................................................................... 4 常规寄存器代码段下载流程................................................................................................ 5 miniDSP 代码段下载流程 .................................................................................................. 6
3.1 初始化头文件结构 初始化头文件结构如图 2 所示,主要分为接口段和代码段两部分。接口段主要包括每个音量、开 关、音效控件的名称信息及地址信息,用来提供给驱动程序一个接口来控制它们。代码段包括三 个子段落:常规配置寄存器代码段、miniDSP-A 程序代码段和 miniDSP-D 程序代码段。驱动程序 需要引用代码段内的数组来完成常规配置寄存器及 miniDSP 的程序写入。
1
Application Report
Lit. Number – Month Year
1 miniDSP Codec 寄存器架构
miniDSP Codec 内部的寄存器分为两大类: 常规配置寄存器和 miniDSP 内存寄存器。常规配置寄 存器是用来控制 Codec 时钟、电源、路径等常规设置的普通寄存器。miniDSP 内存寄存器是 miniDSP 内存映射到 I2C/SPI 控制端口的寄存器地址,主控制器可以通过该地址进行初始化及控 制。 miniDSP 的内存分为三种类别:
2 预置处理模式的初始化过程
miniDSP codec 提供了多个预置处理模式供用户选择,不同的预置处理模式支持不同的采样率、 音效处理模块、功耗等级等参数。预置模式的详细信息请参考相应器件的手册。 选择了预置处理模式工作的 miniDSP codec 初始化过程和传统不带 miniDSP 的 codec 类似,流 程图 1 给出了推荐的初始化流程供参考:
2 预置处理模式的初始化过程 ............................................................................................................ 2 3 miniDSP 编程模式的初始化过程 .................................................................................................... 3
Application Report
Lit. Number – Month Year
王 凡 Ryan Wang (Fan)
miniDSP Codec 初始化方法及示例代码
South China and Shenzhen OEM Team
摘要
Texas instruments 推出的超低功耗 miniDSP 音频 Codec 集成了 miniDSP 内核,可在耗电 极低的工作状态下为电池供电的便携式产品提供高性能的语音及音乐处理能力。本文详细 介绍了如何初始化 miniDSP Codec 并提供了基于 MCU 控制器的参考代码。
2
硬件/软件复位 时钟、PLL、I2S接口配置
电源管理寄存器设置 选择ADC/DAC的预置处理模式
Overwrite this text with the Lit. Number
此处应同时设置预置处理模式中的 滤波器,DRC,3D等音效参数。
ADC路径、增益、电源配置
DAC路径、增益、电源配置
线路、耳机、REC输出 电源配置
miniDSP Codec 初始化方法及示例代码
3
Overwrite this text with the Lit. Number
接口段
//控件结构及地址段 static struct control XX_controls[] = {.......................}
//常规寄存器代码段 struct reg_value REG_Section_program[] = {reg_off, reg_val}.....
初始化完成
图 1. 预置处理模式的初始化流程图
3 miniDSP 编程模式的初始化过程
为了简化 miniDSP 的软件开发工作,TI 推出了独有的图形化编程开发环境 PurePathTM Studio (Portable Audio) Graphic Development Environment(简称,GDE)。GDE 支持的图形化界面可以完 成 miniDSP 的音频处理程序的开发,并生成初始化代码供程序使用。关于如何使用 GDE 生成初 始化代码,请参考文档:使用 miniDSP Codec 提升智能手机的音频效能(ZHCA113)。
音量、开关等控件程 序接口及地址信息
时钟、电源、模拟部 分寄存器预设代码
miniDSP 程序代码
图 2. 驱动头文件结构示例
需要注意的是常规配置寄存器代码段内的参数通常是 GDE 按照器件 EVM 板产生的默认参数,该 参数并不一定适用于实际的用户系统。例如用户系统使用了与 EVM 板不同的 MCLK 时钟频率, 则用户必须手动更改常规配置寄存器代码段内的 PLL 参数来满足实际需求。用户可通过修改 GDE 的器件 Frameworks 中默认的 System Settings Code 来产生满足目标应用的头文件。
• 指令内存(Instruction RAM)用于存储 miniDSP 的运行指令及程序。 • 数据内存(Data RAM)用于暂存 miniDSP 运行时的运算结果等临时数据。 • 系数内存(Coefficient RAM)用来存储 miniDSP 音效、增益等控件的参数设置。 指令内存和系数内存均可通过映射的 I2C 或 SPI 地址来进行读写。miniDSP Codec 完整的初始化 过程包括对常规配置寄存器的配置和对 miniDSP 内存加载代码两个部分。
– 若寄存器地址=254:延迟命令,延迟时间为寄存器值(十进制),单位为毫秒。 – 若寄存器地址=255,寄存器值=0:跳转到 miniDSP-A 代码段,进行 miniDSP-A 的代码
下载。
4
miniDSP Codec 初始化方法及示例代码
Overwrite this text with the Lit. Number
3.2 代码下载规则
初始化头文件数组内元素的结构为:
{寄存器地址,寄存器值}
用户需按照以下规则将数组内的值通过 I2C/SPI 加载到 miniDSP Codec 中:
• 常规寄存器代码段:
该段寄存器内容均为常规配置,例如电源、时钟、路径配置等。主控按照先后顺序将寄存器写 入。需要注意的是,GDE 生成的常规寄存器代码段包括部分控制命令,控制器需要识别后进行相 应操作,以下为控制命令的详细解释:
– 若寄存器地址=255,寄存器值=1:跳转到 miniDSP-D 代码段,进行 miniDSP-D 的代码 下载。
流程图 3 给出了详细的常规配置寄存器数组的解析下载过程,例程请参考附录 A。
图 3. 常规寄存器代码段下载流程
• miniDSP-A 和 miniDSP-D源自文库代码段:
miniDSP-A 和 miniDSP-D 的数组数据按页排列,每页中最多有 120 个连续数据(Reg 8 ~ Reg127)。miniDSP Codec 支持 I2C/SPI 连续写入模式,当写入第一个数据后,不释放控制总 线,继续写入后续数据,器件内部寄存器地址会自动递增,最大可完成一个完整页面的写入。所 以为了节省 I2C/SPI 的写入时间,该部分代码建议使用连续写入方式进行初始化。流程图 4 给出 了连续写入模式的下载时序。例程请参考附录 A。
目录
1 miniDSP Codec 寄存器架构 .......................................................................................................... 2 1.1 miniDSP Codec 初始化方式介绍............................................................................................. 2
3.1 初始化头文件结构................................................................................................................... 3 3.2 代码下载规则 .......................................................................................................................... 4 4 存储空间需求.................................................................................................................................. 6 5 总结................................................................................................................................................ 7 6 参考文献......................................................................................................................................... 7 Appendix A. 参考代码........................................................................................................................... 8
1.1 miniDSP Codec 初始化方式介绍 miniDSP Codec 具有两种初始化方式: • 预置处理模式: 为了简化 miniDSP Codec 的配置,miniDSP Codec 内部存储了若干组预置处理模式 (Processing Block,简称 PRB)的代码,不同的预置处理模式提供了不同的音效处理能力及功 耗特性。用户无需对 miniDSP 进行编程,只要按需求选择一个预置处理模式即可完成配置。 • miniDSP 编程模式: miniDSP 编程模式下,用户需要按照音频处理需求开发 miniDSP 的程序。初始化时将程序通过 I2C/SPI 加载到 miniDSP 内存中运行。相比预置处理模式,miniDSP 编程模式下 Codec 的功能更 强,使用更灵活性。
相关文档
最新文档