Wie schnell muss der CPU-Takt sein, um die Kamera zu steuern?

Ich mache ein Kamerasystem mit CMOS-Bildsensor und Mikrocontroller. Aber ich weiß noch nicht, wie schnell CPU-Takt ich brauche. Angenommen, ich verwende einen 5-Megapixel-CMOS-Bildsensor und nehme nur ein Standbild mit 1 fps, 2592 x 1944 und RGB-Format (8 Bit für jede Farbe) auf, wie schnell würde ich eine CPU benötigen?

Danke

Ich denke, Sie machen Ihr Design rückwärts. Finden Sie zuerst einen geeigneten Sensor, schauen Sie sich dann sein Datenblatt an und sehen Sie, was seine Anforderungen sind.
Was genau wird die CPU tun? Bilderfassung? Bildverarbeitung? Kommunikation? Wird die Bildverarbeitung auf Pixel-für-Pixel-Basis für ein gesamtes erfasstes Bild oder für ein gestreamtes Video durchgeführt? Wie aufwändig wäre die Bildverarbeitung? Wenn Sie es nicht herausgefunden haben, ist Ihre Frage in ihrer aktuellen Form unmöglich zu beantworten.

Antworten (1)

Auf diese Frage gibt es keine einfache Antwort. Als erstes ist zu sagen, dass die Taktfrequenz nicht wirklich so wichtig ist. Jahrelang glaubte man, je höher die Taktfrequenz, desto schneller der Prozessor, und das stimmt nicht. Was Sie sagen können, ist, dass, wenn Sie einen bestimmten Prozessorchip haben und ihn mit einer Frequenz takten und dann diese Frequenz erhöhen, dieser Prozessorchip schneller arbeitet und der Programmcode darauf schneller läuft. Der Versuch, die Leistung basierend auf der Taktfrequenz verschiedener Prozessoren zu vergleichen, ist jedoch nicht möglich.

Der Grund liegt in der Architektur des Prozessors. Es hat mit der Anzahl der Taktzyklen zu tun, um die Befehle auszuführen, und das variiert von Prozessor zu Prozessor.

Es gibt verschiedene Möglichkeiten, sich der Antwort zu nähern: Versuchen Sie herauszufinden, welche Prozessoren andere Leute für eine ähnliche Anwendung verwenden, oder versuchen Sie, einige Berechnungen darüber anzustellen, welche Prozessorleistung Sie benötigen, dh wie viele Millionen Anweisungen pro Prozessor Zweitens brauchen Sie?

Die andere wichtige Sache, an die Sie denken müssen, ist die Datenratengeschwindigkeit zwischen Prozessor und Kamera. Wenn Sie einen Prozessor auswählen, dessen Datenbusgeschwindigkeit zu niedrig ist, können Sie die Daten nicht schnell genug aus der Kamera auslesen.

5 Megapixel, ein Byte pro Pixel entspricht 5 Megabyte pro Frame. Wenn Sie Full-Motion-Video möchten, benötigen Sie 24 oder mehr Bilder pro Sekunde, nennen Sie es 25, was bedeutet, dass Sie einen Prozessor benötigen, der eine Busgeschwindigkeit von mehr als 125 Megabyte pro Sekunde erreicht.

Um die benötigte Prozessorleistung abzuschätzen, müssten Sie Code schreiben, ein Programm skizzieren, Daten von der Kamera lesen und dann, was Ihre Anwendung mit diesen Daten machen wird.

Es wird eine Schätzung sein. Wenn Sie ein Video mit 25 Bildern pro Sekunde machen, können Sie Ihre Antwort mit 25 multiplizieren, um Ihnen die Gesamtzahl der Anweisungen pro Sekunde zu geben, die Sie benötigen. Aber Sie müssen bei dieser Art von Analyse sehr konservativ sein, am besten davon ausgehen, dass Ihre Antwort zu niedrig ist, und sich für einen Prozessor entscheiden, der ein deutlich höheres Leistungsniveau liefern kann, als Ihre Berechnung zeigt.

Diese Analyse gibt Ihnen einen Hinweis auf die Prozessorleistung und ermöglicht es Ihnen, Mikrocontroller auszuschließen, die einfach zu langsam sind, um auch nur annähernd das von Ihnen benötigte Leistungsniveau zu erreichen.

5MB/Frame * 25 Frames/s != 25MB/s