Share this

Eingebettetes Design des Fahrzeugtemperaturregelungssystems

2026-02-21 10:57:30 · · #1
1. Hardware-Plattformdesign Wie in Abbildung 1 dargestellt, werden die Subsysteme im Folgenden beschrieben. 1.1 LPC2214 Der LPC2214 ist ein eingebetteter Mikrocontroller (MCU) von Philips. Er verwendet den ARM7TDM I-Kern und verfügt über umfangreiche On-Chip-Ressourcen, darunter 16 KB statisches On-Chip-RAM und 256 KB eingebetteten Hochgeschwindigkeits-Flash-Speicher. Seine 128 Bit breite Speicherschnittstelle und die einzigartige Beschleunigungsarchitektur ermöglichen die Ausführung von 32-Bit-Code mit maximaler Taktfrequenz. Anwendungen mit strengen Anforderungen an die Codegröße können den 16-Bit-Thumb-Modus nutzen, um die Codegröße bei minimalem Leistungsverlust um 30 % zu reduzieren. Dank seines kleinen 144-Pin-Gehäuses, des extrem niedrigen Stromverbrauchs, mehrerer 32-Bit-Timer, eines 8-Kanal-10-Bit-ADC (in 64-Pin- und 144-Pin-Gehäusen) und bis zu 9 externen Interrupts eignet sich der LPC2214 besonders für industrielle Steuerungen, medizinische Systeme, Zutrittskontrollsysteme und Kassensysteme. Dank seiner integrierten seriellen Schnittstelle mit großem Frequenzbereich eignet es sich hervorragend für Kommunikationsgateways, Protokollkonverter, eingebettete Softwareanwendungen und diverse andere Anwendungsbereiche. 1.2 CPLD-Erweiterungsschaltung und Tastatur-LCD: Die Hauptfunktion dieser Schaltung besteht in der Erweiterung der Peripheriefunktionen des CPU-Chips, um eine optimale Mensch-Maschine-Schnittstelle zu gewährleisten. Für Schaltungen mit komplexeren Funktionsanforderungen wird üblicherweise der CPU+CPLD-Modus verwendet. Dafür gibt es zwei Hauptgründe: (1) Als Kern des Systems kann und muss die CPU nicht alle spezifischen Funktionsanforderungen aller Benutzer erfüllen. Es genügt, den Benutzern eine standardmäßige externe Busschnittstelle (EB I) zur Verfügung zu stellen, damit sie die benötigten Funktionen bedarfsgerecht erweitern können. (2) CPLDs bieten folgende Vorteile im Schaltungsdesign: Sie ermöglichen eine einfache Adressdekodierung, eine unkomplizierte Programmierung, die die Realisierung der Funktionen verschiedener Logikbausteine ​​per Softwareprogrammierung erleichtert, und eine Taktverzögerung im Nanosekundenbereich, was sie besonders für Anwendungen im Bereich der Online-Überwachung geeignet macht und eine hohe Zuverlässigkeit gewährleistet. Die Hauptfunktion der Tastatur besteht darin, die Sensorsignale an jeder Position im manuellen Steuermodus zu erfassen und zu steuern. Die an jeder Position erfasste Temperatur wird digital auf dem LCD angezeigt. Dies ermöglicht die zentrale und einheitliche Verwaltung der Temperaturerfassung und -regelung im manuellen Modus. 1.3 Systemspeicher und Debugging-Schnittstelle: Der LPC2214 unterstützt 8-Bit-, 16-Bit- und 32-Bit-Adressierungsmodi und bietet dadurch leistungsstarke Adressierungsmöglichkeiten sowie die einfache Realisierung großer Speicherbereiche. Da der Chip selbst über 256 KB Hochgeschwindigkeits-Flash-Speicher verfügt, ist dieser für eingebettete Kommunikationscontroller, die mit μC/OS-II entwickelt wurden, ausreichend, sodass kein externer Flash-Speicher benötigt wird. Das System verwendet den IS61LV25616AL als SRAM-Speicher und erfüllt damit die Anforderungen an die Speicherblockkopie des eingebetteten Betriebssystems und des Kommunikationscontrollers. Der LPC2214 unterstützt das JTAG-Protokoll. JTAG (Joint Test Action Group) ist ein internationaler Standard für Testprotokolle, der primär für interne Chiptests sowie Systemsimulation und Debugging verwendet wird. Über die JTAG-Schnittstelle sind alle internen Komponenten des Chips zugänglich, was die Entwicklung und das Debuggen eingebetteter Systeme einfach und effizient macht. Aktuell existieren zwei JTAG-Schnittstellenstandards: 14-polig und 20-polig. Der Autor hat sich für die 14-polige Schnittstelle entschieden. 1.4 Systemkommunikation Der LPC2214 integriert zwei UART-Kanäle. Eine RS-422-Schnittstelle wird mittels eines MAX489-Chips für die Kommunikation mit einem Host-Computer realisiert; die zweite UART-Schnittstelle dient der Kommunikation mit anderen Systemen auf derselben Ebene. Über die RJ-45-Netzwerkschnittstelle des RTL8019AS-Chips wird im Falle eines schwerwiegenden Fehlers in der Temperaturregelungseinrichtung ein verdrilltes Zweidrahtkabel der Stufe 5 oder höher verwendet, um eine Verbindung zu einem neuronalen Netzwerk-basierten Fehlerdiagnoseserver herzustellen und so eine Ethernet-Ferndiagnose zu ermöglichen. 1.5 Digitale und analoge Schnittstellen Der LPC2214 bietet bis zu 76 programmierbare I/O-Ports. Die wichtigsten analogen Signale des Temperaturreglers umfassen: analoge Signale für die Temperatur im vorderen und hinteren Fahrgastraum, analoge Motortemperatur sowie acht analoge Signale von Systemkomponenten. Die analogen Signale werden vor dem Eintritt in den Temperaturregler über acht 10-Bit-ADCs isoliert und verstärkt. Die digitalen Signale innerhalb des Temperaturreglers werden über die I/O-Ports isoliert und verstärkt, bevor sie die entsprechenden Steueranschlüsse erreichen, um den Lüfterschalter, die Temperatur der Systemkomponenten und das Ein-/Ausschalten der Klimaanlage im vorderen und hinteren Fahrgastraum zu steuern. Weitere Datenbusse, Adressbusse und einige GPIOs sind für Erweiterungszwecke auf der Systemplatine herausgeführt. 2. Schnittstellen-Störschutz: In diesem großen Fahrzeugsystem beeinflusst eine Änderung des Temperatursignals an einem bestimmten Punkt im hinteren Fahrgastraum direkt die Leistung und den Status des gesamten Systems. Daher ist es notwendig, die Zuverlässigkeit der Ein-/Ausgangsschnittstellen zu verbessern. Wirksame Störschutzmaßnahmen sind sowohl für digitale als auch für analoge Signale erforderlich. Das Gesamtkonzept des digitalen Schnittstellenkanals ist ein vollständig optoentkoppeltes System. Nachdem der digitale (Schalter-)Eingangskanal mit dem Optokoppler verbunden wurde, verhindert dessen Entstörungswirkung, dass verschiedene im Eingangssignal enthaltene Störimpulse in den Eingangskreis gelangen. Darüber hinaus bietet der Optokoppler einen hervorragenden Sicherheitsschutz, da seine Ein- und Ausgangsschaltungen Spannungen von 1000 V und mehr standhalten. Auch der Steuersignalausgang ist optoisoliert. Da das Ausgangssignal des Schaltsignals direkt Start und Stopp des Geräts steuert, sind externe Schutzschaltungen erforderlich. Hierfür eignen sich Relais, PhotoMOS-Relais und Optokoppler. Obwohl die Trennung zwischen analogen Ein-/Ausgangsschaltungen und externen Stromversorgungen durch Sicherheitsbarrieren gewährleistet werden kann, können dennoch starke elektrische Störungen über diese und andere Kanäle der analogen Ein-/Ausgangsschaltungen in das System gelangen. Um einen jederzeit stabilen und sicheren Betrieb intelligenter Geräte zu gewährleisten, sind daher zusätzliche Isolationsmaßnahmen notwendig. Da analoge Signale kontinuierlich sind, hat jede dem analogen Signal überlagerte Störung praktische Relevanz und ist wirksam. Dies bedeutet, dass die Entstörungsabschirmung möglichst weit außen, idealerweise am analogen Ein-/Ausgang, platziert werden sollte. Daher muss der hier verwendete Optokoppler lineare Transformations- und Übertragungseigenschaften aufweisen. 3. Systemsoftware-Design: μC/OS-II ist ein kostenloser Open-Source-Echtzeit-Embedded-Kernel, der die für Echtzeitsysteme erforderlichen Basisfunktionen bereitstellt. μC/OS-II enthält den Kern aller Funktionen und hat eine Codegröße von nur 8,3 KB. Da μC/OS-II zudem anpassbar ist, kann der tatsächliche Code im Benutzersystem bis zu 2,7 KB klein sein, was ihn kompakt und leistungsstark macht. μC/OS-II eignet sich für kleine Steuerungssysteme und zeichnet sich durch hohe Ausführungseffizienz, geringen Speicherbedarf, exzellente Deterministik und Echtzeitfähigkeit sowie starke Skalierbarkeit aus. μC/OS-II verwendet einen präemptiven Echtzeit-Multitasking-Kernel. Ein präemptiver Echtzeit-Kernel führt stets die Aufgabe mit der höchsten Priorität unter den bereiten Aufgaben aus. Daher unterstützt μC/OS-II kein allgemeines Round-Robin-Scheduling mit Zeitscheiben. μC/OS-II kann bis zu 64 Tasks mit Prioritäten von 0 bis 63 verwalten, wobei 0 die höchste Priorität darstellt. Version II reserviert 8 Tasks für das System, sodass dem Benutzer 54 zur Verfügung stehen. Die Anforderungen an die Temperaturregelung sind wie folgt: Große Fahrzeugsysteme sind mit Temperatursensoren ausgestattet, die die Temperaturen an verschiedenen Stellen im System erfassen. Die Temperaturregelung empfängt die aktuellen Temperaturen an jedem Punkt und vergleicht sie mit voreingestellten Sollwerten, um die Betriebszustände der einzelnen Systemkomponenten zu bestimmen. Basierend auf der Temperatur gibt sie entsprechende Steuersignale aus, um die Überwachung zu gewährleisten. Beträgt die Solltemperatur im Isolierraum des Fahrzeugs beispielsweise 20 °C und empfängt die Temperaturregelung vom Temperatursensor einen Wert von 21 °C, gibt sie ein digitales Steuersignal zur Kühlung aus und schaltet den Lüfter ein. Sobald der Temperatursensor den vorgegebenen Bereich (19,8–20,2 °C) erreicht, gibt der Temperaturregler ein Stoppsignal aus und schaltet den Lüfter ab. Der Temperaturregler verfügt über zwei Betriebsmodi: automatisch und manuell. Er wählt den Modus anhand von Tastatursignalen oder Steuersignalen eines Host-Computers aus. Darüber hinaus erkennt der Temperaturregler Fehler wie Motorüberlastung und Sensorfehlfunktionen umgehend und führt anschließend eine einfache Fehlerbehebung durch. Bei komplexen Fehlern, die nicht diagnostiziert werden können, verbindet er sich über ein verdrilltes Adernpaar mit einem neuronalen Netzwerk-Fehlerdiagnoseserver, aktiviert das Steuersignal und führt eine Ferndiagnose durch. Entsprechend den Steuerungsanforderungen des Temperaturreglers ist dieses Programm in sechs Aufgaben unterteilt: Die Aufgabe „OSTask Input“ erfasst periodisch die analogen Eingangssignale der Temperatursensoren des Fahrzeugsystems; Die Aufgabe OSTaskControl() vergleicht die vom Temperaturregler empfangenen aktuellen Temperaturen verschiedener Fahrzeugkomponenten mit den Sollwerten und gibt entsprechende Steuerbefehle aus, um den Kühl- oder Heizbetrieb zu steuern oder das System bei zu hoher Motortemperatur abzuschalten. Die Aufgabe OSTaskcontrol choice() fragt regelmäßig die serielle UART-Schnittstelle ab, um Steuerbefehle vom Host-Computer zu erkennen und rechtzeitig reagieren zu können. OSTaskmode choose() bestimmt den Betriebsmodus des Temperaturreglers anhand von Tastatur- oder Steuersignalen des Host-Computers. Der Standardmodus ist automatisch. Die Aufgabe OSTaskRemote Diagnosis() fragt regelmäßig die Netzwerkkarte ab, sobald ein Steuersignal empfangen wird, um die Kommunikation mit dem Remote-Fehlerdiagnoseserver herzustellen. Die Aufgabe OSTaskEasy_Recover() führt einfache Fehlerbehandlungsprogramme aus. Die Aufgaben interagieren über gemeinsame Variablen. Der Softwareinitialisierungsprozess läuft wie folgt ab: Beim Erstellen von Benutzertasks in μC/OS-II sind drei Punkte zu beachten: Erstens wird jedem Task in μC/OS-II eine unterschiedliche Priorität zugewiesen. Die Prioritätsnummer des Tasks ist seine zugewiesene Nummer und ausschließlich für die Systemnutzung reserviert. Zweitens verfügt jeder Task in μC/OS-II über einen eigenen Stackbereich. Der Stack muss als OS STK deklariert werden und besteht aus einem zusammenhängenden Speicherbereich. Benutzer können den Stackbereich statisch oder dynamisch allokieren. Statische Stacks sollten außerhalb von Funktionen platziert werden. Schließlich muss beim Aufruf von OSTaskCreate bekannt sein, ob der Stack inkrementiert oder dekrementiert wird, da der Benutzer die oberste Stackadresse an die Funktion übergeben muss. In der Datei OS_CPU.H ist die oberste Stackadresse die niedrigste Speicheradresse, wenn OS_STK_GROWTH auf 0 gesetzt ist; ist OS_STK_GROWTH auf 1 gesetzt, ist die oberste Stackadresse die höchste Speicheradresse. Bei 80x86-Prozessoren wächst der Stack von der höchsten zur niedrigsten Adresse. 4. Fazit: Dieses Temperaturregelungssystem nutzt einen fortschrittlichen 32-Bit-ARM-Prozessor als Hauptsteuereinheit und bietet im Vergleich zu herkömmlichen Temperaturreglern überlegene Echtzeitleistung, Flexibilität, Genauigkeit und Sicherheit. Die Software ist primär in ANSI C programmiert, was hohe Lesbarkeit und einfache Portierbarkeit gewährleistet. Der Einsatz des Open-Source-Betriebssystems μC/OS-II für das Aufgabenmanagement optimiert die Softwareausführung und die Echtzeitleistung des Systems zusätzlich. Daher besitzt dieses System ein erhebliches Marktpotenzial und einen hohen kommerziellen Wert in großen Fahrzeugsystemen. Dank der überlegenen Leistung des ARM-Mikroprozessors und der Portabilität der Software lässt sich dieser Controller problemlos in andere Systeme integrieren und in zahlreichen Bereichen wie Gebäudeautomation und Informationstechnik einsetzen.
Read next

Drehzahlregelung mit variabler Frequenz im Wechselstrombereich und Drehzahlregelung mit Gleichstrombereich

1. Entwicklung von Frequenzumrichtern: Gleichstrom- und Wechselstromantriebe wurden im 19. Jahrhundert, also vor über 10...

Articles 2026-02-20