Hallo, Ich habe hier einen Kamera-chip welchen ich zu an den PC anschließen möchte, vorerst an die parallele Schnittstelle des PCs, anschließend irgendwann mal über USB (eventuel FTDI FT245). Bitte stellt dazu keine Fragen ob das Sinn macht oder ähnliches, es geht hier eher um den sportlichen Ehrgeiz. Nun brauch ich einen 8 Bit ditital analogwandler, mit dem ich das analoge signal von dem Kamera Chip digitalisieren kann, dieser muss schnell genug sein. Der Chip hat eine Auflösung von 384x288 Pixel, einen Ausgang für den Pixeltakt, (ein impuls für jeden pixel), einen Ausgang für den Bildtakt (ein Impuls je bildanfang) einen analogen Ausgang. Spannungsversorgung ist 5V. Ich habe den Sensor ersteinmal aufgemotzt, (schnelleren Quarz drangemacht) so kann ich den Analogen Ausgang direkt an die TV-Karte anschließen und verwenden, leider ist das bild nur dann nicht pixelgenau. Somit ist eine Umrechnung á la Bayermatrix nicht möglich. der Chip stammt aus einer Webcam, die mittlerweile 15 Jahe alt sein dürfte. durch einen langsameren Quarz lässt sich der Pixeltakt beliebig weit herunterfahren ohne das das Bild überbelichtet wird. Nun benötige ich einen Analog Digitalconverter der eine einigermaßen zügige wandlerzeit hat, sodass ich 2-3 Frames/s hinbekomme. nur Leider finde ich bei Reichelt oder ähnlichem nichts brauchbares. Optimal wäre ein Flash-AD-Wandler, mit 8 Bit Parallelausgang (TTL), damit später auch mal höhere framerates drin sind. Mikrocontroller ist ausgeschlossen, da ich hier keine Möglichkeit habe die zu programmieren. Vorhanden sind: Elektroniker-Ausbildung, Lötwerkzeug (Temperaturgeregelt), Lochrasterplatinen, und div. Elektronikbauteile. Gruß Thomas Edit: Programmiermöglichkeit eines AVR Vorhanden, Kollege leiht mir sicher sein programmer. dann wäre es natürlich schön wenn man nen AVR nutzen könnte um gleich von dem Bayermatrix Monochrombild in ein Farbbild umrechen könnte. Problem dabei ist nur, das ich keinen µC gesehen habe, der solch eine menge an Daten speichern kann. (monochrombild + Farbbild + Zählervariablen... Grob aufgerundet ~450.000 Bytes) Gruß Thomas
Bei RS Components gibts ne nette Auswahl. Hier mal ein paar 8 Bit Kandidaten in preislich aufsteigender Reihenfolge: ADC Single Flash 40MSPS 8-Bit Parallel http://de.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=7095115 ADC Single Flash 80MSPS 8-Bit Parallel http://de.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=7095119 ADC Single Semiflash 40MSPS 8-Bit http://de.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=6620357 IC ADS931E http://de.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=2857993 ADC Single Semiflash 20MSPS 8-Bit http://de.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=6620344 Es gibt noch viiiel mehr davon: http://de.rs-online.com/web/search/searchBrowseAction.html?method=retrieveTfg&Ns=I18NPrc1_de&Nr=AND%28avl%3ade%2csearchDiscon_de%3aN%29&N=4294398804+4294398055+4294915555&Nso=0&binCount=1244&binCount=138&binCount=1244&No=0
Besten dank.. Ich habe dann einen von TI gefunden: ADC 0820 CCN auch bekannt unter TLC 0820 CCN Flash AD-Wandler, relativ einfache Inbetriebnahme... Bezüglich der Verwendung eines µC, Gibt es Mikrocontroller, welche 128kByte RAM haben? Gut, ich weiß, das ist für einen µC sehr viel, vorzugsweise Atmel. Google hilft mir da leider nicht wirklich weiter. Achja, und nochmal zur Betonung, kein SMD (unpraktisch beim Prototypenbau auf Lochraster). Gruß Thomas
>Bezüglich der Verwendung eines µC, >Gibt es Mikrocontroller, welche 128kByte RAM haben? Ja. >Gut, ich weiß, das >ist für einen µC sehr viel, vorzugsweise Atmel. Google hilft mir da >leider nicht wirklich weiter. Ach mein Gott. >Achja, und nochmal zur Betonung, kein SMD (unpraktisch beim >Prototypenbau auf Lochraster). Ohne SMD kannste gleich knicken. Zum Echtzeitdigitalisieren mit 10FPS ;) wirst du was schnelles so in Richtung ARM7 oder Cortex M3 brauchen.
Thomas Berends schrieb: > Gibt es Mikrocontroller, welche 128kByte RAM haben? > Achja, und nochmal zur Betonung, kein SMD Nein. Keine Chance. Du kannst allerdings so viel externen Speicher wie Du willst an einen µC im für Dich bastelfreundlichen Gehäuse anschließen, wirst allerdings einiges an Bankswitching betreiben müssen, weil der Adressraum der bastelfreundlichen µC beschränkt ist.
Rufus Τ. Firefly schrieb: > Thomas Berends schrieb: >> Gibt es Mikrocontroller, welche 128kByte RAM haben? >> Achja, und nochmal zur Betonung, kein SMD > > Nein. Keine Chance. Du hast den tiny128 übersehen ;) Beitrag "Re: Elektronik-Fotos"
Wo kriegt man so einen Chip (also den Chip vom TO)? Der klingt ideal als AVR-Kamera Opfer (und ein Xmega macht bis zu 2 Megasamples mim ADC)....
Nachtrag: Größere Xmegas ham ein Memory interface für einen externen RAM....
Ich denke ein atmega32 mit externem RAM-IC, und genügend IO-Pins dürfte genügen, Echtzeitdigitalisierung, nur im begrenztem Umfang, 15Mhz Quarz reichen bei dem CCD-Modul aus, um auf 54FPS zu kommen, wenn ich jetzt Sparsam bin, und möchte auf 1FPS runter, benötige ich rund 278kHz. Der Kleinste Quarz ist 1MHz den ich jetzt so finde und auf die Platine passt, das macht dann 3,6fps, entsprechend rund 400.000 Bytes/s nun eine Frage, ist das mit einem ATMega32 machbar? Daten vom Port holen, wenn Pixeltakt auf High ist, Adresse des SRAMs Berechnen und auf 3 Ports geben (Adresse 17Bit = 3x8 Bit Ports) Daten auf port legen, CS und WR schalten, und das so lange bis ein Bild komplett übertragen wurde. ob das in ein paar Taktzyklen möglich sit, weiß ich so nicht. Je höher der Takt des µC desto sicherer dürfte das funktionieren. Gruß Thomas
Thomas Berends schrieb: > Hallo, > > Ich habe hier einen Kamera-chip welchen ich zu an den PC anschließen > möchte, > vorerst an die parallele Schnittstelle des PCs, anschließend irgendwann > mal über USB (eventuel FTDI FT245). Früher (also so Ende der 80'er) haben wir Videobilder über den Parallelport gegrabbt. Standbilder, hat etwas gedauert, aber es ging auch, und es gab sogar vernünftige Ergebnisse. Auf dem Amiga hatten wir den Vorteil eines vernünftigen Parallelports, bei dem man die Datenrichtung jedes Portpins bitweise umschalten konnte, und die CIA-Portbausteine hatten sogar Schieberegister eingebaut. Das funktionierte so: Warten auf den HSYNC, dann sounssoviele Pixelclocks warten bis zum linkesten Pixel, ab in den Ad-Wandler mit untegriertem S&H, wandeln, lesen, dann warten auf den nächsten HSYNC etc. Ist ein Frame durch, dann das Delay zwischen HSYNC und dem zu grabbenden Pixel um einen Pixeltakt erhöhen und nochmal das ganze. So hat sich dann das Bild von links nach rechts aufgebaut - für jede Spalte brauchte man 1/50s, für 320*240 also 320/50 s = 6.4s Der AD-Wandler musste dabei noch nicht einmal wirklich schnell sein, 20 ms reichten vollkommen. Wie gesagt - so haben wir das früher gemacht. fchk
>Ich denke ein atmega32 mit externem RAM-IC, und genügend IO-Pins dürfte >genügen, Wenn man weiss was man macht vieleicht. Du weisst es jedenfalls nicht. >Daten vom Port holen, >wenn Pixeltakt auf High ist, Woher weisst du wo dein Bild anfängt und aufhört? Wo kommt dein Pixeltakt her? Schau dir das analoge Signal deiner Kamera mal auf dem (nicht vorhandenen vermutlich) Osci an.
@ Holger, siehe ersten Beitrag von mir: >Der Chip hat eine Auflösung von 384x288 Pixel, >einen Ausgang für den Pixeltakt, (ein impuls für jeden pixel), >einen Ausgang für den Bildtakt (ein Impuls je bildanfang) >einen analogen Ausgang. >Spannungsversorgung ist 5V. Das Analoge Videosignal Entspricht dem eines BAS, jedoch mit anderer Geschwindigkeit, Vermutlich wird der Sensor nicht nur in einer webcam eingesetzt. Das Oszilloskop ist vorhanden (etwas älter aber es tut es noch, Hameg HM205-3). Ich habe mal eine Schaltung entworfen, wie ich mir vostelle, wie man es machen könnte. Ich habe das Ganze nochmal ein wenig überdacht, Ich nutze den µC nur noch zum steuern der Kommunikation zwischen ADC und Ram, und PC und RAM. In dem Plan sind nur die Signalverbindungen, Spannungsvers. etc. habe ich erstmal weggelassen. Clock als Takt zum byteweise lesen des RAMs, Sample_to_ram um dem µC zu sagen, jetzt bild vom sensor holen und in ram stecken. Ready gibt an, das ein Bild im RAM liegt. Clk out für bereitschaft neue adresse für ram liegt an. das ist jetzt erstmal nur eine Überlegung. So, nun erstmal gute Nacht Gruß Thomas
Thomas Berends schrieb: > Besten dank.. > Ich habe dann einen von TI gefunden: > ADC 0820 CCN > auch bekannt unter > TLC 0820 CCN > > Flash AD-Wandler, relativ einfache Inbetriebnahme... > > Bezüglich der Verwendung eines µC, > Gibt es Mikrocontroller, welche 128kByte RAM haben? Gut, ich weiß, das > ist für einen µC sehr viel, vorzugsweise Atmel. Egal was für ein Atmel? Oder speziell AVR? Bei denen ist bei 64k Schluß (so groß ist der Adressraum) und das gibt's auch nur, wenn du den Speicher extern erweiterst. Der ist aber langsamer als der interne.
Xmega kann über 64k..... Und mit dem richtigen externen RAM is der dank des hohen IO-Taktes (2x cputakt) auch rel. schnell..
Das weiß ich mittlerweile, das der mega32 nicht mehr als 64k drin sind. Das ist auch irrelevant. Ich Nutze den µC nur noch als Steuerung für den Speicherchip, um die Richtige Adresse anzulegen, und um Ein-/Ausgabe der Chips zu steuern. Der µC sieht garnichts von den Daten. Wie ich das realisiere, das lasst mal meine Sorge sein. Trotzdem Danke! Gruß Thomas
Nachtrag, V-Sync ist bei dem Chip leider nicht ausgeführt, jedoch leicht über HSync rekonstruierbar. (Große Pause vor Bildanfang) Anbei Drei Bilder, Bei jedem Bild ist oben das Analoge Bildsignal zu sehen. Beim Bild Pixeltakt ist auf dem Unterem Diagramm der Pixeltakt zu sehen, 5V/div Beim Bild H-Sync (Zeilentakt) ist im Unterem Diagramm der Impuls zum Zeilenwechsel zu sehen. 2V/Div Beim dritten Bild ist im unterem Diagramm ebenfalls H-Sync zu sehen, 2V/div Hier kann man vor allem die große Pause vor dem Beginn erkennen, möglich ist es nun darauf zu warten, und schon hat man den Bildanfang. Soweit dazu, Gruß Thomas
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.