**********************
***FAQ zum H-MPEG*****
**********************
  <Erstellt von Matthias Weißer>
  <Version 0.6>

 

Diese Datei soll zu einer Art FAQ zum H-MPEG werden. Im Anfangsstadium wird alles hier etwas ungeordnet werden mit steigender Zahl von Beiträgen aber immer geordneter und damit hoffentlich auch besser. Diese FAQ lebt auch von eurer Mithilfe. Ihr habt etwas neues, egal zu Software oder Hardware, des H-MPEG? Schickt es an matthias@matwei.de und ich werde es in diese FAQ einbauen und ins I-Net stellen.
Fragen
------
 1. Hardware
  1.1 Welche Versionen der Hardware gibt es?
  1.2 Wo bekomme ich die Bauteile?
  1.3 Was bedeutet SMD?
  1.4 Warum ist die SMD-Version billiger?
  1.5 Ich habe noch nie gelötet. Ist die SMD-Version etwas für mich?
  1.6 Worin bestehen die Unterschiede zwischen SMD und normaler Version?
  1.7 Mein Display geht nicht! Was kann ich tun?
  1.8 Was für Kondensatoren braucht der MAX232?
  1.9 Steckerbelegungen?
  1.10 Welche Spannung bzw. wie viel Strom braucht der HMPEG?
2. Software
  2.1 Was ist der Unterschied zwischen HD und CD Version?
  2.2 Wie programmiere ich den H-MPEG?
  2.3 Wie übersetzte ich den Sourcecode?
  2.4 [CD-Version] Ich bekomme immer nur CD Check: NoDRV! Was ist das?
  2.5 [CD-Version] Bei mir kommt immer CD Chek:S und dann lauter ??? Was ist das?
  2.6 [HD-Version] Mein Display sagt mir Init1 bzw. Init2. Was ist das?
  2.7 Wie leite ich Displayausgaben auf die serielle Schnittstelle um?
  2.8 Ich drücke Play und nichts passiert?
  2.9 [CD-Version] Welches Format muß die CD haben?
  2.10 [HD-Version] Wie komme ich in den Debug-Modus?
  2.11 Kann ich eine andere Fernbedienung einsetzten als die von Conrad? 
  2.12 Meine Fernbedienung hat andere Tasten wie hier angegeben. Was muß ich tun, um die Codes zu ändern?
  2.13 [HD-Version] Woher weiß ich, welche die richtigen Codes sind?
  2.14 [HD-Version] Ich möchte keine Fernbedienung verwenden und habe daher keinen IR-Empfänger angeschlossen. Muß ich etwas beachten?
  2.15 [HD-Version] Kann ich einen anderen Drehschalter als den von Panasonic (Verkauf: Segor, Conrad) verwenden?
  2.16 [HD-Version] Ich möchte keinen Drehschalter verwenden und habe daher keinen angeschlossen. Muß ich etwas beachten?
  2.17 [HD-Version] Wo ist das Protokoll beschrieben, mit dem ich den Player über die SEA fernsteuern kann?
  2.18 [HD-Version] Nach dem Einschalten wird die Platte nicht erkannt, was ist hier falsch?
  2.19 [HD-Version] Nach dem Einschalten dauert es 30 Sekunden, bevor der Player anfängt zu spielen. Am Ende der Platte bleibt der Player dann hängen
  2.20 [HD-Version] Der Player kommt beim Abspielen irgendwie durcheinander. Es kommen Lieder in Verzeichnissen vor, die ich so nicht auf die Platte gespielt habe. Einige Leider und Verzeichnisse sind gar nicht da.
  2.21 [HD-Version] Beim Abspielen kommt es zu sehr kurzen Aussetzern ca. alle 10 Sekunden.
  2.22 [HD-Version] Der Plattenzugriff läuft, aber der MAS scheint die Daten nicht zu dekodieren.
  2.23 [CD-Version] Ich kann in den Liedern scrollen sobald ich aber abspielen will stürzt der Player ab.
  2.24 [CD-Debug] Ich kann die CD-Debug mit SP12 nicht programmieren.
  2.25 [CD-Debug] Die CD-Debug läuft einwandfrei. Wenn ich aber ein Lied abspielen will stürzt die Software ab.
3. Allgemein
  3.1 Was kostet mich der Spaß?
  3.2 Was brauche ich noch außer der HMPEG-Platine?
  3.3 Welche Datenformate spielt der HMPEG ab?
  3.4 Auf welchen Seiten kann ich Infos zum HMPEG finden?
     
Ein Dank für Mithilfe bei der FAQ geht an folgende Leute: Michael Iller, Martin Gries (wer hier stehen möchte kann einfach einen Beitrag schreiben und wird dann aufgenommen. Sollte ich jemanden vergessen haben bitte melden)
   
Antworten
---------
1. Hardware
UP 1.1 Welche Versionen der Hardware gibt es?
    Es gibt insgesamt drei Versionen der Hardware. Erst mal die normale Version die das H-MPEG Team entwickelt hat. Darauf sind alle Bauteile bis auf den DA-Wandler in normaler bedrahteter Bauweise ausgeführt. Die SMD-Version von Matthias Weißer setzt größtenteils auf SMD-Technik. (siehe 1.3) Das ews-Team [4] hat dann noch eine Version erstellt die einseitig mit sehr wenigen Drahtbrücken auskommt. Allerdings steigt damit natürlich die Platinengröße.
UP 1.2 Wo bekomme ich die Bauteile?
    Sämtliche Bauteile sind über die Firmen Reichelt  ([8]) Segor ([9]) und Conrad ([10]) zu beziehen. Komplette Bestelllisten für die normale und die SMD-Version sind unter [1] unter Board erhältlich.
UP 1.3 Was bedeutet SMD?
    SMD bedeutet Surface Mounted Device auf deutsch etwa Oberflächen Montiertes Bauteil. D.h. SMD Bauteile werden auf der Oberfläche der Platine gelötet. Einen halbwegs guten Eindruck erhält man unter [3] /MP3-Player wenn man sich die bestückte Platine des SMD H-MPEG anschaut.
UP 1.4 Warum ist die SMD-Version billiger?
    Die SMD-Version ist billiger weil der MP3-Dekoderchip MAS3507D im PLCC Gehäuse (die normale Version) 99DM kostet der in der SMD-Version eingesetzte im sogenannten PQFP-Gehäuse aber nur 65DM. Bei allen anderen Bauteilen unterscheiden sich die Preise kaum.
UP 1.5 Ich habe noch nie gelötet ist die SMD-Version etwas für mich?
    Schwer zu sagen. Es gibt Leute die können so was sehr schnell lernen aber manche lernen es nie. Aber die normale Version ist sicher für ungeübte Löter mit eher schlechter Lötstation besser geeignet. Nennt ihr aber eine schöne Wellerstation euer eigen und habt auch schon mal gelötet ist die SMD-Version eigentlich kein Problem.
UP 1.6 Worin bestehen die Unterschiede zwischen SMD und normaler Version?
    Die SMD-Version verzichtet auf den 5V Regler auf der Platine. D.h. Ihr müsst mit 5V geregelt die Platine versorgen. Es fehlt ebenso das Poti das beim original H-MPEG mit drauf ist. Da aber fast jedes Display hier andere Spannungen braucht ist das Poti eh nur begrenzt einsetzbar.
UP 1.7 Mein Diplay geht nicht! Was kann ich tun?
    Erst mal benötigt das Display eine Kontrastspannung. Bei der SMD-Version muss diese extern herbeigeführt werden. Die Kontrastspannung muss meist um ca. -2.5V liegen. Es empfiehlt sich einen Spannungsinverter mit einem ICL 7660 aufzubauen und ihn so zu beschalten wie es unter [3] zu sehen ist. Beim Anlegen der +5V sollte die Kontrastspannung so eingestellt werden das eine Zeile des Displays schwarz wird. Dann ist der Kontrast richtig. Ist nach dem Einschalten des H-MPEG dann immer noch nichts auf dem Display zu sehen solltet ihr sicherstellen das das Display als Kontroller einen HD44780 verwendet. Ansonsten ist ein Einsatz mit dem H-MPEG nicht möglich. Wenn auch das passt kann es sein das das Kabel zu lang ist. 30cm sollten in keinem Fall überschritten werden. Es gilt: Umso kürzer desto besser. Wenn es immer noch nicht geht dann ist es entweder kaputt (unwahrscheinlich) oder es reagiert einfach nicht da die Eneableimpulse vom H-MPEG einfach zu kurz sind.
UP 1.8 Was für Kondensatoren braucht der MAX232?
    Kommt auf die verwendete Version an. Ein MAX232A braucht z.B. 100nF wogegen der MAX232 mindestens 1µF braucht. Ein Blick ins Datenblatt des betreffenden IC's lohnt immer.
UP 1.9 Steckerbelegungen?
    Alle Steckerbelegungen sind im Schaltplan zum H-MPEG bzw. SMD H-MPEG ersichtlich. Die *.sch Dateien in den ZIP-Files könnt ihr euch mit der Freewareversion des Layoutprogramms Eagle anschauen. Erhältlich unter [7]. Zur SMD-Version gibt es auch Informationen auf [3].
UP 1.10 Welche Spannung bzw. wie viel Strom braucht der HMPEG?
    die normale Version braucht mindestens 7V= was dann aber auch schon knapp ist. 8V= sollten es schon sein. Die SMD-Version braucht 5V geregelt. Strom sind's dann ca. 150mA + Display-Beleuchtung. Je nach Helligkeit und Displayfläche von 50mA bis 500mA.
2. Software
UP 2.1 Was ist der Unterschied zwischen HD und CD Version?
    Wie der Name schon sagt ist die CD-Version für den Anschluss eines CD-LW gedacht und die HD-Version für Festplatten.
UP 2.2 Wie programmiere ich den H-MPEG?
    Dazu kann die Software SP12 verwendet werden. Diese Kommandozeilenorientierte Programm kann auch wunderbar in Batchdateien eingebunden werden. Informationen zur Programmierung des H-MPEG (Alle Versionen) gibt es unter [5].
UP 2.3 Wie übersetzte ich den Sourcecode?
    Zuerst mal ladet ihr euch den AVR-GCC von der H-MPEG Seite herunter. Diesen Entpackt ihr mit Unterverzeichnissen in das Verzeichnis C:\AVRGCC. Nun braucht ihr noch die CYGWIN.dll von der H-MPEG Seite. Diese wird ins C:\AVRGCC\bin Verzeichnis kopiert. Anschließend ersetzt ihr den kompletten Inhalt der run.bat mit folgenden Zeilen:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@ECHO OFF

IF NOT %AVR%!==! goto end

rem change the directory to the one you installed gcc-avr to.
rem you need SLASHS here, don't use backslashs!!!
set AVR=c:/avrgcc
SET PATH=.;%AVR%\bin;%path%
doskey
:end
set CC=avr-gcc
mode con: lines=43
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Jetzt entpackt ihr die Sourcedateien in ein beliebiges Verzeichnis. Es bietet sich natürlich c:\AVRGCC\cdsource bzw. c:\AVRGCC\hdsource an. Jetzt wechselt ihr nach c:\AVRGCC\ und startet die run.bat. Jetzt in euer Verzeichnis mit dem Sourcecode und gebt "make" ein. (natürlich ohne "). Der Compiler sollte jetzt starten und nach ein paar Warnings ein File mit der Endung *.rom ausspucken. Mit diesem könnt ihr jetzt den ATMEL programmieren. Wenn ihr SP12 als Programmiertool einsetzt muss noch die Datei "make2" im Verzeichnis c:\AVRGCC\include\ so angepasst werden das der Compiler ein hex File ausspuckt. Ihr öffnet die Datei mit einem Editor und ändert in Zeile 99 den String --motorola in --intel und in Zeile 100 den String rom in hex. Speichern. Wenn ihr jetzt den Compiler startet wirft er eine *.hex Datei aus die ihr mit SP12 verwenden könnt.
UP 2.4 [CD-Version] Ich bekomme immer nur CD Check: NoDRV! Was ist das?
    Das heißt er findet kein CD-LW. Wenn ihr jetzt an der seriellen Schnittstelle ein Kabel zum PC gelegt habt und ein Terminalprogramm läuft (38400,8,N,1) werden dort die IDE Register ausgegeben. Diese bitte an Adam vom H-MPEG Team mit ein paar Angaben zum LW schicken.
UP 2.5 [CD-Version] Bei mir kommt immer CD Chek:S und dann lauter ??? Was ist das?
    Der H-MPEG hat ein Single-LW gefunden. Jetzt hat er allerdings Probleme mit der CD Erkennung. Das kann viele Gründe haben. Entweder die CD nicht richtig gebrannt dann siehe 2.9 ansonsten kann's am CD-LW liegen. Mitsumi Laufwerke sind hier besonders kritisch. Dann wäre da noch die Hardware selbst. Hauptgrund hier ist der 74HCT646 (alternativ 74HCT652 mit anderem GAL-File). Es kann auch mit dem RAM zusammenhängen. Als allererste sollte auf jeden Fall mal die DEBUG-Version der Software getestet werden.
UP 2.6 [HD-Version] Mein Display sagt mir Init1 bzw. Init2. Was ist das?
    Init 1 bedeutet Festplatte nicht erkannt. (Warum auch immer) Init 2 bedeutet keine MP3's gefunden. (Nicht bei der neuen HD Software)
UP 2.7 Wie leite ich Displayausgaben auf die serielle Schnittstelle um?
    In der lcd.c sind folgende Änderungen vorzunehmen:

Am Anfang der Datei

"#include serial.h" einfügen (ohne ")

Danach nach void_lcd_nprint suchen und diese Routine durch folgende ersetzten:

void lcd_nprint( unsigned char *string,unsigned char count)
{
  unsigned char dummy;
  sendstring( string);
  return;
}

UP 2.8 Ich drücke Play und nichts passiert?
    Das kann viele Ursachen haben. Aber das Kabel zum programmieren des ATMEL muss abgezogen sein da sonst die Pegel des Parallelport die Datenübertragung zum MAS stören.
UP 2.9 [CD-Version] Welches Format muß die CD haben?
    Die CD sollte am besten mit NERO gebrannt werden. Die Einstellungen: Kein Multisession, ISO Level 2, Mode 1, ISO9660, Joliet muss aktieviert sein, die beiden unteren Optionen deaktivieren. Die CD muß abgeschlossen werden. Dann sollte die CD funktionieren.
UP 2.10 Wie komme ich in den Debug-Modus?
    In der Datei my_defs.h (HD-Version) die Zeile #define DEBUG FALSE ändern in #define DEBUG TRUE und compilieren.
Danach eine serielle Verbindung zu einem Terminal herstellen (38400 Baud, 8 Datenbits, keine Parität). Es gibt auch eine Debugsoftware für die CD-Version die nicht mehr compiliert werden braucht auf [1].
UP 2.11 Kann ich eine andere Fernbedienung einsetzten als die von Conrad? 
    Ja, jede RC5-codierte FB funktioniert (i.A. Phillips).
UP 2.12 Meine Fernbedienung hat andere Tasten wie hier angegeben. Was muß ich tun, um die Codes zu ändern?
    Die richtigen Codes kann man in der Datei RC5.h eintragen.
UP 2.13 [HD-Version] Woher weiß ich, welche die richtigen Codes sind?
    Im Debug-Modus kann man sich die Tastencodes ansehen.
UP 2.14 [HD-Version] Ich möchte keine Fernbedienung verwenden und habe daher keinen IR-Empfänger angeschlossen. Muß ich etwas beachten?
    Ja, in der Datei my_defs.h die Zeile #define RC5 TRUE ändern: #define RC5 FALSE und neu compilieren. Ein Pull-Up Widerstand (ca. 4,7k) sollte noch an die IR Leitung (Mittlerer Pin der Stiftleiste) angeschlossen werden.
UP 2.15 [HD-Version] Kann ich einen anderen Drehschalter als den von Panasonic (Verkauf: Segor, Conrad) verwenden?
    Ja, im Prinzip geht das. Die Software müßte jedoch dafür angepaßt werden, wenn die Impulse andere sind.
UP 2.16 [HD-Version] Ich möchte keinen Drehschalter verwenden und habe daher keinen angeschlossen. Muß ich etwas beachten?
    Ja, in der Datei my_defs.h die Zeile #define DREHSCHALTER TRUE ändern: #define DREHSCHALTER FALSE und neu compilieren.
UP 2.17 [HD-Version] Wo ist das Protokoll beschrieben, mit dem ich den Player über die SEA fernsteuern kann?
    In der Datei Schnittstellenbeschreibung.txt befindet sich eine grobe Beschreibung der Befehle. Die Schnittstelle ist noch nicht fest, wird also bei Bedarf noch geändert.
UP 2.18 [HD-Version] Nach dem Einschalten wird die Platte nicht erkannt, was ist hier falsch?
    Die Software im Debug-Modus starten. Dort befindet sich ein Menüpunkt, der sich mit dem Test der HD-Hardware befaßt. Im Allgemeinen ist jedoch das GAL falsch gebrannt --> im Board anfragen
UP 2.19 [HD-Version] Nach dem Einschalten dauert es 30 Sekunden, bevor der Player anfängt zu spielen. Am Ende der Platte bleibt der Player dann hängen
    Die Platte ist als Master gejumpert, wird jedoch im Single-Betrieb gefahren (Western Digital). Platte richtig jumperen (Als Single)
UP 2.20 [HD-Version] Der Player kommt beim Abspielen irgendwie durcheinander. Es kommen Lieder in Verzeichnissen vor, die ich so nicht auf die Platte gespielt habe. Einige Leider und Verzeichnisse sind gar nicht da.
    Es stimmt etwas in der Nummerierung der Datein nicht. Im Debug-Modus kann man das prüfen.
UP 2.21 [HD-Version] Beim Abspielen kommt es zu sehr kurzen Aussetzern ca. alle 10 Sekunden.
    Die Bitrate der MP3-Datei ist zu hoch im Verhältnis zur Geschwindigkeit der Platte. Eine schnellere Platte verwenden oder die Dateien umkonvertieren.
256K CBR lief nicht problemlos mit langsamen Platten, nach dem Defragmentieren ging aber mit der gleichen HD auch 320k CBR. Keine Garantie für nichts!
UP 2.22 [HD-Version] Der Plattenzugriff läuft, aber der MAS scheint nicht die Daten zu dekodieren.
    Wenn der MAS eine Maske neuer oder gleich G10 hat, in der Datei my_defs.h die Zeilen "#define MASKE_F10 FALSE" und "#define MASKE_G10 TRUE" anpassen und neu compilieren. Schadet auch nicht bei F10, nimmt aber Programmspeicher weg.
UP 2.23 [CD-Version] Ich kann in den Liedern scrollen. Sobald ich aber abspielen will stürzt der Player ab.
    Der MAS liegt höchstwahrscheinlich in der Revision G10/G12 vor. (Zu finden ist die Revision hinter der Bezeichnung "MAS3507D") In dieser Revision braucht der MAS ein Software-Init und Pull-Up's auf den I2C Busleitungen. Die genaue Beschreibung und die Softwareänderung sind unter [3] zu finden.
UP 2.24 [CD-Debug] Ich kann die CD-Debug mit SP12 nicht programmieren.
    Die CD-Debug liegt im Motorola-S-Record vor. SP12 benötigt aber ein Intel-Hex-File. Programme zum umwandeln von MOT-S-Record in Intel-Hex gibts auf [2]
UP 2.25 [CD-Debug] Die CD-Debug läuft einwandfrei. Wenn ich aber ein Lied abspielen will stürzt die Software ab.
    Die CD-Debug ist für den MAS Revision F10 geschrieben. Momentan werden allerdings MAS in den Revisionen G10 und G12 ausgeliefert. Die Software muß darauf angepasst werden. Der Sourcecode für die CD-Debug ist jedoch nicht verfügbar so das die Debug-Software nicht angepasst werden kann.
     
3. Allgemein
UP 3.1 Was kostet mich der Spaß?
    Es sind nur Kosten für die Hardware zu berappen. Da die Preise für Halbleiter in letzter Zeit stark schwanken ist eine Aussage nicht so einfach. Aber grob überschlagen kommen nur für den H-MPEG (Platine + Bauteile) Kosten von ca. 220DM auf euch zu. Die SMD Version ist ca. 40DM billiger. Es laufen aber immer wieder Sammelbestellungen für Platinen und Bauteilen. Einfach immer mal wieder ins Board auf der H-MPEG Seite schauen. Für die Software ist außer den Downloadkosten (und die fallen wirklich nicht in Gewicht) nichts zu bezahlen.
UP 3.2 Was brauche ich noch außer der HMPEG-Platine?
    Ein Programmierkabel für den ATMEL, einen Massenspeicher (HD oder CD), eine Fernbedienung, Aktivboxen oder irgendwas anderes mit einem Line-Eingang, die Software von der HMPEG-Seite und  natürlich MP3 Dateien
UP 3.3 Welche Datenformate spielt der HMPEG ab?
    Ganz viele :-) Einfach mal das Datenblatt des MAS3507D von [1] runterladen und auf Seite 24 nachsehen und feststellen das ganz viel nicht untertrieben ist.
UP 3.4 Auf welchen Seiten kann ich Infos zum HMPEG finden? Was hat noch mit dem HMPEG zu tun?
    [1] http://hmpeg.virtualave.net/ (Heimatseite)
[2] http://external-mp.de/hmpeg (Iller's Page, Bauanleitung, diverses)
[3] http://www.matwei.de (SMD-HMPEG, H-Control)
[4] http://crusher.et.ruhr-uni-bochum.de/~ews/ (einseitiges Layout)
[5] http://members.tripod.de/blackwatcher/index.html (programmieren mit SP12)
[6] http://www.geocities.com/frankie20de/Hmpeg/Home.htm (Bauanleitung)
[7] http://ww.cadsoft.de (Layoutprogramm für HMPEG-Layout's)
[8] http://www.reichelt.de (Bauteilelieferant, gut, günstig & schnell)
[9] http://www.segor.de (Spezialbauteile, Drehgeber, teuer)
[10] http://www.conrad.de (PQFP-MAS für 65DM)