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修订历史记录

USB-MODEVM 协议

USB-MODEVM 定义为供应商特有类,并在 PC 系统中被识别为 NI-VISA 器件。由于 TAS1020 在其 ROM 中具有多个旨在与 HID 类器件配合使用的例程,因此使用的是类似 HID 的结构,尽管 USB-MODEVM 不是 HID 类器件。使用控制端点将数据从 PC 传递到 TAS1020。

表 3-3 中所述,数据以 HIDSETREPORT 形式发送。

表 3-3 USB 控制端点 HIDSETREPORT 请求
器件 说明
bmRequestType 0x21 00100001
bRequest 0x09 SET_REPORT
wValue 0x00 无关
wIndex 0x03 HID 接口为索引 3
wLength 由主机计算
数据 数据包如下所述

表 3-4 列出了组成数据包的字节。

表 3-4 数据包配置
字节编号 类型 说明
0 接口 指定串行接口和工作。这两个值进行逻辑或运算。
运行:
读取 0x00
WRITE 0x10
接口:
GPIO 0x08
SPI_16 0x04
I2C_FAST 0x02
I2C_STD 0x01
SPI_8 0x00
1 I2C 从站地址 I2C 器件的从器件地址或 SPI 16 位寄存器地址的 MSB
2 长度 要写入/读取的数据长度(字节数)
3 寄存器地址 I2C 或 8 位 SPI 的寄存器地址;SPI 16 位地址的 LSB
4...64 数据 一次最多可以写入 60 个数据字节。EP0 最大长度为 64。返回数据包限制为 42 个字节,因此建议任何时候一次仅发送 32 个字节。

示例用法:

使用地址 A0 从 I2C 器件的寄存器 5 开始将两个字节(AA、55)写入器件:

[0] 0x11

[1] 0xA0

[2] 0x02

[3] 0x05

[4] 0xAA

[5] 0x55

对快速模式 I2C 器件执行相同操作:

[0] 0x12

[1] 0xA0

[2] 0x02

[3] 0x05

[4] 0xAA

[5] 0x55

现在对使用 8 位寄存器地址的 SPI 器件执行相同的操作:

[0] 0x10

[1] 0xA0

[2] 0x02

[3] 0x05

[4] 0xAA

[5] 0x55

针对 16 位寄存器地址完成相同的过程,例如在 TSC2101 等器件中。假设寄存器地址(命令字)为 0x10E0

[0] 0x14

[1] 0x10

注:

I2C 地址现在用作寄存器地址的 MSB。

[2] 0x02

[3] 0xE0

[4] 0xAA

[5] 0x55

在每种情况下,TAS1020 都会以 HID 中断包形式返回以下数据:

[0] 接口字节 | 状态
状态:
REQ_ERROR 0x80
INTF_ERROR 0x40
REQ_DONE 0x20
[1] 对于 I2C 接口,I2C 地址就是发送的地址
对于 SPI 接口,从用于传输相应字节的 SPI 线路读回的数据就是发送的数据
[2] 长度就是发送的长度
[3] 对于 I2C 接口,寄存器地址就是发送的地址
对于 SPI 接口,从用于传输相应字节的 SPI 线路读回的数据就是发送的数据
[4..60] 发送数据包的回显。

如果命令成功发送而没有出现问题,则返回字节 [0] 必须与所发送字节和 0x20 的逻辑或运算结果相同。在第一个示例用法中,返回数据包为:

[0] 0x31

[1] 0xA0

[2] 0x02

[3] 0x05

[4] 0xAA

[5] 0x55

如果接口因任何原因而出现故障(例如 I2C 器件未确认),返回字节会以如下形式返回:

[0] 0x51 → 接口 | INTF_ERROR

[1] 0xA0

[2] 0x02

[3] 0x05

[4] 0xAA

[5] 0x55

如果请求格式错误,即接口字节(字节 [0]) 采用的值并不是上文所述的值,则返回数据包为:

[0] 0x93 → 用户发送了 0x13=,该值无效,因此返回了 0x93

[1] 0xA0

[2] 0x02

[3] 0x05

[4] 0xAA

[5] 0x55

以上示例使用写入操作。读取操作与此相似:
使用地址 A0 从 I2C 器件的寄存器 5 开始从器件读取两个字节:

[0] 0x01

[1] 0xA0

[2] 0x02

[3] 0x05

返回数据包为:

[0] 0x21

[1] 0xA0

[2] 0x02

[3] 0x05

[4] 0xAA

[5] 0x55

此结果假定上述从寄存器 5 开始的已写入值之前已实际写入器件中。