Initial commit: demo-epb v1.0 — Elektrische Parkbremse Demo

Vollstaendige Demo des slohmaier Dev Process anhand einer EPB-Steuergeraet-
Software. Zeigt ASPICE 4.0 / ISO 26262-konforme Entwicklung im Monorepo.

Inhalte:
- 5 Plaene (PID, PM-, QA-, SWE-, Test-Plan) in Word, ausgefuellt mit
  EPB-spezifischen Inhalten
- 10 System-Anforderungen + 25 Software-Anforderungen (Doorstop-MD)
- 5 System-Architektur-Elemente + 10 Software-Architektur-Elemente
  mit PlantUML-Diagrammen und vollstaendigem Mapping
- 3 implementierte Komponenten (Apply Controller D, Actuator Driver B,
  Switch Debouncer QM) plus 7 Header-Stubs
- 28 Unit-Tests, alle gruen, mit Coverage- und MISRA-Build-Targets
- Audit-Artefakte: 1 Review-Protokoll, 1 Non-Conformity, 1 MISRA-Record
- Gitea-Actions-CI-Pipeline (validate.yml)
- Doorstop-Konfiguration fuer bidirektionale Traceability
- Generator-Skript fuer alle 50 Reqs/Arch-Elemente aus Strukturdaten
- README mit gefuehrter Tour fuer Prospects
This commit is contained in:
Stefan Lohmaier
2026-05-11 13:51:02 -07:00
commit 1855162e6d
92 changed files with 4116 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'Apply-Controller haelt Klemmkraft'
level: 1.1
normative: true
reviewed: null
links:
- SYS-001
asil: D
---
# SWE-001: Apply-Controller haelt Klemmkraft
Der Apply-Controller muss die Klemmkraft im Hold-Zustand alle 50 ms verifizieren und bei Abweichung > 10% nachregeln.
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'Watchdog ueberwacht Apply-Controller'
level: 1.2
normative: true
reviewed: null
links:
- SYS-001
asil: D
---
# SWE-002: Watchdog ueberwacht Apply-Controller
Ein unabhaengiger Watchdog muss die Liveness des Apply-Controllers mit 100 ms Timeout ueberwachen und bei Ausbleiben in den sicheren Zustand (Apply) gehen.
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'Schalter-Apply-Signal an Apply-Controller weiterleiten'
level: 1.3
normative: true
reviewed: null
links:
- SYS-002
asil: D
---
# SWE-003: Schalter-Apply-Signal an Apply-Controller weiterleiten
Das Software-Modul Switch-Debouncer muss ein entprelltes Apply-Signal innerhalb von 50 ms an den Apply-Controller liefern.
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'Klemmkraft-Erreichen bestaetigen'
level: 1.4
normative: true
reviewed: null
links:
- SYS-002
asil: D
---
# SWE-004: Klemmkraft-Erreichen bestaetigen
Der Apply-Controller muss das Erreichen der Ziel-Klemmkraft via Strommessung erkennen und ein Status-Flag setzen.
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'Release-Voraussetzungen pruefen'
level: 1.5
normative: true
reviewed: null
links:
- SYS-003
asil: B
---
# SWE-005: Release-Voraussetzungen pruefen
Vor jedem Release muss der Apply-Controller pruefen: Motor laeuft, Bremspedal betaetigt, Gang ist eingelegt. Andernfalls Release abweisen.
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'Aktoren in Release-Position fahren'
level: 1.6
normative: true
reviewed: null
links:
- SYS-003
asil: B
---
# SWE-006: Aktoren in Release-Position fahren
Der Actuator-Driver muss beide Aktoren parallel in Release-Position fahren. Maximalzeit: 1200 ms. Bei Timeout DTC setzen.
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'Motor-Aus-Bedingung erkennen'
level: 1.7
normative: true
reviewed: null
links:
- SYS-004
asil: D
---
# SWE-007: Motor-Aus-Bedingung erkennen
Der Safety-Manager muss erkennen: Motor-Status = aus, Geschwindigkeit < 0.5 km/h. Auswertezyklus 50 ms.
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'Auto-Apply nach 2 s Verzoegerung'
level: 1.8
normative: true
reviewed: null
links:
- SYS-004
asil: D
---
# SWE-008: Auto-Apply nach 2 s Verzoegerung
Ist die Motor-Aus-Bedingung 2 s stabil erfuellt und Parkbremse noch nicht aktiv, muss der Safety-Manager Apply-Anforderung an den Apply-Controller senden.
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'Hill-Hold-Aktivierungsbedingung'
level: 1.9
normative: true
reviewed: null
links:
- SYS-005
asil: D
---
# SWE-009: Hill-Hold-Aktivierungsbedingung
Der Safety-Manager muss Hill-Hold aktivieren, wenn Neigung (gefiltert) > 5%, Geschwindigkeit < 0.5 km/h und Bremspedal betaetigt sind.
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'Hill-Hold-Uebergabe an Apply-Controller'
level: 1.10
normative: true
reviewed: null
links:
- SYS-005
asil: D
---
# SWE-010: Hill-Hold-Uebergabe an Apply-Controller
Wird das Bremspedal bei aktivem Hill-Hold losgelassen, muss der Safety-Manager unmittelbar Apply-Anforderung an den Apply-Controller senden, bevor das Fahrzeug zu rollen beginnen kann.
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'Anfahrabsicht erkennen'
level: 1.11
normative: true
reviewed: null
links:
- SYS-006
asil: B
---
# SWE-011: Anfahrabsicht erkennen
Anfahrabsicht ist erkannt, wenn: Gaspedal > 10%, Gang in Vorwaerts oder Rueckwaerts, Motor laeuft.
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'Sicherheits-Check vor Auto-Release'
level: 1.12
normative: true
reviewed: null
links:
- SYS-006
asil: B
---
# SWE-012: Sicherheits-Check vor Auto-Release
Vor Auto-Release muessen erfuellt sein: Fahrertuer geschlossen, Sicherheitsgurt angelegt. Andernfalls warnen und nicht loesen.
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'Strommessung mit 1 kHz'
level: 1.13
normative: true
reviewed: null
links:
- SYS-007
asil: B
---
# SWE-013: Strommessung mit 1 kHz
Der Actuator-Driver muss den Motorstrom jedes Aktors mit mindestens 1 kHz abtasten. Genauigkeit +/- 100 mA.
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'Overcurrent-Cutoff'
level: 1.14
normative: true
reviewed: null
links:
- SYS-007
asil: B
---
# SWE-014: Overcurrent-Cutoff
Bei Motorstrom > 8 A laenger als 100 ms muss der Actuator-Driver den Motor abschalten und einen DTC P0xxx setzen.
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'Klemmkraft-Schaetzung aus Strom-Profil'
level: 1.15
normative: true
reviewed: null
links:
- SYS-007
asil: B
---
# SWE-015: Klemmkraft-Schaetzung aus Strom-Profil
Der Actuator-Driver muss die erreichte Klemmkraft aus dem Stromverlauf bei Apply schaetzen (Modell: F = k * I_peak).
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'UDS RoutineControl 0x31 fuer Service-Release'
level: 1.16
normative: true
reviewed: null
links:
- SYS-008
asil: QM
---
# SWE-016: UDS RoutineControl 0x31 fuer Service-Release
Service-Mode wird ueber UDS RoutineControl Service 0x31, Routine-ID 0x0301 aktiviert. Bedingung: Fahrzeug muss stillstehen.
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'Service-Mode-Indikator'
level: 1.17
normative: true
reviewed: null
links:
- SYS-008
asil: QM
---
# SWE-017: Service-Mode-Indikator
Im Service-Mode muss die EPB-LED am Schalter mit 2 Hz blinken.
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'UDS Service 0x19 ReadDTC'
level: 1.18
normative: true
reviewed: null
links:
- SYS-009
asil: QM
---
# SWE-018: UDS Service 0x19 ReadDTC
Das System muss alle gespeicherten DTCs ueber Service 0x19 (Subfunktion 0x02 reportDTCByStatusMask) ausgeben.
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'UDS Service 0x22 ReadDataByIdentifier'
level: 1.19
normative: true
reviewed: null
links:
- SYS-009
asil: QM
---
# SWE-019: UDS Service 0x22 ReadDataByIdentifier
Folgende DIDs muessen lesbar sein: 0xF187 (SW-Version), 0x0301 (Klemmkraft links), 0x0302 (Klemmkraft rechts).
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'LED-Steuerung'
level: 1.20
normative: true
reviewed: null
links:
- SYS-010
asil: QM
---
# SWE-020: LED-Steuerung
Apply-aktiv: LED dauerleuchtend. Release: LED aus. Fehler: LED blinkt 4 Hz. Service-Mode: LED blinkt 2 Hz.
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'CAN-Status-Frame'
level: 1.21
normative: true
reviewed: null
links:
- SYS-010
asil: QM
---
# SWE-021: CAN-Status-Frame
Status-Frame 0x3A0 mit 50 Hz: Byte 0 = Status (0=Released, 1=Applied, 2=Applying, 3=Releasing, 0xFF=Error), Byte 1-2 = Klemmkraft links, Byte 3-4 = Klemmkraft rechts.
+17
View File
@@ -0,0 +1,17 @@
---
active: true
derived: false
header: 'Stillstands-Erkennung aus Wheel Speeds'
level: 1.22
normative: true
reviewed: null
links:
- SYS-001
- SYS-002
- SYS-006
asil: B
---
# SWE-022: Stillstands-Erkennung aus Wheel Speeds
Stillstand ist erkannt, wenn alle 4 Wheel-Speed-Signale fuer mindestens 200 ms unter 0.5 km/h liegen.
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'Wheel Speed Plausibilisierung'
level: 1.23
normative: true
reviewed: null
links:
- SYS-007
asil: B
---
# SWE-023: Wheel Speed Plausibilisierung
Spreizung der Wheel-Speed-Signale: bei Geradeaus-Fahrt darf die Differenz nicht > 3 km/h sein. Andernfalls Sensor-Fehler-DTC.
+15
View File
@@ -0,0 +1,15 @@
---
active: true
derived: false
header: 'Inclinometer Tiefpass-Filter'
level: 1.24
normative: true
reviewed: null
links:
- SYS-005
asil: B
---
# SWE-024: Inclinometer Tiefpass-Filter
Das Roh-Neigungssignal muss mit einem Tiefpass 1. Ordnung (Zeitkonstante 200 ms) gefiltert werden, bevor es zur Hill-Hold-Bewertung verwendet wird.
+16
View File
@@ -0,0 +1,16 @@
---
active: true
derived: false
header: 'Switch-Debouncing'
level: 1.25
normative: true
reviewed: null
links:
- SYS-002
- SYS-003
asil: QM
---
# SWE-025: Switch-Debouncing
Der EPB-Schalter muss mit einer Entprell-Zeit von 50 ms entprellt werden. Stabiler Pegel = Eingangssignal fuer Apply-Controller.