You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

Table of contents

Overview

TEC0850 design for MAX10 FPGA U18:  10M08SAU169C8G.

Feature Summary

  • SC to HD-IO Bank Interface
  • I²C Backplane interface
  • I²C System Control interface
  • Power control
  • Power status
  • FAN Control
  • FAN Status
  • Power status indication

Firmware Revision and supported PCB Revision

See Document Change History.

Product Specification

Port Description

Name / opt. VHD NameDirectionPinBank PowerDescription
ADBUS0        
G93V_D
ADBUS1        
F103V_D
ADBUS2        
E103V_D
ADBUS3        
D93V_D
AVDD_SHDN     
G103V_D
BCBUS0        
D123V_D
BCBUS1        
E133V_D
BCBUS2        
E123V_D
BCBUS3        
F133V_D
BCBUS4        
F123V_D
BDBUS0        
B113V_D
BDBUS1        
A123V_D
BDBUS2        
B123V_D
BDBUS3        
C113V_D
BDBUS4        
B133V_D
BDBUS5        
C123V_D
BDBUS6        
C133V_D
BDBUS7        
D113V_D
CONF_DONE     
C53V_D
DET_BPR       
H23V_D
DET_RIO       
H33V_D
DONE          
N3PS_1V8
EN_3V3        
C103V_D
EN_DAC1       
E63V_D
EN_DAC2       
E83V_D
EN_DAC3       
B63V_D
EN_DAC4       
A63V_D
EN_DDR        
G133V_D
EN_FPD        
L123V_D
EN_LPD        
J133V_D
EN_PSGT       
B93V_D
ERR_OUT       
G5PS_1V8
ERR_STATUS    
H6PS_1V8
F_TCK         
N2PS_1V8
F_TDI         
M1PS_1V8
F_TDO         
K1PS_1V8
F_TMS         
J1PS_1V8
F1PWM         
H103V_D
F1SENSE       
J93V_D
FTDI_RST      
E93V_D
GA0           
F83V_D
GA0_R         
F93V_D
GA1           
A23V_D
GA1_R         
B23V_D
GA2           
A33V_D
GA2_R         
B33V_D
GA3           
A43V_D
GA3_R         
B43V_D
IEEE_SW_NC    
C93V_D
IEEE_SW_NO    
A113V_D
INIT_B        
L2PS_1V8
JTAGEN        
E53V_D
LED_FP_4      
M43.3V
LP_GOOD       
H133V_D
M10_RST       
A73V_D
M10_RX        
C23V_D
M10_TX        
B13V_D
MAX_IO1       
N83.3V
MAX_IO10      
M103.3V
MAX_IO2       
N73.3V
MAX_IO3       
M93.3V
MAX_IO4       
M83.3V
MAX_IO5       
M123.3V
MAX_IO6       
M133.3V
MAX_IO7       
N93.3V
MAX_IO8       
N103.3V
MAX_IO9       
M113.3V
MIO22         
M3PS_1V8
MIO23         
M2PS_1V8
MIO24         
L3PS_1V8
MIO25         
H5PS_1V8
MR            
K103V_D
N.C.
J53.3V
N.C.
J63.3V
N.C.
J73.3V
N.C.
J83.3V
N.C.
K53.3V
N.C.
K63.3V
N.C.
K73.3V
N.C.
K83.3V
N.C.
L43.3V
N.C.
L53.3V
N.C.
M53.3V
N.C.
M73.3V
N.C.
N43.3V
N.C.
N53.3V
N.C.
N63.3V
N.C.
L103.3V
N.C.
L113.3V
N.C.
N123.3V
nCONF         
E73V_D
nSTATUS       
C43V_D
ON_GT_L       
J123V_D
ON_GT_R       
K123V_D
PG_DDR        
H83V_D
PG_GT_L       
H93V_D
PG_GT_R       
G123V_D
PG_PL         
L133V_D
PG_PSGT       
K113V_D
PLL_RST       
K2PS_1V8
PROG_B        
J2PS_1V8
PSON          
D63V_D
RP_SCL        
E13V_D
RP_SDI        
G43V_D
RP_SDO        
F43V_D
RP_SL         
F13V_D
RST           
B53V_D
RST_PRST      
A83V_D
RST_PRST_R    
B103V_D
RST_R         
D83V_D
SATA_SCL      
G23V_D
SATA_SDI      
F63V_D
SATA_SDO      
F53V_D
SATA_SL       
G13V_D
SMB_SCL       
E33V_D
SMB_SCL_R     
E43V_D
SMB_SDA       
C13V_D
SMB_SDA_R     
D13V_D
SRST_B        
H4PS_1V8
SW4           
A53V_D
SYSEN         
D73V_D
USR_BTN       
J103V_D
WAKE          
A93V_D
WAKE_R        
A103V_D
Name / opt. VHD NameDirectionPinBank PowerDescription
FTDI_RXDin

UART receive data from FTDI
FTDI_TXDout

UART transmit data to FTDI
MIO22out

UART receive data to FPGA
MIO23in

UART receive data from FPGA
ZYNQ_TDOin

FPGA JTAG TDO
ZYNQ_TCKout

FPGA JTAG TCK
ZYNQ_TDIout

FPGA JTAG TDI
ZYNQ_TMSout

FPGA JTAG TMS
ADBUS0in

FTDI JTAG TCK
ADBUS1in

FTDI JTAG TDI
ADBUS2out

FTDI JTAG TDO
ADBUS3in

FTDI JTAG TMS
USB_BTNin

Front panel button
LED4out

Front panel LED4
MRout

Supervisor Reset output
SRST_Bout

FPGA SRST_B
FTDI_RSTout

FPGA RST_B
PLL_RSTout

Clock chip Reset
EN_DAC1out

DAC1 Power Enable
EN_DAC2out

DAC2 Power Enable
EN_DAC3out

DAC3 Power Enable
EN_DAC4out

DAC4 Power Enable
EN_FPDout

FPD Power Enable
EN_LPDout

LPD Power Enable
EN_DDRout

DDR Power Enable
EN_PSGTout

PSGT Power Enable
ON_GT_Lout

GT_L Power Enable
ON_GT_Rout

GT_R Power Enable
PG_PSGTin

PSGT Power Good
LP_GOODin

LP Power Good
PG_GT_Lin

GT_L Power Good
PG_GT_Rin

GT_R Power Good
PG_PLin

PL Power Good
PG_DDRin

DDR Power Good
F1PWMout

FAN PWM Control
F1SENSEin

FAN Sense
DONEin

FPGA DONE
IO1in

FPGA I2C SCL_t
IO2out

FPGA I2C SCL_i
IO3in

FPGA I2C SDA_t
IO4out

FPGA I2C SDA_i
IO5in

FPGA User LED control
SCL_Rout

SCL Strong Pull-Up Enable
SDA_Rout

SDA Strong Pull-Up Enable
SCLinout

I2C SCL
SDAinout

I2C SDA


Functional Description

Power

System Controller provides control and status information for main power rails. By default all power rails are ON, the user can manipulate power using I²C interface, see  Memory map table.

Reset

System controller generate a reset pulse to supervisor chip U69 when front panel button S3 is pressed.

JTAG

JTAG interface from FTDI controller passes through System Controller to FPGA.

SC to HD-IO Bank Interface

SC I/O #FunctionFPGA IO
IO1SCL OUTG18
IO2SCL ING19
IO3SDA OUTK18
IO4SDA INH19
IO5User LEDJ17Drive SC LED, if configured in "Control Register"
IO6-H17
IO7-H18
IO8-L18
IO9-L17
IO10-K17

I²C Interface

To use SC I²C interface corresponding connection should be configured in the FPGA project. There are 2 standard I²C interface controllers, which can be used AXI_IIC or Zynq UltraScale+ MPSoC integrated I²C controller.

AXI_IIC

Zynq UltraScale+ MPSoC integrated I²C controller

Project XDC file should contain

set_property PACKAGE_PIN G18 [get_ports {MAX_IO1}]
set_property PACKAGE_PIN G19 [get_ports {MAX_IO2}]
set_property PACKAGE_PIN K18 [get_ports {MAX_IO3}]
set_property PACKAGE_PIN H19 [get_ports {MAX_IO4}]
set_property IOSTANDARD LVCMOS33 [get_ports MAX_IO*]
set_property PULLUP true [get_ports {MAX_IO2}]
set_property PULLUP true [get_ports {MAX_IO4}]


With this configuration, I²C device with address 0x20 should be visible on I²C bus

This device is an emulation of TCA6416 I²C GPIO Chip. GPIO input and output pins are used to get status and control the system.

Memory map

AddressRegisterDescription
0Input Port 0

Power status register:

Bit 0 - LP_PGOOD

Bit 1 - PG_PL

Bit 2 - PG_PSGT

Bit 3 - PG_GT_L

Bit 4 - PG_GT_R

Bit 5 - PG_DDR

Bit 6 - Not Used "0"

Bit 7 - Not Used "0"

1Input Port 1

FAN Status register

Bits 7:0 - FAN RPM/1000

(Nominal Sepa HFB44B-12A speed is 8000 RPM)

2Output Port 0

Control register 0

Bits 1:0 - LED Control (Default "01")

Bit 2 - SMB Strong Pull-Up Enable (Default "1")

Bit 3 - Enable DAC1 Power (Default "1")

Bit 4 - Enable DAC2 Power (Default "1")

Bit 5 - Enable DAC3 Power (Default "1")

Bit 6 - Enable DAC4 Power (Default "1")

Bit 7 - Enable FPD Power (Default "1")

3Output Port 1

Control register 1

Bit 0 - Enable LPD Power (Default "1")

Bit 1 - Enable DDR Power (Default "1")

Bit 2 - Enable PSGT Power (Default "1")

Bit 3 - Enable GT_L Power (Default "1")

Bit 4 - Enable GT_R Power (Default "1")

Bit 5 - Enable FAN Power (Default "1") (Works only if 4-wire FAN is used)

Bit 6 - Not used

Bit 7 - Not used

LED Control

Bits [1:0]Mode
"00"LED4 is OFF
"01"LED4 is Power indicator
"10"LED4 is User LED (connected to IO5)
"11"LED4 is ON

Power Indicator

BehaviorDescription
OFFNo power or SC failure
1 Pulse (*ooooooo)PSGT Power is not OK
2 Pulses (**oooooo)DDR Power is not OK
3 Pulses (***ooooo)LP Power is not OK
4 Pulses (****oooo)GT_L Power is not OK
5 Pulses (*****ooo)

GT_R Power is not OK

6 Pulses (******oo)PL Power is not OK
ONNo power problems detected


I²C GPIO registers can be operated with  directly, using Linux i2cset and i2cget commands

root@petalinux:~# # Disable LED4
root@petalinux:~# i2cset -y 0 0x20 2 0xFC
root@petalinux:~# # Get Power status
root@petalinux:~# i2cget -y 0 0x20 0 b
0x3f
root@petalinux:~# # Get FAN RPM/1000
root@petalinux:~# i2cget -y 0 0x20 1 b
0x08

or I²C GPIO device driver can be instantiate in Linux device tree (project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi).

&i2c0 {
	tca6416: tca6416@21 {
		compatible = "ti,tca6416";
		reg = <0x20>;
		gpio-controller;
		#gpio-cells = <2>;
	};
};


LED

The System Controller control D4 LED (front panel green rightmost LED). By default, it act like power status indicator see "Power Indicator" table in "I²C interface" section.


Appx. A: Change History and Legal Notices

Revision Changes

RE02 to REV03

  • Add I²C GPIO core
  • FAN Control/FAN Status
  • Power control

Document Change History

To get content of older revision got to "Change History"  of this page and select older document revision number.

DateDocument RevisionCPLD Firmware RevisionSupported PCB RevisionAuthorsDescription

Error rendering macro 'page-info'

Ambiguous method overloading for method jdk.proxy241.$Proxy3496#hasContentLevelPermission. Cannot resolve which method to invoke for [null, class java.lang.String, class com.atlassian.confluence.pages.Page] due to overlapping prototypes between: [interface com.atlassian.confluence.user.ConfluenceUser, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject] [interface com.atlassian.user.User, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject]

Error rendering macro 'page-info'

Ambiguous method overloading for method jdk.proxy241.$Proxy3496#hasContentLevelPermission. Cannot resolve which method to invoke for [null, class java.lang.String, class com.atlassian.confluence.pages.Page] due to overlapping prototypes between: [interface com.atlassian.confluence.user.ConfluenceUser, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject] [interface com.atlassian.user.User, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject]

REV03REV02

Error rendering macro 'page-info'

Ambiguous method overloading for method jdk.proxy241.$Proxy3496#hasContentLevelPermission. Cannot resolve which method to invoke for [null, class java.lang.String, class com.atlassian.confluence.pages.Page] due to overlapping prototypes between: [interface com.atlassian.confluence.user.ConfluenceUser, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject] [interface com.atlassian.user.User, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject]


  • initial release
  • working in process
2018-08-15v.3REV02REV02Antti Lukats
  • initial release

All

Error rendering macro 'page-info'

Ambiguous method overloading for method jdk.proxy241.$Proxy3496#hasContentLevelPermission. Cannot resolve which method to invoke for [null, class java.lang.String, class com.atlassian.confluence.pages.Page] due to overlapping prototypes between: [interface com.atlassian.confluence.user.ConfluenceUser, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject] [interface com.atlassian.user.User, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject]


Appx. A: Legal Notices

  • No labels