PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Diplomarbeit: Startschwierigkeiten und Planungsfragen



chackielee
21.04.2007, 19:28
Hallo Leute,

ich bin zur Zeit in der Vorbereitung zu meiner Diplomarbeit in Elektrotechnik.
Das Diplomsemester beginnt für mich zwar erst in ca. 3-4 Monaten, aber ich mache zur Zeit ein Praktikum und kann dort auch mein Diplom schreiben, deswegen habe ich mich mit meinem Betreuer schon über ein mögliches Thema unterhalten.
Das momentane Thema ist "Entwicklung einer intelligenten Kamera(Smart Camera)". Ich weiß, dass es nicht direkt etwas mit Robotern zu tun hat. Aber da die Kamera im Idealfall auch schwenken soll, es sich um eine intelligente Kamera handelt und ich das hier zahlreich versammelte Fachwissen sehr schätze, dachte ich mir, dass roboternetz.de die erste Anlaufstelle für Planungsfragen sein sollte.

Ich stell die Idee hinter dem Thema mal ein bisschen vor:
Funktionsumfang der Hardware
- Aufnahme mit min. 25 Bildern in der Sekunde
- Auflösung von min. 1024x768
- Farben denk ich mal 16 Millionen oder schwarz-weiß
- Objektiv ist erstmal egal
- Anschluss und Steuerung per Ethernet

Funktionsumfang der Software
- Linux als Basissystem
- Funktionen der Grundsoftware
[list:0bac8f7fd4]- Überwachung der Ethernet-Schnittstelle
- Bereitstellung von Informationen über Ethernet (Bilder, Daten etc.)
- Verarbeitung der internen Daten
- Spezielle Funktionen über Plugins, zB.:
- Bewegungsüberwachung
- Personenzählung
- Farbraumanalyse
- Personenerkennung
- ...
Ungefähre und unvollständige Hardwarevorstellung
- Prozessor: DSP (DaVinci von Texas Instrument) oder ein ARM
- Zusätzlich ein FPGA, um MPEG-Codierung und Co. zu beschleunigen.
- min. 100MBit Ethernet, wenn möglich 1000MBit
[/list:u:0bac8f7fd4]
Es soll sich also nicht um eine Industriekamera handeln, die ein Fließband mit 1000Bilder die Sekunde scannt sondern eher um etwas, dass in Autos, Flugzeuge und evtl Gebäude installiert werden kann.
Im Idealfall soll die Kamera die Bilder komplett selbständig auswerten und beim Eintreten eines Ereignisses per Ethernet gewünschte Daten verschicken.

Die Software wird bei mir wahrscheinlich nicht das Problem sein eher die Hardware. In meinem Studium habe natürlich schon etwas mit Prozessoren und Platinenlayout zu tun gehabt, allerdings eher im kleinem Umfeld und nicht unbedingt miteinander verzahnt.

Also hier meine erste Bitte, könnt ihr mir evtl. gute Bücher zu den Themen Platinenlayout spez. im Hinblick auf Rechnerarchitektur empfehlen. Oder um es ein bisschen doof zu formulieren, welche Bücher muss ich lesen, um das obige System auf eine Platine zu bekommen?
Natürlich will und muss ich das ganze auch verstehen, ein Buch "Platinenlayout für Dummies" wäre also nicht sehr hilfreich. :-k
Habe natürlich schon im Internet gesucht, aber ich finde nur sehr allgemeine Lektüre dazu oder mir fallen die passenden Suchbegriffe nicht ein. Ob englisch oder deutsch ist egal. Französisch oder italienisch würden zur Not auch noch gehen.

Meine zweite Bitte ist, mir bei der Auswahl der passenden Hardware etwas unter die Arme zugreifen.
Z.B. ist mir nicht klar, ob ich bei einem DSP noch unbedingt ein FPGA brauche.
Und welche zusätziche Hardware in Form von Controllern und Co. ich einplanen muss, um z.B. den FPGA jeder Zeit über Ethernet->Linux neu beschreiben zu können.

Ich hoffe ihr empfindet diesen Eintrag nicht als Bettelgesuch.
Denn fetige Layouts, Recherchen und extra für mich entworfene Tutorials oder HowTo's würde ich jedem "übel" nehmen. [-(

Also Schlagwörter, Buchempfehlungen, Links und Winks mit dem Zaunpfahl sind jederzeit willkommen.

Natürlich halte ich euch auf dem Laufenden und wenn mein Arbeitgeber mitmacht wäre die Diplomarbeit oder der interessante Teil davon sicher etwas für den Artikel-Bereich.

Gruß und dank fürs Lesen des langen Textes 8-[
chackie-lee

chackielee
21.04.2007, 19:44
Hi,
also ich habe mir gerade Messen,Steuern und Regeln mit ARM-Microcontrollern, Autor Klaus-Dieter Walter bei Amazon bestellt.
Wen das Buch auch noch interessiert, es ist dort zur Zeit für 7,95 Euro über den Marketplace zubeziehen. Trotz des Alters von 3 Jahren hoffentlich lesenswert.

Nepi
21.04.2007, 21:13
Hier gibt es ein nettes Tutorial, worauf man beim Leiterplattenlayout achten sollte wie z.B. Bahnbreite/Abstand bei unterschiedlichen Strömen/Spannungen sowie Highclockleitungen über Masseflächen.

http://www.pcb123.com/tutorials/PDF%20Documents/PCBDesignTutorialRevA.pdf

Machst du die Arbeit alleine? Hört sich reichlich Umfangreich an. Ich denke du wärst gut beraten wenn du zumindest bei der Hardware weitestmöglich auf Starterboards zurückgreifst auf denen schon ein ARM oder DSP ist.

Vieleicht ist das ja was für dich: http://opensrc.sec.samsung.com/

chackielee
22.04.2007, 10:54
Hi Nepi,

die Einleitung für Leiterplattenlayout ist wirklich sehr hilfreich.

Der Link http://opensrc.sec.samsung.com/ ist glaub ich nicht ganz nützlich, da ich nicht denke, dass ich auf eine "Memory Managment Unit" bei ARM nicht verzichten werde. Soweit ich weiß sind die MMUs ab dem ARM9 eh Standart. Aber durch diesen Link bin ich auf http://www.arm.linux.org.uk/ gestoßen, was wiederum sehr vielversprechend aussieht.

Mein Betreuer hat mir angeboten eventuell noch jemanden mit ins Boot zu holen. Aber ich habe keine Ahnung wie man das Thema für zwei Personen trennen könnte, da ich Hardware und Software lieber hintereinander entwickeln wollte.

Mach mich mal jetzt auf die Suche nach ein paar Stadart-Boards mit DSP oder ARM-Prozessor. In dieser Hinsicht vielleicht noch ein paar Tipps??

Vielen Dank an Nepi für die netten Informationen, darauf lässt sich sicher aufbauen.

Gruß
chackie-lee

Hessibaby
22.04.2007, 12:04
Im industriellen Umfeld werden bei hohen Auflösungen und/oder hohen Bildwiederholraten meist Matrox Videoeingangskarten verwendet.
Bevor einer schreit, Matrox ist in dem Bereich Marktführer und verdient damit Geld, nicht mit den Grafikkarten !
Die verwendeten Digitalisierungs- und Komprimierungsverfahren sind auf der Website gut beschrieben und als How To sehr gut geeignet.
Gruß und schönen Sonntag Hartmut

shaun
22.04.2007, 12:43
Wie es scheint möchte/muss der Fragesteller leider das, was Matrox u.a. in Jahrzehnten in Form von ASICs produziert haben als Teil seiner Diplomarbeit mal eben neu entwickeln. Mein Appell an dieser Stelle: mit den genannten Erfahrungen im Hardwarebereich wirst Du kaum erst kurz die Hardware, dann gemütlich die Software entwickeln können, das wird vielmehr ein Hin und Her von Veränderungen an Hard- wie Software, wenn Du beim einen merkst, dass das andere das, was Du vorhast, nicht hergibt. Nach ein paar größeren Projekten mag die Erfahrung da sein, dass man zu Anfang die Hardware spezifiziert, aufbaut und mit geeigneten Tests validiert, aber im Moment dürfte das Wunschdenken sein. Abhilfe könnten umfangreiche Development-Boards schaffen, auf denen alles bereits vorhanden ist.

chackielee
22.04.2007, 15:30
Hallo zusammen,

@Hessibaby: Dank für den Tip, die HowTo's sind wirklich sehr hilfreich.

@shaun: Ich teile deine Ansicht. Deswegen fange ich ja schon relative früh an die Möglichkeiten auszuloten.
Was die Kamera später können soll steht zu 75% fest, welche Hardware dazu eingesetzt wird noch nicht wirkllich.
Die Kamera wird wahrscheinlich höchstens in Kleinserie gefertigt, da sie nur in weiteren Forschungsprojekten eingesetzt werden soll. Da aber möglichst alles aus einer Hand stammen soll, muss die Kamera ebenfalls selbst entwickelt werden. Es geht vorallem um die Sammlung von Knowhow auf diesem Gebiet.

Bin zur Zeit auch schon auf der Suche nach Development-Boards, die eine angenehme Größe und eine CPU-Taktrate von um die 1GHz bieten.
Also ideal wäre nach meinen jetzigen Recherchen im Bereich ARM-Prozessoren ein Development-Board für den ARM11 mit FPGA(Xilinx) und den Masen 10x10cm. Die maximale Tiefe mit Erweiterungskarten sollte 7 cm nicht übersteigen.

Bei den DSPs habe ich mich noch nicht umgeschaut.

Kennt jemand von euch gute Webseiten, auf denen Development-Boards vorgestellt werden oder eine Link-Sammlung zu diesem Thema bereitstellen?

Es würde auch reichen, hier einfach ein paar bekannte Hersteller dieser Development-Boards aufzuzählen. Ob diese dann ein passendes Produkt für meine Aufgabe herstellen schau ich dann selbst.

Vielen Dank für die bis jetzt schon geleistete Hilfe.
chackie-lee

chackielee
23.04.2007, 09:00
Hallo zusammen,

habe jetzt zwei sehr unterschiedliche Möglichkeiten gefunden.

Die eine wäre ein ganz normales pico-ITX-Board und dann eine Standart-USB-Camera zu nehmen und deren Elektronik gemeinsam mit dem Board in einem Gehäuse zu integrieren.
Hier ein Link des pico-ITX-Boards:
http://www.linuxdevices.com/news/NS2034021879.html

Die andere Möglichkeite wäre diese hier:
http://em.avnet.com/evk/home/0,1719,RID%253D0%2526CID%253D35741%2526CCD%253DUSA %2526SID%253D32214%2526DID%253DDF2%2526SRT%253D1%2 526LID%253D32232%2526PRT%253D0%2526PVW%253D%2526BI D%253DDF2%2526CTP%253DEVK,00.html
Sieht ansich sehr schön aus, allerdings fehlt dort der Ethernet-Anschluss, also für mich ansich wieder unbrauchbar. Es sei denn ich benutze einen USB-Ethernet-Adapter.

So, muss jetzt erstmal weiterarbeiten.
Gruß
chackie-lee

Hessibaby
23.04.2007, 10:16
Schau nochmal auf die Seite von Xilinx und dort speziell nach den Virtex-5-SXT FPGAs das ist eine DSP optimierte FPGA Familie mit bis zu 352 GMACs bei 550 MHz. Die bieten auch komplette Developmentkits mit zugehöriger IDE an.
Mit USB wirst Du die,oben gestellten, Anforderungen kaum erfüllen können. USB 2.0 ist zwar schnell genug, aber die USB-Web Cams (auch die etwas besseren ) sind qualitativ unterste Ebene.
Kameras z.B. www.framos.de oder Panasonic bzw. Sony bedingt auch noch Philips
Good Luck
Gruß Hartmut

chackielee
23.04.2007, 21:31
Hi Hessisbaby,

dank für den Tip, die Dinger sehen interessant aus.

Mal eine doofe Frage, ist es auf allen DSPs grundsätzlich möglich ein Minimal-Linux zum Laufen zu bekommen? Und wenn ja, wie hoch ist ungefähr der Aufwand. Kann mir vorstellen, dass es auf einem ARM einfacher ist.

Und gleich noch eine Frage, wie vergleiche ich am besten die Leistung von (ARM-)Prozessoren mit DSPs? Ich weiß, dass beide ihre Vor- und Nachteile habe, aber kann ich diese auch irgendwie gegen rechnen, um eine ungefähre Leistungsberechnung vornehmen zu können?

Gruß und nochmals großen Dank
chackie-lee