如何通过TPS65994AD和TUSB1044在Type-C接口实现USB3.1 Gen2

描述

Other Parts Discussed in Post: TPS65994AD, TUSB1044

作者:Dylan Zheng

USB Type-C日益普及,广泛应用于笔记电脑,手机,台式机和工业PC等领域,在这些应用场合往往需要Type-C 接口既支持高速数据传输,同时也能够支持多媒体功能。本文主要介绍如何通过TPS65994AD和TUSB1044在Type-C接口实现USB3.1 Gen2和DP1.4。

TPS65994AD是一款独立的USB Type-C和 USB PD控制器,内置电源路径,支持USB PD 3.0,可以实现DP,Thunderbolt等ALT Mode。TUSB1044是一款USB Type-C Alt Mode redriving switch,支持速率可达10 Gbps,可搭配集成USB3.1/DP MUX的Host实现支持USB3.1 Gen2和DP1.4功能的Type-C接口。TPS65994AD通过CC识别接入的设备,再通过I2C或者GPIO与TUSB1044通信,进而根据CC 状态控制TUSB1044内部AUX切换和USB3.1/DP redriver配置,实现Host端的USB3.1和DP Mode。其中, GPIO模式通信,控制简单,易于实现;I2C模式通信,控制灵活,并可以减少外围器件和IO口的使用,节省PCB空间。

TPS65994AD和TUSB1044通过I2C 模式实现USB Type-C USB3.1/DP Mode的系统框图如图1所示。将TPS65994AD的I2C master(I2C3m_SCL,I2C3m_SDA)连接到TUSB1044的I2C接口;将TPS65994AD 相应port 的DP HPD(GPIO0/GPIO1)连接到对应TUSB1044的HPDIN引脚;将TUSB1044 I2C_EN上拉,使能I2C模式;通过UEQ0/A0和UEQ1/A1引脚悬配置TUSB1044的I2C地址,有16个地址可供选择;其他引脚的配置可以参考TPS65994ADTUSB1044的datasheet。

usb

图1 TPS65994AD和TUSB1044 系统框图

下面着重介绍TPS65994AD PD Firmware的配置以实现上述USB3.1 Gen2和DP1.4功能,采用的软件工具为TPS65993_4 Application Customization Tool,主要配置如下:

  1. 如图2所示,使能DP SID和DP mode,并做图2所示配置。

usb

图2 DP配置

  1. 如图3所示,配置“I2C Master Config”,将slave address 1配置为所设定的TUSB1044 I2C地址,这里为“12”。

usb

图3配置I2C 地址

  1. 如图4所示,配置“App Config Binary Data Indices”,将port1 I2C event start index配置为index 1,即TPS65994 I2C master从index 1开始发送port 1的I2C event;设置I2C event的总个数,这里设置为20个数。需要注意的是,index 0专门用于country code,不能将I2C event start index配置为index 0;I2C event的个数需与实际所用个数一致。

usb

图4配置Binary Data Indices

  1. 如图5所示,通过“Settings”进入“I2C Master Event Table”配置待发送的Data。TPS65994支持50个Record index,其中Record index 0用于country code。如步骤3所配置,这里从Record index 1开始配置,Record index 1配置参数如下:
    1. Trigger Event:用于选择触发I2C master发送data的触发事件,这里选择为I2C_MASTER_EVENT_POWER_ON_RESET,即以TPS65994AD重新上电复位为触发事件。
    2. Data Length:发送data的长度,以byte为单位,长度需与Data里面填入的数据相同,这里设置为2。
    3. Slave Address Index:用于选择给哪一个I2C slave 设备发送数据,如步骤2所配置,这里配置为0,即选择第一个slave address:0x12。
    4. Priority:用于设置优先级,这里采用默认设置0。
    5. Data:用于设置I2C master发送的数据,采用十六进制,最右边的byte最先发送,这里配置为0x100a,即PD刚上电时对TUSB1044的0x0a寄存器写入0x10,关断USB和DP模式,EQ采用寄存器的设置值。寄存器定义详见TUSB1044的datasheet。

usb

图5配置I2C  Master

  1. 同理,对Record index 2~ Record index 20按表1内容进行配置,以实现Host端的1和DP Mode。

Record index

Trigger Event

Data Length

Slave Address index

Priority

Data

1

I2C_MASTER_EVENT_POWER_ON_REST

2

0

0

0x100a

2

I2C_MASTER_EVENT_DETACH

2

0

0

0x100a

3

I2C_MASTER_EVENT_ATTACH_UU

2

0

0

0x110a

4

I2C_MASTER_EVENT_ATTACH_UU

2

0

0

0x680c

5

I2C_MASTER_EVENT_ATTACH_UU

3

0

0

0x666610

6

I2C_MASTER_EVENT_ATTACH_UU

3

0

0

0x333320

7

I2C_MASTER_EVENT_ATTACH_UD

2

0

0

0x150a

8

I2C_MASTER_EVENT_ATTACH_UD

2

0

0

0x680c

9

I2C_MASTER_EVENT_ATTACH_UD

3

0

0

0x666610

10

I2C_MASTER_EVENT_ATTACH_UD

3

0

0

0x333320

11

I2C_MASTER_EVENT_DP_CONFIG_ACE_UU

2

0

0

0x1a0a

12

I2C_MASTER_EVENT_DP_CONFIG_ACE_UU

3

0

0

0x555510

13

I2C_MASTER_EVENT_DP_CONFIG_ACE_UD

2

0

0

0x1e0a

14

I2C_MASTER_EVENT_DP_CONFIG_ACE_UD

3

0

0

0x555510

15

I2C_MASTER_EVENT_DP_CONFIG_BDF_UU

2

0

0

0x1b0a

16

I2C_MASTER_EVENT_DP_CONFIG_BDF_UU

3

0

0

0x665510

17

I2C_MASTER_EVENT_DP_CONFIG_BDF_UU

3

0

0

0x333320

18

I2C_MASTER_EVENT_DP_CONFIG_BDF_UD

2

0

0

0x1f0a

19

I2C_MASTER_EVENT_DP_CONFIG_BDF_UD

3

0

0

0x556610

20

I2C_MASTER_EVENT_DP_CONFIG_BDF_UD

3

0

0

0x333320


                                             表1配置Record index 1~ Record index 20

本文介绍了一种基于TPS65994AD和TUSB1044通过I2C模式实现的USB Type-C USB3.1/DP Mode系统,详细分析了其系统架构和Firmware配置,该方案具有外围器件少,节省PCB空间,Redriver参数可根据不同线路通过Firmware软件灵活调节等优势。用户可根据此文快速搭建USB Type-C USB3.1 Gen2/DP1.4系统。

 审核编辑:符乾江

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分