seiko_epson_TSX_3225 module#
Seiko Epson TSX-3225 Crystal Units#
One component class for the TSX-3225 series: 16 MHz to 50 MHz fundamental crystal units in a 3.2 mm x 2.5 mm x 0.6 mm four-pad package, from the Epson FA-238V / FA-238 / TSX-3225 data sheet.
The data sheet asks for the load capacitance to be specified and lists the
frequency tolerance and frequency versus temperature characteristics as
per-order requirements, so the series has no ordering code that can be built
from those fields. Each orderable unit is instead a product number. The data
sheet prints it as X1E000021xxxx17; the catalog numbers used here are the
thirteen-character X1E000021xxxx and omit that two-digit 17 suffix.
TSX3225 takes the specification fields as constructor arguments and looks
the product number up in seiko_epson_TSX_3225.csv, the TSX-3225 rows of
Epson’s product-search catalog
(https://download.epsondevice.com/td/ps/xtal_mhz.json). A combination the
catalog does not list raises ValueError; a combination it lists under more
than one product number needs part_number= to choose one.
Pads 1 and 3 are the crystal; pads 2 and 4 are connected to the cover and go to ground.
- class CrystalResonator(*, load_capacitance, shunt_capacitance, motional_capacitance, esr, frequency, frequency_tolerance, max_drive_level)[source]#
Bases:
CrystalComponentA two-terminal crystal with the electrical parameters a load-capacitor calculation needs.
shunt_capacitanceandmotional_capacitanceareNonewhen the manufacturer does not publish them.- Parameters:
- add_load_caps(gnd, stray_capacitance=5e-12)[source]#
Add a C0G load capacitor for each crystal pin to the current circuit, sized to the nearest E24 value of
2 * (load_capacitance - stray_capacitance), and return both.Each capacitor’s
p1joins the crystal pin it serves throughShortTrace(cap.p1, <OSC1 or OSC2>), so placement and routing keep it close to that pin, and itsp2joinsgnd.The returned capacitors already belong to the current circuit. Read them, but do not assign them to an attribute of the circuit as well: each would then be registered twice, and translating the design fails with “Child object … encountered multiple times”.
- class CatalogEntry(part_number, frequency_mhz, load_capacitance_pf, tolerance_ppm, stability_ppm, temperature_min_c, temperature_max_c, esr_max_ohm, drive_level_max_uw)[source]#
Bases:
objectOne row of
seiko_epson_TSX_3225.csv, in the catalog’s units.- Parameters:
- catalog()[source]#
The TSX-3225 product numbers Epson lists, with their specifications.
- Return type:
- class RectangleSMDPad(*args, **kwargs)[source]#
Bases:
Pad- shape: Shape | PadShape = Polygon(elements=((0.7, 0.575), (-0.7, 0.575), (-0.7, -0.575), (0.7, -0.575)), holes=())#
The geometric shape of the pad or a PadShape to specify the regular shape and the shape when non-functional pads are removed. Can be overridden on a per-layer basis by
shapes. When using a PadShape with nfp, the nfp removal does not apply to surface layers, to have surface nfp removal, use theshapesmapping to declare top and bottom explicitly.
- soldermask = Soldermask(shape=Polygon(elements=((0.725, 0.6), (-0.725, 0.6), (-0.725, -0.6), (0.725, -0.6)), holes=()), side=<Side.Top: 0>)#
- paste = Paste(shape=Polygon(elements=((0.725, 0.6), (-0.725, 0.6), (-0.725, -0.6), (0.725, -0.6)), holes=()), side=<Side.Top: 0>)#
- class TSX3225Package(*, load_capacitance, shunt_capacitance, motional_capacitance, esr, frequency, frequency_tolerance, max_drive_level)[source]#
Bases:
CrystalResonatorThe pins, symbol and recommended footprint every TSX-3225 unit shares.
Pads 1 and 3 are the crystal (
OSC1,OSC2); pads 2 and 4 are connected to the cover (GND1,GND0). A subclass supplies the electrical parameters, the part number and the data sheet.- Parameters:
- reference_designator_prefix: str | None = 'X'#
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.
- GND0 = Port()#
- GND1 = Port()#
- symbol = symbol()#
- landpattern = landpattern()#
- class TSX3225(*, frequency, load_capacitance, frequency_tolerance, frequency_stability, temperature_range, part_number=None)[source]#
Bases:
TSX3225PackageSeiko Epson TSX-3225 crystal unit, 3.2 mm x 2.5 mm, selected by its specification.
- Parameters:
frequency (
float) – nominal frequency in Hz.load_capacitance (
float) – load capacitance CL in farads.frequency_tolerance (
float) – frequency tolerance at +25 C, as a fraction (10e-6for +/-10 ppm).frequency_stability (
float) – frequency versus temperature overtemperature_range, as a fraction.temperature_range (
tuple[float,float]) – the rangefrequency_stabilityholds over, as (minimum, maximum) in degrees Celsius.part_number (
str|None) – the product number to use when the catalog lists the specification under more than one. It must be one of those.
- Raises:
ValueError – the catalog lists no product number for the specification; lists several and
part_numberis not given; orpart_numberis not one the catalog lists for it.
- datasheet = 'https://download.epsondevice.com/td/pdf/brief/TSX-3225_en.pdf'#
- class TSX_3225_32_0000MF10Z_W6[source]#
Bases:
TSX3225Package32 MHz +/-10 ppm crystal, 12 pF, 40 ohms, ordered by its distributor code. Its values come from the distributor’s data sheet. No source here ties the distributor code to one of the catalog’s product numbers, so the unit takes no catalog row and has no
frequency_stabilityortemperature_range.- datasheet = 'https://datasheet.lcsc.com/lcsc/2201301130_Seiko-Epson-TSX-3225-32-0000MF10Z-W6_C1986412.pdf'#
- Device#
alias of
TSX_3225_32_0000MF10Z_W6