Hallo ich wollte mahl ein pahr Fragen stellen da es so fiele sind past es leider nicht in einen bestimmten bereich 1.könnte man einen prozessor einen "einfachen" microkomputer bauen z.b. mit einen alten intel Pentum mit 133 mhz und nicht wie so oft mit einem Zilog z80 hier mal das Datenblatt www.intel.com/design/pentium/datashts/24199710.pdf 2.bekommt man für den pentium noch Quellcodes und wäre es schwer "das ding" in asembler zu programmieren (ziemlich dumme frage) den ich habe leider noch keine Programierkentnisse !!! 3.woher bekomme ich i/o Controller damit ich die i/o ports bekomme habe hier nur die chipsetze von der platine geleisert die sind aber leider "nur" fesplatten isa und pci Controller (Intel PCIset sb82371sb (http://www.datasheetarchive.com/pdf-datasheets/Datasheets-14/DSA-277845.html)) und für den 2ten (Intel PCIset sb82437vx ) lässt sich leider kein Datenblatt mehr finden nur mahl so neben bei das soll ales mal zu einem anschlagdinamischen midi maser keybord mit unterstützender klanerzeugung durch den Sound Blaster awe 32 werden (ISA) weswegen ich auch den chipsatz verwende. Auserdem soll man über festplatte neue soundfont dateien in den soundkarten ram laden ich würde mich über konstruktive antworten freuen.(Bitte behaltet Grammatik und Rechtschreibfehler für euch) Ich weis das jetzt die meisten sagen das es zu hoch für mich ist da ich ja noch nie progermiert habe aber ich möchte halt den harten einstig wälen und ich kann mit nem pentium ja auch erstmal eine led zum blinken bringen. Ach ubrigens "eageln" kann ich ich hab auch schon einen pakige erstellt das auf Den soket 7 passt nur das der chipsätze ein fqp208 wäre etwas schwär selbst zu erstellen das wäre auch gans gut wenn das als Eagle .lib datei zu bekommen MFG GAMEBOY_Dude
Lars Beckmann schrieb: >2.bekommt man für den pentium noch Quellcodes und wäre >es schwer "das ding" in asembler zu programmieren >(ziemlich dumme frage) den ich habe leider noch keine >Programierkentnisse !!! Möglicherweise geht es sogar, aber so, wie ich das bei dir sehe, keine detaillierten Programmierkenntnisse, womöglich auch keine detaillierten HW-Kenntnisse dazu, Architekturkenntnisse, fang lieber mal bei einem 8086 oder 8088 klein an.
1. Theoretisch ja, praktisch nein. Der Pentium hat ein ziemlich schnelles Businterface, das Schaltungsdesigner vor erhebliche Aufgaben stellt. Bereits das Platinenlayout ist aufgrund der erheblichen Stromaufnahme kein Zuckerschlecken, unter sechs Layer dürfte da nichts zu machen sein. Die zweite Frage kann nicht dein Ernst sein - meinst Du etwa, daß es keine Software mehr gibt, die auf Pentiums läuft? Wenn Du wie mit der dritten Frage angedeutet einfach ein normales PC-Standarddesign nachbauen willst, dann ist das eine Übung in Sinnlosigkeit - nimm doch einfach ein fertiges PC-Motherboard, welche für Pentiums dürftest Du praktisch geschenkt bekommen. Viel interessanter dürfte der eigentliche Nutzanteil Deiner Idee sein - die alte Soundkarte anzusteuern. Da das eine ISA-Karte ist, solltest Du die auch mit einem vollkommen anderen Prozessor als einem PC-Prozessor ansteuern können, und da gibt es mit den ARMen durchaus deutlich bastelfreundlichere Varianten. Ich denke da an Microcontroller, die große Teile der beim Pentium benötigten Peripherie enthalten, also so etwas wie Schnittstellen zur Kommunikation mit der Außenwelt, einen Speichercontroller zur Ansteuerung externen Speichers (das hat nicht jeder µC, aber es gibt welche) und die ganze Takterzeugung. Das ist schaltungstechnisch ganz erheblich einfacher zu handhaben als ein PC-Nachbau. Obendrein ist so etwas deutlich besser dazu geeignet, irgendwelche I/O-Dinge anzusteuern wie Dein Keyboard, weil es nicht die ganzen Hardwareeinschränkungen des PC-Designs aufweist. Und zu programmieren ist es auch einfacher; es gibt gut dokumentierte und kostenfreie Entwicklungssysteme, und mit ucLinux auch komplette Betriebssysteme, die auf so etwas laufen können. Also: Vergiss die Idee mit dem PC (oder nimm einfach einen fertigen PC mit ISA-Slot), und informiere Dich über das, was mit ARMen wie z.B. der Cortex M3-Reihe möglich ist.
> (Bitte behaltet Grammatik und Rechtschreibfehler für euch)
Auch wenn du es nicht gerne hören magst: Falls du Schreibschwäche hast,
ist die Anforderung der "vollkommen exakten" Beschreibung in der
Computertechnik möglicherweise eine unüberwindbare Hürde für dich, egal
wie engagiert und motiviert du sein magst. Weder Hardware
(Schaltungslayout) noch Software (Programmierung) würden im geringsten
funktionieren, wenn du so arbeitest wie du schreibst (mit derartigen
vielen Fehlern). Die meisten Programmiersprachen unterscheiden nun mal
zwischen Groß- und Kleinschreibung, und fehlerhafte Schlüsselworte
werden auch nicht verstanden.
Eine angewendete Sytax- und Grammatik-Prüfung bei deinem Text hat ca. 39
mal "Syntax Error" gerufen (ich habs grad mal durchgeprüft mit Open
Office). Du bist dir sicher, daß dir "sowas" beim Programmieren nicht
"passiert"?
Die Tatsache, daß Menschen derartige "Eingabefehler" trotzdem
interpretieren können, hindert dich doch nicht daran, trotzdem nochmal
nach "Erfassung" des Textes selber noch mal drüber zu schauen, oder
behelfsweise eine "technische" Rechtschreibprüfung eines
Textverarbeitungsprogrammes darüber laufen zu lassen.
Fakt ist, daß Menschen derartige "Wort-Stammeleien" eher nicht
beantworten wollen als einen Text, der (fast) fehlerfrei geschrieben
wurde. Dir entgehen also dadurch eher wohlgemeinte Hinweise, Tips und
Ratschläge für dein Vorhaben, weil "man" da halt keine Lust hat, solchen
Buchstabensalat durchzulesen.
Das (nicht automatische) Korrekturlesen eines Textes verbessert darüber
hinaus deine Fähigkeit, dich zu korrigieren. In eine dir "vertrauteren"
Umgangssprache wie Deutsch wird dir das noch eher gelingen als in einer
Programmiersprache, die einem wesentlich "unvertrauter" ist, und bei der
man noch schneller stolpern kann. Und 39 mal den Compiler aufzurufen,
nur um alle "syntax Error" beseitigt zu bekommen [das Programm macht
dann eh nich nicht das was du meinst das es machen sollte] ist
sicherlich aufwändiger als einmal den Text (das Programm) korrekt zu
erfassen.
naja das war auch nur schnell geschrieben und dazu noch eine rechtschreibschwäche naia, ich werde mich bemühen und in zukunft nur noch beiträge posten die so weit wie möglich von mier "optimiert" wurden. Dann mus ich mir wohl erst einmal das atmel evaluation board bestellen eine led zum blinken bringen und ein einfaches 1 oktaviges keybord ohne Anschlagdynamik mit MIDI Interface bauen. Aber was mich brennend interessiert is die Ansteuerung der Soundkarte wo bekomme ich die Infos und Befehle her. Und welcher µcontroler ist schnell genug um ein Keyboard mit: 88 Tasten, Anschlagdynamik, Soundkarten Unterstützung, pitch-wheel's, midi, und sehr kleinen Latenzen zu realisieren ??
Lars Beckmann schrieb: > Und welcher µcontroler ist > schnell genug um ein Keyboard mit: 88 Tasten, Anschlagdynamik, > Soundkarten Unterstützung, pitch-wheel's, midi, und sehr kleinen > Latenzen zu realisieren ?? Ein reines MIDI-Keyboard mit Anschlagdynamik, Aftertouch und einer Latte von Zusatzcontrollern ist das schon ältere LMK3. Darin wird ein 80535 verwendet. Das ist aus heutiger Sicht keine Rakete. Für Deine Anwendung -- Ansteuern einer Festplatte o.ä., Ansteuern des Keyboardteils und der Soundkarte über einen nachgebildeten ISA-Bus dürfte fast jeder verfügbare Microcontroller mit ausreichend I/O-Pins problemlos schaffen. Vielleicht nicht unbedingt was aus der MCS-51-Reihe, aber selbst ein größerer 8-Bit-AVR sollte an der Aufgabe nicht verzweifeln. Notfalls nimmst Du halt zwei, einen, der die reine Keyboarfunktion zur Verfügung stellt, und einen, der die Festplatten- und SB-Ansteuerung übernimmt. Ein ARM (wie ursprünglich von mir vorgeschlagen) dürfte fast schon Overkill für die Aufgabe sein, auch wenn mit dem wegen des potentiell verfügbaren Speichers einiges einfacher sein kann. Wie Dein steinalter Soundblaster AWE32 anzusteuern ist, wirst Du den Linux-Treiberquellen dafür entnehmen können - so es denn so etwas gibt. Etwas Text zum Thema gibts hier: http://www.gamedev.net/reference/articles/article445.asp
Lars Beckmann schrieb: > Dann mus ich mir wohl erst einmal das atmel evaluation board bestellen > eine led zum blinken bringen und ein einfaches 1 oktaviges keybord ohne > Anschlagdynamik mit MIDI Interface bauen. Das Programm zum midifizieren eines Orgelpedals hat bei mir eine knappe Woche gebraucht (der erste Ton kommt schnell, aber dann noch ein paar Speicherplätze, ein schönes Menü... ;-) > Aber was mich brennend interessiert is die Ansteuerung der Soundkarte wo > bekomme ich die Infos und Befehle her. Willst du einen Synthesizer bauen? Als Tipp: kauf leichter einen gebrauchten, denn du wirst wesentlich mehr Geld in deinen selbergebauten reinstecken... Wenn du trotzdem weitermachen willst: > Aber was mich brennend interessiert is die Ansteuerung der Soundkarte wo > bekomme ich die Infos und Befehle her. Nicht einmal der Anschluss der Soundkarte an einen uC ist einfach, weil die entweder per PCI, PCIe oder USB an den PC angeschlossen sind. Alle drei Interfaces sind in der uC-Welt (als Host) eher unbekannt... Ich würde dir einen Barebone-PC vorschlagen, der von einer Flashdisc bootet. Oder einen Industrie-PC wie z.B. im ETX-Formfaktor.
Lothar Miller schrieb: > Nicht einmal der Anschluss der Soundkarte an einen uC ist einfach Bei der des Threadstarters schon, das ist eine ISA-Karte. Die ist vielmehr kompliziert an aktuelle PCs anzuschließen ... Projekte, wie eine ISA-Karte an einen µC angeschlossen wird, existieren, so gibt es beispielsweise Leute, die eine ISA-Netzwerkkarte mit RTL8019 (NE2000-kompatibel) darauf mit einem AVR verheiratet haben: Beitrag "Einfacher und billiger Webserver mit AtMega32"
Danke für eure Unterstützung und hilfreichen Beiträge über das LKM3 von doepfer Musikelektronik binn ich auf den e510 gestoßen(ein Keyboard Scanner) in dessen Datenblatt wiederum habe ich die Ansteuerung für das Tastenfeld gefunden. die an einen µC übernommen wird sie arbeitet mit de-multiplexern und Sammelschienen .Zur Erklärung hängt die PDF Datei des e510 an. auch bei der AWE 32 mit EMU8000 bin ich weiter gekommen ich hab mir jetzt den programmer's guide heruntergeladen jetzt habe ich die befehle aber wie schließe ich die karte jetzt an den µC ?? ich habe mir das Atmel Evolution bord von pollin bestellt und je 2: ATMEGA16-16PU und ATMEGA48-20PU dazu. auserdem die genanten de-multiplexer (die gleichen wie im Datenblatt) Dioden Widerstände usw.
Lars Beckmann schrieb: > aber wie schließe ich die karte jetzt an den µC ?? Sieh Dir mal den von mir verlinkten Artikel an, in dem jemand eine ISA-Netzwerkkarte an einen AVR anschließt. Das Prinzip ist bei Deiner Soundkarte das gleiche. Es kann sein, daß die Soundkarte den 16-Bit-Datenbus nutzt, das kannst Du herausfinden, indem Du Dir ansiehst, welche der Kontakte des kleineren Teils des ISA-Slotsteckers von der Karte genutzt werden. Es ist aber auch möglich, daß die Karte auf diesem Teil nur die zusätzlichen Interruptleitungen nutzt, die der 16-Bit-ISA-Bus gegenüber seinem 8-Bit-Vorläufer bietet. Schnapp Dir also Deine Soundkarte, und eine Anschlussbelegung des ISA-Busses, und sieh nach, welche Kontakte davon tatsächlich genutzt werden. Anhand dessen kannst Du herausfinden, ob die Karte mit 8-Bit-I/O-Zugriffen auskommt oder ob sie 16-Bit-I/O-Zugriffe benötigt. In letzterem Falle musst Du halt 16-Bit-I/O-Zugriffe mit Deinem AVR nachbilden, wie das geht, findest Du heraus, wenn Du Dir Beiträge ansiehst, in denen Leute IDE-Festplatten an AVRs angeschlossen haben - die nämlich benötigen auch 16-Bit-I/O-Zugriffe (im Gegensatz zu CF-Karten, deswegen explizit nach Festplatten suchen!).
ok diese werden genutzt, wird wohl knapp (hab nur 32 I/O Leitungen) Pin Name Dir Description A1 /I/O CH CK I/O channel check; active low=parity error A2 D7 Data bit 7 A3 D6 Data bit 6 A4 D5 Data bit 5 A5 D4 Data bit 4 A6 D3 Data bit 3 A7 D2 Data bit 2 A8 D1 Data bit 1 A9 D0 Data bit 0 A10 I/O CH RDY I/O Channel ready, pulled low to lengthen memory cycles A15 A16 Address bit 16 A16 A15 Address bit 15 A17 A14 Address bit 14 A18 A13 Address bit 13 A19 A12 Address bit 12 A20 A11 Address bit 11 A21 A10 Address bit 10 A22 A9 Address bit 9 A23 A8 Address bit 8 A24 A7 Address bit 7 A25 A6 Address bit 6 A26 A5 Address bit 5 A27 A4 Address bit 4 A28 A3 Address bit 3 A29 A2 Address bit 2 A30 A1 Address bit 1 A31 A0 Address bit 0 B1 GND Ground B2 RESET Active high to reset or initialize system logic B3 +5V +5 VDC B4 IRQ2 Interrupt Request 2 B7 -12VDC -12 VDC B9 +12VDC +12 VDC B10 GND Ground B13 /IOW I/O Write B14 /IOR I/O Read B15 /DACK3 DMA Acknowledge 3 B16 DRQ3 DMA Request 3 B17 /DACK1 DMA Acknowledge 1 B18 DRQ1 DMA Request 1 B21 IRQ7 Interrupt Request 7 B23 IRQ5 Interrupt Request 5 B24 IRQ4 Interrupt Request 4 B25 IRQ3 Interrupt Request 3 B28 ALE Address Latch Enable B29 +5V +5 VDC B31 GND Ground C11 SD08 Data bit 8 C12 SD09 Data bit 9 C13 SD10 Data bit 10 C14 SD11 Data bit 11 C15 SD12 Data bit 12 C16 SD13 Data bit 13 C17 SD14 Data bit 14 C18 SD15 Data bit 15 D2 /IOCS16 I/O 16-bit chip select (1 wait, 16-bit I/O cycle) D3 IRQ10 Interrupt Request 10 D4 IRQ11 Interrupt Request 11 D5 IRQ12 Interrupt Request 12 D6 IRQ15 Interrupt Request 15 D7 IRQ14 Interrupt Request 14 D8 /DACK0 DMA Acknowledge 0 D9 DRQ0 DMA Request 0 D10 /DACK5 DMA Acknowledge 5 D11 DRQ5 DMA Request 5 D12 /DACK6 DMA Acknowledge 6 D13 DRQ6 DMA Request 6 D14 /DACK7 DMA Acknowledge 7 D15 DRQ7 DMA Request 7 D16 +5 V D18 GND Ground nicht verwendete Leitungen wurden raus gelöscht
Immerhin, klar ist schon mal, daß die Karte keine Speicher-, sondern nur I/O-Zugriffe durchführt. Damit ist dann auch klar, daß nur ein Bruchteil der Adressleitungen benötigt werden (merkwürdig allerdings ist die Verwendung von A16, die ist bei I/O-Zugriffen ohne Funktion). Üblicherweise verwendet so eine ISA-Karte einen Block von aufeinanderfolgenden I/O-Adressen, die bei einer per Jumper konfigurierbaren Basisadresse anfangen. Das bedeutet, daß aktiv mit dem µC nur die Adressleitungen verbunden werden müssen, die zur Auswahl einzelner Adressen innerhalb des Adressblocks erforderlich ist, die, die zur Auswahl der Basisadresse erforderlich sind, kann man hingegen auf feste Pegel legen. Die Interruptleitungen werden natürlich auch nicht alle verwendet, das sind nur alle, die per Jumper ausgewählt werden können. Je nachdem, welche Funktionalität die Soundkarte implementiert, sollten ein bis zwei Interruptsignale ausreichen. Zu klären ist, ob die Karte tatsächlich DMA-Funktionalität benötigt, denn dann wird die Angelegenheit aufwendiger, und dann wird ein AVR möglicherweise auch zu langsam, um die Daten mit der gewünschten Geschwindigkeit heranschaffen zu können.
A11 AEN Address enable; active high when DMA controls Bus ist doch da und die Adressleitung 16 ist nicht beschaltet (mein Fehler)hab mich wohl verzählt. außerdem This EMU8000 I/O ports documented in table above is only valid for legacy cards. With the introduction of Plug & Play cards, EMU8000 base port is no longer guaranteed to be at BLASTER+0x400. You should read the 'E' parameter of the BLASTER environment variable to get the EMU8000 base port. For example, if the BLASTER environment is "A220 I5 D1 H5 P330 E640 T6 " , then EMU8000 ports will be located at · 0x640-0x643 · 0xA40-0xA43 · 0xE40-0xE43 All und ich hab ne plug'n play Karte :(
Hmm, dann wirst Du Dir schlimmstenfalls auch noch die ISA-Plug&Play-Spezifikation ansehen müssen. Die war, wenn ich mich recht erinnere, irgendwann mal in der c't ausführlich beschrieben. Zumindest ein Anhaltspunkt für Forschungen dürfte das hier sein: http://www.heise.de/ct/artikel/Plug-Play-Hilfe-285966.html
habe mich einmal von dem programmer's guide gelöst und die Anleitung der awe32 gelesaen dort stehen einige dinge drin die ich als wichtig erachte "I/O addresses (or I/O address range) are areas of memory used by your computer’s microprocessor to distinguish among various peripheral devices connected to your system when sending or receiving data. There are several such devices on your audio card. These devices are listed in Table 1-1 with an example of Plug and Play assigned I/O address ranges. The base I/O address is the starting address of each I/O address range. Table 1-1: Example I/O Addresses occupied by the Audio Card. I/O Address Range Usage 200H to 207H Game Port 220H to 22FH Audio Interface 330H to 331H MPU-401 UART MIDI Interface 388H to 38BH Stereo Music Synthesizer 620H to 623H Advanced WavEffects Synthesizer A20H to A23H Advanced WavEffects Synthesizer E20H to E23H Advanced WavEffects Synthesizer 1E8H to 1EFH IDE Port (Tertiary)" und noch etwas über die DMA Channels The DMA channel is the data channel your device uses to transfer data directly to the system’s memory. The audio interface allows you to transfer data through the Low and High DMA channels. Table 1-3 lists a possible combination of DMA channels that may be assigned to the audio interface which requires DMA channels.
Lars Beckmann schrieb: > These devices are listed in Table 1-1 with an example of > Plug and Play assigned I/O address ranges. Achte auf example of Plug and Play assigned ...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.