Forum: PC-Programmierung Winadio (15 Zeichen, ich weiss)


von ... .. (Gast)


Lesenswert?

Ich habe hier eine uralte ISA-RadioKarte. Diese lässt sich entweder über 
Port &H30C oder &H20C ansteuern. Aus Jux und Dollerei habe ich 
willkürlich Daten an diese Adresse geschickt. Und es hat sich 
tatsächlich etwas getan. Aber so richtig will das Ding nicht.

Kann mir  irgendjemand einen Tip geben wie ich herausfinde wie dieses 
Ding anzusteuern ist?

Mittlerweile habe ich Software für dieses Teil gefunden. Viel lieber 
würde ich natürlich eigene Software zum Einsatz kommen lassen. Ich weiss 
wie ich Daten an diese Adresse sende und auch lese, aber wenn ich die 
Originalsoftware zum steuern benutze und die Adresse auslese ist diese 
unverändert. Sorry, ich bin noch nicht so ganz firm was das angeht.

von T.Stuetz (Gast)


Lesenswert?

Es würde schon helfen zu wissen, was für eine genaue Bezeichnung oder 
Firma diese Karte produziert/verkauft hat.

Ohne diese Information weißt du weder ob an dieser Adresse ein 
Lese-Register ist oder nicht.

- Sarkasmus on -
Die Kristallkugel ist überlastet,
Bitte versuchen Sie es später nochmals
- Sarkasmus off -

Gruss

von Michael U. (amiga)


Lesenswert?

Hallo,

laß mich raten... kleiner GAL drauf, Empfänger ist PLL mit LM7000 drauf, 
Empfänger-IC ein TEA5712 o.ä., evtl. Noch NF-Verstärker und ein 
Volumen-Control-IC LC7534 drauf?

Wenn ja, kan ich zumindest mit ein paar Ansätzen dienen.
Wenn nicht, was ist dann auf der Karte drauf?
Wie heißt die genau?

Suchhinweis sind da oft die alten Linux-Treiber-Sourcen, die 
Datenblätter der benutzten ICs usw.

Ich hab die gern geschlachtet, 5-6 Drähte an die richtigen Stellen, 
einen AVR-µC ran, ein LCD-Display und ein Netzteil und fertig ist das 
Radio. ;)

Gruß aus Berlin
Michael

von Michael U. (amiga)


Angehängte Dateien:

Lesenswert?

Hallo,

da hast Du wohl 2 Möglichkeiten...

1. Schau nach, ob die Linuxer in ihren bttv-Treibern mal was für die 
Karte dabei hatten und kämofe Dich durch die Sourcen, um die Ansteuerung 
zusammen zu bekommen.

2. Auf diesen Karten passiert vom Rechner her sehr wenig. Der TEA2025 
ist der NF-Verstärker, der 7809 ein 9V Spannungsregler, der aus den 12V 
vom Bus 9V für den NF-Verstärker macht. Beides vom Rechner aus nicht zu 
beeinflussen und somit uninteressant.
74LS273 ist ein 8-fach D-FF, hängt vermutlich an den Datenleitungen über 
eine Adresse "mit Daten bestückt".
Datenblatt nehmen, Anschlüsse zum ISA-Slot rausmessen, Ansteuerung 
identifizieren und mit einem Programmschnipsel mal ansteuern.
Ich vermute, es wird ein 8Bit Datenwort mit Schreibzugriff auf eine 
bestimmte Adresse darin gespeichert.
Rausfinden, wo die Ausgänge des LS273 landen und was sie dort bewirken.

Datenblatt für den LM7000 nehmen, die Ansteuerung verstehen und 
feststellen, wie die Daten vom ISA-Slot hin gelangen.
Ist auch relativ einfach, da ist nur ein Schieberegister drin, wo mit 
einem Takt 24Bit reingeschoben werden, die die Frequenz und ein paar 
Steuerbits darstellen.

Lautstärke macht der LC753x (oder eben ein ähliches IC), die werden 
meist nur an 2 Eingängen mit Impulsen für Lauter oder Leiser in 16 
Schritten angesteuert. Könnte also auch direkt vom LS273 kommen.
Datenblatt dazu befragen.

Das mag jetzt furchtbar kompliziert klingen, ist aber, wenn man Lust und 
Interesse hat, garnicht so schlimm. Der Vorteil ist ja, daß man eine 
aufgebaute und spielende Schaltung hat, die benutzten Bauteile einfach 
angesteuert werden und man sich da schrittweise rantasten kann.

Ich hab mal oben einen Auszug einer solceh ISA-Karte rangehängt, der 
stammt von einer Webseite, die URL hab ich leider nicht mehr.

Ich habe das aber nur als Ansatz genommen, den GAL und den LS273 
totzulegen und an LM7000 und LC7534 einen AVR Mega16 ranzuhängen, der 
den Rest ansteuert.

Mit PC-Programmierung habe ich so direkt also nichts im Sinn...

Gruß aus Berlin
Michael

von Michael U. (amiga)


Angehängte Dateien:

Lesenswert?

Hallo,

wenn Du Langeweile hast, ich habe mal ein paar bttv-Sourcen angehängt.

Interessant könnte die radiotrack.c für Dich sein, da scheint die 
Adresse zu passen.

Den Rest kannst Du Dir da mühsam zusammensuchen, die evtl. nötigen 
Treiber für die benutzten ICs (bei Dir vermutlich nur die lm700x für den 
LM7000/7001). Das ist die PLL, die macht Frequnzeinstellung und an einem 
Portbit meist noch Stereo/Mono-Umschaltung des Empfänger-IC.

Viel Spaß und viel Erfolg.

Gruß aus Berlin
Michael

von Michael U. (amiga)


Lesenswert?

Hallo,

klingt ja erstmal interessant. :)

Das Problem mit dieser Kartengeneration dürfte für viele folgendes sein:

die Empfänger-ICs sind nicht für PC-Anbindung sondern für irgendwelche 
µC gebaut, die in üblichen Empfängern wohnten. Meist auch zu einer Zeit, 
als selbst I2C noch unbekannt oder selten genutzt war.

Der LM7000 wird eben nur über ein ganz simples Schieberegister 
programmiert, die Empfänger-ICs haben ein paar Logikein-/Ausgänge, evtl. 
noch analoge Ausgänge für Feldstärje usw.

Der ganze Kram wurde eben mit etwas Logik an einen ISA-Bus gebunden, der 
den Kram irgendwie transparent von einem Bit zum IC-Pin durchreicht.
Rumwackeln muß Du da selber, eigene Intelligenz ist da keine dazwischen.

Später wurde das dann mehr abstrahiert, da gab es dann richtige 
Register, wo man sozusagen richtige Daten von PC-Seite reinschreiben 
konnte, die hatten dann direkt ein PCI-Interface.
Noch gut verständliches Beispiel wären da die alten PCI-TV-Karten, 
Win-TV z.B..
Da wohnt dann ein BT848/878 drauf, der hatte PCI-Anbindung.

Dafür habe ich mal eine Software unter Aniga-OS in AmigaE (gab es nur 
da...) geschrieben, damit man unter Amithlon (ein Amiga-Emulator auf 
Linux-Basis) unter AMigaOS fernsehen konnte.

Falls Du zu den Datenblättern Deiner Karte Fragen hast, frage einfach, 
die Teile kenne ich recht gut.

PS: freut mich, daß Du da weitermachst.
Ist zwar "uralte" Technik, aber da kann man noch die Funktion jedes Bits 
nachvollziehen, daß macht meiner Meinung nach nicht dümmer.
Nur mit der heutigen Blackbox-Methode arbeiten läßt doch einiges Wissen 
über Zusammenhänge irgendwie verschütt gehen, scheint mir.

Gruß aus Berlin
Michael

von Michael U. (amiga)


Lesenswert?

Hallo,

der LM7000 kann auch komplett die AM-Bereiche, die Empfänger-ICs auf den 
Karten (TEAxxx ???) haben aber meist nur die FM-Filter usw. dran.

Der Bereich wird einmal durch die PLL bestimmt (die kann alle 
irgendwie/wo genutzen Bereiche), einaml durch den Abstimmbereich des 
Oszillators des Empfänger-ICs, dieser wird ja per Abstimmspannung von 
der Ladungspumpe der PLL abgestimmt und irgendwann ist dessen Bereich am 
Ende.
Außerdem ist der Eingangskreis natürlich für den gewünschten 
Empfangsbereich dimensioniert, außerhalb davon nimmt die Empfindlichkeit 
dann ziemlich ab, weil z.B. die PLL au7f 65MHz abstimmt, der Vorkreis 
dabei aber z.B. auf 72MHz landet...

Gruß aus Berlin
Michael

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Also, wenn Du die Karte an einen Controller anschließen möchtest, dann 
sind Deine Vermutungen im Grunde genommen richtig. Allerdings wird die 
Karte nicht nur eine I/O-Adresse belegen, sondern mehrere, und zwischen 
diesen wird mit den Adressleitungen ausgewählt werden.

Du solltest Dir genauere Informationen über die Programmierung der Karte 
ansehen, oft hilft es, sich die Datenblätter der auf der Karte verbauten 
ICs anzusehen.

Wenn Du das richtig machst, also in die richtigen I/O-Adressen der Karte 
die richtigen Werte reinschreibst, dann wird das schon funktionieren.


Was hingegen nicht geht, ist einen Controller an den ISA-Bus eines PCs 
anzuschließen, um herauszufinden, was da stattfindet, dazu ist der 
ISA-Bus ein kleines bisschen zu schnell (i.d.R. 8 MHz Taktrate, und da 
Dein Controller nicht synchron zu diesem Takt läuft, müsstest Du zur 
sauberen Signalerkennung eine Überabtastung durchführen - das schafft 
kein Controller).

von Michael U. (amiga)


Lesenswert?

Hallo,

Unterlagen solltest Du in alten linux-Sourcen finden. Allerdings habe 
ich das am AVR garnicht erst probiert, weil auf der karte letztlich nur 
mit Bitwackeln die serielle Ansteuerung der ICs gemacht wird.

Such Dir die Datenblätter der benutzen ICs auf der Karte, trenn die Pins 
vom Rest ab und steuere die direkt vom AVR.

Die PLL hat üblicherweise ein Schieberegister für ihre Daten, das 
Empfänger-IC ein paar Ausgänge für Feldstärke, Stereo, Nulldurchgang 
usw., die auch der AVR direkt auswerten kann.

Gruß aus Berlin
Michael

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Wie bekomme ich den aus dem ISA-Port Daten ausgelesen?

Trenne Dich von der Vorstellung, daß das ein "Port" wäre. Das ist ein 
Bus, der recht nahe an dem Daten-/Adressbus des 8086 modelliert ist.

Auf dem geschehen Dinge mit 8 MHz Taktfrequenz, durch softwaremäßiges 
Abtasten mit einem µC, selbst, wenn der mit der x-fachen Taktfrequenz 
liefe, kannst Du das nicht abhören.

> Der GAL16V8B auf der Radiokarte hat laut Datenblatt 100 MHz, der
> übernimmt da die ganze Schieberei.

Der "hat" keine 100 MHz, der kann nur Signale mit der Geschwindigkeit 
verarbeiten. Geschoben wird da gar nichts, das wird nur ein simpler 
Adressdecoder sein.

> Auf der Radiokarte ist ein LS273, ein Register welches mit den zuvor
> beschriebenen Adress-Pins und dem GAL verbunden ist.

Das ist schön für den LS273, aber hilft Dir nicht dabei, herauszufinden, 
wie die Radiokarte anzusprechen ist. Irgendwo ist da ein Tunerbaustein, 
und der wird über irgendeine Art von Schnittstelle verfügen, und die 
musst Du herausfinden.

von Michael U. (amiga)


Lesenswert?

Hallo,

falls Du es denn unbedingt über den ISA-Bus machen willst...

http://hw.cz/Teorie-a-praxe/Konstrukce/ART538-Programovani-radiokarty-do-PC.html

Viel Spaß. :)

Gruß aus Berlin
Michael

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.