打印
[资料分享]

USB Type C Display Mode with TPS65994AD and TUSB1046A

[复制链接]
1009|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dirtwillfly|  楼主 | 2020-12-12 20:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
作者:Dylan Zheng

USB Type-C日益普及,广泛应用于笔记电脑,手机,台式机和工业PC等领域,在这些应用场合往往需要Type-C 接口既支持USB3.1,同时也能够支持Display(DP)。本文主要介绍如何通过TPS65994AD和TUSB1046A实现USB Type-C DP Mode。
TPS65994AD是一款独立的USB Type-C和 USB PD控制器,内置电源路径,支持USB PD 3.0,可以实现DP,Thunderbolt等ALT Mode。TUSB1046A是一款VESA USB Type-C AltMode redriving switch,支持USB3.1速率可达10 Gbps,也支持DP1.4速率可达8.1 Gbps,并集成了高达14 dB 的线性redriver。TPS65994AD通过CC识别接入的设备,再通过I2C或者GPIO与TUSB1046A通信,进而根据CC 状态控制TUSB1046A内部高速Mux切换和redriver配置,实现Host端的USB3.1和DP Mode。其中, GPIO模式通信,控制简单,易于实现;I2C模式通信,可以减少外围器件和IO口的使用,节省PCB空间。
TPS65994AD和TUSB1046A通过I2C 模式实现USB Type-C DP Mode的系统框图如图1所示。将TPS65994AD的I2C master(I2C3m_SCL,I2C3m_SDA)连接到TUSB1046A的I2C接口;将TPS65994AD 相应port 的DP HPD(GPIO0/GPIO1)连接到对应TUSB1046A的CTL1/HPDIN引脚;将TUSB1046A I2C_EN上拉,使能I2C模式;将SSEQ0/A0和DPEQ0/A1引脚悬空,配置TUSB1046A的I2C地址为0010010(0x12),亦可根据需求,配置成其它地址;其他引脚的配置可以参考TPS65994ADTUSB1046A的datasheet。
图1 TPS65994AD和TUSB1046A I2C模式系统框图

使用特权

评论回复

相关帖子

沙发
dirtwillfly|  楼主 | 2020-12-12 20:39 | 只看该作者
下面着重介绍TPS65994AD PD Firmware的配置以实现上述DP功能,采用的软件工具为TPS65993_4 Application Customization 6.4.12,主要配置如下:
1.如图2所示,使能DP SID和DP mode,并做图2所示配置。
图2 DP配置

使用特权

评论回复
板凳
dirtwillfly|  楼主 | 2020-12-12 20:39 | 只看该作者
2.如图3所示,配置“I2C Master Config”,将slave address 1配置为TUSB1046A I2C的地址:0x12.
图3配置I2C 地址

使用特权

评论回复
地板
dirtwillfly|  楼主 | 2020-12-12 20:40 | 只看该作者
3.如图4所示,配置“App Config Binary Data Indices”,将port1 I2C event start index配置为index 1,即TPS65994 I2C master从index 1开始发送port 1的I2C event;设置I2C event的总个数,这里设置为24个数。需要注意的是,index 0专门用于country code,不能将I2C event start index配置为index 0;I2C event的个数需于实际所用个数一致。
图4配置Binary Data Indices

使用特权

评论回复
5
dirtwillfly|  楼主 | 2020-12-12 20:41 | 只看该作者
4.如图5所示,通过“Settings”进入“I2C Master Event Table”配置待发送的Data。TPS65994支持50个Record index,其中Record index 0用于country code。如步骤3所配置,这里从Record index 1开始配置,Record index 1配置参数如下:
a. Trigger Event:用于选择触发I2C master发送data的触发事件,这里选择为I2C_MASTER_EVENT_ATTACH_UU,即USB 3.1的Type-C设备以正面接入Host端。
b. Data Length:发送data的长度,以byte为单位,长度需与Data里面填入的数据相同,这里设置为2。
c. Slave Address Index:用于选择给哪一个I2C slave 设备发送数据,如步骤2所配置,这里配置为0,即选择第一个slave address:0x12。
d. Priority:用于设置优先级,这里采用默认设置0。
e. Data:用于设置I2C master发送的数据,采用十六进制,最右边的byte最先发送,这里配置为0x110a,即对TUSB1046A的0x0a寄存器写入0x11,使能USB3.1 only,且方向为正,EQ采用寄存器的设置值。寄存器定义详见TUSB1046A的datasheet。
图5配置I2C Master

使用特权

评论回复
6
dirtwillfly|  楼主 | 2020-12-12 20:41 | 只看该作者
4.如图5所示,通过“Settings”进入“I2C Master Event Table”配置待发送的Data。TPS65994支持50个Record index,其中Record index 0用于country code。如步骤3所配置,这里从Record index 1开始配置,Record index 1配置参数如下:
a. Trigger Event:用于选择触发I2C master发送data的触发事件,这里选择为I2C_MASTER_EVENT_ATTACH_UU,即USB 3.1的Type-C设备以正面接入Host端。
b. Data Length:发送data的长度,以byte为单位,长度需与Data里面填入的数据相同,这里设置为2。
c. Slave Address Index:用于选择给哪一个I2C slave 设备发送数据,如步骤2所配置,这里配置为0,即选择第一个slave address:0x12。
d. Priority:用于设置优先级,这里采用默认设置0。
e. Data:用于设置I2C master发送的数据,采用十六进制,最右边的byte最先发送,这里配置为0x110a,即对TUSB1046A的0x0a寄存器写入0x11,使能USB3.1 only,且方向为正,EQ采用寄存器的设置值。寄存器定义详见TUSB1046A的datasheet。
图5配置I2C Master

使用特权

评论回复
7
dirtwillfly|  楼主 | 2020-12-12 20:42 | 只看该作者
5.同理,对Record index 2~ Record index 24按表1内容进行配置,以实现Host端的USB3.1和DP Mode。

Record index

Trigger Event

Data Length

Slave Address index

Priority

Data

1

I2C_MASTER_EVENT_ATTACH_UU

2

0

0

0x110a

2

I2C_MASTER_EVENT_ATTACH_UD

2

0

0

0x150a

3

I2C_MASTER_EVENT_DP_CONFIG_ACE_UU

2

0

0

0x120a

4

I2C_MASTER_EVENT_DP_CONFIG_ACE_UD

2

0

0

0x160a

5

I2C_MASTER_EVENT_DP_CONFIG_BDF_UU

2

0

0

0x130a

6

I2C_MASTER_EVENT_DP_CONFIG_BDF_UD

2

0

0

0x170a

7

I2C_MASTER_EVENT_POWER_ON_REST

2

0

0

0x110a

8

I2C_MASTER_EVENT_POWER_ON_REST

2

0

0

0x3310

9

I2C_MASTER_EVENT_POWER_ON_REST

2

0

0

0x3311

10

I2C_MASTER_EVENT_POWER_ON_REST

2

0

0

0x3320

11

I2C_MASTER_EVENT_POWER_ON_REST

2

0

0

0xa21

12

I2C_MASTER_EVENT_ATTACH_UU

2

0

0

0x3320

13

I2C_MASTER_EVENT_ATTACH_UU

2

0

0

0xa21

14

I2C_MASTER_EVENT_ATTACH_UD

2

0

0

0x3320

15

I2C_MASTER_EVENT_ATTACH_UD

2

0

0

0xa21

16

I2C_MASTER_EVENT_DP_CONFIG_ACE_UU

2

0

0

0x3310

17

I2C_MASTER_EVENT_DP_CONFIG_ACE_UU

2

0

0

0x3311

18

I2C_MASTER_EVENT_DP_CONFIG_ACE_UD

2

0

0

0x3310

19

I2C_MASTER_EVENT_DP_CONFIG_ACE_UD

2

0

0

0x3311

20

I2C_MASTER_EVENT_DP_CONFIG_BDF_UU

2

0

0

0x3310

21

I2C_MASTER_EVENT_DP_CONFIG_BDF_UU

2

0

0

0x3311

22

I2C_MASTER_EVENT_DP_CONFIG_BDF_UD

2

0

0

0x3310

23

I2C_MASTER_EVENT_DP_CONFIG_BDF_UD

2

0

0

0x3311

24

I2C_MASTER_EVENT_DETACH

2

0

0

0xa


表1配置Record index 2~ Record index 24

使用特权

评论回复
8
dirtwillfly|  楼主 | 2020-12-12 20:43 | 只看该作者
本文介绍了一种基于TPS65994AD和TUSB1046A通过I2C模式实现的USB Type-C DP Mode系统,详细分析了其系统架构和Firmware配置,该方案具有外围器件少,节省PCB空间,Redriver参数可根据不同线路通过Firmware软件调节等优势。用户可根据此文快速搭建USB Type-C DP Mode系统。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:欢迎进入TI MCU论坛      21ic TI技术交流1群:61549143(已满),  21ic TI技术交流2群:311421422 我的博客:http://blog.timcu.com/

1182

主题

34942

帖子

1117

粉丝