ZHCU963A June   2021  – March 2022 TLV320AIC3101 , TLV320AIC3104 , TLV320AIC3104-Q1 , TLV320AIC3105 , TLV320AIC3106 , TLV320AIC3106-Q1 , TLV320AIC3107 , TLV320AIC3109-Q1 , TLV320AIC34

 

  1.   TLV320AIC310xEVM 控制软件快速入门指南
  2.   商标
  3. 1TLV320AIC310xEVM 控制软件安装
    1. 1.1 软件安装
    2. 1.2 EVM 连接
  4. 2TLV320AIC310xEVM 控制软件
    1. 2.1 用于操作 AIC310xEVM 的器件选择
    2. 2.2 首页指示器和功能
    3. 2.3 默认配置(预设)选项卡
    4. 2.4 “Command Line Interface”选项卡
  5. 3MODEVM
    1. 3.1 MODEVM 运行
      1. 3.1.1 TLV320AIC310xEVM-PDK 方框图
        1. 3.1.1.1 MODEVM 接口板
      2. 3.1.2 默认配置和连接
        1. 3.1.2.1 USB-MODEVM SW2 设置
        2. 3.1.2.2 USB-MODEVM 运行
    2. 3.2 USB-MODEVM 原理图
    3. 3.3 USB-MODEVM 物料清单
    4. 3.4 USB-MODEVM 协议
    5. 3.5 GPIO 功能
    6. 3.6 AC-MODEVM 原理图
    7. 3.7 AC-MODEVM 物料清单
    8. 3.8 编写脚本
  6. 4修订历史记录

编写脚本

脚本就是一种文本文件,其中包含要发送到串行控制总线的数据。脚本语言非常简单,就和该语言的解析器一样。因此,程序对源脚本文件中的错误不是很宽容,但该文件的格式很简单。因此,往往很少出现错误。

脚本文件中的每一行都是一个命令。这里没有将一行扩展为多行的功能。一行以回车符终止。

一行的第一个字符为命令。表 3-7 列出了相关命令。

表 3-7 命令
命令 说明
i 设置要使用的接口总线
r 从串行控制总线读取
W 写入串行控制总线
# 注释
b 休息
d 延迟

第一个命令 i 为后面的命令设置要使用的接口。此命令必须后跟表 3-8 中列出的其中一个参数。

表 3-8 命令参数
命令 说明
i2cstd 标准模式 I2C 总线
i2cfast 快速模式 I2C 总线
spi8 具有 8 位寄存器地址的 SPI 总线
spi16 具有 16 位寄存器地址的 SPI 总线
gpio 使用 USB-MODEVM GPIO 功能

例如,如果使用快速模式 I2C 总线,脚本会以 i i2cfast 开头。

中断命令后面没有数据。对于注释命令后面的文本,如果文本位于同一行,解析器会忽略相关文本。延迟命令允许用户以毫秒为单位指定脚本在继续运行前暂停的时间。

注:

与脚本命令中使用的所有其他数字不同,延迟时间以十进制格式输入。另外,由于 USB 总线的延迟以及 USB-MODEVM 上处理器处理请求所需的时间,延迟时间可能并不准确。

读取或写入命令会后跟一系列字节值。每个字节值均以十六进制形式表示,并且每个字节之间必须以空格分隔。命令经过解释由程序使用Topic Link Label3.4中所述的协议发送到 TAS1020。

读取或写入命令后的第一个字节是器件的 I2C 从器件地址(如果使用的是 I2C)或要写入的第一个数据字节(如果使用的是 SPI,由于 SPI 接口在协议上没有进行标准化,因此此字节的含义会因 SPI 总线上寻址的器件而异)。第二个字节是要将数据写入的起始寄存器地址(使用 I2C 时,SPI 会有所变化,请参阅Topic Link Label3.4,以进一步了解特殊 SPI 模式可能需要的变化)。如果是读取,这两个字节会后跟数据。如果是读取,第三个字节值会是要读取的字节数(以十六进制表示)。

例如,要从寄存器地址 0x03 开始将值 0xAA 0x55 写入从器件地址为 0x90 的 I2C 器件,请写入:

#example script
i i2cfast
w 90 03 AA 55
r 90 03 2

此脚本以一个注释开头,指明将使用 I2C 总线,然后将 0xAA 0x55 写入地址为 0x90 的 I2C 从器件,并将值写入寄存器 0x03 和 0x04。然后,该脚本从寄存器地址 0x03 开始从同一器件读回两个字节。从器件值没有改变。该脚本中无需为 I2C 器件设置 R/ W 位;读取或写入命令会完成该工作。

以下示例展示了使用需要 16 位寄存器地址的 SPI 器件:

# setup TSC2101 for input and output

# uses SPI16 interface

# this script sets up DAC and ADC at full volume, input from onboard mic

#

# Page 2: Audio control registers

w 10 00 00 00 80 00 00 00 45 31 44 FD 40 00 31 C4

w 13 60 11 20 00 00 00 80 7F 00 C5 FE 31 40 7C 00 02 00 C4 00 00 00 23 10 FE 00 FE 00

允许使用空白行。不过,请确保脚本不是以空白行结束。尽管以空白行结束并不会导致脚本运行失败,但程序会执行该行,因此可能导致用户无法查看上一条命令写入或读回的数据。

在本例中,每个命令的前两个字节是要发送到 TSC2101 的命令字(0x1000,0x1360);这两个字节之后是要写入器件的数据,其中起始地址由命令字指定。第二行可能会在所用的查看器中自动换行,从而看起来不止一行;不过,仔细检查便会发现,这一行中仅在最后一个 00 之后有一个回车符。

可以使用任何文本编辑器来编写这些脚本;对于一般用途,强烈建议使用 Jedit。要获取更多信息,请访问: http://www.jedit.org

编写好脚本后,可通过运行程序并从“File”菜单中选择 Open Command File... 来在命令窗口中使用此脚本。找到并打开所需脚本。然后,脚本便会显示在命令缓冲区中。用户还可以对缓冲区中的脚本进行编辑,但目前还无法保存命令缓冲区(之后可能会增加此功能)。

在脚本位于命令缓冲区后,可以按下 Execute Command Buffer 按钮来执行脚本。如果脚本中存在断点,脚本会执行到该点,并向用户显示一个对话框和一个按钮,按下该按钮便可继续执行脚本。准备好继续后,按下该按钮,脚本便会继续运行。

以下是一个设置了断点的脚本(其中一部分)示例:

# setup AIC33 for input and output

# uses I2C interface

i i2cfast

# reg 07 - codec datapath

w 30 07 8A

r 30 07 1

d 1000

# regs 15/16 - ADC volume, unmute and set to 0dB

w 30 0F 00 00

r 30 0F 2

b

此脚本会将值 8A 写入寄存器 7,然后读回寄存器,以验证写入是否成功。读取操作后存在 1000ms(一秒钟)延迟,用于暂停脚本运行。当脚本继续运行时,值 00 00 会写入从寄存器 0F 开始的位置。此输出通过读取两个字节并再次暂停脚本(这次是使用断点)来验证。当因为断点而出现对话框时,在用户按下对话框上的 OK 之前,脚本不会继续运行。