mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Ausgabe von schnellem Zeilenensor digitalisieren?


Autor: W. Usel (wuselchen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Huhu!

Für ein Positioniersystem möchte ich die analoge Ausgabe zweier 
Zeilensensoren CMOS 1421 von FairchildImaging
http://www.fairchildimaging.com/main/documents/CMO...
mit einem FPGA (Virtex 5) weiterverarbeiten.
Die maximale Pixelrate beträgt 100 MHz (aufgeteilt auf zwei 
Ausgabekanäle) als differentielle Ausgabe.
Nach der Digitalisierung hätte ich gern einen seriellen LVDS-Strom, da 
ich ansonsten nicht mit der Busbreite am Erweiterungsport meines 
Entwicklungsboards auskomme (ML506 von Xilinx) (ich dachte so an 12 Bit 
ENOB pro A/D Wandler und ich benötige 4 Wandler).
Bei meiner Suche nach geeigneten Bauteilen habe ich den AD9978 von
Analog Devices gefunden.
http://www.analog.com/static/imported-files/data_s...
Der Baustein kann genau das, was ich möchte:
differentieller Eingang, bis 65 MPixel/s, zwei Kanäle, Ausgang als 
serielles LVDS. Die Konkurrenz (ich hab bei TI und National geschaut) 
hat keine vergleichbaren Komponenten.
Analog hält sich leider sehr bedeckt bezüglich Dokumentation zu diesem 
Baustein: man solle sich bitte an die CCD Development Group wenden, die 
allerdings bisher nicht auf meine Emails reagiert hat.
Alternativ zu diesem Chip plane ich daher einen diskreten Aufbau:
Eingangsfilter, dualer programmierbarer Verstärker, dualer ADC mit 
seriellem LVDS-Ausgang. Mein erster (naiver) Ansatz war, die Eingabe 
jedes Sensors DC zu koppeln, ein realtives laxes Antialiasfilter 
einzusetzen und eine Überabtastung zu machen, um dann digital nochmal 
einen Tiefpassfilter zu realisieren. Bei der dabei nötigen Samplerate 
wären die ADCs (14 Bit) allerdings bereits sehr teuer.

Da ich bisher keine Erfahrung in der Digitalisierung von bildgebenden 
Sensoren habe, sind mir allerdings noch einige Dinge unklar:
Das Datenblatt des AD9978 (und ähnlicher Analoger Frontends) gibt an, 
daß die Abtastung mit 65 (bzw. x) MHz erfolgt und damit auch 65 (bzw. x) 
MPixel/s digitalisiert werden können. Das wundert mich erstmal, da ich 
normalerweise immer ein Antialiasfilter im Eingang erwarten würde.
Warum und in wieweit darf ich in diesem Fall hochfrequentes Rauschen 
vernachlässigen?
Dies ist insbesondere interessant für mich, da ich, falls möglich, 
Sensor und Konverter gern aus thermischen Gründen räumlich trennen 
würde.

Ich wäre über Literaturhinweise und Erfahrungsberichte zum Thema 
"Digitalisierung von analogen Bildsensorausgaben" sehr dankbar.
"The Data Conversion Handbook" war leider nicht sehr ausführlich zum 
Thema und auch andere (Standard)signalverarbeitungsbücher gehen nicht 
auf diese Situation ein.


Vielen Dank für Hinweise
und viele Grüße
  wuselchen

Autor: strubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ganz bloede Frage: Warum so schwergewichtig? Es gibt diverse digitale 
CMOS-Sensoren mit genuegend Empfindlichkeit, die man als Zeilensensoren 
missbrauchen kann, indem man das Auslesefenster reduziert. Je nach Chip 
liegen da mehrere 1000 fps drin. Hersteller sind immer etwa die 
ueblichen Verdaechtigen, ganz bezahlbar sind die Aptina (ex Micron), 
Dauerbrenner im High-End-Bereich (aber etwas teurer) die Kameramodule 
von Photonfocus.

Zum Thema Abtastung: Kenne den Chip nicht, aber schaetze mal, dass ein 
digitales Filter den Chip zur Heizung machen wuerde :-). Garstige 
Rauschartefakte sollten bei einem CCD, wenn sauber angesteuert, ansich 
nicht zu erwarten sein. Vermute mal, dass die meisten CCDs eine gewisse 
Bandpasscharakteristik haben, was das eigentliche Signalrauschen (vom 
Pixel) angeht. Das elektrische Grundrauschen macht natuerlich Artefakte, 
aber faellt wohl nicht sehr ins Gewicht. Wenn's ein speziell fuer CCD 
gemachter Chip ist, wird er vermutlich auch Takt und Phasenlage fuer den 
CCD entsprechend generieren, und jemand hat bestimmt bei der Entwicklung 
an das Rauschen gedacht..

Gruesse,

- Strubi

Autor: W. Usel (wuselchen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Strubi,
danke für die Antwort!

> ganz bloede Frage: Warum so schwergewichtig? Es gibt diverse digitale
> CMOS-Sensoren mit genuegend Empfindlichkeit, die man als Zeilensensoren
> missbrauchen kann, indem man das Auslesefenster reduziert. Je nach Chip
> liegen da mehrere 1000 fps drin. Hersteller sind immer etwa die
> ueblichen Verdaechtigen, ganz bezahlbar sind die Aptina (ex Micron),
Das war auch meine Hoffnung. Für eine langsamere Variante habe ich schon 
einen Zeilensensor mit integriertem ADC verwendet. Allerdings habe ich 
keinen (Zeilen)sensor gefunden, der vergleichbare Linearität, 
Dynamikumfang, Auflösung (2048 Pixel) und Auslesegeschwindigkeit (> 30 
kZeilen/s) bietet.

> Dauerbrenner im High-End-Bereich (aber etwas teurer) die Kameramodule
> von Photonfocus.
Bei denen hatte ich mich schonmal nach Kameramodulen umgeschaut. Leider 
steht da:
"For Linux and QNX applications please contact us."
Da ich Linux einsetze und in der Vergangenheit schlechte Erfahrungen mit 
Herstellern gemacht habe, die sowas schreiben, hab ich erstmal Abstand 
genommen.

> Zum Thema Abtastung: Kenne den Chip nicht, aber schaetze mal, dass ein
> digitales Filter den Chip zur Heizung machen wuerde :-). Garstige
Das stimmt :)
> Rauschartefakte sollten bei einem CCD, wenn sauber angesteuert, ansich
> nicht zu erwarten sein. Vermute mal, dass die meisten CCDs eine gewisse
Naja, zumindest machen CCDs wohl bei CDS eine kurze Spitze zwischen 
Pixellevel und nächstem Referenzlevel (steht unten auf Seite 2 in:
http://www.analog.com/static/imported-files/data_s...
), die zum einen den S/H-Verstärker beeinflussen kann und zum anderen 
auch Reflexionen in meiner Zuleitung auslösen könnte.

> Bandpasscharakteristik haben, was das eigentliche Signalrauschen (vom
> Pixel) angeht. Das elektrische Grundrauschen macht natuerlich Artefakte,
> aber faellt wohl nicht sehr ins Gewicht. Wenn's ein speziell fuer CCD
> gemachter Chip ist, wird er vermutlich auch Takt und Phasenlage fuer den
> CCD entsprechend generieren, und jemand hat bestimmt bei der Entwicklung
> an das Rauschen gedacht..
Da bin ich sicher. Ich hab mich nur gefragt, was der sich gedacht hat 
:)
Kann ich die Artefakte durch das Grundrauschen noch vernachlässigen, 
wenn ich den Sensor etwas abgesetzt platziere?
Ich würde sehr gern mehr Details über das Design von CMOS/CCD Sensoren 
und deren Ausgangsstufen erfahren. Hat jemand einen Literatur-Tipp für 
mich?
Ich hatte schon das Buch "CMOS/CCD Sensors and Camera Systems", ISBN 
0819467308 im Auge, aber der einzige Referent schreibt:
"Its target audience is primarily the engineers looking for information 
needed to specify a system that functions in a particular way."

Nicht gerade sehr hilfreich :/

Viele Grüße
  wuselchen

Autor: Martin S. (strubi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Wusel,

> Das war auch meine Hoffnung. Für eine langsamere Variante habe ich schon
> einen Zeilensensor mit integriertem ADC verwendet. Allerdings habe ich
> keinen (Zeilen)sensor gefunden, der vergleichbare Linearität,
> Dynamikumfang, Auflösung (2048 Pixel) und Auslesegeschwindigkeit (> 30
> kZeilen/s) bietet.
>

Achso. Hmm. Auslesegeschwindigkeit waere nicht das Problem, aber die 
Aufloesung eher. Da muesstest Du ev. schon nach dedizierten 
CMOS-Zeilenkameras schauen (Dalsa oder Basler?), die gibts dann wohl 
meist nur mit CameraLink Interface. Wird auf jeden Fall dann recht 
teuer, aber vermutlich spielt das in dem Fall keine Rolle. Du muesstest 
dann halt das CameraLink-LVDS-Signal verarbeiten.

>> Dauerbrenner im High-End-Bereich (aber etwas teurer) die Kameramodule
>> von Photonfocus.
> Bei denen hatte ich mich schonmal nach Kameramodulen umgeschaut. Leider
> steht da:
> "For Linux and QNX applications please contact us."
> Da ich Linux einsetze und in der Vergangenheit schlechte Erfahrungen mit
> Herstellern gemacht habe, die sowas schreiben, hab ich erstmal Abstand
> genommen.
>

Also was Photonfocus angeht, kann ich Dich beruhigen :-)
Ich weiss zwar nich, inwieweit der Linux-Support inzwischen plug & play 
geworden ist, nehme mal an, dass die Jungs sich etwas Supportaufwaende 
sparen wollen. Der Punkt ist auch, dass es nicht allzuviele Framegrabber 
gibt, die unter Linux laufen, da du den aber nicht brauchst, ist das 
einzige kritische noch die Library, um die Kamera anzusteuern - die tut 
auf jeden Fall unter Linux/QNX.

> Naja, zumindest machen CCDs wohl bei CDS eine kurze Spitze zwischen
> Pixellevel und nächstem Referenzlevel (steht unten auf Seite 2 in:
> http://www.analog.com/static/imported-files/data_s...
> ), die zum einen den S/H-Verstärker beeinflussen kann und zum anderen
> auch Reflexionen in meiner Zuleitung auslösen könnte.

Musst Du dann halt auf jeden Fall mit den ueblichen Impedanz-Paranoia 
routen und Pads fuer Abschlusswiderstände vorsehen.

>
>> Bandpasscharakteristik haben, was das eigentliche Signalrauschen (vom
>> Pixel) angeht. Das elektrische Grundrauschen macht natuerlich Artefakte,
>> aber faellt wohl nicht sehr ins Gewicht. Wenn's ein speziell fuer CCD
>> gemachter Chip ist, wird er vermutlich auch Takt und Phasenlage fuer den
>> CCD entsprechend generieren, und jemand hat bestimmt bei der Entwicklung
>> an das Rauschen gedacht..
> Da bin ich sicher. Ich hab mich nur gefragt, was der sich gedacht hat
> :)
> Kann ich die Artefakte durch das Grundrauschen noch vernachlässigen,
> wenn ich den Sensor etwas abgesetzt platziere?

Je laenger die Leitungen, desto eher fangen die HF von woanders ein..
Ist sicher knifflig, gibt es keine Appnote zu dem Chip?
Sonst wuerde ich einfach mal eine Testplatine 'paranoid routen', und den 
ueblichen Richtlinien fuer HF folgen (min 4 Lagen, schoen grosse Ground 
und Power-Planes, Signale durch Masseflaechen getrennt, Ferrite und 
Kondensatoren ueberall wo's Sinn macht, usw.
Analogpfade wuerde ich kurz halten und das ganze genug abschirmen.

> Ich würde sehr gern mehr Details über das Design von CMOS/CCD Sensoren
> und deren Ausgangsstufen erfahren. Hat jemand einen Literatur-Tipp für
> mich?
> Ich hatte schon das Buch "CMOS/CCD Sensors and Camera Systems", ISBN
> 0819467308 im Auge, aber der einzige Referent schreibt:
> "Its target audience is primarily the engineers looking for information
> needed to specify a system that functions in a particular way."
>

Faellt mir jetzt leider nix ein zu. Ich denke mal, die meisten dieser 
Buecher behandeln auch eher die Pixel bzw. Analogtechnik anstatt die 
konkrete Einbindung. Hast Du mal einen FAE der Sensorenfirma 'genervt'?

Schoene Gruesse,

- Strubi

Autor: W. Usel (wuselchen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Strubi!
Vielen Dank für Deine ausführliche Antwort!

> Achso. Hmm. Auslesegeschwindigkeit waere nicht das Problem, aber die
> Aufloesung eher. Da muesstest Du ev. schon nach dedizierten
> CMOS-Zeilenkameras schauen (Dalsa oder Basler?), die gibts dann wohl
> meist nur mit CameraLink Interface. Wird auf jeden Fall dann recht
> teuer, aber vermutlich spielt das in dem Fall keine Rolle. Du muesstest
> dann halt das CameraLink-LVDS-Signal verarbeiten.
Ja, über den Anschluß eines fertigen Kameramoduls über CameraLink hatte 
ich schon etwas nachgedacht und im schlimmsten Fall würde ich das wohl 
machen, aber die Sensormodule müssen genau vorgegebene Abmessungen 
haben, da sie in einem sehr kompakten Aufbau eingesetzt werden sollen. 
Deshalb bleibt eigentlich nur ein Eigenbau.

>>> Dauerbrenner im High-End-Bereich (aber etwas teurer) die Kameramodule
>>> von Photonfocus.
> Ich weiss zwar nich, inwieweit der Linux-Support inzwischen plug & play
> geworden ist, nehme mal an, dass die Jungs sich etwas Supportaufwaende
> sparen wollen. Der Punkt ist auch, dass es nicht allzuviele Framegrabber
> gibt, die unter Linux laufen, da du den aber nicht brauchst, ist das
> einzige kritische noch die Library, um die Kamera anzusteuern - die tut
> auf jeden Fall unter Linux/QNX.
OT:
Das hört sich schonmal gut an. In der Vergangenheit hatte ich schon mit 
mehreren Herstellern zu tun und hab schon furchtbare Ansätze für 
Linuxsupport gesehen. Z.B. SuK, die nur Support in Form eines 
Binärmoduls für Kernel 2.4 angeboten haben. Allerdings auch nur bis 
2.4.16 oder so, was tolle Probleme verursachte mit der ganzen anderen 
Hardware, für die Treiber erst ab 2.6 exisitieren. Die haben mich über 
ein Jahr vertröstet, daß es bald eine neue Version geben würde, nur um 
mir dann zu erzählen, daß die neue Treiberversion mehrere hundert Euro 
kosten soll. Von denen kauf ich garantiert nix mehr.
Zur Zeit setze ich ein USB 2.0 Sensormodul von IDS-Imaging ein. Ich bin 
mit der Qualität des Moduls und der Software sehr zufrieden (die QT-Demo 
ist allerdings Schrott), allerdings haben auch die einen Binärblob, den 
sie mit ins Kernelmodul linken. Und das klappt zur Zeit auch nur bis 
Kernel 2.6.24.
Mein Wunschtraum ist noch immer ein komplett quelloffenes Kamerasystem, 
so wie http://www3.elphel.com/
Vermutlich, weil ich ein verblendeter Opensource-Idealist bin :)

> Je laenger die Leitungen, desto eher fangen die HF von woanders ein..
> Ist sicher knifflig, gibt es keine Appnote zu dem Chip?
Schlimmer; es gibt nichtmal ein richtiges Datenblatt zu dem Chip :/
Ich frag mich, ob der Chip überhaupt existiert, obwohl mein
Lieferant meinte, daß er bis August welche besorgen könne.
Als Alternative hab ich mir jetzt den VSP2590 von TI ausgesucht. Zu dem 
gibt es sogar ein vollständiges Datenblatt. Leider kann man ihn nicht 
samplen oder kaufen, obwohl er den Status "ACTIVE" hat :(
Naja, mal sehen, was der Support von TI erzählt ...

> Sonst wuerde ich einfach mal eine Testplatine 'paranoid routen', und den
> ueblichen Richtlinien fuer HF folgen (min 4 Lagen, schoen grosse Ground
> und Power-Planes, Signale durch Masseflaechen getrennt, Ferrite und
> Kondensatoren ueberall wo's Sinn macht, usw.
> Analogpfade wuerde ich kurz halten und das ganze genug abschirmen.
Das wird auf jeden Fall der richtige Weg sein. Ich hasse es, daß ich 
jetzt so ewig auf die Rückmeldungen von AD und TI warten muß.

>> Ich würde sehr gern mehr Details über das Design von CMOS/CCD Sensoren
>> und deren Ausgangsstufen erfahren. Hat jemand einen Literatur-Tipp für
>> mich?
> Faellt mir jetzt leider nix ein zu. Ich denke mal, die meisten dieser
> Buecher behandeln auch eher die Pixel bzw. Analogtechnik anstatt die
> konkrete Einbindung. Hast Du mal einen FAE der Sensorenfirma 'genervt'?
Naja, ich hab bisher nur mit dem deutschen Vertreter gesprochen. Du hast 
Recht, ich sollte da nochmal etwas hartnäckiger sein :)
Als Buch werde ich mir zu CCDs mal "Scientific Charge-Coupled Devices" 
ISBN 0819436984 besorgen.

Vielen Dank & viele Grüße
    Wuselchen

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.