Universal I/O Controller Design
Table
| Function | Implemented Channels | External Connectors | Main Nets |
|---|---|---|---|
| Universal Inputs | 4 | J1–J4 | UI1_FIELD–UI4_FIELD, UI1_ADC–UI4_ADC, UI1_DIG_OUT–UI4_DIG_OUT |
| Universal Outputs | 4 | J5–J8 | UO1_OUT–UO4_OUT |
| Control / Host Interface | 1 expanded header | J10, plus J9 legacy/programming header | SPI_SCLK, SPI_MOSI, SPI_MISO, ADC_CS_N, ADC_RDY_N, HC595_LATCH |
| Field Power Input | 1 | J10 pin 16 / FIELD_24V_IN | FIELD_24V_IN, FIELD_24V_PROT |
Table
| Function | Components / Nets | Notes |
|---|---|---|
| Input field rail | FIELD_24V_IN | Feeds U1 IN pins and configuration dividers |
| Protected field rail | FIELD_24V_PROT | U1 OUT rail with C22 bulk capacitance |
| UVLO setting | R31, R32, LM76202_UVLO_SET | Approximate configured undervoltage threshold network |
| OVP setting | R33, R34, LM76202_OVP_SET | Approximate configured overvoltage threshold network |
| Current limit | R35, LM76202_ILIM_SET | Sets U1 current-limit behavior |
| Current monitor | R36, LM76202_IMON | Provides monitor load/path |
| dV/dT control | C26, LM76202_DVDT | Controls output slew behavior |
| Fault output | FIELD_FLT_N / UI4_DIG_OUT header conflict note | U1 fault indication was initially brought to J10 pin 15; this pin is now also used for UI4_DIG_OUT and should be reviewed before production |
Table
| Rail | Source / Use | Notes |
|---|---|---|
| 5V_IN | J10 / external logic supply | Feeds U10 input and U5 LM2902 supply |
| 3V3 | U10 AP2204K-3.3TRG1 | Feeds AD7708 logic/analog supply, HC595, CD4066 switches, comparators, references, and pullups |
| 2V5_REF | IC1 LM4040AIZ-2.5/NOPB | Reference input for AD7708 REFIN1(+) |
| GND | Common return | Current schematic uses common GND for analog, digital, and field return; future revision may split AGND/DGND/field return if needed |
Table
| ADC Function | Implemented Nets / Components |
|---|---|
| Analog channels | UI1_ADC, UI2_ADC, UI3_ADC, UI4_ADC into AIN1–AIN4 |
| Reference | 2V5_REF into REFIN1(+), GND into REFIN1(-) |
| Clock | Y1 32.768 kHz crystal with C23/C24 load capacitors on ADC_XTAL1 / ADC_XTAL2 |
| SPI interface | SPI_SCLK, SPI_MOSI, SPI_MISO, ADC_CS_N |
| Data ready | ADC_RDY_N |
| Reset | ADC_RESET_N |
Text
Field terminal → TVS/protection → 1k series resistor → protected node ├─ 0–10 V divider path ├─ 0–20 mA shunt path ├─ resistance / RTD / thermistor excitation path └─ digital comparator sense path
Table
| Channel | Connector | TVS | Series R | 0–10 V Divider | 0–20 mA Shunt | Excitation R | Switch IC | ADC Net | Digital Sense | Digital Output |
|---|---|---|---|---|---|---|---|---|---|---|
| UI1 | J1 | D1 | R1 1k | R2 30k / R3 10k | R4 165Ω | R5 10k | U6 | UI1_ADC | UI1_DIG_SENSE | UI1_DIG_OUT |
| UI2 | J2 | D2 | R6 1k | R7 30k / R8 10k | R9 165Ω | R10 10k | U7 | UI2_ADC | UI2_DIG_SENSE | UI2_DIG_OUT |
| UI3 | J3 | D3 | R11 1k | R12 30k / R13 10k | R14 165Ω | R15 10k | U8 | UI3_ADC | UI3_DIG_SENSE | UI3_DIG_OUT |
| UI4 | J4 | D4 | R16 1k | R17 30k / R18 10k | R19 165Ω | R20 10k | U9 | UI4_ADC | UI4_DIG_SENSE | UI4_DIG_OUT |
Table
| Mode | Hardware Path | Firmware Action |
|---|---|---|
| 0–10 V | Select divider path with CTRL_VOLTAGE_MODE | Convert ADC result using divider ratio and calibration coefficients |
| 0–20 mA | Select shunt path with CTRL_CURRENT_MODE | Convert ADC voltage across 165Ω shunt to current |
| Resistance / RTD / Thermistor | Select excitation path with CTRL_RESISTANCE_MODE | Measure divider/sense voltage and apply resistance/temperature conversion table |
| Digital Input | Select digital sense path with CTRL_DIGITAL_MODE | Read comparator output UIx_DIG_OUT |
| Analog Input | Use ADC path appropriate to source range | Firmware must choose direct/scaled path according to allowed voltage range |
Table
| Channel | Comparator | Input Net | Output Net | Pullup |
|---|---|---|---|---|
| UI1 | U3A | UI1_DIG_SENSE | UI1_DIG_OUT | R25 to 3V3 |
| UI2 | U3B | UI2_DIG_SENSE | UI2_DIG_OUT | R26 to 3V3 |
| UI3 | U11A | UI3_DIG_SENSE | UI3_DIG_OUT | R27 to 3V3 |
| UI4 | U11B | UI4_DIG_SENSE | UI4_DIG_OUT | R28 to 3V3 |
Table
| HC595 Output | Net | Function |
|---|---|---|
| QA | CTRL_VOLTAGE_MODE | Enables 0–10 V divider path on all UI channels |
| QB | CTRL_CURRENT_MODE | Enables 0–20 mA shunt path on all UI channels |
| QC | CTRL_RESISTANCE_MODE | Enables excitation path for resistance/RTD/thermistor modes |
| QD | CTRL_DIGITAL_MODE | Enables digital comparator sense path |
| QE | UO1_CMD | Software command/control for UO1 buffer |
| QF | UO2_CMD | Software command/control for UO2 buffer |
| QG | UO3_CMD | Software command/control for UO3 buffer |
| QH | UO4_CMD | Software command/control for UO4 buffer |
Table
| Output | Command Net | Op-Amp Stage | External Connector | Output Net |
|---|---|---|---|---|
| UO1 | UO1_CMD | U5 channel 1 | J5 | UO1_OUT |
| UO2 | UO2_CMD | U5 channel 2 | J6 | UO2_OUT |
| UO3 | UO3_CMD | U5 channel 3 | J7 | UO3_OUT |
| UO4 | UO4_CMD | U5 channel 4 | J8 | UO4_OUT |
Table
| Net | Purpose |
|---|---|
| 5V_IN | External 5 V input for local 3V3 regulator and LM2902 supply |
| 3V3 | Local regulated logic rail output/reference |
| SPI_SCLK | AD7708 SCLK and HC595 shift clock |
| SPI_MOSI | AD7708 DIN and HC595 SER |
| SPI_MISO | AD7708 DOUT |
| ADC_CS_N | AD7708 chip select |
| ADC_RDY_N | AD7708 data-ready output |
| HC595_LATCH | HC595 storage-register latch |
| HC595_SRCLR_N | HC595 shift-register clear |
| HC595_OE_N | HC595 output enable |
| UI1_DIG_OUT–UI4_DIG_OUT | Comparator-backed digital input outputs |
| FIELD_24V_IN | Field power input |
Table
| Check Area | Status |
|---|---|
| Schematic components/nets | Implemented at architecture level |
| ERC basics | Previously reported clean in earlier validation passes |
| DRC overlapping copper | U1 issue was specifically targeted and reported clean after correction |
| DRC airwires | Still failing; routing remains incomplete |
| Manufacturing exports | Should remain blocked until routing and final DRC are clean |
1. Purpose and Scope
2. Implemented Channel Count
3. Main Functional Blocks
3.1 Field Power Protection and Supervision
3.2 Logic and Analog Power Rails
3.3 ADC and Measurement Core
3.4 Universal Input Front Ends
4. Comparator-Based Digital Inputs
5. Software Configuration and HC595 Mapping
6. Universal Output Architecture
7. Host / Control Interface
8. PCB and Validation Status
9. Key Design Limitations / Follow-Up Items
10. Recommended Next Steps