Jeder weiß, dass es einfach ist, einen Proof of Concept für ein eingebettetes Gerät auf einem Rasbperry Pi oder sogar einem PC zu entwickeln, obwohl es schwierig ist, sicher zu sein, dass Ihre Wahl Ihr Konzept zum Funktionieren bringt, wenn es um die Auswahl eines Mikroprozessors für Ihr Produkt geht optimal.
Ich habe derzeit ein Media-Streaming-Projekt, das erfolgreich auf dem Himbeer-Pi arbeitet, obwohl der Pi viel zu groß und sperrig ist, um ein richtiges Endgerät zu sein. Es wird auch angegeben, dass das Endgerät benutzerdefiniert ist. Es fällt mir schwer, Vertrauen in Prozessoren zu finden, die ich verwenden kann.
Was ist ein guter Prozess, um herauszufinden, ob ein Prozessor leistungsfähig genug ist, um meine Anwendung auszuführen?
Grundsätzlich sind meine Anforderungen:
Chips mit diesen Eigenschaften zu finden ist sehr, sehr einfach. Es könnte ehrlich gesagt nicht einfacher sein. Das Problem besteht darin, festzustellen, ob der Chip schnell genug ist, was die Verarbeitung und den Betrieb betrifft.
Ich habe mir den LPC4337 ziemlich viel angeschaut und denke, dass er geeignet wäre, obwohl mir die Entwicklungsumgebung ziemlich zu schaffen macht, deshalb schaue ich mich immer noch um, was mich zum CC3200 von Texas Instruments geführt hat , obwohl dieser Controller nur mit 80 MHz läuft und ich nicht sicher bin, ob das für Echtzeit-Medienstreaming stark genug sein wird.
Was sind einige Schritte, um sicherzustellen, dass ein Prozessor schnell genug für meine Anwendung ist? Woher weiß ich beispielsweise, ob ein 80-MHz-Prozessor gut genug ist oder ob ich etwas in der Größenordnung von 204 MHz oder sogar mehr brauche?
Es hängt davon ab, wie selbstbewusst Sie sein müssen. Ich arbeite in der Raumfahrtindustrie und dies wird normalerweise über das erreicht, was wir "CPU-, RAM-, ROM-Budgets" nennen. Ein Budget, sei es Kosten-Leistungs-Masse oder irgendetwas anderes, zerlegt Ihren Prozess in überschaubare Elemente, die Sie quantifizieren und zusammenfassen können, um die Gesamtnachfrage zu ermitteln. Sie nehmen dann einen Sicherheitsfaktor, der von der Reife Ihres Projekts abhängt und mit der Zeit abnimmt, um dem Nachfragewachstum Rechnung zu tragen. Zu Beginn stützt es sich stark auf Erfahrung und wird dann im Laufe der Zeit verfeinert, wenn Technologien ausgewählt werden.
Das Obige ist äußerst schwierig genau zu bestimmen, wann Planer eingreifen, sobald Sie Threads (es sei denn, Threads werden Kernen manuell zugewiesen) und Betriebssysteme haben. Für einfache Mikrocontroller-Codes sollte es überschaubar sein, aber lohnt es sich für Ihre Anwendung?
Dies ist nur meine Beteiligung: Obwohl ich integrierte Systeme entwerfe, war ich nicht für diese speziellen Budgets verantwortlich (die für mich Eingaben sind), und ich bin tatsächlich sehr daran interessiert, die Geschichten von Experten darüber zu erfahren.
Nachtrag: Bei Echtzeitsystemen ist es normalerweise einfacher, die Angemessenheit des Systems für die Aufgabe über die maximale Abtastzeit zu beurteilen, die von Latenz/Verzögerungen bei der Übertragung der Informationen während des gesamten Arbeitsablaufs abhängt, und die jeweils maximal benötigte Zeit Musteraufgabe.
avrdude
kann Schätzungen darüber liefern, wie viel RAM von globalen Variablen belegt wird, aber Sie müssen es mit der Probelaufoption ausführen, da es sich im Grunde um ein Upload-Tool handelt.Ich werde Ihre Frage zu "Wie finde ich heraus, ob ein Mikroprozessor schnell genug ist" vereinfachen?
Sie müssen den Prozess/das Verfahren identifizieren , das die schnellste Ausführungszeit erfordert. Wenn Ihr Prozessor die erforderlichen Anweisungen in der angegebenen Zeit oder weniger ausführen kann, ist er schnell genug.
Schauen wir uns ein Beispiel an: Ihre schnellste Anforderung besteht darin, einen Stromausfall zu verarbeiten ; Dies erfordert die Ausführung von 10.000 Anweisungen in 10 Millisekunden. Sie benötigen eine CPU mit mindestens 1 MIP. Um dies in "MHz" umzurechnen, müssen Sie die Anzahl der Taktzyklen pro Befehl (cci) kennen. Nehmen wir an, es sind 10 cci, Ihre CPU müsste mit 10 MHz oder schneller laufen.
Wenn Sie die Stücklistenkosten senken möchten, haben diese Hersteller in Shenzhen manchmal überraschende Angebote. Ein Beispiel: Allwinner A10 hat mehr Rechenleistung und Anschlussmöglichkeiten als Raspberry Pi, wird aber wahrscheinlich billiger sein, wenn es in Ihrem Design verwendet wird. Wenn Sie die gleichen Kosten wie der Pi betrachten, ist der Allwinner A31s 6-8 mal leistungsstärker.
kolossal
trosley
Flippiger Typ
Roger Rowland
Flippiger Typ
Roger Rowland
davidcary
Flippiger Typ