Hallo Leute,
Projekt auf Eis gelegt
da der DM642 zu schwach ist h264 in 1080i zu decodieren
ich plane eine HDTV-Decoder Karte selbst zu bauen. Als passis werde ich einen TI TMS320DM642 DSP verwenden. Als Funtionsumfang wird die Karte folgendes beinhalten:
- Hardwaredecodierung von Audio/Video-Informationen, wie z.B.: MPEG2, MPEG4, h263, h264, AC3...
- Hardwareunterstütze Bild-In-Bild Funktionen
- Gleichzeitige Ausgabe von SDTV und HDTV über Scaling auf die jeweilige Auflösung
- OSD mit 24bit Farben bis 1920x1080
- OSD als Framebuffer ansprechbar
- Unterstützung aller gängigen HDTV-Formate z.B.: 720p, 1080i, 1080p
- DVI-I-Ausgang ohne HDCP aber mit VGA über Adapter
- 7.1 analog Audioausgang + 2.0 Downmixed Audio + SPDIF-Out
- SDTV-Videoeingang zu MPEG2
- Unterestützung für 66MHz PCI-Systeme mit 3,3V und 5V
- 64 MByte 133 MHz SD-Ram
- Ausgänge: CVBS, S-Video, Scart (über zusätzliches Slotblech), Component, DVI-I, SPDIF, Audio 7.1, Audio 2.0
- Eingänge: CVBS, S-Video, Scart-RGB, 2.0 Audio, SPDIF
- ALSA Audiointerface
- Programmierbares Bootlogo während des PC-Starts (ohne geladenen Treiber)
- Hardwareunterstüztes recoding (sofern der DSP noch genug dampf haben sollte)
- uvm.
EAGLE BILD DER PLATINENOBERSEITE
[Blockierte Grafik: http://www.pingpong.homepage.t…/ffdeccard/layout_top.gif]
Als Bauteile werden die folgenden verwendet (nur die wichtigsten):
TI TMS320DM642 - 720 MHz (passiv) Video/Imaging Fixed-Point Digital Signal Processor
MT48LC8M32B2 - 32MByte SD-Ram
TVP5146 - SDTV-Videodecoder
SAA7129H - SDTV-Videoencoder
THS8200 - HDTV-Videoencoder
CH7303 - DVI-I Transmitter
CS42528 - 8-Kanal Audiocodec
Alle Bauteile, mal abgesehen von dem DVI-Transmitter und drei weitere, sind über unterschiedliche Händler zu bekommen, die Platine wird als 4-Lagen Multilayer aufgebaut sein. Die Materialkosten werden vermutlich bei ca. 250 € liegen.
Einen Tuner wollte ich allerdings nicht verbauen, so das man zwar immer auf Bugdet-Karten angewiesen ist, aber ein Tuner + CICAM-Interface würde die Sache schon extrem erschweren und ist platzlich nicht drin.
Für die Firmware stelle ich mir vor die Funktionen von FFMPEG und MPlayer zu verwenden und da der DSP sehr gut dokumentiert ist denke ich das es hier keine größeren Probleme geben sollte.
Das größte Problem auf der Hardwareseite, denke ich ist die Beschaffung des HDMI-Transmitter (erledigt da jetzt DVI-I) und auf der Softwareseite die Unterstützung von DRM geschützten Daten und WM9 (ich sag nur sch... MS).
Die Anfänge sind schon gemacht und ich hoffe das alles klappt. Der Hauptgrund was mich dazu bewegt eine solche Karte zu bauen, ist einfach das Interesse an der Sache und da ich mehrere Videos im HD-Format besitze und diese endlich ohne Ruckeln wiedergeben möchte.
Nun wollte mal in die Runde fragen was ihr davon haltet, insbesondere Randy, LordJaxom und Adama da sie ja die HDTV-Cracks hier im Board sind.
Diagramme und Blockschaltbilder:
Hardwareblockschaltbild (groß)
Softwareblockschaltbild (groß)
Layouts:
Gesamtansicht Oberseite
Gesamtansicht Unterseite
Schaltpläne:
Seite 1 - Beschreibung und Inhaltverzeichnis Revision 0.03
Seite 2 - Konfiguration (derzeit nicht benutzt) Revision 0.02
Seite 3 - DM642 Clocks, Reset, Interrupts, Timers, and IIC Revision 0.05
Seite 4 - DM642 EMIF und JTAG Interface Revision 0.05
Seite 5 - DM642 Video Ports Revision 0.06
Seite 6 - DM642 PCI Revision 0.02
Seite 7 - DM642 Power Pins Revision 0.03
Seite 8 - SDRAM Revision 0.03
Seite 9 - Flash Memory Revision 0.03
Seite 10 - Video Encoder 1 (DVI) Revision 0.03
Seite 11 - Video Encoder 2 (Komponente) Revision 0.03
Seite 12 - Video Encoder 3 (SDTV) Revision 0.04
Seite 13 - Video Decoder (SDTV) Revision 0.03
Seite 14 - PCI Revision 0.03
Seite 15 - CS42528 Audio Interface Revision 0.03
Seite 16 - CS42528 Input Buffers Revision 0.02
Seite 17 - Output Buffers 1 Revision 0.05
Seite 18 - Output Buffers 2 Revision 0.05
Seite 19 - Stereo Audio Interface Revision 0.04
Seite 20 - Power und Reset Revision 0.03
Zip Datei mit allen Datenblättern (ca. 20 MB):
Datenblätter
Grüße, (vom jetzt total durchgeknallten)
Alwin
Update 29.01.06 - Der Wahnsinn beginnt. Alle Schaltpläne online gestellt. Threadbeschreibung an derzeitige Konfiguration angepasst.
Update 29.01.06-12:00 - Seite 5, 33 Ohm Serienwiderstände in alle Datenleiten hinzugefügt.
Update 29.01.06-14:00 - Seite 3 und 12, Unterstützung für SCART-Blanking und 10k Pulldownwiderstand hinzugefügt, auf Vorschlag von irrer iwan (Damit ist der letzte GPIO des DSP weg )
Update 29.01.06-16:00 - Seite 11 - Fehlende Ausgangsbuffer für HSync und VSync hinzugefügt.
Update 30.01.06-00:30 - Seite 5 - Versehentlich hinzugefügte 33R Widerstände am VP0 entfernt.
Update 30.01.06-23:00 - Seite 12 - Kondensatoren C423 und C424 in die Stromversorgung von IC16 hinzugefügt.
Update 31.01.06-10:00 - Seite 3 - Stromversorgung für IC1 (Frequenzmultiplikator) über L2 geführt.
Update 5.02.06-17:00 - Seite 4 - Widerstände R28-R31 durch Netzwerk ersetzt, Seite 8 - Die vier 16 MByte SD-Rams durch zwei Pinkompatible 32 MBytes SD-Rams ersetzt.
Update 6.02.06-6:00 - Auf Wunsch von "Norman" zwei Blockschaltbilder hinzugefügt.
Update 6.02.06-7:00 - Seite 4 und 9 - Optionalen zweiten Flashspeicher hinzugefügt.
Update 6.02.06-14:30 - Seite 4 - Bootmodeselektion hinzugefügt, Seite 11 - Fehler im I2C Levelshifter beseitigt.
Update 6.02.06-23:10 - Seite 13 - Falsche Seite korrigiert.
Update 6.02.06-23:45 - Seite 19 - D/A-Wandler entfernt und durch Summierwiderstände ersetzt (zwar nicht schön und gut aber hab keinen Platz mehr auf der Platine), Seite 17 und 18 ebenso angepasst.
Big Update 12.02.06-21:00 - Seite 20 - Resetschaltung umgeändert so das alle Spannungen überwacht werden können. +/-12V DC/DC-Konverter hinzugefügt um an den OpAmps immer eine sauber Spannung zu liefern und um bei Motherboards welche keine -12V liefern diese zu bekommen. Seite 19 - Wieder einen AD-Wandler (CS4344) für Stereo hinzugefügt, dieser ist interessant da er keine externe Filterschaltung braucht. Seite 17 und 18 die am 6.02.06-23:45 gemachten Änderungen rückgängig gemacht. Seite 15 - Generelle Änderung der Stromversorgung des Audiocodecs, die Analogspannung wird jetzt aus einem eigenen Spannungsregler versorgt und unnötige Ferrite Beads entfernt. Seite 14 - Nicht mehr benötigte Spannungen am PCI-Connector gekappt. Seite 13 - Q8 Transistorbezeichnung von BC847A korrigiert auf BC847B. Seite 7 - Kleinere Änderung in der Anzahl der Kondensatoren. Seite 5 kleinere Änderungen in den Widerstandtsnetzwerken. Seite 1 - Boardbeschreibung angepasst.
Layout fertigestellt, fehlt aber noch jede Menge nachbearbeitung.
Update 13.02.06-00:15 - Seite 3 und 5 - Die Anmerkungen von IG88´s Nachbarn eingebarbeitet.
Update 13.02.06-01:15 - Seite 17 und 18 - Kondensatoren C305, C315, C319, C327, C333, C341, C347 und C355 falsche Werte hatten 5800pF und sollten 5600pF sein, geändert!