技术细节 (revC3)

本文档描述了 Glasgow revC3 的硬件技术细节。

电源

Glasgow 从其 USB-C 接口供电。供电电压为 5.0 V,通常工作电流不超过 500 mA。为了稳定性和安全性,我们推荐您使用一个能提供 5.0 V 电压,1.0 A 电流的标准 USB 接口。

有些不符合标准的 USB 接口(如某些自带供电的 USB 集线器)可能未经协商在 5.0 V 电压提供超过 3.0 A 电流。虽然使用这些接口给 Glasgow 供电在除了极少数情况下都是完全没有问题的,但是这些不符合标准的大电流 USB 电源可能没有实现正确的过流保护。如果 Glasgow 的 USB-C 接口损坏,导致发生 VBUS 和 GND 之间的短路,这种 USB 电源可能会提高电路板和其上其它元件损坏的风险。在电路板上任何其它位置可能发生的短路,都可以由 Glasgow 设计上的过流检测和保护功能得到保护。这些保护措施,本文将在其它部分进一步阐述。

因为 Glasgow 在任何时候都不需要超过 1.0 A 电流,所以使用非标准大电流 USB 接口没有好处。

USB-C 接口的外壳经一个 100 nF 电容和一个 100 kΩ 电阻并联接地。电路板四角的镀铜安装孔接地。

+5V 电源轨

+5V 电源轨是 Glasgow 的输入电源轨。您可以在电路板正反面的 5V 测试点对此电源轨进行测量。

+5V 电源轨由 VUSB 直接产生,不经额外稳压。因此,取决于您所用的电源和 USB 线缆,您应当预期 +5V 轨的电压可能会有些波动。

一个 BLM15PX601SZ1 磁珠 (FB1) 串联在 USB 上,以期减少传导发射到 USB 线缆的干扰。它的最大直流电阻为 230 mΩ,在 100 MHz 下的阻抗为 600 Ω。这个磁珠也作为一个简易保险丝,在 U15 或 C8 短路失效且 USB 供电没有正确实现过流保护的情况下断开电源。

一个 TPD3S014 限流 IC (U15) 插入在 VUSB 和 +5V 轨之间,限制最大电流 850 mA。在 +5V 轨上有一个 150 uF 铝电解电容,作为大解耦电容和欠压保护。因此,在刚刚给 Glasgow 连接电源的时候,您应当预期有一小段时间有 850 mA 涌入电流。连续工作时的电流在正常情况下不应超过 500 mA。

+5V 轨由一个 APX811-40UG-7 监控 IC 监测。监控 IC 的欠压阈值标称值为 4.0 V。如果 +5V 轨的电压掉落至低于此值,则 +3.3V 电源稳压器被失能,且 CY_RESET 信号激活,保持 Cypress FX2 USB 控制器 IC (U1) 在复位状态。

+5V 电源轨为下列设备供电:

标号

型号

功能和注释

U7

APX811-40UG-7

+5V 轨监控和复位(由复位按钮触发)

U8

TLV75533PDRVR

3.3 V,500 mA 线性稳压器,用于给 +3.3V 电源轨供电

U36

TLV73312PQDRVR

1.2 V,300 mA 线性稳压器,用于给 +1.2V 电源轨供电

U31

TPS73101DBV

可调节线性稳压器,用于给端口 A 的 VIO 供电

U14

TPS73101DBV

可调节线性稳压器,用于给端口 B 的 VIO 供电

+3.3V 电源轨

+3.3V 电源轨为板上大部分 IC 供电。您可以在电路板正反面的 3V3 测试点对此电源轨进行测量。电路板正面绿色 PWR LED 由 +3.3V 轨供电。

+3.3V 轨由 +5V 轨经一个 TLV75533PDRVR 线性稳压器 (U8) 产生。该稳压器最大电流为 500 mA。该稳压器 EN 引脚由 APX811-40UG-7 监控 IC (U7) 驱动,而后者监控 +5V 轨的稳定性;如果 +5V 轨出现不符合所需阈值的情况,U7 的复位信号会失能 +3.3V 稳压器。

+3.3V 电源轨为下列设备供电:

标号

型号

功能和注释

D1

NCD0603G1

电路板正面 "PWR" LED

U1

CY7C68013A-56LTX

Cypress FX2 HS USB 控制器。+3.3V 轨为 VCC, AVCC 供电

U2

CAT24M01X

I2C 1Mbit 串行 EEPROM,为 iCE40 使用

U3

BL24C256A-SFRC

I2C 256Kbit 串行 EEPROM,为 FX2 使用

U5

PCA6408APW

I2C I/O 扩展,为端口 B 的可编程上拉、下拉电阻使用。+3.3V 为 I2C 供电

U4, U6, U9, U10, U11, U16, U17, U18

SN74LVC1T45DCKR

端口 A 的逻辑电平转换器。+3.3V 为内侧供电 (VCCA)

U12

INA233

端口 B 的电压和电流测量 IC

U13

DAC081C081CIMK

I2C DAC,用于为端口 B 的 VIO 编程

U19

PCA6408APW

I2C I/O 扩展,为端口 A 的可编程上拉、下拉电阻使用。+3.3V 为 I2C 供电

U20

DAC081C081CIMK

I2C DAC,用于为端口 A 的 VIO 编程

U21

INA233

端口 A 的电压和电流测量 IC

U22, U23, U24, U25, U26, U27, U28, U29

SN74LVC1T45DCKR

端口 B 的逻辑电平转换器。+3.3V 为内侧供电 (VCCA)

U30

ICE40HX8K-BG121

iCE40 FPGA。+3.3V 轨为 VCCIO_x、VPP_2V5、VCC_SPI 供电

U32

SN74LVC1T45DCKR

SYNC 输入和输出连接器的逻辑电平转换器。+3.3V 为内侧供电 (VCCA)

+1.2V 电源轨

+1.2V 轨为 iCE40 FPGA 供电(VCC 和 VCCPLL0/1)。您可以在电路板正反面的 1V2 测试点对此电源轨进行测量。

+1.2V 轨由 +5V 轨经一个 TLV75533PDRVR 线性稳压器 (U8) 产生。该稳压器最大电流为 500 mA。该稳压器 EN 引脚直接连接至 +5V 轨。当 +5V 轨电压达到 1.3V 时,稳压器进入压差模式;当 +5V 轨达到约 1.65 V 时,稳压器进入正常工作模式。

VCCPLL0 和 VCCPLL1 供电经一个 100 Ω 电阻和 4.7 uF 电容低通滤波,其 -3 dB 截止频率约为 340 Hz。

VIO 电源轨

独立的 VIO 电源轨共有两个:一个为端口 A 供电,一个为端口 B 供电。这两个电源轨都可以调节,以此设置两个端口的 IO 电平。每个 VIO 轨的电压都可以独立调节,以此允许您在端口 A 和端口 B 上用两个不同的逻辑电平同时工作。VIOA 和 VIOB 轨分别在端口 A 和端口 B 连接器上由引脚暴露出来。

每个 VIO 轨都是由 +5V 轨经一个 TPS73101DBV 线性稳压器 (U31, U14) 产生。这些稳压器具有超低压差(仅 30 mV),因此允许的 VIO 值可调范围为 1.8 V 到 +5V 轨电压(基本相当于 VUSB)减去 30 mV。

TPS73101DBV 稳压器具有电流反流阻隔功能,避免电流流入稳压器中(而非从稳压器流出)。该稳压器还具有一个独特的折返保护限流特性,对 VIO 轨短路故障提供了极佳的保护(参见数据手册 "Internal Current Limit" 一节和 Figure 12)。

每个 VIO 稳压器有一个反馈网络,其中包含 DAC081C081CIMK DAC IC 的输出。这些 DAC (U20, U13) 经由 I2C 编程,通过向反馈电阻网络内注入电流来实现反馈电压的调节,以此调节 VIO 电压,提供运行时 VIO 电压调节功能。DAC 输出可以由电路板背面的 VDAC A/B 测试点测量。FX2 固件对目标输出电压计算正确的 DAC 电压。举例如下:

VIO 电压

DAC 输出

5.0 V

0.45 V

3.3 V

1.88 V

2.8 V

2.31 V

2.5 V

2.56 V

1.8 V

3.15 V

在上电和复位时,两个 VIO 稳压器均失能,且调压 DAC 复位至 0.0 V。在 DAC 电压经由 I2C 编程后,FX2 允许激活 ENVAENVB 信号(分别为 FX2 的引脚 45 和 51)使能对应的稳压器。VIO A 和 VIO B LED 在稳压器使能时点亮。

VIO 轨电流测量由 INA233 电压和电流监控 ADC IC (U21, U12) 和用串联在稳压器输出上的 150 mΩ 分压电阻 (R49, R48) 实现。以此可以在 I2C 上测量每个端口的 VIO 电流。每个 INA233 的电压采集引脚由端口连接器暴露 (VA_SENS, VB_SENS),以此允许实现两种有用的配置:

  • 采集输入可以直接连接至对应端口的 VIO 轨(如 VA_SENSE 直接连接到 VIOA),允许您精确监控 VIO 轨电压,并用 INA233 的自带的功率计算功能测量该 VIO 轨消耗的功率。

  • 采集输入可以连接到任意 0.0 V 到 36.0 V 电压,相当于使用 INA233 的电压采集输入作为一个通用 16 位 ADC 输入。在这个配置下,VIO 轨电源电流仍然可以被测量,但是自带的功率计算功能不可用。

稳压器输出上还串联有额外的 330 mΩ 电阻 (R56, R7),确保在 VIO 轨短路到地后还可以恢复。细节请参见 GitHub issue #135

每个 VIO 轨都有过压和 ESD 保护,用 SP3012-06UTG 阵列中的两个二极管组并联实现。VIOA 由 D22 保护,VIOB 由 D20 保护。这些二极管组也有 6.0 V 钳位齐纳二极管。

VIOA 电源轨为下列设备供电:

标号

型号

功能和注释

U4, U6, U9, U10, U11, U16, U17, U18

SN74LVC1T45DCKR

端口 A 的逻辑电平转换器。VIOA 为外侧供电 (VCCB)

U19

PCA6408APW

I2C I/O 扩展,为端口 A 的可编程上拉、下拉电阻使用。VIOA 为 IO 端口供电

VIOB 电源轨为下列设备供电:

标号

型号

功能和注释

U22, U23, U24, U25, U26, U27, U28, U29

SN74LVC1T45DCKR

端口 B 的逻辑电平转换器。VIOB 为外侧供电 (VCCB)

U5

PCA6408APW

I2C I/O 扩展,为端口 B 的可编程上拉、下拉电阻使用。VIOB 为 IO 端口供电

VIO_AUX

端口 A 和 B 是 Glasgow 上预期用户使用的主要连接器。LVDS 连接器是一个次要连接器,用于连接需要更多 IO 的特殊扩展组件。与有良好 ESD 保护、独立电平转换、独立 VIO 轨的端口 A 和端口 B 不同,LVDS 接口直接连接到 iCE40 FPGA,没有任何逻辑电平转换和分立的保护,也没有可编程 IO 电压。在 LVDS 连接器上所暴露的 IO 供电必须由外部电路提供给 VIO_AUX(引脚 44)。该电压直接送给 FPGA 上的 VCCIO_3。支持的电压范围为 1.8 V 到 3.3 V。细节详见 iCE40HX8K-BG121 数据手册。

解耦电容

Glasgow 设计中使用两种容值的 MLCC 解耦电容。

4.7 uF 电容为太阳诱电 LMK107BJ475KAHT,直流偏压特性如下:

直流偏压

实际电容值

5.0 V

1.93 uF

3.3 V

2.82 uF

2.5 V

3.39 uF

1.8 V

3.92 uF

1.2 V

4.37 uF

100 uF 电容为太阳诱电 TMK105BJ104KV-F(现型号为 MSAST105SB5104KFNA01),直流偏压特性如下:

直流偏压

实际电容值

5.0 V

93 nF

3.3 V

98 nF

2.5 V

99 nF

1.8 V

100 nF

1.2 V

100 nF

上电序列

上电序列如下:

  1. 5.0 V 从 USB-C 连接器上的 VUSB 引脚开始上电

  2. VUSB 超过 TPD3S014 限流开关的使能阈值(标称值 1.45 V)后,再经过约 1.0 ms 到 2.2 ms(标称值 1.6 ms),限流开关闭合,+5V 电源轨电压开始上升

  3. TPD3S014 进行软启动和涌入电流限制,对 +5V 电源轨上的 150 uF 大电容 (C87) 充电。充电大约需要 2 ms,在此期间输入电流为 850 mA。

  4. 当 +5V 电源轨达到约 1.3 V 时,TLV73312PQDRVR 线性稳压器退出失能模式,进入压差模式。在此期间,+1.2V 电源轨的电压是 +5V 轨电压减去 450 mV 的稳压器压差。当 +5V 轨超过 1.65 V 时,稳压器进入正常工作模式,此时 +1.2V 轨电压稳定在 1.2 V。

  5. APX811-40UG-7 (U7) 监控 +5V 轨电压,在 +5V 轨电压小于 4.0 V(标称)时激活复位信号(低有效)。

  6. 在 +5V 轨超过此阈值约 240 ms 时,U7 的复位信号不再激活,使得 TLV75533PDRVR 线性稳压器 (U8) 启动,为 +3.3V 电源轨供电。

  7. +3.3V 轨和 U7 产生的复位信号连接到一对共阳级肖特基二极管 (D24),使得在 +3.3V 电源轨未上电或 U7 输出复位状态时 CY_RESET 均激活(低有效)。该 CY_RESET 信号经 R4、R5、C88 低通滤波,确保 CY_RESET 持续生效到 +3.3V 轨上电 5ms 之后。

  8. 至此,所有电源轨均达标称电压,且 CY_RESET 被释放,允许 FX2 USB 控制器开始工作。FX2 将 FPGA_RESET 释放,允许 iCE40 FPGA (U30) 开始工作。

  9. 在上电时,ENVAENVB 下拉,失能提供端口 A 和 B 的 VIO 的 TPS73101DBV 可调线性稳压器 (U31, U14)。两个 DAC081C081CIMK DAC (U20, U13) 为稳压器提供可调反馈电压。这两个 DAC 经由 I2C 编程,按需调节 VIO 稳压器的输出电压。调节后,FX2 允许激活 ENVA 和/或 ENVB,以启用稳压器,而为 VIO 输出供电。

连接器

端口 A 连接器布局

VIOA

GND

GND

GND

GND

GND

GND

GND

GND

NC

VA_SENS

PA_IO0

PA_IO1

PA_IO2

PA_IO3

PA_IO4

PA_IO5

PA_IO6

PA_IO7

NC

端口 B 连接器布局

NC

PB_IO7

PB_IO6

PB_IO5

PB_IO4

PB_IO3

PB_IO2

PB_IO1

PB_IO0

VIOB

NC

GND

GND

GND

GND

GND

GND

GND

GND

VB_SENS

端口 A/B 引脚描述

编号

名称

线色

描述

1

SENSE

电压传感,连接到 INA233 的 VBUS 引脚。连接到引脚 2 以使能 VIO 功率测量功能,或作为任意 0-36V 16 位 ADC 使用。

2

VIO

逻辑电平供电输出。由 TPS73101DBV 线性稳压器产生,电压由 DAC081C081CIMK DAC 运行时调节。

3

IO0

IO 引脚 0。

4

GND

接地。

5

IO1

绿

IO 引脚 1。

6

GND

接地。

7

IO2

IO 引脚 2。

8

GND

接地。

9

IO3

IO 引脚 3。

10

GND

接地。

11

IO4

IO 引脚 4。

12

GND

接地。

13

IO5

IO 引脚 5。

14

GND

接地。

15

IO6

IO 引脚 6。

16

GND

接地。

17

IO7

IO 引脚 7。

18

GND

接地。

19

NC

N/A

无连接。

20

NC

N/A

无连接。

此处列出的线色仅对 1BitSquared 排线有效,而非 Glasgow 本身的特性。

注意每个 IO 都与一个 GND 相对。这为回流电流提供了一个参考地,因而可以增强信号完整性,减少较高速信号间的串扰。如果可能,请将每个地线连接到目标设备上的物理靠近信号连接点的 GND。

每个 IO 都由一个 SN74LVC1T45DCKR 总线收发器驱动。总线收发器将端口的逻辑电平 (VIO) 和 FPGA 的 IO 端口所用的 3.3 V 电平之间转换。每个 IO 都可以独立配置为输入或输出。每个 IO 引脚可以提供流入或流出最大电流 4 mA @ 1.8 V,8 mA @ 2.5 V,24 mA @ 3.3 V,32 mA @ 5.0 V。

SN74LVC1T45DCKR 本身提供 FPGA 和 IO 引脚之间有限的隔离,和一小部分的 ESD 保护。此外的 ESD 保护和过压保护由 SP3012-06UTG 二极管阵列和串联 33Ω 终端电阻实现。

VSENSE 引脚由一个 CDSOD323-T36S 单向 TVS 二极管保护,为 INA233 IC 提供过压保护。

SYNC 连接器

SYNC 连接器用于将多个 Glasgow 同步。截至 2024 年 3 月,本功能还并不常用,但是我们期望广大用户可以发明一些有趣的用法。

SYNC 引脚有一个到 +3.3V 轨的弱上拉,并用一个 SN74LVC1T45DCKR 总线收发器缓冲。输入低电平阈值为 0.8 V,输入高电平阈值为 2.0 V,因而与 2.5 V、3.3 V、5.0 V 逻辑电平直接兼容。

SYNC 引脚由一个 ESD5Z5.0T1G ESD 保护二极管(截止电压为 5.0 V,击穿电压为 6.2 V)和一个 47 Ω 串联电阻保护。

LVDS 连接器

LVDS 端口是一个次要连接器,用于连接特制的扩展组件。该连接器直接连接到 FPGA 上,而没有使用总线收发器,因此其 ESD 保护有限。所以,您应当在连接时保持小心,并且仅在设备完全断电时操作。

LVDS 端口将在新版本 Glasgow 硬件设计中替换为其它的连接器,所以不推荐在扩展组件上使用 LVDS 连接器。

编号

名称

编号

名称

1

GND

2

+3.3V

3

Z11_N

4

GND

5

Z11_P

6

GND

7

GND

8

Z12_P

9

Z10_P

10

Z12_N

11

Z10_N

12

GND

13

GND

14

Z9_N

15

Z8_P

16

Z9_P

17

Z8_N

18

GND

19

GND

20

Z7_N

21

Z6_P

22

Z7_P

23

Z6_N

24

GND

25

GND

26

Z5_N

27

Z3_P

28

Z5_P

29

Z3_N

30

GND

31

GND

32

Z4_P

33

Z2_N

34

Z4_N

35

Z2_P

36

GND

37

GND

38

Z1_N

39

Z0_P

40

Z1_P

41

Z0_N

42

GND

43

GND

44

VIO_AUX

+3.3V 引脚从板上的 +3.3V 电源轨提供 3.3 V 供电。

如需使用 LVDS 连接器,您必须为 VIO_AUX(引脚 44)提供一个 1.8 V 到 3.3 V 之间的 IO 电压。这个引脚直接连接到 FPGA 上的 VCCIO_3。对于供电的要求详见 iCE40HX8K-BG121 数据手册。

这些引脚可以作为差分模式(N/P 对)或单端模式(N 和 P 上为独立信号)使用。

终端电阻默认没有提供。如果您使用 LVDS 连接器,您应当在您的电路板上包含终端电阻。详见 Lattice 文档 FPGA-TN-02213 "Using Differential I/O (LVDS, Sub-LVDS) in iCE40 LP/HX Devices"

LEDs

名称

颜色

标号

型号

描述

PWR

绿

D1

NCD0603G1

由 +3.3V 电源轨供电

FX2

D2

NCD0603W1

连接到 Cypress FX2 (U1) 的引脚 47 (PD2/FD10)。在被枚举时闪烁。FX2 初始化完成后点亮。

ICE

D3

ORH-B36G

连接到 Cypress FX2 (U1) 的引脚 48 (PD3/FD11)。在 FPGA 就绪后点亮。

ACT

D4

NCD0603O1

连接到 Cypress FX2 (U1) 的引脚 49 (PD4/FD12)。在设备有活动时点亮。

ERR

D5

NCD0603R1

连接到 Cypress FX2 (U1) 的引脚 50 (PD5/FD13)。在出现错误时点亮。

U1

D6

ORH-B36G

连接到 iCE 40 FPGA (U30) 焊球 G9 (IOR_128)

U2

D7

OSK40603C1E

连接到 iCE 40 FPGA (U30) 焊球 G8 (IOR_118)

U3

D8

NCD0603W1

连接到 iCE 40 FPGA (U30) 焊球 E9 (IOR_144)

U4

D9

OSK40603C1E

连接到 iCE 40 FPGA (U30) 焊球 D9 (IOR_147)

U5

D10

ORH-B36G

连接到 iCE 40 FPGA (U30) 焊球 E8 (IOR_146)

VIO A

绿

D15

NCD0603G1

VIO A 稳压器 (U31) 使能时点亮

VIO B

绿

D14

NCD0603G1

VIO B 稳压器 (U14) 使能时点亮

系统 LED (FX2, ICE, ACT, ERR) 由 FX2 固件控制并负责实现上述功能。如果出现 FX2 固件没有运行的情况(如没有提供固件),LED IO 管脚默认为高阻态,所有 LED 均熄灭。

用户 LED (U1-U5) 由 FPGA 门件控制。在大多数情况下,这些 LED 不被使用,此时 FPGA 将其默认配置为弱下拉输入,进而使用户 LED 微弱点亮。

I²C 总线

Glasgow 内部使用 I2C 控制 VIO 电压、测量 VIO 电流、电压(或一个外部电压输入),以及和 FX2 和 iCE40 的 EEPROM 通信。该总线的 SDA 和 SCL 信号可以在电路板正反面的测试点测量。

I²C 总线地址

地址

标号

型号

功能

101001X [1]

U2

CAT24M01X

1 Mbit [4] 闪存,给 iCE40 FPGA 使用

1010001

U3

BL24C256A-SFRC

闪存,给 FX2 USB 控制器使用

0001110

U20

DAC081C081CIMK

DAC,用于设定端口 A 的 VIO 电压

1000000

U21

INA233

端口 A 的电压和电流测量 ADC

0100000 [2]

U19

PCA6408APW

I2C I/O 扩展,为端口 B 的可编程上拉、下拉使用。

0001101

U13

DAC081C081CIMK

DAC,用于设定端口 B 的 VIO 电压

1000001

U12

INA233

端口 B 的电压和电流测量 ADC

0100001 [3]

U5

PCA6408APW

I2C I/O 扩展,为端口 B 的可编程上拉、下拉使用。

恢复

板上有一对标注为 "RECOVER" 的焊盘,位于 FX2 EEPROM (U2) 旁边。在原理图中,这对焊盘对应封装 R40。启动恢复流程的步骤如下:将这对焊盘短路,然后按下复位按钮,然后解除短路。这会将 FX2 EEPROM 的 I2C 地址临时改变,使 FX2 启动时无固件,进入恢复模式,并枚举为 FX2 默认的设备描述。fx2tool 工具可以用于备份 FX2 EEPROM。glasgow factory 命令可以重新刷写设备配置块和固件。