Forum: Offtopic Microcomputer mit Intel Pentium +Fragenthed+


von Lars B. (gameboy_dude)


Lesenswert?

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

von Wilhelm F. (Gast)


Lesenswert?

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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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.

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

> (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.

von Lars B. (gameboy_dude)


Lesenswert?

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 ??

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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"

von Lars B. (gameboy_dude)


Angehängte Dateien:

Lesenswert?

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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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!).

von Lars B. (gameboy_dude)


Lesenswert?

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

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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.

von Lars B. (gameboy_dude)


Lesenswert?

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 :(

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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

von Lars B. (gameboy_dude)


Lesenswert?

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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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
Noch kein Account? Hier anmelden.