modelPinBridge
Pont électrique d'une broche GPIO du MCU tel qu'il était avant les tirages internes (2026-10-01), refait en blocs standard
Information
Le pont électrique d'une broche du MCU, extrait de la boucle for i in 1:9 de MCU.mo et redessiné avec des blocs standard, pour le voir et l'essayer seul. Non utilisé par MCU. C'est l'état d'avant le 2026-10-01 : depuis, MCU.mo a des tirages internes et une fuite de 1 GOhm (voir PinBridgeFull et la décision « Tirages internes » de requirements.md).
- En sortie (
isOutput = true) : sourcevDrivederrièreROut. - En entrée : la source tombe à 0 V et l'interrupteur s'ouvre ; reste sa fuite
Goff= 1e-5 S, soit ≈ 100 kΩ vers la masse. - Lecture :
v(ADC) brute,boolIn=v > vThreshold, sans hystérésis.
Le choix de vDrive (VOH/VOL, PWM, trame UART) reste dans MCU.mo ; le maître I2C fait du drain ouvert en basculant isOutput avec vDrive = 0. Banc d'essai : PinBridgeDemo.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.Resistance | ROut | 100 | Résistance série de sortie (MCU.ROut) |
| Modelica.Units.SI.Voltage | vThreshold | (0.8 + 2.0)/2 | Seuil logique unique, sans hystérésis : (VIL + VIH)/2 dans MCU.mo |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Blocks.Interfaces.BooleanInput | isOutput | Direction : true = sortie (pinIsOutputD dans MCU.mo) | |
| Modelica.Blocks.Interfaces.RealInput | vDrive | Tension demandée en sortie : VOH/VOL, créneau PWM ou niveau de trame UART, choisie par MCU.mo | |
| Modelica.Electrical.Analog.Interfaces.PositivePin | pin | La broche GPx | |
| Modelica.Electrical.Analog.Interfaces.NegativePin | gnd | Masse commune (MCU.GND) | |
| Modelica.Blocks.Interfaces.BooleanOutput | boolIn | Valeur logique lue (pinBoolIn) : Pin.value(), IRQ, réveil du script | |
| Modelica.Blocks.Interfaces.RealOutput | v | Tension de la broche (pinNodeVoltage) : ADC.read_u16() = round(v/3.3*65535) |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Blocks.Math.BooleanToReal | enable | 1 en sortie, 0 en entrée | |
| Modelica.Blocks.Math.Product | gate | Consigne de la source : vDrive en sortie, 0 V en entrée | |
| Modelica.Electrical.Analog.Sources.SignalVoltage | src | Source pilotée (src[i]) | |
| Modelica.Electrical.Analog.Basic.Resistor | rOut | Résistance série (rOut[i]) | |
| Modelica.Electrical.Analog.Ideal.IdealClosingSwitch | sw | Fermé en sortie (Ron = 10 µΩ) ; ouvert en entrée, il reste sa fuite Goff = 1e-5 S, soit ≈ 100 kΩ vers la source à 0 V. MCU.mo utilise IdealOpeningSwitch commandé par not isOutput : même circuit | |
| Modelica.Electrical.Analog.Sensors.VoltageSensor | sns | Capteur de tension idéal (sns[i]), quelle que soit la direction | |
| Modelica.Blocks.Logical.GreaterThreshold | threshold | Lecture logique : un seul seuil, pas d'hystérésis |