PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Boardcomputer entwickeln



oc2k1_
21.04.2006, 04:52
Von vorne rein: Ich weiß nicht ob diese Idee ein wenig zu viel ist.

Irgen wie bin ich mal auf die Idee gekommen, dass man einen I-Cybie doch mit einem echtem Computer versehen könnte. Da es allerdings kein I-Cybie speziefisches problem ist möchte ich hier mal ein extra Topic aufmachen. Hier ist noch der link zu meinem Post: https://www.roboternetz.de/phpBB2/viewtopic.php?t=11305&start=22

Ein Foxboard wäre ja ansich schon nicht schlecht, allerding wird die zweite Platine für die H Brücken usw etwas größer werden, es wäre also nicht zwingend, dass die Multichipvariante verwendet wird. Zudem machen mit die 16MB Ram echt sorgen wenn da eine Webcam mit dran hängen sollte. Damit es sich richtig lohnt müsste das ganz irgend wie etwas flexibler werden:

Der ETRAX FS http://developer.axis.com/ hat 200MHz (Leider BGA)
SDRAM und Flash wären dann extern nötig durchbrachen aber die relativ geringen Limits. Da eine Speicherbreite von 64 bit unterstützt wird wären ganz normal Laptop SDRam module moglich (ein bringt 256MB ist wahrschlich billiger als das beschaffen von wenigen einzelnen chips) der 4 Mbit Flasrom zum Booten mach meiner meinung nach auch keine besonderen Probleme, eine MMC, SD, Compactflashkarte oder Notebookfestplatte könnten als Massenspeicher dienen.
Wlan o.Ä. wäre am USB kein problem, webcams sind mit USB 1.1 ein wenig eingeschränkt wenn man zwei für eine Stereosicht bräuchte, allerdings wäre dann so langsam auch eine schnellere CPU nötig.
Die Ethernetschnittstelle mach zwar nur an einem Stationärem Roboter, sollte aber auch kaum Platz sparen.
Sensoren und Motorentreiber könnten relativ leicht über den I2C Bus angesteuert werden.
Weiter nützzliche Dinge die eingeplant werden sollten: Bescleunigungssensor um die Lage zu messen, GPS und Erdmagnetfeld zur navigation und zuordnen der Bilderdaten (ein gedächtnis mit 40GB ist wertlos wenn das Viech sich nicht dran erinnern kann wo es das gesehen hat)

Dinge die ich bei einem solchem Projekt ohne größere Probleme realisieren könnte:
Das Layout der Hauptplatine
Einiges an an nützlicher software für laufende Roboter.
Javascriptschnittstellen damit das coden einfacher wird.

Dinge die ich definitiv nicht kann:
BGA löten (ich löte zwar notfalls 0,5mm Pinabstand mit der hand aber bei BGA sehe ich nix)


[/align]

oc2k1_
21.04.2006, 15:38
Ich habe mal ein wenig im Datenblatt gelesen. IO Mäßig wird da recht viel geboten. Sehr interresant ist auch das SPI mit 100MHz. Prinzipell könnte man dort drüber schon darüber Kammera laufen lassen, ohne das es einen den USB Plättet. Selbst die Bandbreite passt noch recht gut bei einer gewöhlichen Auflösung von 640x480 und 30 FPS (=9MB/s ~ 74Mbit), der Hauptvorteil wäre, das die Kammeradaten direkt im Hauptspeicher durch DMA abgebildet werden können, es keine Kompressionsartefakte gibt und keine CPU zeit für die (unötige) Dekompression verloren geht. Zudem fällt die außerst stöhrende Latenzzeit weg, die man sonst sehr haufig an USB Cams beobachten kann.
Eigendlich müsste nur ein 10MSPS ADC mit SPI her, als Cam kämen dann entweder normale Cameramodule in Frage oder ein CCD chip mit einigen extenen Bauteilen (Ist aber auch eine harte Nuss aber qualitativ extrem viel besser)

oc2k1_
22.04.2006, 20:26
Wieder ein wenig mehr rausbekommen:

Die CPU lässt sich leider nicht unter einem So-Dimm verstecken (Molex54698-7000 erlabubt nur 3,4mm bis zur So-Dimm Modulmitte und wenn man 1,9mm anziehr fehlen unter umständen 0,5mm) Sie würde aber auf die Rückseite passen. Da Der Sodimslot etwas 70mm Breit ist wäre das schon mal ein festes Minimalmaß. Da der Platz unter dem So-Dimm immer noch für flache Bauteile wie Flashram genutzt werden kann schätzze ich mal die Breite auf mindestends 50mm. Zusätzlich müsste noch wenigstens eine Compaktflashslot mit drauf.

Ein anderes sehr sinvolles Format wären die Maße einer 2,5" Festplatte, dann wäre genug Freiraum zusätzlich ICs mit einzuplanen und es müsste nur die obere Seite mit Bauteilen bestück werden. Dieses Format macht aber irgend wie nur Sinn wenn eine 2,5" Festplatte in einem Roboter keine zu geringe Lebendsdauer hat.

oc2k1_
23.04.2006, 23:07
Auch wenn ich irgen wie hier alleine Tippe:

Die Wahrscheinlichste IO Verteileung wäre folgende:

Das zweite Ethernetinterface wäre nur für einen ROuterinterresant kann also entfallen und an den Port ein schneller paraleler AD Wandler für eine Kammera angebaut werden. (Es gibt einfach keine schnellen seriellen ADCs...)

Da nur ein IDE Interface gebraucht wird können alle anderen Pins ihre Alternativbelegung bekommen:
3 zusätzliche Asynkrone Schnittstellen (0. als Debug, eine für optininales Bluetooth, die anderen kann man sicher auch noch brauchen)
2 Synkrone Seriellen schnittstellen: 1x I2C (kann notfalls auch per Software emuliert werden) Aus einem 192KHz 24bit Sigmadelta StereoADC könnte man durchaus ein CWFM Radar bauen. (Sofern der rest nicht ganz so problematisch wäre. Ich hab nur Erfahrungen bis so 2-5 GHz... Die nötige Fouriertransformation könnte die CPU ohne problem durchfüheren) Auch für eine SD oder MMC Karte wäre so ein Port gut (Ich rechner aber vorsichtshalber mit der Compactflash/IDE Variante)

Normale langsame ADCs (z.B. Max127) ließen sich am besten über I2C anbinden. Einen großen anteil der Steuerfunktionen würde ich auch darüber ansteuern...(Dafür muss man nicht Schnelles opfern)

Da eigendlich alle Grundfunktionen eingeplant wären bleiben die beiden USB Ports noch für Wlan und andere Funktionen offen.

Leider wird wohl eine 4 Layerplatine nötig werden. Das schlimme daran sind nicht die mehrkosten, sondern das die Freewareversion von eagle nur zwei Layer macht (obwohl die zusätzlichen Layer eher nur Versorgungslayer wären...) Leider ist es auch noch extrem unhandlich 256Polige gehäuse mit Eagle durchzukauen....

oc2k1_
26.04.2006, 18:53
Update:
ICh hab immerhin den So-Dimm Slot und das gehäuse des Etrax fs als Eaglebiblioteken gefunden. (Damit enfäll wenigstens ein Teil der Fehleranfälligen Arbeit) Nur die BGA Pads sind anscheinen zu groß (Sie sollten nur so groß sein wie die Ball, damit noch eine Leiterbahn dazischen raus kann.)
ICh würde es ech super finden wenn hier noch mal das ein oder andere Kommentar auftauchen würde. (oder eventuell nach geplante Projekte verschieben...)

oc2k1_
27.04.2006, 18:02
So Etrax fs und So dimm sind jetzt als Lib vorhanden und mal testweise durch den Autorouter verbunden:
http://cpux.de/base//etrax.png
Das ist nicht wirklich schön aber ein Autorouter ist auch nicht wirklich dazu in der Lage so etwas ahbwegs sauber zu routen... Als nächstes kommt wohl der 44 Polige Festplatten Anschluss auf der anderen Längsseite der Platine (die auch nur so groß wie eine 2,5" Festplatte ist)

oc2k1_
28.04.2006, 03:59
Leider weiß ich nicht was der kostet und wo man den bekommen könnte, aber ein zweites BGA wäre nicht mehr alzu schlimm:

http://www.atmel.com/dyn/resources/prod_documents/doc4920.pdf

Zwei weiter Bauteile die irgend wie noch auf der Blacklist stehen sind der Ethernet PHY (muss wohl zusammen mit dem Prozessor organisiert werden) und das Flash (Segor hat ein 4MB Flash im Ausverkauf, welches erst einmal verwendet werden könnte)

Für die IDE Platte habe ich provesorisch eine 44Polige stiftleiste eingesetzt, eine SMD Variante wäre mit aber viel lieber da dann keine Pins auf das Festplattengehäuse durchdrücken können. Die Verbindung muss durch ein etwa 10-20mm langes Flachbandkabel erfolgen. Ich denke es mach sinn zusätzlich auf der Unterseite Lötpads für einen Compactflashslot einzulanen (Als Ersatz für die IDE Platte) Diese beiden Varianten können dann als Massenspeicher dienen, wärend der Linuxkernel allerdings aus dem Flash geladen wird und auch eine Ramdisk verwenden kann solang das Image nicht größer als der Flash wird...

oc2k1_
29.04.2006, 02:37
Per Hand geroutete Platinen sehen komischer Weise immer viel besser aus und es tauchen keine viel zu langen Leitungen rund herum auf.
Wie man einduetig erkennen kann ist dank der kleinen SMD Bauteile noch genug Platz um sämtliche nötige IO unterzubringen.

dennisstrehl
29.04.2006, 02:47
Um deinen Monolog mal zu unterbrechen ;)

Die GPS-Module von µ-Blox nutzen die Antaris4-Chipsätze und sind m.E. extrem klein, allerdings auch nicht die billigsten. Das wäre einfacher als selber ein GPS-Modul aufzubauen.
Wenn du gerade im Selbstbau-Fieber bist hilft dir das natürlich nicht weiter ;)

oc2k1_
29.04.2006, 15:59
Danke für die Unterbrechung :D Ich hab mich echt schon gewundert warum sich hier keine auch nur ein paar Ideen gepostet hat.

Die µ-Blox empfänger sind sogar billig bei Ebay zu bekommen (10 Euro + Versand), die sind zwar schon klein, nehmen aber immer noch relativ viel Platz auf der Platine weg. Sie wären auf jeden in der näheren Auswahl, wenn es sich nicht lohnen sollte ein Singlechip GPS auf die Platine zu setzten. Auf einer zweiten Platine wären 30x30 sicher kein Problem mehr.

Inzwischen hab ich sogar einen Kompatiblen Ethernet PHY bei Segor gefunden, womit dann endlich alle Chips beschaffbar sein sollten.

Das nächste Problem ist dann die Stromversorgung: 5V Für die Festplatte und USB, 3.3V für IO und 1.5V Für den CPUKern. Da 2x 2,8V (Entladene Lipozelle) zu wenig sind um eine stabile 5V zu bekommen, müssen wohl 3 Lipozellen in Reihe ein Spannung von 8.4 - 12.3V liefern.
Irgend wie müssen aber alle 3 Spannungen durch Schaltwandler erzeugt werden, bei den 5V müssen bei 2 USB Ports und eine 2,5" Festplatte mindestens 1,5A eingeplant werden, bei den 3,3V eher nur um die 100mA, aber bei den 1,5V wieder bis zu 1A
Kennt da zufällig jemand etwas besseres als 3 LM2596?

Zum weiterem Layouten: Unter dem Sodimm ist ja im interem Bereich noch Platz, da die Pads der ersten Ethernetschnittstelle und der ersten Seriellen schnittstelle dort ligen mach es meiner Meinung nach sinn einen Max232 oder den Ethernet PHY dort zu plazieren. Fast die Kompltte andere Seite des Prozessors ist IO. zz sind noch etwa 50 Leitungen frei verfügbar. Alle lassen sich als normale IO Pins nutzen, können aber auch spezielle funktionen übernemen, die ich weiter oben schon mal aufgelistet hatte...

dennisstrehl
29.04.2006, 16:40
Als Schaltregler würde ich dir den Max887 empfehlen. Der läuft bis 3,5V und hat nen P-Kanal MosFET und noch einen zweiten, der die Diode überbrückt (-> geringere Dropspannung im Leerlauf) integriert, also sehr geringe Dropspannung und extrem hohe Effizienz. Geht bis 600mA, höchste Effizienz bei ca. 100mA. Für die 5V und 1,5V -> k.A.
Gibt's übrigens bei Reichelt.

Als GPS-Modul meinte ich eher die neuen, der GPS-MS1E den's bei eBay gibt braucht ne Menge Strom (150mA vs. < 50mA bei den neueren).
Die neueren sind auch kleiner.

Edit: für die 5V vielleicht nen Max1791, der hat bei 1,5A 94% Effinzienz, allerdings braucht der externe Schalter und hat keinen Sync-Eingang.

oc2k1_
03.05.2006, 00:11
Der Max1791 gefällt mir eigendlich schon, vorallem muss die Induktivität nicht so groß sein, was eventuell ein wenig Platz spart. Schöner wäre noch ein Controller, der mehrere Spannungen regeln kann. Leider hab ich nur einige Dualcontroller gefunden. Der gößte Vorteil wäre an den Maximteilen, das die Halbleiter sehr dünn sind und so auf die Rückseite der Platine passen...
Ich habe inzwischen sogar einen Intel Ethernet PHY gefunden der weniger als 10 Euro kostet. Mit ein wenig optimieren passt der sogarnoch unter das Sodimm..

oc2k1_
12.05.2006, 14:20
Ich glaube ich sollte hierzu noch mal wieder etwas zu schreiben: Das referenzboard hat eine etwas seltsame Stromversorgung: Es verlangt eine stabilisierte 5V, aus der mit einem Festpannungsregelr 3,3V erzeugt werden, aus der wiederumg mit einem Schaltregler 1,5V erzeiugt werden. Ich denke, das da jeman beim Zeichnen des Schaltplanes nicht aufgepasst hat, denn es macht eher sinn die 5V mit einem Schaltregler zu erzeugen, die 3,3V aus den 5V per festpannungregler (Wegen dem sehr geringem Streombedarf bei 3,3V) und die 1,5V wiedrum entweder aus den 5V oder der Batterie ber Schaltwandler...

oc2k1_
14.05.2006, 15:10
Der I-Cybie hat ja 16 Motoren, das summe daran ist, das ich eine SMD lösung für bräuchte, das einzige was mit da einfällt ist L293D als SMD, die 600 mA sollten ausreichen, aber mit 5 Euro nochwas ist er nicht ganzu billig und meines wissenes nach wird er auch nicht mehr hergestellt.
Eine zweite Kleinigkeit wäre die Ansteuerung: 16 Mototen brauch 32 IO Pins, die sind zwar noch im schaltplan verfügbar, allerdings wäre es schade dafür Highspeed IOs zu opfern, ab denen Idealerweise eine Kammera angebaut werden könnte, Eventuell macht es sinn einen Xilinx CPLD als expander zu benutzen...

oc2k1_
17.05.2006, 03:26
ICh glaube für die Boardkammera steht es fast fest ein OC7620 einzuplanen bzw ein entsprechndes Modul. Da das I2C interface eh vorhanden ist, und neben den 16 Datenleitungen eigendlich nur zwei kontrolleitungen nötig sind, müsste der Kammerachip sich fast direkt an einen (18bit) Port des Etrax fs andocken lassen. Ich muss nur rausfinden wie sich dann die Daten per DMA direkt in einen bereich des Speicher transferieren lassen

oc2k1_
18.05.2006, 22:08
So mal ein kleines Update:

Um den Prozessor herum gegen den Uhrzeigersinn das Flashrom , Sodimm, Ethernet PHY, Erweiterungsport (2. Ethernetschnittstelle oder Cam oder was auch immer) und das IDE Interface plaziert und es ist immer noch Platz da...

oc2k1_
21.05.2006, 17:58
Bei der Stromversorgung tendiere ich gerade zum Max5072 zumindest für die 5V und 1,5V für die 3,3 V werde ich entweder einen zweiten einplanen oder einfach einen liniearregeler verwenden und die 3,3V aus den 5V erzeugen (Die 3,3V werden nur für I/O und Ram gebraucht)
Leider fehlt mir das Datenbal von den einzigen passenden Spulen:
http://cgi.segor.de/user-cgi-bin/sidestep2.pl?foto=1&Q=4%2C7uH%2F4%2C8A-SMD&M=1
Immerhin sind solche Spulen auch auf Grafikkarten verbaut, so das ich dort die lötpad abmessen könnte. Besser wäre etwas kleiner Spulen, da die doch ganz gut Platz auf so einer kleinen Platine verbrauchen...