Skip to main content

ti

Texas Instruments MPN encoding patterns, suffix decoding, and handler guidance. Use when working with TI components or TIHandler.

Quellinformationen

Repository
Cantara/lib-electronic-components
Letzte Quellaktivität
11. Januar 2026 um 14:11
Erkannte Sprache von SKILL.md
Englisch
Sterne
4
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
ti
description
Texas Instruments MPN encoding patterns, suffix decoding, and handler guidance. Use when working with TI components or TIHandler.
# Texas Instruments (TI) Manufacturer Skill ## MPN Structure TI MPNs follow this general structure: ``` [PREFIX][SERIES][VARIANT][PACKAGE][TEMP][QUALIFIER] │ │ │ │ │ │ │ │ │ │ │ └── Optional: R=Tape/Reel, E=Lead-free │ │ │ │ └── Temperature: I=Industrial, Q=Automotive, M=Military │ │ │ └── Package code (see table below) │ │ └── Variant letter (A, B, C for improved specs) │ └── Series number (e.g., 358, 7805, 317) └── Family prefix (LM, TL, TPS, SN, etc.) ``` ### Example Decoding ``` LM358DR │ │ ││ │ │ │└── R = Tape and Reel │ │ └── D = SOIC package │ └── 358 = Dual Op-Amp series └── LM = Linear/Mixed-signal prefix TPS63020DSJR │ │ │ │ │ │ │ └── R = Tape and Reel │ │ └── DSJ = SON package (3x3mm) │ └── 63020 = Buck-Boost converter └── TPS = Power Supply prefix ``` --- ## Package Codes ### Through-Hole Packages | Code | Package | Pin Count | Notes | |------|---------|-----------|-------| | N | DIP | 8-40 | Plastic DIP | | P | DIP | 8-40 | Plastic DIP (alternate) | | T | TO-220 | 3-5 | Power package | | T3 | TO-220 | 3 | 3-pin TO-220 | | K | TO-3 | 2-3 | Metal can power | | H | TO-39 | 8 | Metal can | ### Surface Mount - Small Signal | Code | Package | Pitch | Notes | |------|---------|-------|-------| | D | SOIC | 1.27mm | 8-16 pins | | DW | SOIC-Wide | 1.27mm | Wide body | | PW | TSSOP | 0.65mm | Thin profile | | DGK | MSOP/VSSOP | 0.5mm | Mini SOIC | | DBV | SOT-23 | 0.95mm | 5-6 pins | | DRL | SOT-553 | 0.5mm | Very small | | DRV | SON | 0.5mm | QFN variant | ### Surface Mount - Power | Code | Package | Notes | |------|---------|-------| | KC | TO-252 (DPAK) | Medium power SMD | | KV | TO-252 | Variant | | MP | SOT-223 | 4-pin power | | DT | SOT-223 | Alternate code | --- ## Family Prefixes ### Analog/Linear (LM, TL, NE) | Prefix | Category | Examples | |--------|----------|----------| | LM | General analog | LM358 (op-amp), LM7805 (regulator), LM317 (adj reg) | | TL | TI Linear | TL072 (JFET op-amp), TL431 (reference) | | NE | Signetics legacy | NE5532 (low-noise op-amp) | | UA | Original TI | UA7805 (equivalent to LM7805) | ### Power Management (TPS, TLV, LP) | Prefix | Category | Examples | |--------|----------|----------| | TPS | Power supply | TPS63020 (buck-boost), TPS7350 (LDO) | | TLV | Low voltage | TLV431 (low-V reference) | | LP | Low power | LP2950 (LDO) | ### Logic & Interface (SN, CD) | Prefix | Category | Examples | |--------|----------|----------| | SN | TI logic | SN74HC595 (shift register) | | CD | CMOS logic | CD4017 (decade counter) | ### Microcontrollers (MSP, CC) | Prefix | Category | Examples | |--------|----------|----------| | MSP430 | Ultra-low-power MCU | MSP430G2553 | | CC | Wireless MCU | CC2541 (BLE), CC3200 (WiFi) | --- ## Temperature Grades | Suffix | Range | Application | |--------|-------|-------------| | (none) | 0°C to +70°C | Commercial | | I | -40°C to +85°C | Industrial | | A | -40°C to +85°C | Industrial (alternate) | | Q | -40°C to +125°C | Automotive | | M | -55°C to +125°C | Military | --- ## Critical Pattern Conflicts ### LM35 vs LM358 **LM35** = Temperature sensor (letter A-D after "35") **LM358** = Dual op-amp (digit 8 after "35") ``` LM35DZ → Temperature sensor (D = grade, Z = TO-92 package) LM358N → Dual op-amp (8 = part of series, N = DIP package) ``` **Handler Pattern:** ```java // LM35 sensors: letter A-D immediately after "35" "^LM35[A-D][A-Z0-9-]*$" // LM358 op-amps: digit after "35" "^LM358[A-Z0-9]*(?:N|D|P|DG|PW)?$" ``` ### 78xx vs 79xx Regulators **78xx** = Positive voltage regulator **79xx** = Negative voltage regulator ``` LM7805CT → +5V regulator, TO-220 LM7905CT → -5V regulator, TO-220 ``` --- ## Common Series Reference ### Op-Amps | Series | Type | Equivalent | |--------|------|------------| | LM358 | Dual, general purpose | MC1458, RC4558 | | LM324 | Quad, general purpose | MC3403 | | TL072 | Dual JFET, low noise | TL082 | | TL074 | Quad JFET | TL084 | | NE5532 | Dual, low noise | SA5532 | | LM311 | Comparator | LM211 | ### Voltage Regulators | Series | Type | Voltage | Equivalent | |--------|------|---------|------------| | LM7805 | Fixed positive | +5V | MC7805, UA7805 | | LM7812 | Fixed positive | +12V | MC7812 | | LM7905 | Fixed negative | -5V | MC7905 | | LM317 | Adjustable positive | 1.25-37V | LM350, LM338 | | LM337 | Adjustable negative | -1.25 to -37V | - | ### Temperature Sensors | Series | Type | Output | |--------|------|--------| | LM35 | Precision analog | 10mV/°C | | TMP36 | Precision analog | 10mV/°C + 500mV offset | --- ## Handler Implementation Notes ### Package Code Extraction ```java // TI package codes come AFTER the base part number // Example: LM358D → base="LM358", package="D" // For voltage regulators, package often follows voltage // Example: LM7805CT → base="LM7805", package="CT" (TO-220) // CRITICAL: Check longer suffixes BEFORE shorter ones! // "LM7805DT".endsWith("T") is TRUE, but DT=SOT-223, not TO-220 if (suffix.endsWith("CT")) return "TO-220"; // 2-char first if (suffix.endsWith("DT")) return "SOT-223"; // 2-char first if (suffix.endsWith("MP")) return "SOT-223"; // 2-char first if (suffix.endsWith("KC")) return "TO-252"; // 2-char first if (suffix.endsWith("T")) return "TO-220"; // 1-char LAST // Same for SOIC vs MSOP vs TSSOP if (suffix.startsWith("DGK")) return "MSOP"; // 3-char first if (suffix.startsWith("PW")) return "TSSOP"; // 2-char if (suffix.startsWith("D")) return "SOIC"; // 1-char LAST ``` **Bug Example (Fixed in PR #78)**: ```java // WRONG - "DT" ends with "T" so this returns TO-220 incorrectly if (upperMpn.endsWith("T")) return "TO-220"; // Matches first! if (upperMpn.endsWith("DT")) return "SOT-223"; // Never reached // CORRECT - Check longer suffixes first if (upperMpn.endsWith("DT")) return "SOT-223"; // Matches correctly if (upperMpn.endsWith("T")) return "TO-220"; // Only bare "T" ``` ### Series Extraction ```java // Extract base series before package/temperature suffix // LM358APWRQ1 → LM358 (ignore A=variant, PW=package, R=tape, Q1=automotive) // Voltage regulators include voltage in series // LM7805 → full series is "LM7805" not just "LM78" ``` --- ## Related Files - Handler: `manufacturers/TIHandler.java` - Component types: `OPAMP_TI`, `VOLTAGE_REGULATOR_LINEAR_TI`, `VOLTAGE_REGULATOR_SWITCHING_TI`, `TEMPERATURE_SENSOR_TI`, `LED_TI` - Package registry: `PackageCodeRegistry.java` (standard codes) --- ## Learnings & Edge Cases - **LM317 vs LM350 vs LM338**: Same adjustable regulator family, different current ratings (1.5A/3A/5A) - **UA prefix**: Original TI designation, functionally equivalent to LM (UA7805 = LM7805) - **Automotive suffix Q1/Q**: Indicates AEC-Q100 qualified for automotive use - **Green/lead-free**: Suffix "G" or "E" sometimes indicates RoHS compliance - **Suffix ordering bug (PR #78)**: When using `endsWith()` for package detection, ALWAYS check longer suffixes first. "DT" ends with "T", so checking "T" first causes wrong results. - **TIHandlerTest location**: Tests must be in `handlers` package, NOT `manufacturers` package (causes classpath shadowing) - **Handler initialization**: Use `MPNUtils.getManufacturerHandler("LM358")` in tests, not `new TIHandler()` (causes circular init) <!-- Add new learnings above this line -->
Auf GitHub ansehen