microchip_KSZ9031RNX module#
Microchip KSZ9031RNX Gigabit Ethernet Transceiver with RGMII#
Component definition for the KSZ9031RNX 10/100/1000 Mbps Ethernet PHY in its 48-terminal 7 mm x 7 mm QFN packages, from the KSZ9031RNX data sheet DS00002117K.
The ports carry the names of Table 2-1 (“Signals - KSZ9031RNX”). A pin with
more than one function (RXD3/MODE3, LED1/PHYAD0/PME_N1) is one port
under the first name the table gives it; Table 2-2 (“Strap-In Options -
KSZ9031RNX”) lists the strap-in function each of those pins also carries.
Names the table repeats (DVDDL, DVDDH, AVDDL, AVDDH, NC)
and numbered names (TXD0 to TXD3, RXD0 to RXD3) are indexed
lists, in pin-number order. The exposed paddle is P_GND.
The component carries no application circuit: the strap resistors, the 25 MHz
reference clock of Table 10-1, the supply decoupling and the exposed-pad thermal
vias (V and EV of Figures 13-3, 13-6 and 13-9) belong to the circuit that places
it. The two NC pins (13 and 47) are not bonded and are marked
no_connect().
The orderable part follows the Product Identification System page of the data
sheet: temperature and package select one of its ordering examples.
- Temperature#
C is 0 to +70 C, I is -40 to +85 C, U is -40 to +85 C (automotive grade 3), V is -40 to +105 C (automotive grade 2).
- Type:
Temperature code of the ordering number
alias of
Literal[‘C’, ‘I’, ‘U’, ‘V’]
- BondWire#
A is the PVA package (3.5 mm exposed pad), B is the PUA package (5.05 mm exposed pad, wettable flanks), C is the PSA package (5.05 mm exposed pad).
- Type:
Bond-wire code of the ordering number
alias of
Literal[‘A’, ‘B’, ‘C’]
- ORDERING_EXAMPLES: dict[tuple['C' | 'I' | 'U' | 'V', 'A' | 'B' | 'C'], str] = {('C', 'A'): 'KSZ9031RNXCA', ('C', 'C'): 'KSZ9031RNXCC', ('I', 'A'): 'KSZ9031RNXIA', ('I', 'C'): 'KSZ9031RNXIC', ('U', 'B'): 'KSZ9031RNXUB-VAO', ('V', 'B'): 'KSZ9031RNXVB-VAO'}#
The ordering examples of the Product Identification System page, tray packed. Examples f) and h) are the tape-and-reel (
TR) codes of e) and g).
- class QFNPackageVariant(name, terminal_width, terminal_length, exposed_pad, contact_pad_length)[source]#
Bases:
objectDimensions of one package drawing and its recommended land pattern.
- Parameters:
name (str)
terminal_width (Toleranced)
terminal_length (Toleranced)
exposed_pad (float)
contact_pad_length (float)
- terminal_width: Toleranced#
b, terminal width.
- terminal_length: Toleranced#
L, terminal length.
- CONTACT_PAD_SPACING = 6.9#
C1 and C2, the recommended contact pad center-to-center spacing, in every land pattern figure (13-3, 13-6, 13-9).
- CONTACT_PAD_WIDTH = 0.3#
X1, the recommended contact pad width (maximum), in every land pattern figure (13-3, 13-6, 13-9).
- PITCH = 0.5#
e, the terminal pitch (BSC), in every package drawing.
- BODY = Toleranced(7, 0, 0)#
D and E, the body length and width (BSC), in every package drawing.
- HEIGHT = Toleranced(0.9, 0.1, 0.1)#
A, the overall height, in every package drawing.
- EXPOSED_PAD_PASTE = WindowSubdivide(padding=0.25, gridShape=(2, 2))#
Paste on the exposed pad. The data sheet gives no stencil, so the pad takes a 2 x 2 grid of windows 0.25 mm apart and 0.25 mm in from the copper: 1.425 mm square windows (63% coverage) on the 3.60 mm pad and 2.225 mm square windows (73% coverage) on the 5.20 mm pad.
- class RecommendedQFN(*, num_leads, contact_pad, contact_pad_spacing, pitch)[source]#
Bases:
QFNQFN generator with the contact pads of a recommended land pattern.
The generator sizes and spaces contact pads from the package’s terminal dimensions by IPC-7351. This data sheet publishes its own land pattern, so each contact pad here is
contact_pad(Y1 along the lead, X1 across it), centeredcontact_pad_spacing(C1, C2) from the pad opposite it. The package body, numbering, exposed pad, courtyard and silkscreen still come from the generator.
- qfn_landpattern(variant)[source]#
Build the recommended land pattern for one package variant.
- Return type:
- Parameters:
variant (QFNPackageVariant)
- class KSZ9031RNX(temperature='C', package='A')[source]#
Bases:
ComponentMicrochip KSZ9031RNX gigabit Ethernet PHY with an RGMII MAC interface.
- Parameters:
temperature (
'C'|'I'|'U'|'V') – Temperature code of the ordering number (Temperature).package (
'A'|'B'|'C') – Bond-wire code of the ordering number (BondWire), which selects the package drawing and land pattern.
The default,
KSZ9031RNXCA, is ordering example a) of the data sheet. A combination that is not one ofORDERING_EXAMPLESraisesValueError.- datasheet = 'https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/DataSheets/KSZ9031RNX-Data-Sheet-DS00002117.pdf'#
- reference_designator_prefix: str | None = 'U'#
Reference designator prefix for this component. This will be used to generate a unique reference designator for each component of the same type.
Note
This field is a required data point for matching components between builds. If this value changes (including changing from unset to set), it will be treated as a new component, even if nothing else changes.
- TXRXP_A = Port()#
- TXRXM_A = Port()#
- TXRXP_B = Port()#
- TXRXM_B = Port()#
- TXRXP_C = Port()#
- TXRXM_C = Port()#
- TXRXP_D = Port()#
- TXRXM_D = Port()#
- GTX_CLK = Port()#
Pin 24, the RGMII TXC (transmit reference clock) input.
- TX_EN = Port()#
Pin 25, the RGMII TX_CTL (transmit control) input.
- TXD = [Port(), Port(), Port(), Port()]#
TXD0 to TXD3, pins 19 to 22.
- RX_CLK = Port()#
RX_CLK/PHYAD2, pin 35, the RGMII RXC (receive reference clock) output.
- RX_DV = Port()#
RX_DV/CLK125_EN, pin 33, the RGMII RX_CTL (receive control) output.
- RXD = [Port(), Port(), Port(), Port()]#
RXD0/MODE0 to RXD3/MODE3, pins 32, 31, 28 and 27.
- MDC = Port()#
- MDIO = Port()#
- LED1 = Port()#
LED1/PHYAD0/PME_N1, pin 17.
- LED2 = Port()#
LED2/PHYAD1, pin 15.
- INT_N = Port()#
INT_N/PME_N2, pin 38.
- CLK125_NDO = Port()#
CLK125_NDO/LED_MODE, pin 41.
- RESET_N = Port()#
- XI = Port()#
- XO = Port()#
- ISET = Port()#
- AVDDH = [Port(), Port()]#
Pins 1 and 12.
- AVDDL = [Port(), Port()]#
Pins 4 and 9.
- AVDDL_PLL = Port()#
- DVDDL = [Port(), Port(), Port(), Port(), Port(), Port()]#
Pins 14, 18, 23, 26, 30 and 39.
- DVDDH = [Port(), Port(), Port()]#
Pins 16, 34 and 40.
- LDO_O = Port()#
- VSS = Port()#
- P_GND = Port()#
Exposed paddle on the bottom of the package.
- NC = [Port(), Port()]#
Pins 13 and 47, not bonded.
- Device#
alias of
KSZ9031RNX