PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Aufbau eines Faltrechners für BruteFIR



waterburn
19.03.2013, 12:51
Hallo,

da mir schon länger das Konzept für eine größere Aktivbox im Kopf herumschwirrt, habe ich mich aufgerafft einen Linux Rechner für BruteFIR aufzubauen. Ziel ist es, dass sich dieser am Ende genau so verhält, wie man es sich von einem Hifi-Gerät wünscht. Von außen soll nicht erkennbar sein, dass es sich bei dem Gerät um einen PC handelt. Ich möchte versuchen dieses Projekt von Anfang an zu beschreiben und die auftretenden Probleme zu diskutieren. Da Linux für mich komplettes Neuland ist, wird es sicherlich einiges zu diskutieren geben. Zum Glück habe ich in meinem Umfeld einige Linux Freaks, und auch hier im Forum sind ja einige unterwegs, die schon Erfahrungen mit BruteFIR gemacht haben.

Zunächst einmal möchte ich die Projektplanung vorstellen. In einem weiteren Beitrag werde ich dann den aktuellen Stand zeigen und die ersten Fragen stellen ;)

Die Hardware

Als Herzstück des Rechners soll das AD2700B-ITX von ASRock dienen. Hierbei handelt es sich um ein Atom-Board mit dem NM10 Chipsatz von Intel. Das Board ist vollständig passiv gekühlt. Wichtig bei der Wahl der Hardware war für mich, dass das Board über einen Parallelport verfügt, da über diesen das die Steuerelemente für den Benutzer, sowie der Eingangswahlschalter und eine analoge Lautstärkeregelung angesteuert werden sollen. Ein Nachteil dieser Hardware, der mir leider erst nach dem Kauf aufgefallen ist, ist, dass der Grafikchip nur unzureichend von Linux unterstützt wird. Da im eigentlichen Betrieb aber ohnehin kein Bildschirm angeschlossen ist, ist dieser Makel aber verschmerzbar.

Als Soundkarte kommt eine Terratec Aureon 7.1 Space zum Einsatz, die zu einer Prodigy 7.1 geflasht wurde. Das flashen hat für Linux aber keine Bedeutung da beide Karten den gleichen Treiber benutzen. Die Entscheidung für die Karte wurde vor allem aus Budget gründen getroffen, da diese bereits vorhanden war. Neu ist diese Karte nicht mehr zu bekommen, aber über ebay bekommt man sie gebraucht für um die 20€ inklusive Versand. Für erste Experimente also ideal. Aber auch die technischen Daten dieser Karte sind über jeden Zweifel erhaben. Der einzige Wermutstropfen ist, dass die Karte einen deutlichen Einschaltplopp verursacht. Da aber ohnehin eine analoge Lautstärkeregelung nachgeschaltet ist, stellt dies kein Problem dar.

Um die Lautstärke und den Gewählten Eingang anzuzeigen wird ein 2,4" großes Farbdisplay eingebaut, welches über USB angeslossen ist. Hierbei handelt es sich um einen gehackten Digitalen Bilderrahmen aus China. Wer mehr zu dem Thema wissen will, kann das hier (http://geekparadise.de/2011/04/digitaler-bilderrahmen-von-pearl-als-statusdisplay-fur-dockstar/ ) nachlesen. Alternativ kann man einfach mal nach dpf-hack und AX206 googeln.

Das ganze System soll auf einem schnellen USB-Stick installiert werden. Auf diese Weise bekommt man ein komplett lautloses System.

Eingebaut wird das ganze in ein altes Desktop Gehäuse eines 286ers. Die Front soll aus Multiplex neu gestaltet werden. Der Korpus wird mit der Rolle matt schwarz lackiert. In die Rückwand wird ein Blech eingenietet welches nur die Löcher für die Cinch Anschlüsse und zwei herausgeführte USB-Anschlüsse enthält.

Das Benutzerinterface

Unter Linux kann der Parallelport recht einfach als general purpose I/O benutzt werden. Die einzelnen Pins können Direkt aus C angesprochen werden. Codebeispiele sind im Internet zu Hauf zu finden. Sollte das Projekt zu einem erfolgreichen Abschluss kommen, werde ich einen eigenen Quellcode ebenfalls zur Verfügung stellen.

Um den Parallelport nutzen zu können muss man aber noch einige weitere Vorkehrungen auf der Hardware Seite treffen. Hierfür habe ich eine Platine entworfen, die auf Lochraster umgesetzt werden soll. Der Schalplan ist als pdf angehängt.

http://www.diy-hifi-forum.eu/forum/attachment.php?attachmentid=3408&d=1363689664

Die Ausgengspins können nur einen sehr geringen Strom liefern und sind nicht kurzschlussfest. Aus diesem Grund wird ein IC vom Typ 74HC244 als Puffer eingesetzt. Insgesamt werden 8 Ausgange zur Verfügung gestellt. Drei Pins werden für den Eingangswahl benötigt. Die restlichen 5 Pins steuern die analoge Lautsärkeregelung. Dieser Teil der Schaltung ist im oberen teil der Platine zu sehen. Die Eingangswahl und die Lautstärkeregelung können über die 10-Poligen Pfostenstecker angeschlossen werden.

An die 6-Poligen Pfostenstecker im unteren Teil der Platine können Drehencoder angeschlossen werden. Beim oberen kann außerdem noch ein Taster angeschlossen werden. Die Entprellung erfolgt der Einfachheit halber in Hardware. Diese Aufgabe übernehmen die RC-Glieder und der Schmitt Trigger 74HC14. Der von den Drehencodern erzeugte Gray-Code wird dann durch die Flipflops 74HC74 decodiert. Dadurch wird der Programmieraufwand deutlich vereinfacht, da der Code nicht mehr zeitkritisch ist. Das schlimmste was passieren kann, ist das ein Impuls verloren geht. die Drehrichtung wird aber immer richtig erkannt.

http://www.diy-hifi-forum.eu/forum/attachment.php?attachmentid=3409&d=1363689664

Zur Eingangswahl Platine schaltet zwischen 4 analogen und 4 digitalen Eingängen um. Die analoge Umschaltung erfolgt über Relais. Die digitalen Signale werden über ein digitales Multiplexer IC geroutet. Die umschaltung zwischen digital und analog erfolgt dann im Rechner.

http://www.diy-hifi-forum.eu/forum/attachment.php?attachmentid=3410&d=1363689664

Zur analogen Lautstärkeregelung kommen Zwei ICs vom Typ PGA4311 zum einsatz. Da es sich hierbei um SMD bautele handelt werden sie über Adapterplatinen vom Chinesen auf die Lochrasterplatine gebaut. Zur Erzeugung der analogen Versorgungsspannungen ist ein DC-DC Wandler verbaut. Die Ansteuerung der ICs Erfolgt über das serielle SPI Protokoll. Da dieses nicht besonders zeitkritisch ist, sollte es Problemlos möglich sein diese Signale über den Parallelport zu erzeugen.

Die Software

Als Betriebssystem soll das überaus leichtgewichtige Tinycore zum Einsatz kommen. Die Software für das Benutzerinterface soll in Python geschrieben werden. Zur Ansteuerung des Parallelports wird zusätzlich etwas inline C notwendig sein. Das Display wird von der Software LCD4Linux unterstützt. Für diese gibt es ebenfalls einen Python Wrapper. Zur späteren Fernsteuerung des Rechners möchte ich noch einen SSH-Server und WLAN installieren. das ganze ist allerdings noch zukunftsmusik, da meine ersten Schritte mit Tinycore doch eher holprig waren. Zunächst einmal muss ich es schaffen Software zu installieren und den Sound zum laufen bekommen. Mit google und eurer Hilfe werde ich das aber sicher in der nächsten Zeit schaffen. Heute Abend gibt es dann hoffentlich ein paar Bilder vom aktuellen Stand.


Viele grüße

waterburn

The Alchemist
19.03.2013, 16:21
Wenn Du den digitalen Teil der Soundkarte nutzen möchtest, solltest Du sie wieder zur Terratec umflashen.

waterburn
19.03.2013, 21:07
Danke für den Hinweis. Das hab ich gleich mal gemacht. Sobald ich es schaffe Software unter Tinycore zu installieren, werd ich mal weiter berichten.

Komisch, dass außer dir niemand was zu sagen hat, bei fast 100 Views.

Gruß

waterburn

The Alchemist
19.03.2013, 21:22
Ich hab noch was: Willst Du und deine Linux Freunde das Rad neu erfinden (was immer wieder Spass macht) oder macht ihr da weiter wo wir damals aufgehört haben?

Sollte es daran liegen, das der Link nicht mehr funktioniert, so kann dem abgeholfen werden:

http://www.xup.in/dl,68883086/BruteTC43.iso/

Was TC und Brutefir angeht gibt es hier nicht so viele Experten....

Wenn Fragen zu obigem ISO auftauchen, die allgemein sind, sollten wir den alten TinyCore Thread wieder beleben, dann bleibt das zusammen.

Zu TC würd ich persönlich raten, nicht so oft ein Update durchzuführen. Lieber eine laufende Installation benutzen und darauf aufbauen. Die 4.3 hat nur sehr wenige Fehler...

Gruß

waterburn
19.03.2013, 21:27
Hallo,

danke für die Iso. Ich habe nicht vor, das Rad neu zu erfinden. Erstmal wäre ich froh überhaupt eine Lauffähige Version zu haben. Wenn das dann läuft und ich etwas Verständnis über das System erlangt habe, kann ich ein paar Veränderungen vornehmen. Den Thread "Alternative zu SPB-Linux" habe ich fast komplett durchgelesen. Er war sogar einer der Hauptgründe warum ich mich für Tinycore entschieden habe.

Gruß

waterburn

Edit: ich hab grad noch ne total blöde Frage zu dem ISO. Ich hab bisher den USB-Stick immer mit dem Universal USB Installer 1.9.2.7 erstellt. Dem ist es aber leider egal, was da außer den unbedingt benötigten Dateien in der ISO Drin ist. Gibt es eine andere Möglichkeit einen Bootfähigen Stick zu erstellen ohne eine CD brennen zu müssen? Ich habe nämlich kein Laufwerk hier, mit dem ich das auf dem zukünftigen Faltrechner installieren könnte.

usul
19.03.2013, 21:47
Zum PGA: Über den Parallelport fängst du dir vermutlich allerlei Müll ein. Da ist eine Trennung von analogen und digitalem Teil auf der Platine sinnvoll. Die Alternative ist eine komplette Trennung über Optokoppler. Eine separate Stromversorgung für den Analogteil sollte eh da sein.
Im Moment habe ich gerade ein 4311-Modul in Arbeit:
http://www.diy-hifi-forum.eu/forum/showthread.php?t=6208

Welchen DC-DC-Wandler willst du denn nutzen?

The Alchemist
19.03.2013, 21:57
Mit der Installation von ISO ohne CD kann ich dir nicht weiter helfen.

Da Du aber auf USB Stick installieren möchtest, kannst Du jeden beliebigen Rechner mit Laufwerk und USB Port als Installationsknecht mißbrauchen. Einfach von CD booten und den TC Installer (2. Symbol von rechts) ausführen.

Linux ist nicht Windows, Du nimmst ganz einfach hinterher deinen Stick und bootest damit deinen Falter.

Gruß

waterburn
19.03.2013, 22:08
@The Alchemist: Danke, werd ich probieren.

@usul Als DC-DC Wandler will ich nen ganz ordinären 12v zu +-5V Wandler von Reichelt nutzen. der 5V nach +-5V war leider nicht lieferbar, sonst hätte ich den genommen. Auf der Platine sind digitale und analoge Masse konsequent voneinander getrennt und nur an einem Punkt miteinander verbunden. Aber ich sehe gerade, dass die Verbindung in auf dem geposteten Bild noch fehlt. Den Einsatz von Optokopplern halte ich persönlich nicht für notwendig. Der PGA ist schließlich als genau zu diesem Zweck konstruiert wurden, die Digitaltechnik typischen unsauberen Signale sollten also eigentlich kein Problem darstellen. Falls doch, kann man immer noch ein paar Optokoppler nachrüsten, aber erstmal werde ich es so probieren.

Gruß

waterburn