Forum: Mikrocontroller und Digitale Elektronik ISA Karte mit DAC832 emulieren


von Luky S. (luky)


Lesenswert?

Nur mal als grundsätzliche Überlegung: wie aufwendig ist es, einen 
geeigneten Mikrocontroller an einen ISA-Bus (streng genommen PC/104) zu 
hängen und ihn alle Ausgaben, die für eine DAC-Karte mit DAC832 (und 
natürlich auch der richtigen Adresse) gedacht waren, einlesen zu lassen? 
Als nächsten Schritt soll er die Ausgabe verfälschen (einstellbare 
nichtlineare Kennlinie, also rein analog nicht ganz simpel und vor allem 
gibt es noch weitere zu emulierende ISA Karten, sodass sich der Aufwand 
durchaus lohnt)

von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

Kann überschaubar sein.

Im einfachsten Fall sind da ein paar signalleitungen und die adresse mit 
ein paar Logic Gates zu versehen...im schlimmsten Fall wirst du ein cpld 
brauchen. Hängt davon ab, wieviel Intelligenz die Karte mitbringt.

Der Isa Bus ist ja noch ziemlich überschaubar... Das könnte man 
wahrscheinlich sogar noch per bit-bang lösen.

Wieviel Doku hast du von den Karten?

73

von Luky S. (luky)


Lesenswert?

Fast keine Doku, aber da sind auch nur einfach der parallele DAC und ein 
paar Logik/Interface-Bausteine drauf.

von Rüdiger B. (rbruns)


Lesenswert?

Ein paar Latches mit den ichtigen Daten füttern reicht doch.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Luky S. schrieb:

> Nur mal als grundsätzliche Überlegung: wie aufwendig ist es, einen
> geeigneten Mikrocontroller an einen ISA-Bus (streng genommen PC/104) zu
> hängen und ihn alle Ausgaben, die für eine DAC-Karte mit DAC832 (und
> natürlich auch der richtigen Adresse) gedacht waren, einlesen zu lassen?

Sollte z.B. mit einem Pi Pico problemlos machbar sein.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Ob S. schrieb:
> Sollte z.B. mit einem Pi Pico problemlos machbar sein.

Würde ich heute auch so machen. Früher habe ich mal eine ADC Karte mit 2 
Kanälen mit einem MCS-48 gelöst, aber der Pico wird durch seine 
Geschwindigkeit nicht mal einen Zwischenspeicher brauchen - allerdings 
Bustreiber, um das alte ISA Monster anzutreiben und Pegel zu 
konvertieren.

von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

Mich würde wirklich interessieren warum die ganze "Maler" Welt sich so 
auf den pi Pico eingeschossen hat. Soooop toll ist er auch wieder nicht.

Es gibt z.b stm32 mit pssi (parralel synchronous slave interface), das 
genau für solche Zwecke nutzbar sein sollte.

Aber wie oben gesagt...der Isa Bus ist für heutige Verhältnisse ziemlich 
gemächlich... Ein adresss-decoder der das write Signal maskiert und ein 
Interrupt sollte reichen...auf so ziemlich jedem modernen Controller.

Zumindest wenn's und einen simplen write auf 1ne einzelne 16-bit Adresse 
geht.

Ohne Doku wird das Reverse engineering halt die Hauptaufgabe.

73

: Bearbeitet durch User
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Hans W. schrieb:
> Mich würde wirklich interessieren warum die ganze "Maler" Welt sich so
> auf den pi Pico eingeschossen hat. Soooop toll ist er auch wieder nicht.

Weil er schweinebillig, superschnell, an jeder Ecke zu bekommen und easy 
zu programmieren ist.

von Mario M. (thelonging)


Lesenswert?

Matthias S. schrieb:
> aber der Pico wird durch seine Geschwindigkeit nicht mal einen
> Zwischenspeicher brauchen - allerdings Bustreiber, um das alte ISA
> Monster anzutreiben und Pegel zu konvertieren.

Den Pico in Ehren, aber die Level-Converter sind aufwändiger als ein 
Adressdekoder nebst Datenlatch und dann kann jeder gewöhnliche 
Controller die Daten weiter verarbeiten. Früher hätte man einfach einen 
großen EPROM dahinter gehängt, in dem das Kennlinienfeld abgespeichert 
ist.

von Rüdiger B. (rbruns)


Lesenswert?

Einfach einen E(E)PROM dazwischen, ein 8Mbit gibt 256 verschieden 
Kennlinien. Und mit einem Eprom Emulator kannst du das gut testen.

von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

Matthias S. schrieb:
> Hans W. schrieb:
>> Mich würde wirklich interessieren warum die ganze "Maler" Welt sich so
>> auf den pi Pico eingeschossen hat. Soooop toll ist er auch wieder nicht.
>
> Weil er schweinebillig, superschnell, an jeder Ecke zu bekommen und easy
> zu programmieren ist.

Das meine ich damit...

Ein esp32s2 mini Modul kostet 1,80.
Der rpi Pico hat keinen Flash.. also wirst du da bei 1,30-1,50 
landen...ohne oscillator udgl.

Ein ch32v307 (der hat USB mit 480mbit und einen integrierten Ethernet 
phy).
Kostet mit 3,60 gleich viel wie der rpi Pico mit Flash und w5500.

Zugegebenermaßen hat der rpi Pico ein paar nette Features... Die sind 
aber nur in wenigen Situationen wirklich notwendig/vorteilhaft bzw 
würden mich genau den Controller aussuchen lassen.

Richtig billig und in geschätzt 80% der fällen ausreichend passend sind 
dagegen die 32f103. Der fcm32f103 liegt gerade bei 80cent.
Das Original von St bei 1$ mit gratis Bestückung bei jlc.
Ohne USB wäre der stm32f030 auch gratis bestückbar bei sehr ähnlicher 
Peripherie.

Aber gut...ist ja auch off-topic...
Wie gesagt, die 8mhz am USA bus sollten eigentlich mit jeder modernen 
Architektur machbar sein.

Das vollständig in einem Controller zu machen währe wahrscheinlich auch 
mäglich. Das Problem sind dann halt 16 Leitungen Daten+20 für die 
Adresse+ Handshake.

Ist halt die Frage was mit den Daten passieren soll..

adress comparator ICs gäbe es jedenfalls in der 7400 Serie :)

73

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Hans W. schrieb:
> Ein esp32s2 mini Modul kostet 1,80.

Und ausreichend parallele Ports für den ISA Bus? Nö.

Hans W. schrieb:
> Der rpi Pico hat keinen Flash.. also wirst du da bei 1,30-1,50
> landen...ohne oscillator udgl.

Der Pico hat natürlich Flash und Oszillator. Wir reden ja nicht vom 
RP2040, sondern von der Pico Platine für 5 Mäuse.

von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

Matthias S. schrieb:
> Hans W. schrieb:
>> Ein esp32s2 mini Modul kostet 1,80.
>
> Und ausreichend parallele Ports für den ISA Bus? Nö.

Hängt davon ab... 16bit+strobe geht schon.

20bit Adresse+16bit Daten+ Handshake ist für so ein 40pin platinchen 
auch ein Problem. Der pc104 bis hat nicht ohne Grund 104 Leitungen...

Egal... Sorry, dass ich damit angefangen habe.

Wie gesagt: ein paar 74xx85 sollten das Problem schon ziemlich 
entschärfen.


Aber ohne Doku wird hat das Reverse engineering aufwändig.
Wer sagt, dass da wirklich nur ein 16bit Wort geschrieben wird...

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Hans W. schrieb:

> Mich würde wirklich interessieren warum die ganze "Maler" Welt sich so
> auf den pi Pico eingeschossen hat. Soooop toll ist er auch wieder nicht.

Keine Ahnung, was eine Maler-Welt sein soll, und warum sich die Leute 
aus dieser Welt angeblich auf den PiPico eingeschossen haben sollen.

Ich weiss, warum ich den gerne nutze: Weil er günstig ist, weil er 
vollständig dokumentiert ist und, last but not least, weil er für seinen 
Preis unwahrscheinlich leistungsfähig und flexibel ist.

> Es gibt z.b stm32 mit pssi (parralel synchronous slave interface), das
> genau für solche Zwecke nutzbar sein sollte.

Das ist einer der Hauptvorteile des Pico: der braucht nicht für jeden 
Rotz eine extra exotische Peripherie. Der hat seine PIOs, mit denen man 
jedes "ungewöhnliche" Interface sehr schnell zusammengedengelt bekommt.

> Aber wie oben gesagt...der Isa Bus ist für heutige Verhältnisse ziemlich
> gemächlich... Ein adresss-decoder der das write Signal maskiert und ein
> Interrupt sollte reichen...

Ja, passenden Decoder, Interrupt und DMA liefert mir halt die PIO mit 
fünf bis sieben Zeilen Programm. Die beiden Kerne können sich dann ganz 
entspannt der geplanten Datenmanipulation widmen.

> Zumindest wenn's und einen simplen write auf 1ne einzelne 16-bit Adresse
> geht.

Genau darum geht es hier ja wohl.

> Ohne Doku wird das Reverse engineering halt die Hauptaufgabe.

Was willst du da noch groß reverse engineeren? Bei einem Write-only auf 
eine einzelne Adresse? Eine Konfiguration oder sowas scheint es beim 
DAC832 nicht zu geben. Wäre also nur die eine Adresse herauszufinden. Da 
es beim TO wohl eine lauffähige Installation einer existierenden Karte 
gibt, sollte das kein großes Problem darstellen.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Hans W. schrieb:

> Aber ohne Doku wird hat das Reverse engineering aufwändig.
> Wer sagt, dass da wirklich nur ein 16bit Wort geschrieben wird...

Das Datenblatt für den DAC832 existiert. Und das sagt, dass da genau 8 
Bit geschrieben werden, wenn an einem einzelnen Eingang ein Latch-Puls 
kommt.

von Thomas Z. (usbman)


Lesenswert?

ISA war in der einfachsten Form ein simpler 20 Bit Bus mit 8 Bit Daten. 
Insbesondere einfache PIO und DA/AD  Karten waren sehr oft im EA Bereich 
angesiedelt (Adapterbereich ab 0x300) Zugriff mit IOR/IOW. Theoretisch 
wäre ein IO Bereich von 16bit möglich beim PC jedoch eingeschränkt auf 
10 Bit.
Frei verfügbar war nur der Adapterbereich 0x300 .. 0x31F.

von Harald K. (kirnbichler)


Lesenswert?

Hans W. schrieb:
> 20bit Adresse+16bit Daten+ Handshake ist für so ein 40pin platinchen
> auch ein Problem. Der pc104 bis hat nicht ohne Grund 104 Leitungen...

I/O-Zugriffe benutzen auf dem ISA-Bus nur 10 Adressleitungen.

Und viele I/O-Zugriffe sind nur 8 Bit breit.

"Handshake" sind nur zwei Leitungen, IORD# und IOWR#, jedenfalls, wenn 
nur 8-Bit-Zugriffe stattfinden.

von Wastl (hartundweichware)


Lesenswert?

Luky S. schrieb:
> ISA Karte mit DAC832 emulieren

Also ich behaupte mal dass man mit einem DAC832 eine ISA Karte
nicht emulieren kann.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Wastl schrieb:
> Luky S. schrieb:
>> ISA Karte mit DAC832 emulieren
>
> Also ich behaupte mal dass man mit einem DAC832 eine ISA Karte
> nicht emulieren kann.

Das war auch niemals der Plan des TO. Du solltest verstehendes Lesen 
üben.

Es ging darum, den DAC832 zu "emulieren". Eigentlich nur darum, die 
Ausgaben auf einen solchen abzufangen, um sie dann irgendwie weiter zu 
verarbeiten.

Im erster Näherung könnte man die vorhandene ISA-Karte nutzen und auf 
den DAC832 den µC quasi "Huckepack" setzen. Das braucht dann nur 9 
Strippen (weil die vorhandene Buslogik der Karte mitbenutzt würde).

Im zweiter Näherung könnte man aber auch eine komplett neue ISA-Karte 
basteln und auch noch diese Buslogik vom µC erledigen lassen. Wie 
inzwischen herausgearbeitet wurde, sollte auch das kein grosses Problem 
sein ,weil halt die primitive Peripherie erahnen läßt, dass auch nur die 
minimale ISA-Logik des frühen 8Bit-ISA-Busses eines Ur-PC nötig ist.

von Wastl (hartundweichware)


Lesenswert?

Ob S. schrieb:
> Du solltest verstehendes Lesen üben.

Du solltest lernen zu verstehen dass nicht alles was geschrieben
steht, bier-ernst zu nehmen ist. Aber wenn man Technik-
Scheuklappen felsenfest aufgesetzt hat dürfte das zugegebener
Maßen schwierig sein.

von Luky S. (luky)


Lesenswert?

Die Karte bis zum DAC nachbauen wäre natürlich eine Möglichkeit, aber 
wenn den Teil auch der MC erledigen könnte wärs halt nicht nur eleganter 
und kompakter, sondern auch deutlich flexibler.

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.