Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Receiving, levelshifting and forwarding of
    • control,
    • sensor, measurement and
    • status signals
  • security logic
  • Push Buttons
  • USR LED

Firmware Revision and supported PCB Revision

...

Scroll Title
anchorTable_OBP_LED
titleOn-board LEDs

Scroll Table Layout
orientationportrait
sortDirectionASC
repeatTableHeadersdefault
style
widths
sortByColumn1
sortEnabledfalse
cellHighlightingtrue

B9J11-
VHDL Port nameDirectionSC CPLD PinCPLD BankConnected toFunctionNotes
X0A0_Pin8J83CPLD to CRUVI communicationcurrently not usedX1A88J11-5X2A78J11-7

X3

A68J11-9X4D88J11-4X5B68J11-10X6C98J11-1X7E88J11-2J9-14PWM signal phase B, low-
A0_NinK83J9-16PWM signal phase D, high-
A1_PinM133

J9-20

PWM signal phase A, low-
A1_NinM123J9-22PWM signal phase C, high-
A2_PinM93J9-26PWM signal phase D, low-
A2_NinM83J9-28PWM signal phase C, low-
A3_PinN83J9-32PWM signal phase B, high-
A3_NinN73J9-34PWM signal phase A, high-
A4_PoutM73J9-38current measurement phase B-
A4_NoutN63J9-40push button S2 signal-
A0_PinJ83J9-14A0_NinK83J9-16A1_PinM133

J9-20

A1_NinM123J9-22A2_PinM93J9-26A2_NinM83J9-28A3_PinN83J9-32A3_NinN73J9-34A4_PoutM73J9-38A4_NoutN63J9-40A5_PoutK53J9-44motor disable signaldisabled when high
A5_N
J53J9-46CPLD to - CRUVI communicationcurrently not used
B0_P
N53J9-15CPLD to - CRUVI communicationcurrently not used
B0_NinN43J9-17LED D2 signalactive high
B1_B1_P
J73J9-21CPLD to - CRUVI communicationcurrently not usedPWM enable
B1_NinK73J9-23clock input for ADCs5-20 MHz
B2_PoutL113J9-27Encoder/Sensor signal A-
B2_NoutM113J9-29Encoder/Sensor signal B-
B3_PoutL103J9-33Encoder/Sensor signal I-
B3_NoutM103J9-35Back EMF signal phase B-
B4_PoutJ63J9-398Back EMF signal phase C-
B4_NoutK63J9-41Back EMF signal phase A-
B5_PB5_PoutL53J9-45current measurement phase A-
B5_NoutL43J9-47voltage measurement DC_LINK-
HSIO
N93J9-2CPLD to - CRUVI I/O communicationcurrently not used
HSO
N103J9-6
RESET
M53J9-8
HSI
N123J9-10

TDI


F51BJ9-51, J10-9JTAG / user IO CPLD firmware dependentJTAG pinsharing currently not enabled
TDO
F61BJ9-53, J10-3JTAG / user IO CPLD firmware dependent
TMS
G11BJ9-55, J10-5JTAG / user IO CPLD firmware dependent
JTAGEN
E51BJ9-57JTAG enable CPLD firmware dependent
TCK
G21BJ9-59, J10-1JTAG / user IO CPLD firmware dependent
SMB_ALERT
K22J9-3CPLD to - CRUVI I/O communicationcurrently not used
SMB_SDA
H52J9-5
SMB_SCL
H42J9-7
REFCLK
M22J9-11
BUTTON1inC108S2User button forwarded to CRUVIactiv low,
BUTTON2inB108S1Motor control enable/disableactiv low
ENC_AinA108U13-13Sensor/Encoder input channel A-
ENC_BinA98U13-12Sensor/Encoder input channel B-
ENC_IinA118U13-14Sensor/Encoder input channel I-
LED0inoutD68D2User LED forwarded from CRUVIactive high
LED1inoutB28D1Status LED

blinking → motor control aktiv,

static on on system ok and motor control disabled

M_BEMF_B_DinB58U15-13Back EMF signal phase B-
M_BEMF_C_DinA58U15-12Back EMF signal phase C-
M_BEMF_A_DinA48

U15-14

Back EMF signal phase A-
M_PWM_AHoutF11AU8-2Phase A half bridge high (DC_LINK) side driver signal-
M_PWM_ALoutE31AU8-3Phase A half bridge low (PGND) side driver signal-
M_PWM_BHoutE11AU9-2Phase B half bridge high (DC_LINK)side driver signal-
M_PWM_BLoutD11AU9-3Phase B half bridge low (PGND) side driver signal-
M_PWM_CHoutE41AU10-2Phase C half bridge high (DC_LINK)side driver signal-
M_PWM_CLoutC11AU10-3Phase C half bridge low (PGND) side driver signal-
M_PWM_DHoutC21AU11-2Phase D half bridge high (DC_LINK) side driver signal-
M_PWM_DLoutB11AU11-3Phase D half bridge low (PGND) side driver signal-
SD_IAinE68U3-6Current measurement phase A33 Ohm series Resistor-
SCLK_AoutB38U3-7, U5-7Clock for ADC for current measurement phase A and B(5-20 MHz)
SD_VinB48U7-6Voltage measurement DC_LINK33 Ohm series Resistor-
SD_IBinA28U5-6Current measurement phase B33 Ohm series Resistor-
SCLK_V_AoutA38U7-7Clock for ADC for voltage measurement DC_LINK(5-20 MHz)
M_DISABLE_D_DoutJ12U11-5Halfe bridge disable phase Ddisabled when high, pull up connected, weak pull up enabled
M_DISABLE_A_DoutM12U8-5Halfe bridge disable phase Adisabled when high, pull up connected connected, weak pull up enabled 
M_DISABLE_B_DoutL22U9-5Halfe bridge disable phase Bdisabled when high, pull up connected connected, weak pull up enabled 
M_DISABLE_C_DoutK12U10-5Halfe bridge disable phase Cdisabled when high, pull up connected, weak pull up connected enabled
REFCLK
M22J9-11-currently not used
RST
M32J10-6-currently not used (CPLD RESET)
UART_RX
N22J10-7-

currently not used/implemented (UART)
UART_TX
N32J10-8
CLK_25MHZinH62U26-3Clock input for accurate 25 Mhz clk.currently not used
Scroll Title
anchorTable_SC_Ports
titleSC CPLD ports
Scroll Table Layout
orientationportrait
sortDirectionASC
repeatTableHeadersdefault
sortByColumn1
sortEnabledfalse
cellHighlightingtrue

VHDL Port nameDirectionSC CPLD PinConnected toFunctionNotesACBUS0A4FTDI U4, pin 22GPIO's available to user

currently not used/implemented

(FIFO or other FTDI functions when FTDI reprogrammed)
ACBUS1B4FTDI U4, pin 23ACBUS2A5FTDI U4, pin 24ACBUS3B5FTDI U4, pin 25ACBUS4A6FTDI U4, pin 26ACBUS5B6FTDI U4, pin 27ACBUS6A7FTDI U4, pin 28ACBUS7A8FTDI U4, pin 29ADBUS4A2FTDI U4, pin 17ADBUS5B2FTDI U4, pin 18ADBUS6A3FTDI U4, pin 19ADBUS7B3FTDI U4, pin 20P_TCKING2FTDI U4, pin 12Forwarded JTAG signals from FTDI chip. Signal names: TCK, TDI, TDO, TMS
(FIFO or other FTDI functions when FTDI reprogrammed)
P_TDIINF5FTDI U4, pin 13P_TDOOUTF6FTDI U4, pin 14P_TMSING1FTDI U4, pin 15M_TCKOUTH5JB2, pin 1004x5 Module JTAG
Bank with VCCIO is VREF_JTAG from Module
M_TDIOUTJ2JB2, pin 96M_TDOINJ1JB2, pin 98M_TMSOUTH6JB2, pin 94FMC_TCKOUTF8J1, pin D29FMC JTAG
TRST not used
FMC_TDIOUTM7J1, pin D30FMC_TDOINN7J1, pin D31FMC_TMSOUTM8J1, pin D33FMC_TRSTN8J1, pin D34PCIE_TCKL11J3, pin A5PCIe JTAG
Currently not used
PCIE_TDIN12J3, pin A6PCIE_TDOM12J3, pin A7PCIE_TMSM13J3, pin A8PCIE_TRSTG10J3, pin B9PCIE_PERSTINF12J3, pin A11Indication that PCIe Bus is up (power, clocks)EN_FMCOUTL4U14, pin 9Enable switched 3.3V FMC powerpulled downEN_FMC_VADJOUTK7U1, pin 41Enable IO power FMC_VADJpulled downEN_PEROUTF13Q4, pin 5Enable perepherie power 3V3_PERpulled downFAN_FMC_ENOUTK8Q1, pin 5Enable FMC FANfloating during configuration (no pull down)FMC_PG_C2MOUTM5J1, pin D1Indicate that all FMC related powers are uppulled upFMC_PRSNT_M2C_LINE9J1, pin H2Indicate if FMC installedLow when FMC present, CPLD weak pullup enabledFMC_SCLOUTJ8J1, pin C31I2C 2-wire serial busMUX in CPLDFMC_SDAINOUTF9J1, pin C30PG_FMC_VADJINJ6U1, pin 35Indicate FMC VADJ power is upFF_RSTLOUTB9J13, pin 6  and J18, pin 6Reset configurationBoth FF are resetted simultanously when pulled LOWFFA_INTLINE8J13, pin 5Indicate interrrupt

LOW when fault condition, pulled up

FFA_MPRSINC10J13, pin 3Indicate FF Module installedLOW when Module present, pulled upFFA_MSELOUTC9J13, pin 4Select attached FF ModulePull low to use I2CFFA_SCLOUTD6J13, pin 8I2C 2-wire serial busMUX in CPLDFFA_SDAINOUTE6J13, pin 7FFB_INTLINA10J18, pin 5Indicate interrruptLOW when fault condition, pulled upFFB_MPRSINA11J18, pin 3Indicate FF Module installedLOW when Module present, pulled upFFB_MSELOUTB10J18, pin 4Select attached FF ModulePull low to use I2CFFB_SCLOUTD8J18, pin 8I2C 2-wire serial busMUX in CPLDFFB_SDAINOUTA9J18, pin 7CPLD_IO_1INB12JB1, pin 88(M)IOs from 4x5 Module(M)IOs used for ETH PHY LEDs
CPLD_IO_2INA12JB1, pin 92(M)IOs from 4x5 ModuleM10_RSTD1

TP22

Not used
M10_RXE4TP24M10_TXE3TP23EN1OUTD11JB1, pin 27Enable on module powerDepends on module, on some similar to reset.MODEOUTB11JB1, pin 31Boot Mode selectionFor Zynq modules only. (LOW → SD, HIGH → primary QSPI)NOSEQOUTE13JB1, pin 8Disable module CPLD power managementDepends on module. On some modules no extended CPLD power management avaialble.PGOODINOUTC11JB1, pin 29Power good signal

This is only for monitoring, do not use as powerenable! Pulled up.

RESINOUTE12JB2, pin 17Module ResetAktive LOWM3.3VOUTINM4JB2, pin 9 and 11Indicates module power is up

Used for perepherie power enable. Floating when no module installed (no pull down).

SFPA_LOSINM10J12, pin 8SFP signal lossHIGH indicates signal lossSFPA_M-DEF0INF10J12, pin 6SFP modul absentHIGH when module physically absentSFPA_RS0OUTN10J12, pin 7SFP rate select RXLOW for 1000BASE-SX, HIGH for 10GBASE-SRSFPA_RS1OUTM11J12, pin 9SFP rate select TXLOW for 1000BASE-SX, HIGH for 10GBASE-SRSFPA_SCLOUTL10J12, pin 5I2C 2-wire serial busMUX in CPLDSFPA_SDAINOUTN9J12, pin 4SFPA_TX_DISOUTM9J12, pin 3SFP transmitter disableHIGH disables transmitterSFPA_TX_FAULTING9J12, pin 2Indicates SFP laser faultHIGH indicates faultVID0_FMC_VADJOUTE10U1, pin 34FMC_VADJ Voltage selectChip internal pulled up
VID1_FMC_VADJOUTJ7U1, pin 33VID2_FMC_VADJOUTL5U1, pin 32VID0INK6S2-1For FMC_VADJ Voltage select
VID1INN5S2-2VID2INN4S2-3FMC_JTAGINL3S2-6Select FMC JTAG portCM0INM3S2-7SoM enable powerCM1INL2S2-8SoM BootmodeCM2INK2S3-1disable SoM pwersequenzingUSR0INK1S3-2FMC VADJ power enablealso if no FMC installedUSB_OCIND9U12, pin 5BUTTONINN6S1Module reset buttonLED1OUTJ5D1user LEDLED2OUTK5D2LED_D4OUTC2D4Status LEDPHY_LED1OUTD12J9Phy LEDs
PHY_LED1ROUTC13J9PHY_LED2OUTB13J9PHY_LED2ROUTC12J9A_00_NINJ10JB1, pin 38SDA IN "three wire" I2CA_00_PINK10JB1, pin 36SCL IN"three wire" I2CA_01_NOUTL12JB1, pin 35TX dataRGPIOA_01_POUTK11JB1, pin 37SDA OUT"three wire" I2CA_02_NINJ12JB1, pin 41RX CLKRGPIOA_02_PINK12JB1, pin 39RX dataRGPIOA_03_NH10JB1, pin 44Module to CPLD communicationcurrently not usedA_03_PJ9JB1, pin 42A_04_NH13JB1, pin 47A_04_PJ13JB1, pin 45A_05_NH8JB1, pin 57A_05_PH9JB1, pin 55A_06_PING13JB1, pin 51A_06_NING12JB1, pin 49I2C GPIO MUX 0I2C MUX also used for FireFlys MSELA_07INL13JB1, pin 34I2C GPIO MUX 1

Functional Description

Power Management

The M3_3VOUT rail of the attached SoM is used to power up the powerrails on TEF1002. further dependencies ar given in the table below:

...

anchorTable_power_management
titlePower Management

...


Motor driver PWM signals

CRUVI interface signals are utilized to drive the half bridge PWM motor driver signals. They are logical connected to prevent driving the high and low simultanously:

M_PWM_AH <= '1' when ((A3_N='1') and (A1_P ='0')) else '0';
M_PWM_AL <= '1' when ((A1_P='1') and (A3_N ='0')) else '0';

M_PWM_BH <= '1' when ((A3_P='1') and (A0_P ='0')) else '0';
M_PWM_BL <= '1' when ((A0_P='1') and (A3_P ='0')) else '0';

M_PWM_CH <= '1' when ((A1_N='1') and (A2_N ='0')) else '0';
M_PWM_CL <= '1' when ((A2_N='1') and (A1_N ='0')) else '0';

M_PWM_DH <= '1' when ((A0_N='1') and (A2_P ='0')) else '0';
M_PWM_DL <= '1' when ((A2_P='1') and (A0_N ='0')) else '0';

Motor disable

The M_DISABLE signal set via push button S1 is used to disable all 4 motor drivers. This signal is logical or to the PWM enable signal from B1_P on the CRUVI connector.

M_DISABLE_OUT <= M_DISABLE or not B1_P;

M_DISABLE_A_D <= M_DISABLE_OUT;
M_DISABLE_B_D <= M_DISABLE_OUT;
M_DISABLE_C_D <= M_DISABLE_OUT;
M_DISABLE_D_D <= M_DISABLE_OUT;

The motor disable signal is also forwarded to the CRUVI interface:
A5_P <= M_DISABLE;

Sensor/Encoder, Back EMF

Sensor signals are forwarded to the CRUVI interface:

B2_P <= ENC_A;
B2_N <= ENC_B;
B3_P <= ENC_I;

B3_N <= M_BEMF_B_D;
B4_N <= M_BEMF_A_D;
B4_P <= M_BEMF_C_D;

Current and voltage measurement

Data signals from the 3 ADCs are forwarded to the CRUVI interface:
B5_N <= SD_V;
B5_P <= SD_IA;
A4_P <= SD_IB;

The corresponding clock signals are derived from the CRUVI interface signal B1_N:
SCLK_V_A <= B1_N;
SCLK_A <= B1_N;

Button

Motor disable button

S1 is utilized to switch the motor control on/off. The button is debounced. On press it switches the state of M_DISABLE signal and sets the corresponding LED status.

User Button

User button S2 is forwarded to the CRUVI interface signal A4_N:
A4_N <= BUTTON1;

LEDs

Status LED

The LED D1 is utilized for board status information in the following way

...

Status LED

The Status LED D4 is utilized in the following way:

...

anchorTable_LED_Status
titleStatus LED description

...

FMC VADJ Power

Three of the dip switches are linked to the voltage selection signals of FMC_VADJ:

...

anchorTable_FMC_VADJ
titleFMC_VADJ selection

...

ON

...

ON

...

ON

...

SFP control

SFP control signals are handled by RGPIO:

...

anchorTable_SFP_Control
titleConnection SFP Control

Scroll Table Layout
orientationportrait
sortDirectionASC
repeatTableHeadersdefault
sortByColumn1
sortEnabledfalse
cellHighlightingtrue

...

FFA & FFB control

When RGPIO is aktive the FF resets are driven low via rgpio_out_data_i(23).

For FF I2C see I2C chapter. Module Present and Interrupt signals are forwarded to SoM via RGPIO ports:

...

anchorTable_FF_Control
titleConnection FF Control

Scroll Table Layout
orientationportrait
sortDirectionASC
repeatTableHeadersdefault
sortByColumn1
sortEnabledfalse
cellHighlightingtrue

...

PCIE

The PCIexpress signal "PERST#" is forwarded to the SoM using RGPIO port:  rgpio_in_data_i(11) <= PCIE_PERST;

JTAG MUX

The folowing table summarizes the JTAG MUX. Only FMC and SoM JTAG have to be handled in the CPLD explicitly. Discrimination between Module CPLD and Module SOC/FPGA are done via hard connected dip switch. Same is true for TEF1002 CPLD MAX10.

...

anchorTable_JTAG
titleJTAG selection

Scroll Table Layout
orientationportrait
sortDirectionASC
repeatTableHeadersdefault
sortByColumn1
sortEnabledfalse
cellHighlightingtrue

...

OFF

...

Module control

The module control signals are connected to dip switches:

...

anchorTable_SoM_Control
titleConnection SoM Control

Scroll Table Layout
orientationportrait
sortDirectionASC
repeatTableHeadersdefault
sortByColumn1
sortEnabledfalse
cellHighlightingtrue

...

RESET

The push button signal is connected to the RESIN signal of the SoM  (low active reset).

I2C and MUX

The SEL vector is used to select different I2C devices:

...

anchorTable_I2C_SoM
titleConnection I2C to SoM

Scroll Table Layout
orientationportrait
sortDirectionASC
repeatTableHeadersdefault
sortByColumn1
sortEnabledfalse
cellHighlightingtrue

...

A "three wire" I2C interface is used to connect the CPLD I2C  to the SoM:

...

anchorTable_I2C_SoM
titleConnection I2C to SoM

Scroll Table Layout
orientationportrait
sortDirectionASC
repeatTableHeadersdefault
sortByColumn1
sortEnabledfalse
cellHighlightingtrue

...

The devices SDA are driven in the following way: DEVICE_XY_SDA <= '0' when SEL= "XY" and A_00_N='0' else 'Z';

The SDA to the SoM is generated by the logical AND connection of all devices:  SDAs <= (SFPA_SDA AND FMC_SDA AND FFA_SDA AND FFB_SDA )

...

anchorTable_SC_I2C_MUX
titleSC I2C MUX ports

Scroll Table Layout
orientationportrait
sortDirectionASC
repeatTableHeadersdefault
sortByColumn1
sortEnabledfalse
cellHighlightingtrue

...

PHY LEDs

As soon as the module M3_3VOUT is ready the following signals are used to drive the PHY LEDs.

...

anchorTable_PHY_LEDs
titleConnection of PHY LEDs

Scroll Table Layout
orientationportrait
sortDirectionASC
repeatTableHeadersdefault
sortByColumn1
sortEnabledfalse
cellHighlightingtrue

...

RGPIO

The RGPIO is for communiction betweenn SoC and SC CPLD it handels the signals:

...

anchorTable_RGPIO
titleSignals handeld by RGPIO

Scroll Table Layout
orientationportrait
sortDirectionASC
repeatTableHeadersdefault
sortByColumn1
sortEnabledfalse
cellHighlightingtrue

...

LOW when fault condition, pulled up

...

anchorTable_RGPIO_SoM
titleConnection RGPIO to SoM

Scroll Table Layout
orientationportrait
sortDirectionASC
repeatTableHeadersdefault
sortByColumn1
sortEnabledfalse
cellHighlightingtrue

...

USR LED

User LEDs are accesible via RGPIO:

Scroll Title
anchorTable_UserLED_LEDsStatus
titleConnection of User LEDs
Scroll Table Layout
orientationportrait
sortDirectionASC
repeatTableHeadersdefault
sortByColumn1
sortEnabledfalse
cellHighlightingtrue

Signal VHDLnameFunctionNotesSoC write(19)LED1-user definedSoC write(18)LED2-user defined
Status LED description


Sequenz
Description
ONLED ONAll OK,  motor control disabled
********continuous blinkingAll OK,  motor control enabled
*ooooooo to *******o1 to 7 times blinking with a breakcurrently not used


USR LED

User LED D2 is controlled via the CRUVI signal B0_N:  
LED0 <= B0_N;

Appx. A: Change History and Legal Notices

...

DateDocument RevisionCPLD Firmware RevisionSupported PCB RevisionAuthorsDescription

Page info
modified-date
modified-date
dateFormatyyyy-MM-dd

Page info
current-version
current-version
prefixv.

REV01REV01, REV02

Page info
modified-user
modified-user

initial version

All

Page info
modified-users
modified-users


...