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) : source vDrive derrière ROut.
  • 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

TypeNameDefaultDescription
Modelica.Units.SI.ResistanceROut100Résistance série de sortie (MCU.ROut)
Modelica.Units.SI.VoltagevThreshold(0.8 + 2.0)/2Seuil logique unique, sans hystérésis : (VIL + VIH)/2 dans MCU.mo

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.BooleanInputisOutputDirection : true = sortie (pinIsOutputD dans MCU.mo)
Modelica.Blocks.Interfaces.RealInputvDriveTension demandée en sortie : VOH/VOL, créneau PWM ou niveau de trame UART, choisie par MCU.mo
Modelica.Electrical.Analog.Interfaces.PositivePinpinLa broche GPx
Modelica.Electrical.Analog.Interfaces.NegativePingndMasse commune (MCU.GND)
Modelica.Blocks.Interfaces.BooleanOutputboolInValeur logique lue (pinBoolIn) : Pin.value(), IRQ, réveil du script
Modelica.Blocks.Interfaces.RealOutputvTension de la broche (pinNodeVoltage) : ADC.read_u16() = round(v/3.3*65535)

Components

TypeNameDefaultDescription
Modelica.Blocks.Math.BooleanToRealenable1 en sortie, 0 en entrée
Modelica.Blocks.Math.ProductgateConsigne de la source : vDrive en sortie, 0 V en entrée
Modelica.Electrical.Analog.Sources.SignalVoltagesrcSource pilotée (src[i])
Modelica.Electrical.Analog.Basic.ResistorrOutRésistance série (rOut[i])
Modelica.Electrical.Analog.Ideal.IdealClosingSwitchswFermé 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.VoltageSensorsnsCapteur de tension idéal (sns[i]), quelle que soit la direction
Modelica.Blocks.Logical.GreaterThresholdthresholdLecture logique : un seul seuil, pas d'hystérésis