Hardware:dbox2:Erweiterungen:IDE-Interface

Aus TuxBoxWIKI
Version vom 25. Juli 2006, 15:53 Uhr von Sky (Diskussion) (typo)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche


Allgemeines

Stand 22.7.2006

Dieses Projekt verfolgt zurzeit ebenfalls die Realisierung einer IDE-Schnittstelle, jedoch mittels eines CPLD (Complex Programmable Logic Device). Dies hat u.a. den Vorteil, gegenüber der Lösung mit diskretem Schaltungsaufbau, dass die Schaltung selbst "übersichtlich" ist, da nur wenige Komponenten auf dem eigentlichen IDE-Modul bzw. auf der Platine aufgebracht werden müssen.

Des Weiteren gestattet die Programmierung des CPLD einen flexibleren Funktionsumfang, da davon ausgegangen wird, dass alle Anschlüsse des Speichermodul-Steckplatz der DBox2 an das CPLD angeschlossen werden. Änderungen und Erweiterungen können allein durch eine geeignete Programmierung vorgenommen werden, ein nachträglicher Eingriff in den Schaltungsaufbau ist daher nicht nötig.

Das CPLD wird wie bereits erwähnt -analog zur ersten IDE-Variante- an den Speichermodul-Steckplatz der DBox2 und dem Modemstecker angeschlossen. Außerdem muss natürlich an einer geeigneten Stelle noch die Betriebsspannung für das IDE-Modul abgegriffen werden.

Aus CPU Sicht wird das CPLD wie das normale RAM angesprochen, d.h. via UPM (User Programmable Machine). Dabei werden die Daten in den Adressraum für die erweiterten 32MB Hauptspeicher eingeblendet.

Die Grund-Idee für einen Zugriff war "Write before Read". Die CPU muss dem Chip vor einem IDE-Register Lesezugriff sagen, dass der Chip das jetzt mal bitte machen soll, zum Beispiel per Schreibzugriff auf eine bestimmte Adresse. Der zweite Zugriff liefert dann die gelesenen Daten. Performance gibt's trotzdem, weil der zweite Lesezugriff wieder den nächsten IDE-Zugriff auslösen kann (durch die Wahl der Adresse) usw. Und ganz nebenbei können so zur CPU auch gleich 32 Bit transportiert werden, weil der Chip gleich 2 IDE-Lesezugriffe durchführt.

Die Software Xilinx ISE 7.1i zur Programmierung des CPLD ist frei erhältlich.

Da Nokia, Phillips und Sagem unterschiedliche Speichermodul-Steckplätze verwenden war die Entwicklung von drei verschiedenen Platinenlayouts notwendig. Die Layouts und die Software sind mittlerweile fertig gestellt. Die fertigbestückte Platine wird von Hallenberg.com vertrieben und kann für 50 Euro + Versand vorbestellt werden. Mit dabei sind ein Einbaurahmen für 2,5"- und 3,5"-Festplatten, ein IDE-Kabel, ein Kabel zum Modemport sowie ein Netzteil als Spannungsversorgung für die Festplatte. Die Veröffentlichung und der Beginn des Versands sind auf den 1.August 2006 festgesetzt.

An einer Anpassung des Kernels usw. wird ebenfalls noch gearbeitet.

FAQ

Rund um das Interface

Wird das IDE-Interface Timeshift beherrschen?

Eine Timeshift-Funktion ist bis jetzt nicht vorgesehen. Aber eventuell werden sich ja ein paar Entwickler auf dieses Themengebiet stürzen.

Können wir User die Firmware updaten?

Im Prinzip ja. Es gab den Vorschlag, das direkt in der Box über Pins vom Modemport zu machen. Ob dies bei den einzelnen Layouts vorgesehen ist, ist noch nicht bekannt.

Dieses Verfahren birgt allerdings ein Risiko: Da der CPLD direkt am Prozessorbus hängt, kann eine falsche Firmware dazu führen das die Box sich aufhängt und nicht einmal mehr bootet. Die Platine kann man dann immernoch updaten, muss sie aber aus dem Connector ziehen und irgendwie mit Strom (3.3V) versorgen. Am Modem-Connector ist aber auch dafür alles vorhanden.

Alternative ist ein relativ einfaches Kabel am Parallelport eines PCs. Die 3.3V können dann aus der Box kommen, und ob die sich nach dem Update aufhängt oder nicht ist dann ja egal. Sollte sich die Box aufhängen spielt man einfach das alte Image wieder auf den Chip.

Wo bekomme ich ein Kabel her um den CPLD zu programmieren?

Hier ist der Schaltplan um sich ein Kabel für den Parallel-Port bauen zu können. [1] [2]

Wird es eine Variante des IDE-Interfaces mit Speichereweiterung geben?

Eher unwahrscheinlich. Der Grund ist das man sich aus Timinggründen keinen Multiplexer am RAM leisten kann.

Auf der Platine sind noch acht unbestückte Lötpads. Wozu dienen diese?

Diese Lötpads sind für eine RealTimeClock bestimmt. Sie können mit einem DS1307Z (SMD), ein Standarduhrenquarz und ein Knopfzellenhalter (KZH-1) bestückt werden.

Imageprobleme

Wann werden die Sourcen veröffentlicht?

Die Sourcen werden veröffentlicht, sobald das Interface verfügbar ist. Die Sourcen kommen ins CVS, sodass man sich sein eigenes Image mit HDD-Unterstützung bauen kann.

Wird es möglich sein Images mit HDD-Unterstützung und ohne HDD-Unterstützung zu bauen? Oder haben die Images dann standartmäßig HDD-Unterstützung?

Default ändert sich nichts, man muss die IDE-Patches zusätzlich aktivieren, ich denke aber das Barf sicher da rules für Newmake erstellt.

Nehmen die Erweiterungen die für das IDE Interface benötigt werden viel Platz im Image weg?

Das Image wächst um ungefähr 300 kB.

Rund um die HD

Kann ich die Energie für die Platte vom internen Netzteil beziehen?

Die Leistungsreserven des dboxinternen Netzteils sind begrenzt. Ein Betrieb einer 2,5"-Platte ist mit Hilfe einer kleinen Schaltung (Schaltregler) an der 27 V- Spannungsversorgung für die Displaybeleuchtung und das LNB möglich. Für 3,5"-Platten muss ein externes Netzteil verwendet werden.

Hier die Schaltung: [3] [4] [5] [6]

Ich habe eine Kabelbox. Kann ich trotzdem obige Schaltung verwenden oder haben die Kabelboxen keine 27 V-Spannung?

Alle Boxen haben diese 27 V-Spannung, auch Kabelboxen.

Kann ich eine SATA-Platte an das IDE-Interface anschließen? / Wird es eine SATA-Version dieses IDE-Interfaces geben?

Der Einsatz einer SATA-Platte an diesem Interface ist noch nicht getestet worden. Laut DBoxBear sollte es aber theoretisch möglich sein eine SATA-Platte mit Hilfe eines PATA-SATA-Adapters zu betreiben. DboxBear wird laut Posting keine Schaltung für SATA entwickeln.

Wird die Festplatte bei Nichtbenutzung in den Standby geschickt?

Die Festplatte wird nach 5 Minuten in Standby geschickt. Dieser Wert ist mit hdparm frei zu definieren.

Wird es HD-Tools geben?

Im aktuell in Entwicklung befindlichen Yadi und JtG-Image sind bereits Tools zum Partitionieren und Formatieren der Festplatte sowie die benötigten Treiber enthalten.

Welches IDE-Kabel soll ich verwenden?

Bitte benutze ein 80-poliges IDE-Kabel. Die zusätzlichen Masseleitungen helfen die Signale vor Störeinflüssen zu schützen.

Gibt es eine Kapazitätsgrenze für die Festplatte?

Da Linux LBA48 unterstützt und den Treiber/Chip das nicht interessiert: Alles was es an IDE Platten gibt. (zur Zeit 500GB?) Und davon bis zu zwei Stück -> 1TB

Wieviel Platten kann ich anschließen?

Zwei. Eine Master- und eine Slave-Platte

In welchem Modus wird die Platte laufen?

PIO-Mode 4 (max. 16 MByte/s)

Wie hoch wird die Datenübertragungsrate sein?

Die Platte erreicht zur Zeit zwischen 2 und 4 MByte/s. Das ist mehr als das 10 MBit-LAN der DBox zu leisten vermag. Das ist mehr als genug um ZDF mit allen Audiokanälen ohne Unterbrechungen aufzuzeichnen.

Was ist der Unterschied zwischen Mbit/s und MByte/s?

8 Bit entsprechen 1 Byte. 10 MBit/s entsprechen unter realen Bedingungen etwas weniger als 1 MByte/s.

Welches Format wird die Partition auf der Festplatte haben?

Die Festplatte wird in ext3 formatiert. Es gibt aber Tools um ext2/3 unter Windows lesen und schreiben zu können. [7]

MultiCam / MC das unbekannte Wesen?

Wofür dient das Kabel zum Modemport?

Über den Modemport bezieht das IDE-Interface seinen Interrupt. Das Kabel ist für die Funktion unbedingt notwendig.

Funktioniert das IDE-Interface auch mit einem MultiCam?

Der parallele Einsatz von einem MultiCam und vom IDE-Interface ist von den Entwicklern nicht vorgesehen.

Warum berücksichtigen die Entwickler keine MultiCams

Vom Projekt wird das nicht unterstützt, da auch andere Crypt-Verfahren möglich sind/wären, für die die dbox2 keine Lizenz mitbringt.


Links



Review-KandidatDieser Artikel befindet sich derzeit im Reviewprozess. Hilf mit, ihn zu verbessern! Falls du bei weiteren Artikeln helfen willst, findest du hier eine Auswahl offener Artikel.