[kreator logo]
29. Mar '08, 02:05 Uhr   
News
Projekte
   MP3 Player
      Source
      Pictures
      FAQ
      Links
   ExtIDE
   Old projects
Studium
   Übungszettel
   HaPra Infos
   SoPra 2000
   Psychologie
Stuff
   Forumnew.gif (31 x 12, 115 bytes)
   Contact
   History
   Links

FAQ



Ich habe hier einige häufig gestellte Fragen und Antworten zusammengestellt, und dabei versucht, die typischen "Anfängerfragen" zu beantworten. Bitte lest das FAQ komplett durch, bevor ihr Fragen per eMail schreibt. Von Zeit zu Zeit werde ich die Einträge updaten, wenn sich eine Information verändert hat, oder neue Fragen auftauchen.

  • 9.1.2002: Einträge aus dem Nachbau-FAQ von Christoph Hofmann
  • 19.1.2002: Neue Tips zum Displayanschluss und ExtIDE.

Is there an english version of your page?


No, there isn't. I had the choice between building a mediocre english page, that i would quickly loose interest in, or a good german one. I choose the german one. Apart from that, the sourcecode and documentation for the player itself are in english, so you shouldn't have too many problems building the player.
If someone would like to volunteer to proof read english pages, I would perhaps consider making an english version of my site.

Allgemeine Fragen

  • Was brauche ich, um den Player nachzubauen?


    Viel Zeit. Und Erfahrung, da es sich hierbei nicht um ein Anfängerprojekt handelt. Man sollte auf jeden Fall schon ein paar SMD-Platinen bestückt haben, und sich mit Mikrocontroller-, bzw. DOS-Programmierung auskennen. Außerdem sollte man C gut beherrschen, mit Pascal o.ä. kommt man i.d.R. nicht sehr weit. (Die API ist in C geschrieben. Das sollte man also lesen und verstehen können!). Idealerweise hat man vorher schon mal etwas mit dem Beck IPC@Chip angestellt.
    Ich beantworte zwar gerne alle Fragen, werde aber keine "Nachhilfe" in Elektronik oder C-Programmierung geben!

  • Mit Elektronik kenne ich mich nicht aus..


    Es gibt im Netz sehr viele Projekte, die genauso interessant, aber einfacher nachzubauen sind. Einen guten Überblick gibt die Liste unter http://www.mp3project.com. Die kommerziellen Player werden auch immer besser, und vielleicht reicht auch eine Fertig-Lösung (der Bastelspaß beim Autoeinbau ist auch nicht schlecht :)

  • Was kostet ein fertiger Player in etwa?


    Die Kosten hängen im wesentlichen an IPC@Chip, Platine, VS1001 Decoderchip und dem Display. Alle anderen Teile sind fast vernachlässigbar, und finden sich in vielen Bastelkisten. Hier nur eine kurze Abschätzung:
    IPC@Chip SC12         80,00 €
    HALO FS22101Y4         8,00 €  
    Platine               25,00 €
    VS1001k               25,00 €
    Display               25,00 €
    sonstige Teile    ca. 30,00 €
    Damit kommt man auf einen Gesamtpreis von etwa 200€, je nach Bauteillieferant, schon vorhandenen Teilen, etc. Im vergleich zu anderen Playern dieser Leistungsklasse ist das allerdings relativ günstig.
    !Ich biete keine fertigen Player an!

  • Gibt es eine Sammelbestellung für die Platinen?


    Ja, von Zeit zu Zeit, und je nach Bedarf organisiert Marcus Kraemer eine Bestellung. Alle weiteren Details bitte direkt mit ihm abklären!

  • Welche Anschlussmöglichkeiten hat der Player?


    10MBit Ethernet, zwei ATA-Ports für eine 2.5" und/oder 3.5" Festplatte, einen Kopfhörer-Ausgang, einen Line-Out, sowie einen Feature-Connector für Erweiterungen. Die ersten 20 Pins des Connectors stimmen mit den Anschlüssen für ein Grafik-LCD-Display überein. Außerdem besitzt der Player einen TSOP1738 IR-Empfänger für alle gängigen Fernbedienungen.
    Nach dem Anschluss des LCDs bleiben immer noch eine serielle Schnittstelle und ein paar multifunktions-PIOs übrig. Insbesondere lassen sich dadurch PCF8574, 8bit I2C I/O Erweiterungschips samt Interrupts anschließen, womit man dann auch Tasten und Drehencoder an den Player bekommt.

  • Welche Fernbedienungen werden unterstützt?


    Prinzipiell: Alle. Die Hardware ist in der lage, ein IR-Datagramm µs-genau auszumessen, softwaremäßig werden im Moment der verbreitete RC5-Code, sowie NEC unterstützt.

Die Bauteil-Bestellung

  • Wo bekommt man ein 2.5" IDE-Kabel her?


    http://www.kabelspezialist.de,
    Unter Produkte->Computerkabel und Zubehör->Amiga Kabel->Spezialkabel Intern/Extern.

  • Wo finde ich eine Bestückungsliste?


    Die Bestückung geht am einfachsten, wenn man sich vorher von www.cadsoft.de die freeware-version von Eagle besorgt. Danach öffnet man das mp3v2.brd file, und klickt jeweils mit "info" auf die Bauteile. Ich werde aber noch eine detaillierte Liste für die Version B2 ins Netz stellen.

  • Welchen Quarz brauche ich? 12.288 MHz oder 24.576 MHZ?


    Der Quarz ist nur für den VS1001K MP3-Decoder. Die Leistung dieses ICs (und somit die Qualität der Dekodierung) ist von der Geschwindigkeit des Quarzes abhängig. Wird ein Quarz kleiner als 18.432 MHz eingesetzt, wird intern die Frequenz verdoppelt. Somit ist es also völlig egal, ob ein Quarz mit 12.288 MHz oder 24.576 MHz eingesetzt wird. Bei dieser Frequenz ist übrigens eine vernünftige Dekodierleistung zu erwarten (siehe auch Datenblatt des VS1001K). Jeder andere Quarz würde es auch tun, allerdings ist dann eine Änderung in der Playersoftware nötig. Es gibt aber bereits Fälle, wo es Probleme mit anderen Frequenzen (z.B. 15 MHz) gab.

  • Muss ich unbedingt diese BLAUE LED bestellen?


    Nein, jede andere Farbe tut es auch! Gegebenenfalls muss nur der Vorwiderstand etwas nach oben korrigiert werden, da Rote und Grüne LEDs in der Regel weniger Strom benötigen. Ausprobieren hilft hier, ich schlage 330R vor.

  • Ich habe hier noch einen HCT245 rumliegen. Kann ich den nehmen?


    Nein, auf keinen Fall. Der 74 LS 245 ist zur Pegelwandlung der 5V CMOS-Logikpegel auf die 3.3V des VS1001 zuständig. Der VS1001 verträgt an seinen Eingängen maximal Vcc+1V, LS-TTL liefert bei einem High typischerweise 3.4V. HCT liefert hingegen fast die vollen 5V, und treibt den VS1001 damit ausserhalb seiner Spezifikation. Mein Testaufbau hatte ohne 245er bzw. mit einem HC-Typ nicht funktioniert! [wer darüberhinaus noch an dem Thema interessiert ist, sollte sich mal die Philips Application Note AN240 durchlesen]

  • Funktionieren auch andere Ethernet-Übertrager?


    Statt dem HALO FS22-101Y4 funktioniert auch z.B. ein FD22-101H. Allerdings ist er nicht Pin-kompatibel und passt auch nicht ins Layout. Wenn man ihn dennoch anschliessen möchte, sollte man das so tun:

    HALO FS22-101Y4 Pin  =  HALO FD22-101H Pin
    11
    23
    36
    48
    711
    89
    916
    1014

    Datenblatt HALO FS22-101Y4
    Datenblatt HALO FD22-101H

    Laut berichten aus der @chip newsgroup funktionieren auch viele andere, für 10MBit geeignete Ethernet-Übertrager, wie man sie z.B. billig von alten Netzwerkkarten auslöten kann. Man sollte sich dann auf jedenfall das Datenblatt besorgen, und die richtige Pinzuordnung finden.

  • Welche LCD-Displays kann man anschließen?


    Getestet habe ich nur das Conrad 122x32 Grafik-LCD mit LED Hintergrundbeleuchtung und SED1520 Controller. (Best. #18 73 99) Das passt sogar mit Abstandsbolzen direkt auf die Platine.
    Es sollten jedoch auch alle anderen Displays funktionieren. (Es stehen 2 Chipselects, 3 Adressleitungen, 8bit Datenbus, RD/WR, Reset, 1 Transistor-PWM Ausgang, und 4 PIOs (bzw. RS232) zur Verfügung)

Der Aufbau

  • Womit soll man anfangen?


    Zuallererst sollten die drei SMD-Bauteile aufgelötet werden. Für den Lattice ispLSI empfielt sich ein SMD-PLCC Sockel, bei dem man vorher vorsichtig den Plastikteil in der Mitte entfernt hat. Der Mittelteil sollte sich mit etwas Kraft mit dem Finger herausbrechen lassen, und macht dann das Löten viel einfacher. Die PLCC-Pins sonst nur recht schwer zu beherrschen, mit dem Sockel wird es allerdings genauso leicht, wie jeder andere SMD-Chip.
    Vor dem Lattice sollte man allerdings den 74LS245 montieren, da man sonst leicht den Lattice-Sockel verkokelt. Beim auflöten des VS1001 muss man eigentlich nur darauf achten, nicht eins der benachbarten Löcher für andere Bauteile mit zu erwischen.

    Insgesamt sollte man immer etwas entlötlitze bereithalten, falls man zwei SMD-Pins ausversehen miteinander verbindet. Der Rest der Platine ist dann ja einfach zu bestücken.

  • Bauteile UNTER dem IPC@Chip?!


    Aus Platzmangel mussten leider zwei Kondensatoren und ein Chip unter den @Chip rücken. Da man aber den Chip sowieso sockeln sollte, sitzt er entsprechend höher und die Bauteile haben unter dem Chip Platz. Den kleinen 8pin IC muss man dann natürlich direkt, ohne Sockel einlöten.

  • Wie rum baut man die Leuchtdioden ein?


    Die LEDs haben jeweils ein langes Beinchen (Anode, +) und ein kurzes Beinchen (Kathode, -). Wenn man die Platine so vor sich liegen hat, daß man den Bestückungsdruck normal lesen kann, ist die Anode von D1 rechts und die Anode von D2 und D3 jeweils links.
    Ausserdem ist jeweils die Leiterbahn für die +5V ein wenig dicker, als die andere.

  • Wie schliesst man das LC-Display an?!


    Das Display wird einfach mit einem Flachbandkabel an die LCD-Pfostenleiste angeschlossen. Dabei werdem vom 26-Poligen Kabel nur die ersten 20 Leitungen gebraucht, die anderen kann man entweder direkt weglassen, oder später für Erweiterungen benutzen.

    Ganz wichtig ist jedoch, dass Leitung 18 _NICHT_ an das Display angeschlossen wird. Stattdessen müssen Pin 1 und Pin 18 am Display mit einem kurzen Stück Draht verbunden werden. Ich glaube, das habe ich irgendwie vergessen, auf der Webseite zu erwähnen (Ich dachte, das hätte ich im neuem Layout schon behoben). Es handelt sich bei Leitung 18 um die invertierte Reset-Leitung, wie sie bei Intel-Controllern üblich ist - das Display erwartet jedoch (dämlicherweise) einen nicht-invertierten Reset. Wer es ganz richtig machen möchte, kann deswegen auch einen Inverter anstatt der Drahtbrücke einsetzen.
    Danach sollte das Display funktionieren. Auf keinen Fall sollte man aber die autoexec.bat vergessen, da das Display sonst zerstört werden könnte.

Inbetriebnahme

  • Wie programmiert man den ispLSI?


    Im Sourcecode-Archiv finden sich 2 Baupläne für einen JTAG-Programmer, die jeweils am Parallelport eines PCs angeschlossen werden können.
    Der einfache Programmer funktioniert einwandfrei, und ist für die Programmierung des Lattice-ICs auf dem Player völlig ausreichend. PIN 1 des JTAG Interfaces befindet sich übrigens ganz rechts (der Pin zum IDE-Interface hin). Danach besorgt man sich bei Lattice das Softwarepaket ispVM 8.2. Davon benötigt man eigentlich nur die Software WDOWNLD.EXE aus dem Installationsverzeichnis \ispTOOLS\ispvmsystem\ispDCD. (vorsicht: die ispTOOLS reagieren teilweise allergisch auf " " im Pfadnamen. Wer also (wie ich) ein englishes Windows benutzt, sollte nach Möglichkeit nicht nach "/Program Files/ispTools" installieren!)
    Man sollte erstmal nicht den IPC@Chip einsetzen sondern erstmal vorsichtig probieren, ob beim Anlegen der Spannung (5V) nicht gleich alles in die Luft fliegt ;). Zum Programmieren des ISPs ist die Versorgungsspannung notwendig. Erst nachdem dieser Test bestanden ist, sollte man den ISP programmieren ;).
    Das geht so: In der Software auf Scan Board klicken. Jetzt sollte der ISP gefunden und im mittleren Fenster angezeigt werden. Dort kann nun das ISP-Programm (iopld.jed aus dem PLD Verzeichnis des Source-Archivs) ausgewählt werden und mit Run Operation (STRG+R) auf den ISP übertragen werden. Fertig.

  • Welche Stromversorgung benötigt der Player?


    Der Player benötigt eine (geregelte, kein billigst-Steckernetzteil!) Versorgung von 5V, und zieht im Betrieb mit Display ca. 300mA. Bei Reichelt gibt es sehr nette, kleine Schaltnetzteile, die sich hervorragend für den Player eignen. Bestellnummern usw. findet man wie üblich im hardware.pdf aus dem Sourcecodearchiv.
    Ich rate übrigens davon ab, den Player mit 6V (z.B. aus Batterien), oder nur mit 4.5V zu betreiben. Die Platine hat keinen eigenen Spannungsregler (der LM317 ist nur für den VS1001 zuständig), und kann daher durch falsche Versorgung leicht zerstört werden!

  • Was sollte nach dem booten passieren?!


    Man sollte die LED D1 beobachten. Wenn KEIN Netzwerkkabel angeschlossen ist, passiert folgendes: Die LED leuchtet kurz hell auf, 3 Sekunden Pause, -blink-, eine Sekunde Pause, -blink- (und vielleicht noch ein paar "blink"s ;) ). WENN ein Netzwerkkabel angeschlossen ist, leuchtet die LED D1 ständig und blinkt kurz bei 4 und 5 Sekunden nach Anschließen der Spannung.

  • ExtIDE meldet "drive IRQ not ready"!


    Wenn der extide-Treiber "EXTIDE: drive IRQ not ready" meldet, sollte man versuchen, den Timeout-Wert hochzusetzen. Alte Platten brauchen beim Hochfahren zum Teil recht lange, man sollte daher ein "extide /v /t 60" versuchen. Die Platte muss übrigens auf Master eingestellt sein.
    Bei eMail-Nachfragen bitte unbedingt die Ausgabe von ExtIDE im verbose-Modus (also mit /v), und die genaue Bezeichnung der Platte mitschicken. Sonst kann ich die Fehlerursache nur schwer finden.

  • Wofür sind die ganzen LEDs gut?


    LED D1 blinkt beim Einschalten, zeigt den Netzwerk-Link (Dauerleuchten) und den Netzwerkverkehr (Blinken) an. LED D2 blinkt sehr schnell (meistens sieht man nur dauerndes leuchten), wenn Daten über das MP3-Decoder IC ausgegeben werden. LED D3 zeigt die Festplattenaktivität an und blinkt beim Abspielen von MP3s ca. 4 mal pro Sekunde kurz auf. [vorsicht: diese LED ist z.T. recht nervig, und ich selbst habe sie daher nicht bestückt ;]

  • Wie bekommt man Daten auf die Festplatte?


    Am schnellsten natürlich über die IDE-Schnittstelle. Am komfortabelsten per FTP. Je nachdem ob man plant, ständig Gigabyteweise Daten zu übertragen, sollte man vielleicht einen HD-Wechselrahmen verwenden. Der FTP Transfer ist im Moment zwar Funktionstüchtig, aber nicht wirklich schnell (ca. 100kb/s). Beck scheint jedoch bereits am BIOS zu arbeiten.
    Die IDE-Schnittstelle auf dem Player selbst schafft jedoch bis zu 1200 kByte/s.

Software

  • Wie steht's mit der Software?


    Man darf den Player nicht mit einem Fertig-Produkt verwechseln. Das ist ein Bastelprojekt!
    Die Software wird von mir zwar ständig erweitert, im Moment besteht sie jedoch im wesentlichen aus einer (sehr gut dokumentierten) Bibliothek für die Hardware- Komponenten. Eine einfach Playersoftware ist aber schon fertig.
    Hier brauche ich eure Hilfe! Wenn jemand eine komfortablere Software geschrieben hat, würde ich mich über den Sourcecode freuen!

  • Was ist mit dem CD-ROM Support passiert?


    Ich habe für die aktuelle Version meine eigenen ATA-Treiber durch die von Hale Landis (http://www.ata-atapi.com) ersetzt. Daher funktionieren die alten ISO9660 Routinen nicht mehr. Wenn ich Zeit habe, werde ich diese Funktionalität aber wieder einbauen. (und dann auch gleich einen FAT32 Treiber für große Festplatten)

  • Ich möchte an der Software mitentwickeln!


    Besorg dir den Sourcecode, und Entwickel ihn weiter. Ich freue mich über alle Bug-Reports, neuen Code, und Verbesserungen.
    Wenn ich ihn in den normalen Source-Tree aufnehmen soll, ist es am besten, wenn man sich an den bestehenden Code-Style hält. Besonders wichtig sind auch die doxygen kompatiblen Kommentare für die Docs.

Copyright (c)2002 Thomas Kindler, All rights reserved.
you are visitor #867838 since Nov 2000 (145.71 ms)
[>top]