Hallo zusammen, ich habe folgenden Aufbau: Eine Kamera, die 44 Bilder a 250x250 Pixel und 10 Bit liefert. Die Bilddaten müssen per LVDS abgeholt werden. Mit einem entsprechend geschätzten Overhead kommen die Daten mit ca. 45MHz. Die Kamera soll zum Lesen eines einzigen Bildes eingesetzt werden. Dieses Bild muss für weitere Berechnungen in einen Speicher (~128k) abgelegt werden. Der Algorithmus stellt keine großen Anforderungen an die Hardware; 4 MIPS sind sicher ausreichend (es ist kein Problem, wenn die Berechnung 1s dauert). Das Ergebnis dieser Berechnung (<= 32 Bit) soll dann von dem Hauptprozessor (wird ein ARM Derivat sein) abgeholt. Da ich keine Ahnung von µCs / DSPs habe (eventell kommt ja auch was ganz anderes in Frage) tue ich mir schwer, einen Chip zu finden, der 1. schnell genug ist, die Daten abzuholen, 2. mindestens 128k Speicher hat, 3. und sehr günstig ist. Der letzte Punkt macht die Suche nicht einfach. Da er aber wichtig ist (wir reden hier von Stückzahlen im Bereich von 100 000 pro Jahr) stelle ich dieses Problem in diesem Forum zur Diskussion. Vielen Dank Jörg Zeiner
> (wir reden hier von Stückzahlen im Bereich von 100 000 pro Jahr)
Ab dieser Stückzahl sind Problemlösungen kostenpflichtig.
Moin, bei 100k im Jahr würde ich, wenn's ne simple Anwendung ist, ev. über einen ASIC nachdenken... Das macht auch das Kopieren des Algorithmus schwieriger. Zu was ich bei "intelligenter Kamera" als erstes greife: Blackfin mit PPI-Interface. Da kann dann auch der ARM im Prinzip wegfallen, wenn der Chip in diesen Stückzahlen 3-5 USD kosten darf. Das Problem ist nur, dass man für das LVDS-Interface einen Wandler auf den parallelen Videoport (PPI) braucht (im Prototypen fällt mir da nur ein FPGA ein) Wo sollen die Daten denn hin, bzw. über welches Interface? Grüsse, - Strubi
Martin S. schrieb: > Das Problem ist nur, dass man für das LVDS-Interface einen Wandler auf > > den parallelen Videoport (PPI) braucht (im Prototypen fällt mir da nur > > ein FPGA ein) Es gibt von TI einen neuen Chip, der genau diese Wandlung macht. Gruß
Martin S. schrieb: > Wo sollen die Daten denn hin, bzw. über welches Interface? Hallo Strubi, da habe ich etwas nicht ganz verständlich geschrieben. Wenn die Daten im Speicher liegen, soll der µC oder DSP (oder sonst ein Chip) einen Algorithmus auf das Bild (bzw. die Daten) anwenden. Am Ende kommt dann als Ergebnis ein paar Bits (<= 32) heraus. Diese werden dann von dem Hauptprozessor, welcher ein ARM Derivat sein wird, von dem µC oder DSP oder was auch immer abgeholt. Es bleiben also von den 128k nur maximal 4 Bytes übrig. Grüße Jörg
Hi Jörg, > > Am Ende kommt dann als Ergebnis ein paar Bits (<= 32) heraus. Diese > werden dann von dem Hauptprozessor, welcher ein ARM Derivat sein wird, > von dem µC oder DSP oder was auch immer abgeholt. Es bleiben also von > den 128k nur maximal 4 Bytes übrig. Klingt erschreckend einfach - was den Versand angeht. Allerdings meinte ich, was der ARM damit macht. Den würde ich u.U. einsparen, und mir überlegen, ob der gesamte Algorithmus auf einem FPGA zu implementieren wäre. Dann ist der Schritt zum ASIC ev. nich mal so weit (finanziell immer noch weit genug, aber wenn die 100k ernst gemeint sind, werden sich die Profis um dich reissen). Leider haben die meisten Chips nicht genügend on-Chip-SRAM, fragt sich, ob dein Algo häppchenweise verarbeiten kann. RS: Wie heisst 'dein' LVDS->parallel-Wandler? Im Wald der ganzen serdes-Chips den richtigen zu finden, der dann auch das passende Timing generiert, ist so ne Sache für sich.. - Strubi
Wie teuer darf die Lösung denn werden? Welche Anforderungen gibt es an die Kamera? Was soll mit den Daten passieren bzw. über welche Schnittstelle sollen diese ausgegeben werden? Alles Fragen die sich stellen, besonders bei der Stückzahl. Oben schreibst du: "Eine Kamera, die 44 Bilder a 250x250 Pixel und 10 Bit liefert." etwas später dann: "(es ist kein Problem, wenn die Berechnung 1s dauert)". Das passt für mich nicht ganz zusammen, möchtest du 44 Bilder aufzeichnen und diese dann auswerten, 44 Bilder aufzeichnen, auswerten usw. oder möchtest du ein Bild auswerten? Oder sogar im "Videostream" Auswertungen fahren?
Martin S. schrieb: > RS: Wie heisst 'dein' LVDS->parallel-Wandler? Im Wald der ganzen > serdes-Chips den richtigen zu finden, der dann auch das passende Timing > generiert, ist so ne Sache für sich.. Hi, dieser Chip ist direkt für die Wandlung der seriellen Daten moderner CMOS-Bildsensoren gemacht. Ich würde das Ganze in einem FPGA implementieren. Ein (oder zwei, je nach Algorithmus) DDR2-Ram dranhängen und zur einfachen Steuerung einen Softcore Microcontroller im FPGA implementieren. Damit ist dann auch gleich der Anschluss des Sensors mit seinen LVDS-Signalen gelöst.
Zuerst einmal vielen Dank für eure Antworten. @Strubi: Die Bildverarbeitung, über die wir reden, ist nur ein Teil eines komplexeren Geräts. Der Hauptprozessor kann daher nicht ersetzt oder weggelassen werden. @Christopher N.: Die Kamera (die hier auch gegeben ist) liefert die Bilder in 44 fps. Es wird aber nur ein einziges Bild benötigt, da ich ein statisches Objekt aufnehme. Das heißt, obwohl ich eigentlich genug Zeit hätte, so ein Bild mit einigen kHz abzuholen, kann ich das nicht, da das Bild nicht solange existiert. Grüße Jörg
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.