技术细节 (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 允许激活 ENVA 和 ENVB 信号(分别为 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. 在上电时,ENVA 和 ENVB 下拉,失能提供端口 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 命令可以重新刷写设备配置块和固件。