Embedded Systeme sind ein Hybrid aus Hardware und Software. Beide müssen einander ergänzen. Hardware-Personal kann Software einfacher implementieren. Daher sind hier einige Vorschläge, um Systemhardware, Software und Firmware einfacher zu debuggen< u> Denken Sie daran, ein gutes Design ist effektiv; Ein gutes Design ist auch ein leicht zu debuggen Design

Erstens: Diagnose

In der nicht eingebetteten Welt besteht die beliebteste Debugging-Technik darin, Druckanweisungen in Code einzubetten. Diese Information teilt dem Programmierer mit, ob der Ausführungsfluss den Druckpunkt erreicht hat. Aber Software-Anwender haben selten diese Wahl

Eine andere Technik besteht darin, die Ausgabebits auf hohe Pegel zu schalten, wenn das System beschäftigt ist, und auf niedrige Pegel, wenn es im Leerlauf ist. Schließen Sie das Voltmeter an den Pin an, der eine altmodische Einheit mit analogem Pin ist. Das Instrument integriert den binären Impulsfluss, so dass die angezeigte Spannung proportional zur Systemlast ist

Wenn Platz und Kosten es zulassen, einschließlich des gesamten 8-Bit-Registers, das mit einer Reihe von 0,1-Zoll-Abstandsdurchgängen oder -Headern verbunden ist. Die Software State Machine kann ihren aktuellen 'Status' an diesen Port ausgeben. Der Logikanalysator erfasst Daten und zeigt alle Arten an, mit geringem Einfluss auf die Ausführungszeit des Codes

Mindestens eine LED wird benötigt, um den normalen Betrieb des Systems an Entwickler und sogar Kunden zu signalisieren. Dies ist ein Vertrauensindikator, der durch Aufgaben mit niedriger Priorität oder Leerlaufschleifen angetrieben wird und anzeigt, dass das System aktiv ist und nicht in einer endlichen Schleife feststeckt. Viele eingebettete Systeme verfügen über keine Benutzeroberflächen; Die blinkende LED kann eine einfache "System Normal" Anzeige sein

Hochintegrierte CPUs bieten mittlerweile viele On-Chip-Peripheriegeräte, manchmal sogar mehr, als wir in bestimmten Systemen benötigen. Wenn es eine zusätzliche UART gibt, schließen Sie die Pins an den RS-232 Level Shift Chip (wie MAX232A oder ähnlicher Chip). Abgesehen von der Prototypenentwicklung ist es nicht notwendig, den Chip tatsächlich auf die Leiterplatte zu laden

Softwareentwickler befinden sich möglicherweise in einer Ecke mit unzureichenden Tools und möchten dann Software-Monitore zu ihrem Code hinzufügen. Der RS-232 Port macht dies möglich und einfach

Wenn die Immobilien der Leiterplatte sehr begrenzt sind und es keinen Platz gibt, um den Pegelwandler zu platzieren, schließen Sie zumindest Tx, Rx und Masse an, die über Löcher zugänglich sind, so dass die MAX232 an dem grünen Kabel über der Leiterplatte aufgehängt werden kann

(Entwickler beachten: Wenn Sie diesen Port verwenden, beeilen Sie sich bitte nicht, den Monitor zu implementieren, sondern verwenden Sie Polling-I/O, um den RS-232-Treiber zu implementieren. Nehmen Sie sich etwas Zeit, um anständigen Interrupt-Treibercode zu erstellen. Unserer Erfahrung nach kann die Abfrage von I/O auf dem Monitor zu fehlenden Zeichen, unzuverlässigen Tools und großer Frustration führen.)

Schließen Sie den Rückstelldraht an den Schalter oder Jumper an, damit der Ingenieur das Signal unabhängig von der normalen Leistung beim Zurücksetzen durchsetzen kann. Einschaltprobleme können manchmal isoliert werden, indem ein Reset an einen Impulsgenerator angeschlossen wird, wodurch ein wiederholbares Szenario erstellt wird, das einfach mit einem Oszilloskop zu studieren ist

Verbindungswerkzeuge

Bestimmen Sie die Richtung des CPU-Chips, damit der Simulator bei Verwendung angeschlossen werden kann. Manchmal ist die Zielplatte tief im Schrank vergraben, und der Zugang ist höchstens begrenzt. Die meisten Simulator-Pods haben Formfaktoren, die bestimmte Einführungsrichtungen bevorzugen

Achten Sie auch auf den vertikalen Abstand! Pods, die auf großen SMT-Adaptern gestapelt sind, benötigen möglicherweise 4 bis 6 Zoll Platz über dem Board. Stellen Sie sicher, dass sich an der Oberseite des Boards nichts befindet, das den Pod stört

Verwenden Sie keine "Clip on"-Adapter auf SMT-Verpackungen. Sie sind einfach unzuverlässig (eine Ausnahme sind PLCC-Pakete mit großem Leitungsabstand). In Brasilien fehlte eine geflügelte Butter und produzierte genügend Luftstrom, um sie umzustürzen. Am besten entfernen Sie die CPU und installieren Sie einen geschweißten Adapter. PCB wird immer ein Prototyp sein, aber zumindest ein zuverlässiger Prototyp

Lassen Sie Marge im Timing des Systems. Wird jede Nanosekunde gezählt, funktioniert kein Simulator zuverlässig. Während des Lese- und Schreibzyklus, insbesondere in der Warteschaltung, wird ein zusätzlicher 5 nsec oder so die meisten Designs nicht beeinflussen

Wenn Ihr Prozessor BDM- oder JTAG-Debugging-Ports hat, stellen Sie sicher, dass Sie entsprechende Anschlüsse auf der Leiterplatte hinzufügen. Selbst wenn Sie planen, ausgereifte Simulatoren oder andere Entwicklungswerkzeuge zu verwenden, fügen Sie zumindest PCB-Pads und Verkabelungen für BDM-Stecker hinzu. Die Kosten für Steckverbinder liegen nahe Null, was ein Projekt vor einem Werkzeugdilemma retten kann

Ein Logikanalysator ist ein ausgezeichnetes Debugging-Tool, aber es fühlt sich immer sehr frustrierend an. Wenn Sie mit dem Anschluss von 100-Clip-Kabeln fertig sind, sind die ersten 50-Kabel bereits herausgebrochen

Es gibt eine bessere Lösung: Umgeben Sie Ihre CPU mit der AMP-Mikrofonschnittstelle. Dies sind hochdichte, steuerbare Impedanzkomponenten, die die Adresse, Daten und den Steuerbus des Systems außerhalb der Platine übertragen können. Sowohl Tektronix als auch Agilent unterstützen Vector. Beide Unternehmen verkaufen Kabel, die den Logic Analysator direkt mit dem Mikrofon verbinden. Keine Clipkabel, keine kundenspezifischen Kabel und eine zuverlässige Verbindung innerhalb von Sekunden. Entfernen Sie den Stecker aus der Produktionsversion der Platine oder lassen Sie nur das PCB-Pad, ohne die Teile zu laden

Wenn wir Werkzeuge anschließen, sind einige Signale besonders anfällig für Verzerrungen. Address Latching Enable (ALE), auch Address Gating (as) auf Motorola-Komponenten genannt, wird verwendet, um zwischen Adressen und Daten auf einem Multiplexbus zu unterscheiden. Das kleinste Rauschen, das vom Simulator oder sogar vom Detektor auf diesem Signal erzeugt wird, kann zum Absturz des Systems führen

Gleiches gilt für jeden Edge-getriggerten Interrupt-Eingang (wie NMI auf vielen CPUs). Beenden Sie diese Signale mit einem Dual-Resistor-Netzwerk. Obwohl Ihr Design ohne Klemme perfekt ist, können Verbindungswerkzeuge und Erkennungssignale das Signal stören

Testpunkte hinzufügen

Die anderen Signale, die wir ausgiebig erkennen, müssen zugänglich sein, einschließlich Takte, Lese-, Schreib- und alle Interrupt-Eingänge. Stellen Sie sicher, dass jeder Prüfpunkt eine ausreichende Größe hat, damit Entwickler Drähte (normalerweise Widerstandsleitungen) zum Signal löten können

Stellen Sie sicher, dass Sie einen Vcc-Testpunkt hinzufügen. Logiksonden sind uralte Werkzeuge, aber sie sind immer noch sehr nützlich. Die meisten benötigen einen Stromanschluss

Über Ports nachdenken

Alle Ausgabeports lesbar machen. Dies gilt insbesondere für Kontrollregister in ASICs, da es keine Möglichkeit gibt, diese Register zu erkennen

Seien Sie vorsichtig, wenn Sie Bohrer bestellen. Zum Beispiel, wenn das Lesen von A/D, das schlechte Design der Umwandlung von Bit 7 in Eingabebit 0, Umwandlung von Bit 6 in 1 usw. ist ein Albtraum. Natürlich können Softwareentwickler Code schreiben, um Verwirrungsprobleme zu lösen, aber die meisten Prozessoren sind nicht gut darin. Der Code wird langsam und hässlich sein

Verwenden Sie viele schmale I/O-Ports anstelle mehrerer breiter. Wenn ein Port drei LEDs, zwei Interrupt-Masken und einen Schrittmotor steuert, bedeutet das Ändern eines Ausgangs, jeden Ausgang zu verwalten. Der Code ist zu einem komplexen UND/ODER Stapel geworden. Geringfügige Hardwareänderungen erfordern ein erhebliches Maß an Software-Tuning. Bei Implementierung mit diskreter Logik können breite Ports zwar die Anzahl der Teile minimieren, aber es gibt keinen Kostenvorteil innerhalb von PLD oder FPGA

Vermeiden Sie, ungenutzte digitale Eingänge direkt an Vcc anzuschließen. In der Vergangenheit war diese Praxis verboten, da der 74LS-Eingang anfälliger für transiente Effekte war als der Vcc-Pin. Alle ungenutzten Eingänge werden über Widerstände in Vcc hochgezogen. Logische Geräte müssen dies nicht mehr tun, aber es ist immer noch eine gute Praxis. Es ist viel einfacher, einen Knoten zu erkennen und zu modifizieren, der nicht fest mit einer Stromquelle verbunden ist

Wenn Sie jedoch das Netzteil direkt an diese ungenutzten Eingänge anschließen müssen, seien Sie bitte sehr vorsichtig mit dem PCB-Layout. Stromversorgung nicht über Pins; Das heißt, verwenden Sie Pins nicht als bequeme Möglichkeit, andere Pins oder die andere Seite des Boards mit Strom zu versorgen

Es ist am besten, alle Energie- und Masseverbindungen des Eingangssignals sorgfältig als die äußeren Schienen der Leiterplatte anzuschließen, damit sie, wenn der IC an Ort und Stelle gelötet wird, gesehen werden können. Dann können Entwickler die Flugbahn leicht schneiden und Änderungen mit einem X-Acto Messer vornehmen

Der Pull-up Widerstand bringt seine eigenen Herausforderungen mit sich. Viele Debugging-Tools haben ihre eigenen Klimmzüge, die Knoten seltsam verzerren können. Am besten verwenden Sie niedrigere Werte, die CMOS erlaubt, anstatt höhere Werte (wie 10k statt 100k)

PCB-Siebdruck wird oft als Debugging-Hilfe übersehen. Beschriften Sie Schalter und Jumper. Stellt immer Pin 1 dar, da es in der SMT-Welt keine Standard-Pin 1-Position gibt. Setzen Sie ein Häkchen auf alle 5- oder 10-Pins um das große SMT-Paket und geben Sie an, ob die Anzahl der Pins in CW- oder CCW-Richtung zunimmt. Andernfalls wäre die feste Nadel 139 ein Albtraum, insbesondere bei bifokalen Verschleißkontrastmitteln mit koffeinabhängigem Tremor

Schlüsselstecker, damit Sie nicht erraten, welchen Weg das Kabel nehmen soll

Bitte fügen Sie Kommentare in das Diagramm ein! Für alle Off-Page Routen geben Sie bitte die Seite an, auf die die Route verweist. Verstecken Sie keine Pin-Nummern in Bezug auf Strom und Masse und markieren Sie diese Pin-Nummern deutlich

Nachdem das Design abgeschlossen ist, überprüfen Sie jeden Eingang jedes Geräts und stellen Sie sicher, dass jedes Gerät mit etwas verbunden ist, auch wenn es nicht in Gebrauch ist. Ich habe Hunderte von Systemen vor Ort versagen sehen, weil ungenutzte Eingaben in behauptete Zustände driften. Vielleicht möchten Sie, dass Softwareentwickler diese Inhalte im Code blockieren, aber dies ist nicht immer möglich, und trotzdem wird es oft vergessen

Versuchen Sie, Hardware-Zustandsmaschinen so weit wie möglich zu vermeiden. Sie sind schwer zu debuggen und oft eng mit Firmware gekoppelt, was das Debuggen unfreundlich macht. Es ist einfacher, diese vollständig im Code zu implementieren. Tools (wie VisualState von IAR) können automatisch Zustandsmaschinencode generieren

Bauweise

Embedded Controller kann mit einer von mehreren Technologien gebaut werden, aber die häufigste Methode ist Leiterplatte (PCB). Leiterplatten bestehen aus isolierenden Materialien, wie Epoxidharz imprägniertem Glasgewebe, mit einer dünnen Kupferschicht, die oben laminiert ist

Mehrschichtiges Kupfer und Isoliermaterialien können in mehrschichtige Leiterplatten laminiert werden. Durch Bohren und Beschichten von Löchern im Material können Schichten miteinander verbunden und Einbaupositionen für Durchgangskomponenten bereitgestellt werden

Beim Entwerfen des Layouts oder des Verbindungsmusters einer Leiterplatte ist es notwendig, viele widersprüchliche Anforderungen zu erfüllen, um zuverlässige, kostengünstige und herstellbare Geräte herzustellen. Bei Low-Speed-Schaltungen können parasitäre Effekte ignoriert werden und gelten in der Regel als ideale Verbindung

Leider ist die eigentliche Schaltung nicht ideal, da Drähte und Isolationsmaterialien Auswirkungen auf die Schaltung haben können, insbesondere bei Signalen mit schnellen Signalanstiegs-/Fallzeiten. Die Leiterbahnen oder Drähte auf einer Leiterplatte haben Streuwiderstand, Kapazität und Induktivität

Bei hohen Geschwindigkeiten können diese falschen Effekte Signalverzögerung und Verzerrung verursachen. Besondere Vorsicht ist bei der Entwicklung von PC-Boards zu beachten, um Übertragungsleitungseffekte, Rauschen und unnötige elektromagnetische Emissionsprobleme zu vermeiden

Kraft- und BodenflächenWenn möglich, ist es am besten, zwei oder mehr Schichten von Leiterplatten für Vcc- und Massesignale zu verwenden. Diese werden als Energieebene und Bodenebene bezeichnet. Ein Vorteil ist, dass es einen nützlichen hochfrequenten parasitären Leistungsentkopplungskondensator gibt, der das Leistungsrauschen des IC reduzieren kann

Die Leistungsebene reduziert auch unerwünschte Emissionen elektromagnetischer Strahlung, die Störungen verursachen können, und reduziert die Empfindlichkeit des Schaltkreises gegenüber extern induziertem Rauschen. Die Leistungsebene dient oft als Abschirmung, um die Empfindlichkeit gegenüber äußeren Geräuschen und Geräuschstrahlungen des Systems zu reduzieren

Grundprobleme

Zumindest kann dies zu unerwünschtem Rauschen oder falschem Betrieb führen; Im schlimmsten Fall kann es zu Sicherheitsproblemen und sogar zu Stromschlägen führen. Um zu vermeiden, dass Sie die Wichtigkeit dieser Möglichkeit schnell ignorieren, hat der Autor beim Testen eines Geräts, das falsch geerdet war, beinahe einen Stromschlag erlitten

Diese Probleme werden normalerweise durch eines der folgenden Probleme verursacht:

1)Die Induktivität oder der Widerstand im Erdungskreislauf ist zu groß, was zu einem "Erdungskreislauf" führt

2)Fehlende oder unzureichende Isolierung zwischen verschiedenen Erdungspunkten im System: Erdung, Sicherheit, digitale und analoge Erdung

3)Unideal Erdungspfad, der dazu führt, dass Strom in einem Stromkreis fließt und Spannung in einem anderen Stromkreis erzeugt

Die Lösungen für diese Probleme variieren je nach Art des Problems und dem Frequenzbereich, in dem es auftritt

Normalerweise können sie vereinfacht werden, um den Stromfluss in der gemeinsamen Impedanz von Schaltungen zu reduzieren, die die Verwendung von Einzelpunkt-Erdung und sorgfältige Anwendung von Abschirmung und Isolierung erfordern, um die Isolierung aufrechtzuerhalten, um unnötige parasitäre Signalkopplung zu verhindern

EMV- und ESD-Effekte

elektromagnetische VerträglichkeitHeutzutage strahlen viele elektronische Geräte unbeabsichtigt elektromagnetische Energie im gleichen Frequenzbereich ab wie Kommunikation, Navigation und Instrumente. Diese Probleme werden wichtiger

Regulierungsbehörden wie die Federal Communications Commission (FCC), das Department of Communications of Canada (DOC) und ähnliche Organisationen in Europa haben die Energiegrenzen festgelegt, die es solchen elektronischen Geräten erlauben, mit unterschiedlichen Frequenzen zu übertragen

Aufgrund der Empfindlichkeit von Anwendungen wurden strengere Anforderungen an lebenskritische Geräte wie Flugzeugnavigations- und Lebenserhaltungsgeräte gestellt. Diese Geräte müssen unter anderem ein Minimum an Immunität gegen extern induziertes Rauschen (Strahlungs- und Leitungsempfindlichkeit) bieten

Bei der Lösung von EMV-Problemen besteht der erste Schritt darin, die Quelle des Rauschens, den Pfad zum Problembereich und das Ziel zu bestimmen, an dem das Problem aufgetreten ist. Sobald diese drei Merkmale von EMV-Problemen identifiziert sind, können Ingenieure die relativen Vorteile der Beseitigung von Quellrauschen, der Verwendung von Abschirmungen und ähnlichen Techniken zum Trennen von Pfaden und der Verringerung der Empfindlichkeit der betroffenen Schaltkreise bewerten

Es gibt einige nützliche Ressourcen, darunter Publikationen, Seminare, Prüflabore und Berater, die sich mit EMV-Problemen befassen. Die beste Lösung besteht in der Regel darin, neue Designs frühzeitig in der Prototypphase zu testen, um potenzielle Problembereiche zu identifizieren und diese mit minimalen Kosten- und Terminauswirkungen zu lösen

Elektrostatische Entladung (ESD)ist eine wichtige Designüberlegung in eingebetteten Anwendungen, da Fehler und falsche Operationen in Anwesenheit externer elektrischer Felder auftreten können p>

Wenn jemand in einer Umgebung mit niedriger Luftfeuchtigkeit durch den Boden geht und ein elektronisches Gerät berührt, wird normalerweise die ESD-Spannung an die eingebettete Schnittstelle angelegt, die etwa Zehntausende Volt beträgt

Einer der häufigsten Orte, an denen dies zu einem Problem wird, ist die Tastatur oder das Eingabegerät des Benutzers, das in direkten Kontakt mit der Außenwelt kommt. Dieser Aufprall kann sofort Schäden oder Verwirrung verursachen oder zu möglichen Fehlfunktionen führen, die mehrere Monate nach Auftreten eines ESD-Ereignisses auftreten können

Designer verwenden typischerweise Abschirmungs- und Erdungstechnologien, die Sicherheits- und Emissionsreduktionstechnologien ähneln, um die Auswirkungen von ESD zu minimieren. Die verfügbaren Ressourcen für EMV-Probleme stehen in der Regel auch für ESD-Probleme zur Verfügung

Fehlertoleranz

Da Embedded-Systeme Anwendungen betreten, in denen Fehler inakzeptabel sind, ist Fehlertoleranz zunehmend eine Anforderung für Embedded-Systeme geworden. Viele Hard- und Softwarelösungen wurden entwickelt, um diese Anforderung zu erfüllen

Um zu verstehen, wie mit diesen Fehlern umzugehen ist, müssen wir zuerst die Typen und Eigenschaften jeder Fehlerart identifizieren und verstehen. Jeder Fehler kann in "harte" oder "weiche" Fehler unterteilt werden. Ein harter Fehler wird dazu führen, dass der Fehler nicht verschwindet. Zum Beispiel wird durch Drücken des Reset- oder Ausschaltens keine Wiederherstellung aus dem Fehlerzustand verursacht. Soft-Fehler werden durch vorübergehende Ereignisse oder in einigen Fällen durch Programmfehler verursacht

Wenn der Fehler nicht zu schwerwiegend ist, können Selbstprüfungs- und Diagnoseprogramme den Fehler identifizieren und diagnostizieren

Basierend auf der Art des auftretenden Fehlers und der betroffenen Ausrüstung kann ein System entworfen werden, um Fehler zu erkennen und kann sogar den Ort des Fehlers zu einem gewissen Grad isolieren. Im Falle einer weichen Störung kann der Konstrukteur dem System ermöglichen, sich automatisch von der Störung zu erholen

Sie können eingebaute Selbsttest-Programme für eingebettete Prozessoren schreiben, die Fehler in den folgenden Gerätetypen erkennen können:

• Prozessor (wenn der Fehler nicht zu stark ist)

• Speicher

•ROM

• Rampen

• Offen (E/E)

• Peripheriegeräte

Bitte beachten Sie, dass es auch wenn dies nicht unmöglich ist, schwierig ist, Fehler in der Steuerschaltung oder "Bonding Logic" im System zu erkennen. Andere Geräte, wie Speicher, können bei Diagnosemethoden helfen

Eine oder mehrere der folgenden Techniken können verwendet werden, um Fehler im Dateninhalt von ROM-Geräten zu testen:

• Paritätsprüfung

• Prüfsumme

Cyclic Redundancy Check (CRC)

Die Integrität des RAM-Speichers und der vom Prozessor im RAM gespeicherten Informationen kann mit einer der folgenden Techniken auf korrekten Betrieb getestet werden:

• Erkennung und Korrektur von Hardwarefehlern

• Test des Daten-/Adressmodus

• Erreichen Sie die Integrität der Datenstruktur durch Überprüfung der Stack-Beschränkungen und der Gültigkeit des Adressbereichs

Zusätzlich können eine oder mehrere der folgenden Techniken verwendet werden, um die Integrität des Programms und die korrekte Ausführungsreihenfolge der CPU zu überprüfen:

• Hardware Parity Error Detection

• Repetitive, redundante Hardware und Cross-Checking oder Abstimmung

• "Watchdog" Timer für den Betrieb der CPU Chip Reset Line

Kontinuierlich laufende Diagnose, wenn die CPU nichts anderes zu tun hat

Instrumentenprobleme

Eines der wichtigsten, aber oft übersehenen Probleme, die Designer angehen müssen, ist die richtige Auswahl und Verwendung von Prüfinstrumenten. Unsachgemäße Auswahl und Anwendung dieser Werkzeuge sind oft die Ursache dafür, dass Designer Zeit und Verwirrung verschwenden. Zwei häufige Anwendungsprobleme beziehen sich auf die Verwendung von Oszilloskop und Logic Analysator Sonde

Die Sonde, die mit einem typischen Oszilloskop oder Logikanalysator ausgestattet ist, darf das beobachtete Signal nicht beeinflussen oder die gesammelten Daten verzerren. Die Eingangsimpedanz liegt im Megohm-Bereich und die parasitäre Kapazität beträgt Dutzende von Pikosekunden. Die Prüfgeräte scheinen wenig Einfluss auf die Messung zu haben, aber das ist nicht der Fall

Es gibt zwei häufige Gründe für das Messproblem: übermäßige Induktivität der Erdungsleitung und übermäßige kapazitive Last. Diese Dinge führen zumindest zu falschen Messungen oder im schlimmsten Fall zu einer unterschiedlichen Leistung der getesteten Schaltung. Es gibt zwei Dinge, die getan werden können, um diese Probleme zu lindern:

1)Verwenden Sie die kürzestmögliche Testleitung, insbesondere für schnelle logische Erdungsverbindungen

2)Verwenden Sie hochohmige Sonden, insbesondere solche, die für Hochgeschwindigkeitsanwendungen entwickelt wurden, wie zum Beispiel Hochgeschwindigkeits-FET-Eingangsoszilloskop-Sonden

Andere Instrumentenprobleme können durch Missverständnis des Sampling-Effekts im digitalen Oszilloskop, fehlende Fehlererkennung im Logic-Analysator und andere vage, aber potenziell schmerzhafte "Lernerfahrungen" verursacht werden. Nur mit einem guten Verständnis für die Bedienung der verwendeten Geräte und einigen praktischen Erfahrungen können diese Probleme vermieden werden

Andere besondere Designüberlegungen

Eingebettete Systemdesigner sollten mindestens mit einigen anderen Funktionen vertraut sein. Dazu gehören die Konzepte der thermischen Eigenschaften des Systems, des thermischen Widerstands, des Stromverbrauchs und deren Auswirkungen auf die Anlagentemperatur und Zuverlässigkeit. Ein weiteres wichtiges Thema in tragbaren, tragbaren und ferngesteuerten Ortungssystemen ist der Einsatz von Batterieenergiespeichern

Thermische Analyse und Design

Glücklicherweise ist die Berechnung der Betriebstemperatur eines Geräts nicht allzu schwierig, da es eine einfache Schaltungsanalogie gibt, die am häufigsten verwendet wird, um die Temperatur des Geräts zu berechnen. Die Temperatur ist der Spannung ähnlich, die dissipatierte Leistung entspricht dem Strom und der thermische Widerstand entspricht dem Widerstand. Mit anderen Worten:

Temperaturanstieg (º C)=Leistung (W) * Wärmewiderstand (º C/W)

Der thermische Widerstand mehrerer aufeinander gestapelter mechanischer Komponenten wird addiert, so wie ein Reihenwiderstand einem einzelnen Widerstand entspricht, gleich der Summe der Einzelwerte

Zum Beispiel, wenn ein 5V linearer Spannungsregler mit einem 9V Eingang einen Laststrom von 1 Ampere liefert, wird der Regler dissipatieren:

P=V,I=(9-5 Volt) * 1 Ampere oder 4 Watt Leistung

Wenn der thermische Widerstand zwischen der Halbleiterverbindung und dem Gehäuse des Reglers 1° C/Watt beträgt (signiert als θ Jc), und der thermische Widerstand des mit dem Regler installierten Heizkörpers von der Installationsfläche des Reglers zur statischen Umgebungsluft ist 10° C/watt (signiert als θ Der thermische Gesamtwiderstand zwischen Halbleiteranschluss und Umgebungsluft beträgt:

θ ja= θ jc+ θ Ca=1+10=11° C/watt

Dann ist der Temperaturanstieg des Gelenks höher als der Temperaturanstieg der Luft um den Regler, gegeben durch die folgende Formel:

T=P* θ Ja=4 Watt.11° C/watt=44° C über Umgebungstemperatur

Wenn der Regler für eine maximale Anschlusstemperatur von 85° C bestimmt ist, sollte das Gerät nicht in Umgebungsluft mit Temperaturen über 85-44=41° C arbeiten, da der Regler sonst vorzeitig ausfällt

Wenn dies inakzeptabel ist, muss der Konstrukteur die Eingangsspannung reduzieren, um den Stromverbrauch zu reduzieren, den thermischen Widerstand durch Erzwingen des Luftstroms verringern oder das Design auf einen anderen Typ ändern (z. B. einen Schaltmodus-Regler), um den Regleranschluss innerhalb der Betriebsgrenzen zu halten

Leistungsindikatoren: IPS, OPS und Benchmarks

Um verschiedene Arten von Computern zu vergleichen, haben Hersteller eine Reihe von Metriken vorgeschlagen, um die Prozessorleistung zu quantifizieren

Der erfolgreiche Einsatz dieser Geräte in eingebetteten Systemen hängt typischerweise von folgenden Eigenschaften ab:

• IPS (Instructions per Second)

• OPS (Operationen pro Sekunde)

• FLOPS (Floating Point OPS)

Benchmarks (standardisierte und proprietäre "Beispielprogramme") sind kurze Beispiele, die die Prozessorleistung in kleinen Anwendungen anzeigen

Integrierte Leiterplatten, oder häufiger, Megapixel (Millionen von IPS) undbiplane (Milliarden von IPS), werden normalerweise weggeworfen, sind aber im Wesentlichen wertloser Marketing-Hype, weil sie nur die Geschwindigkeit beschreiben, mit der die schnellsten Anweisungen auf der Maschine ausgeführt werden. Diese Anweisung ist normalerweise eine NOP-Anweisung, so dass 500-MIPS bedeuten kann, dass der Prozessor 500-Millionen-Mal pro Sekunde nicht ausführen kann

Als Reaktion auf die Schwachstellen in der IPS-Messung basiert deroperation(andmopandblowout preventer, zumindest klingt interessant) auf einer gemischten Ausführungszeit verschiedener Befehle. Sein Zweck ist es, eine Standardausführungsfrequenzgewichtete Befehlskombination zu verwenden, um die "nominale" Ausführungszeit genauer darzustellen

Trigger(megaFLOPS, gigaFLOPS, etc.) sind ähnlich, mit der Ausnahme, dass sie Fließpunktanweisungen stark gewichten, um eine große Anzahl von Rechenanwendungen wie kontinuierliche Simulation und Finite-Elemente-Analyse darzustellen

Das Problem mit OPS-Metriken ist, dass die resultierende Anzahl weitgehend von der Kombination von Anweisungen abhängt, die verwendet werden, um sie zu berechnen, die möglicherweise nicht genau die erwartete Häufigkeit der Ausführung von Anwendungsanweisungen darstellen

BenchmarkingBenchmarking ist ein kurzes, in sich geschlossenes Programm, das verwendet wird, um wichtige Teile einer Anwendung auszuführen, wie Sortieralgorithmus, und um Code mit äquivalenten Funktionen auf verschiedenen Maschinen zu vergleichen

Das Programm führt eine bestimmte Anzahl von Iterationen aus und misst die Zeit und vergleicht sie mit der Zeit anderer CPUs. Die Schwachstelle dabei ist, dass Benchmark Testing nicht nur ein Maß des Prozessors ist, sondern auch ein Maß des Programmierers und der Werkzeuge, die zur Implementierung des Programms verwendet werden

Daher ist der beste Benchmark, es selbst zu schreiben, da es Ihnen ermöglicht, die Effizienz des Codes, den Sie schreiben, mit verfügbaren Tools auf einem bestimmten Prozessor zu entdecken. Dies liegt sehr nahe an der tatsächlichen Anwendungsleistung, die Sie erhalten können, außer wenn Sie die Anwendung vollständig auf jedem Prozessor in der Evaluation implementieren

Dieser Artikel basiert auf dem Konzept der "Embedded Hardware omnicient" und ist zur Nutzung durch Newnes, eine Tochtergesellschaft von Elsevier, lizenziert. Copyright 2008. Weitere Informationen zu diesem Buch und anderen ähnlichen Büchern finden Sie unter www.elsevierdirect.com

Gansel ist einer der frühesten Embedded-Entwickler mit 30-jähriger Erfahrung auf diesem Gebiet. Er ist Autor von zwei Embedded-Büchern über Integrationsfragen im Embedded-System-Design jeden Monat: The Art of Embedded System Design und the Art of Embedded System Programming. Jack hält ein eintägiges Schulungsseminar ab, um Entwicklern zu zeigen, wie sie schneller bessere Firmware entwickeln können

Ken Arnold, der Autor vonHardware Design of Embedded Controller, ist der Koordinator des Embedded Computer Engineering Projekts, Dozent der erweiterten Zweigstelle der School of Sustainable Development der University of California und Gründungsdirektor der California Online University. Ken ist außerdem Gründer und CEO eines Hightech-Ausrüstungsunternehmens, Chief Technology Officer von Wireless Innovation und Engineering Director von General Dynamics

-------------------------------------------------<-----------------)---------------------------------------------------------------------------------------- div id="div-gpt-ad-native">-> -> --- div class="partial">