texas_instruments_ISO1211 module#

Texas Instruments ISO1211/ISO1212 Digital Isolator

Component definition for Texas Instruments ISO1211/ISO1212 single-channel digital isolator with basic isolation between input and output sides.

Datasheet: https://www.ti.com/lit/ds/symlink/iso1211.pdf

class SymbolISO1211[source]#

Bases: Symbol

Schematic symbol for ISO1211 digital isolator

pin_name_size: float | None = 0.7874#

Font size of pin name text of Pin objects in this symbol, in grid units. If unset, defers to a parent Symbol, if a parent exists. This can be overriden at the Pin level by setting its pin_name_size attribute.

pad_name_size: float | None = 0.7874#

Font size of pad name text of Pin objects in this symbol, in grid units. If unset, defers to a parent Symbol, if a parent exists. This can be overriden at the Pin level by setting its pad_name_size attribute.

VCC1 = Pin((-10, 3), 2, <Direction.Left: 'left'>)#
EN = Pin((-10, 1), 2, <Direction.Left: 'left'>)#
OUT = Pin((-10, -1), 2, <Direction.Left: 'left'>)#
GND1 = Pin((-10, -3), 2, <Direction.Left: 'left'>)#
SENSE = Pin((10, 3), 2, <Direction.Right: 'right'>)#
IN = Pin((10, 1), 2, <Direction.Right: 'right'>)#
FGND = Pin((10, -1), 2, <Direction.Right: 'right'>)#
SUB = Pin((10, -3), 2, <Direction.Right: 'right'>)#
reference_designator = Shape[Text]#
value_label = Shape[Text]#
shapes = [Polygon(elements=((10.0, 5.4), (-10.0, 5.4), (-10.0, -5.4), (10.0, -5.4)), holes=()), Polyline(width=0.2, elements=[(0, -5.4), (0, 5.4)]), Shape[Circle], Shape[Text], Shape[Text]]#
class ISO1211(*args, **kwargs)[source]#

Bases: Component

Texas Instruments ISO1211/ISO1212 Digital Isolator

manufacturer: str | None = 'Texas Instruments'#

Manufacturer for this component.

mpn: str | None = 'ISO1211DR'#

Manufacturer part number for this component.

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.

datasheet = 'https://www.ti.com/lit/ds/symlink/iso1211.pdf'#
VCC1 = Port()#

Power supply, side 1 (3.0V to 5.5V)

EN = Port()#

Output enable (active high)

OUT = Port()#

Channel output

GND1 = Port()#

Ground connection for VCC1

SUB = Port()#

Internal connection to input chip substrate

FGND = Port()#

Field-side ground

IN = Port()#

Field-side current input

SENSE = Port()#

Field-side voltage sense

landpattern = SOIC(num_leads=8).lead_profile(LeadProfile(span=Toleranced(6, 0.19, 0.2), pitch=1.27, type=SMDLead(length=Toleranced(0.41, 0.1, 0.1), width=Toleranced(0.41, 0.1, 0.08), lead_type=LeadProtrusion(name='BigGullWingLeads', fillets={<DensityLevel.A: 'A'>: LeadFillets(toe=0.55, heel=0.45, side=0.05, courtyard_excess=0.5), <DensityLevel.B: 'B'>: LeadFillets(toe=0.35, heel=0.35, side=0.03, courtyard_excess=0.25), <DensityLevel.C: 'C'>: LeadFillets(toe=0.15, heel=0.25, side=0.01, courtyard_excess=0.1)})))).package_body(RectanglePackage(height=Toleranced(1.55, 0.2, 0.2), width=Toleranced(3.9, 0.08, 0.09), length=Toleranced(4.9, 0.1, 0.09))).density_level(<DensityLevel.C: 'C'>)#
symbol = SymbolISO1211()#
cmappings = [SymbolMapping({Port(): SymbolISO1211().VCC1, Port(): SymbolISO1211().EN, Port(): SymbolISO1211().OUT, Port(): SymbolISO1211().GND1, Port(): SymbolISO1211().SUB, Port(): SymbolISO1211().FGND, Port(): SymbolISO1211().IN, Port(): SymbolISO1211().SENSE}), PadMapping({Port(): SOIC(num_leads=8).lead_profile(LeadProfile(span=Toleranced(6, 0.19, 0.2), pitch=1.27, type=SMDLead(length=Toleranced(0.41, 0.1, 0.1), width=Toleranced(0.41, 0.1, 0.08), lead_type=LeadProtrusion(name='BigGullWingLeads', fillets={<DensityLevel.A: 'A'>: LeadFillets(toe=0.55, heel=0.45, side=0.05, courtyard_excess=0.5), <DensityLevel.B: 'B'>: LeadFillets(toe=0.35, heel=0.35, side=0.03, courtyard_excess=0.25), <DensityLevel.C: 'C'>: LeadFillets(toe=0.15, heel=0.25, side=0.01, courtyard_excess=0.1)})))).package_body(RectanglePackage(height=Toleranced(1.55, 0.2, 0.2), width=Toleranced(3.9, 0.08, 0.09), length=Toleranced(4.9, 0.1, 0.09))).density_level(<DensityLevel.C: 'C'>).p[1], Port(): SOIC(num_leads=8).lead_profile(LeadProfile(span=Toleranced(6, 0.19, 0.2), pitch=1.27, type=SMDLead(length=Toleranced(0.41, 0.1, 0.1), width=Toleranced(0.41, 0.1, 0.08), lead_type=LeadProtrusion(name='BigGullWingLeads', fillets={<DensityLevel.A: 'A'>: LeadFillets(toe=0.55, heel=0.45, side=0.05, courtyard_excess=0.5), <DensityLevel.B: 'B'>: LeadFillets(toe=0.35, heel=0.35, side=0.03, courtyard_excess=0.25), <DensityLevel.C: 'C'>: LeadFillets(toe=0.15, heel=0.25, side=0.01, courtyard_excess=0.1)})))).package_body(RectanglePackage(height=Toleranced(1.55, 0.2, 0.2), width=Toleranced(3.9, 0.08, 0.09), length=Toleranced(4.9, 0.1, 0.09))).density_level(<DensityLevel.C: 'C'>).p[2], Port(): SOIC(num_leads=8).lead_profile(LeadProfile(span=Toleranced(6, 0.19, 0.2), pitch=1.27, type=SMDLead(length=Toleranced(0.41, 0.1, 0.1), width=Toleranced(0.41, 0.1, 0.08), lead_type=LeadProtrusion(name='BigGullWingLeads', fillets={<DensityLevel.A: 'A'>: LeadFillets(toe=0.55, heel=0.45, side=0.05, courtyard_excess=0.5), <DensityLevel.B: 'B'>: LeadFillets(toe=0.35, heel=0.35, side=0.03, courtyard_excess=0.25), <DensityLevel.C: 'C'>: LeadFillets(toe=0.15, heel=0.25, side=0.01, courtyard_excess=0.1)})))).package_body(RectanglePackage(height=Toleranced(1.55, 0.2, 0.2), width=Toleranced(3.9, 0.08, 0.09), length=Toleranced(4.9, 0.1, 0.09))).density_level(<DensityLevel.C: 'C'>).p[3], Port(): SOIC(num_leads=8).lead_profile(LeadProfile(span=Toleranced(6, 0.19, 0.2), pitch=1.27, type=SMDLead(length=Toleranced(0.41, 0.1, 0.1), width=Toleranced(0.41, 0.1, 0.08), lead_type=LeadProtrusion(name='BigGullWingLeads', fillets={<DensityLevel.A: 'A'>: LeadFillets(toe=0.55, heel=0.45, side=0.05, courtyard_excess=0.5), <DensityLevel.B: 'B'>: LeadFillets(toe=0.35, heel=0.35, side=0.03, courtyard_excess=0.25), <DensityLevel.C: 'C'>: LeadFillets(toe=0.15, heel=0.25, side=0.01, courtyard_excess=0.1)})))).package_body(RectanglePackage(height=Toleranced(1.55, 0.2, 0.2), width=Toleranced(3.9, 0.08, 0.09), length=Toleranced(4.9, 0.1, 0.09))).density_level(<DensityLevel.C: 'C'>).p[4], Port(): SOIC(num_leads=8).lead_profile(LeadProfile(span=Toleranced(6, 0.19, 0.2), pitch=1.27, type=SMDLead(length=Toleranced(0.41, 0.1, 0.1), width=Toleranced(0.41, 0.1, 0.08), lead_type=LeadProtrusion(name='BigGullWingLeads', fillets={<DensityLevel.A: 'A'>: LeadFillets(toe=0.55, heel=0.45, side=0.05, courtyard_excess=0.5), <DensityLevel.B: 'B'>: LeadFillets(toe=0.35, heel=0.35, side=0.03, courtyard_excess=0.25), <DensityLevel.C: 'C'>: LeadFillets(toe=0.15, heel=0.25, side=0.01, courtyard_excess=0.1)})))).package_body(RectanglePackage(height=Toleranced(1.55, 0.2, 0.2), width=Toleranced(3.9, 0.08, 0.09), length=Toleranced(4.9, 0.1, 0.09))).density_level(<DensityLevel.C: 'C'>).p[5], Port(): SOIC(num_leads=8).lead_profile(LeadProfile(span=Toleranced(6, 0.19, 0.2), pitch=1.27, type=SMDLead(length=Toleranced(0.41, 0.1, 0.1), width=Toleranced(0.41, 0.1, 0.08), lead_type=LeadProtrusion(name='BigGullWingLeads', fillets={<DensityLevel.A: 'A'>: LeadFillets(toe=0.55, heel=0.45, side=0.05, courtyard_excess=0.5), <DensityLevel.B: 'B'>: LeadFillets(toe=0.35, heel=0.35, side=0.03, courtyard_excess=0.25), <DensityLevel.C: 'C'>: LeadFillets(toe=0.15, heel=0.25, side=0.01, courtyard_excess=0.1)})))).package_body(RectanglePackage(height=Toleranced(1.55, 0.2, 0.2), width=Toleranced(3.9, 0.08, 0.09), length=Toleranced(4.9, 0.1, 0.09))).density_level(<DensityLevel.C: 'C'>).p[6], Port(): SOIC(num_leads=8).lead_profile(LeadProfile(span=Toleranced(6, 0.19, 0.2), pitch=1.27, type=SMDLead(length=Toleranced(0.41, 0.1, 0.1), width=Toleranced(0.41, 0.1, 0.08), lead_type=LeadProtrusion(name='BigGullWingLeads', fillets={<DensityLevel.A: 'A'>: LeadFillets(toe=0.55, heel=0.45, side=0.05, courtyard_excess=0.5), <DensityLevel.B: 'B'>: LeadFillets(toe=0.35, heel=0.35, side=0.03, courtyard_excess=0.25), <DensityLevel.C: 'C'>: LeadFillets(toe=0.15, heel=0.25, side=0.01, courtyard_excess=0.1)})))).package_body(RectanglePackage(height=Toleranced(1.55, 0.2, 0.2), width=Toleranced(3.9, 0.08, 0.09), length=Toleranced(4.9, 0.1, 0.09))).density_level(<DensityLevel.C: 'C'>).p[7], Port(): SOIC(num_leads=8).lead_profile(LeadProfile(span=Toleranced(6, 0.19, 0.2), pitch=1.27, type=SMDLead(length=Toleranced(0.41, 0.1, 0.1), width=Toleranced(0.41, 0.1, 0.08), lead_type=LeadProtrusion(name='BigGullWingLeads', fillets={<DensityLevel.A: 'A'>: LeadFillets(toe=0.55, heel=0.45, side=0.05, courtyard_excess=0.5), <DensityLevel.B: 'B'>: LeadFillets(toe=0.35, heel=0.35, side=0.03, courtyard_excess=0.25), <DensityLevel.C: 'C'>: LeadFillets(toe=0.15, heel=0.25, side=0.01, courtyard_excess=0.1)})))).package_body(RectanglePackage(height=Toleranced(1.55, 0.2, 0.2), width=Toleranced(3.9, 0.08, 0.09), length=Toleranced(4.9, 0.1, 0.09))).density_level(<DensityLevel.C: 'C'>).p[8]})]#
class HVNets[source]#

Bases: Tag

Tag for the high voltage external pins

class ISO1211Circuit[source]#

Bases: Circuit

ISO1211 Digital Isolator Reference Circuit

Complete reference implementation based on TI datasheet Figure 17. Includes all required external components for proper operation.

Features: - ISO1211 digital isolator IC - Field-side current limiting and sensing resistors - Input coupling capacitor - Bypass capacitors for both power domains - Proper SUB pin handling

Pin Configuration: Input Side (Side 1): - VCC1: Power supply (3.0V to 5.5V) - EN: Output enable (active high) - OUT: Channel output - GND1: Ground connection

Output Side (Field Side): - SENSE: Field-side voltage sense - IN: Field-side current input - FGND: Field-side ground - SUB: Internal substrate connection

Datasheet: https://www.ti.com/lit/ds/symlink/iso1211.pdf

power_vcc = Power()#

VCC1 power supply (3.0V to 5.5V)

enable = Port()#

Enable control signal (tie to VCC1 if always enabled)

output_signal = Port()#

Isolated digital output signal

field_input_pos = Port()#

Field-side positive input (e.g., 24V)

field_input_neg = Port()#

Field-side negative input (field ground)

Device#

alias of ISO1211Circuit