Maxim Integrated Manufacturer Skill
MPN Structure
Maxim MPNs follow this general structure:
[PREFIX][SERIES][GRADE][TEMP][PACKAGE][PINS][ROHS]
| | | | | | |
| | | | | | +-- +/- for RoHS status
| | | | | +-- Pin count designator
| | | | +-- Package type letter
| | | +-- Temperature range code
| | +-- Optional grade (A, B, C for accuracy/specs)
| +-- Series number (e.g., 232, 485, 6675)
+-- Family prefix (MAX, DS, ICL, DG)
Example Decoding
MAX232CPE+
| | |||+-- + = RoHS compliant
| | ||+-- E = 16 pins
| | |+-- P = Plastic DIP package
| | +-- C = Commercial temp (0 to +70C)
| +-- 232 = RS-232 driver/receiver
+-- MAX = Maxim prefix
DS18B20+
| | |+-- + = RoHS compliant
| | +-- (no package code = TO-92 default)
| +-- 18B20 = Digital temperature sensor series
+-- DS = Dallas Semiconductor prefix
MAX6675ISA+
| | |||+-- + = RoHS compliant
| | ||+-- A = 8 pins
| | |+-- S = SOIC package
| | +-- I = Industrial temp (-40 to +85C)
| +-- 6675 = K-type thermocouple-to-digital converter
+-- MAX = Maxim prefix
Temperature Range Codes
| Code | Range | Application | |------|-------|-------------| | C | 0C to +70C | Commercial | | I | -20C to +85C | Industrial (older) | | E | -40C to +85C | Extended Industrial | | A | -40C to +85C | Aerospace | | M | -55C to +125C | Military |
Note: Temperature code is the FIRST letter of the suffix in Maxim's system.
Package Type Codes (Second Letter)
Through-Hole Packages
| Code | Package | Notes | |------|---------|-------| | P | PDIP | Plastic DIP | | N | PDIP | Plastic DIP (alternate) | | J | CERDIP | Ceramic DIP |
Surface Mount - Standard
| Code | Package | Notes | |------|---------|-------| | S | SOIC (narrow) | 150mil body | | A | SOIC (wide) | 208mil or 300mil body | | W | SOIC (wide) | 300mil body | | E | QSOP | Quarter-size SOP | | U | TSSOP/TQFN | Thin packages |
Surface Mount - Small Form Factor
| Code | Package | Notes | |------|---------|-------| | T | SOT-23 | Small outline transistor | | X | SC70 | Ultra-small | | K | micro-MAX | Micro footprint |
Surface Mount - Power/Thermal
| Code | Package | Notes | |------|---------|-------| | F | TDFN | Thin dual flat no-lead | | L | QFN | Quad flat no-lead | | B | WLP | Wafer-level package | | G | BGA | Ball grid array |
Pin Count Codes (Third Letter)
| Code | Pin Count | |------|-----------| | A | 8 | | B | 10 | | C | 12 | | D | 14 | | E | 16 | | G | 24 | | H | 28 | | I | 28 (alternate) | | P | 20 |
RoHS/Lead-Free Status
| Suffix | Meaning | |--------|---------| | + | Lead-free, RoHS compliant | | - | Not RoHS qualified (leaded) | | # | RoHS compliant with exemption (e.g., high-lead solder) | | (none) | Pre-RoHS part number, leaded |
Common Prefixes and Product Categories
MAX Prefix (Maxim Original)
| Series | Category | Examples | |--------|----------|----------| | MAX232 | RS-232 interface | MAX232, MAX232A, MAX3232 | | MAX485 | RS-485 interface | MAX485, MAX485E, MAX487 | | MAX6xxx | Temperature sensors | MAX6675 (thermocouple), MAX6633 | | MAX11xxx | ADCs | MAX11100, MAX11200 | | MAX12xxx | DACs | MAX12555, MAX12900 | | MAX17xxx | Power management | MAX17043 (fuel gauge), MAX17135 | | MAX19xxx | Amplifiers | MAX19711, MAX19792 | | MAX4xxx | Analog switches | MAX4051, MAX4066, MAX4617 |
DS Prefix (Dallas Semiconductor)
| Series | Category | Examples | |--------|----------|----------| | DS18xxx | Temperature sensors | DS18B20, DS18S20 | | DS12xxx | Real-time clocks | DS1232, DS12885, DS12C887 | | DS13xxx | Real-time clocks | DS1302, DS1307, DS3231 | | DS28xxx | EEPROM/Authentication | DS28E05, DS2890 |
ICL Prefix (Intersil Legacy)
| Series | Category | Examples | |--------|----------|----------| | ICL7xxx | ADC/DAC | ICL7106, ICL7135 |
DG Prefix (Data Gate)
| Series | Category | Examples | |--------|----------|----------| | DG4xxx | Analog switches | DG408, DG411, DG441 |
DS18B20 Special Suffixes
The DS18B20 family uses simplified package codes:
| Suffix | Package | Notes | |--------|---------|-------| | (none) or + | TO-92 | Standard through-hole | | Z | TO-92 | Same as above | | U | MSOP-8 | Surface mount | | PAR | TO-92 | Parasitic power mode |
Common Series Reference
Interface ICs
| Series | Type | Equivalent/Related | |--------|------|-------------------| | MAX232 | RS-232 driver | MAX232A (faster), MAX3232 (3V) | | MAX485 | RS-485 transceiver | MAX485E (ESD protected), MAX487 | | MAX3232 | 3V RS-232 | - | | MAX3485 | 3V RS-485 | - |
Temperature Sensors
| Series | Type | Output | |--------|------|--------| | DS18B20 | 1-Wire digital | 9-12 bit resolution | | DS18S20 | 1-Wire digital | 9-bit resolution | | MAX6675 | K-thermocouple | SPI, 12-bit | | MAX6633 | Local/remote sensor | I2C |
Real-Time Clocks
| Series | Type | Interface | |--------|------|-----------| | DS1302 | RTC with RAM | 3-wire serial | | DS1307 | RTC with RAM | I2C | | DS3231 | High-precision RTC | I2C, TCXO | | DS12887 | RTC with battery | Parallel |
Power Management
| Series | Type | Application | |--------|------|-------------| | MAX17043 | Fuel gauge | Li-Ion battery | | MAX17135 | PMIC | E-paper displays | | MAX17xxx | Battery management | Various |
Handler Implementation Notes
Current Issues in MaximHandler
-
HashSet Usage: Uses
new HashSet<>()instead of immutableSet.of():// CURRENT (problematic) Set<ComponentType> types = new HashSet<>(); types.add(...); // RECOMMENDED return Set.of( ComponentType.INTERFACE_IC_MAXIM, ComponentType.VOLTAGE_REGULATOR_MAXIM, ... ); -
Missing Pattern Coverage: Many product families lack patterns:
- MAX232/MAX485 interface ICs (only generic IC patterns)
- MAX6675 thermocouple converters
- MAX17xxx power management
- MAX4xxx analog switches
-
Incomplete Package Extraction: Only handles DS18B20 specifically:
// Current implementation only handles DS18B20 if (mpn.startsWith("DS18")) { if (mpn.endsWith("Z")) return "TO-92"; // etc. } -
Limited Series Extraction: Only extracts DS18B20 and MAX6xxx series.
Recommended Pattern Additions
// Interface ICs
registry.addPattern(ComponentType.INTERFACE_IC_MAXIM, "^MAX[234]8[0-9][A-Z0-9]*$");
// Thermocouple converters
registry.addPattern(ComponentType.TEMPERATURE_SENSOR_MAXIM, "^MAX66[0-9]{2}[A-Z0-9-]*$");
// RTCs
registry.addPattern(ComponentType.RTC_MAXIM, "^DS1[23][0-9]{2}[A-Z0-9]*$");
registry.addPattern(ComponentType.RTC_MAXIM, "^DS3[0-9]{3}[A-Z0-9]*$");
// Power management
registry.addPattern(ComponentType.BATTERY_MANAGEMENT_MAXIM, "^MAX17[0-9]{3}[A-Z0-9-]*$");
// Analog switches
registry.addPattern(ComponentType.IC, "^MAX4[0-9]{3}[A-Z0-9-]*$");
registry.addPattern(ComponentType.IC, "^DG4[0-9]{2}[A-Z0-9-]*$");
Package Code Extraction
// Maxim package codes follow TEMP+PACKAGE+PINS format
// Example: MAX232CPE+ -> C=temp, P=PDIP, E=16-pin
// Extract package from 3-letter suffix
String suffix = extractSuffix(mpn); // e.g., "CPE"
if (suffix.length() >= 2) {
char packageCode = suffix.charAt(1); // Second char is package
switch (packageCode) {
case 'P': case 'N': return "PDIP";
case 'S': return "SOIC (narrow)";
case 'A': case 'W': return "SOIC (wide)";
case 'E': return "QSOP";
case 'U': return "TSSOP";
case 'T': return "SOT-23";
// etc.
}
}
Related Files
- Handler:
manufacturers/MaximHandler.java - Component types:
INTERFACE_IC_MAXIM,VOLTAGE_REGULATOR_MAXIM,RTC_MAXIM,TEMPERATURE_SENSOR_MAXIM,BATTERY_MANAGEMENT_MAXIM,MEMORY_MAXIM - Manufacturer entry:
ComponentManufacturer.MAXIMwith regex(?:MAX|DS|ICL|DG|UP|LT|LTC|LTM)
Learnings & Edge Cases
- Dallas Semiconductor: Acquired by Maxim in 2001; DS-prefix parts are Maxim products
- Analog Devices acquisition: Maxim was acquired by ADI in 2021; parts still use Maxim naming
- MAX232 vs MAX232A: The "A" suffix indicates improved specs (faster slew rate, smaller caps)
- ESD-protected variants: MAX485E has enhanced ESD protection vs standard MAX485
- Temperature code position: In Maxim's 3/4-letter suffix, temperature is FIRST letter
- DS18B20 authenticity: Counterfeit DS18B20 sensors are common; genuine parts have laser-etched markings
- LT/LTC/LTM prefixes: These are Linear Technology products (also owned by ADI), but registered in Maxim handler
微信扫一扫