Digitale I/O Karte mit 48 Kanälen

Hast Du Probleme mit Hardware, die durch die anderen Foren nicht abgedeckt werden? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
Coach
Beiträge: 89
Registriert: 17.08.2002 18:44:43
Wohnort: Würzburg
Kontaktdaten:

Digitale I/O Karte mit 48 Kanälen

Beitrag von Coach » 10.09.2002 17:27:27

hallo,

weil ich nicht weiß in welches forum ich meine frage zur Digitalen I/O Karte setzten soll, hab ich´s mal einfach hier versucht.

Also, ich habe eine ISA steckkarte in die fingerbekommen, eine
Digitale I/O Karte mit 48 Kanälen.
Mit dieser karte kann man ausgänge setzten und eingänge auswerten.
Meine frage dazu ist jetzt, wie bringe ich diese karte zum laufen und was wäre am besten um ein programm zu schreiben um gewisse prozesse in Debian zu steuern ... zB eingang 1 ist an, ist in Debian der befehl ./start

hat irgendjemand eine Idee? oder wäre so nett und freundlich mir dabei zu helfen?

vielen Dank !!

euer

Coach

ps: http://www.bmc-systeme.de/pdf/ar-ds-pio-rev20.pdf
das ist das Datenblatt zu der Karte.

Benutzeravatar
xraver
Beiträge: 805
Registriert: 05.01.2002 19:42:11
Wohnort: Halberstadt

Re: Digitale I/O Karte mit 48 Kanälen

Beitrag von xraver » 10.09.2002 18:18:03

Coach hat geschrieben:hallo,

weil ich nicht weiß in welches forum ich meine frage zur Digitalen I/O Karte setzten soll, hab ich´s mal einfach hier versucht.
Eigentlich sollte ich darauf gar nicht antworten - aber ich würds hier reinsetzen :arrow: Hardware allgemein :!:

Benutzeravatar
Coach
Beiträge: 89
Registriert: 17.08.2002 18:44:43
Wohnort: Würzburg
Kontaktdaten:

Beitrag von Coach » 12.09.2002 20:30:03

hallo ?? kann mir hierbei wirklich keiner helfen ??

:(

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 12.09.2002 21:31:16

Du wirst erstmal rausfinden müssen, was das für eine Karte ist, ansonsten sind Deine Chancen ohne LogicAnalyser und anderer teurer Spezial Hardware gleich Null.

Wenn Du das rausgefunden hast, kannst Du Dich über Google auf die Suche machen, ob vielleicht schon einmal jemand die gleiche Idee mit der gleichen (oder einer ähnlichen) Karte hatte, und ob es einen Treiber für die Karte gibt. Wenn es einen Treiber gibt ist die Frage, ob der mit Deinem Kernel läuft, oder nur mit einem bestimmte.

Falls es keinen Treiber gibt, gibt es immer noch die Möglichkeit, dass DU die Spezifikationen der Karte im Netz findest, und dann kann man einen Treiber selber schreiben. Schwierigkeitsgrad, wenn man Erfahrung mit C-Programmierung hat: 7-8 von 10 (10 ist Maximum).

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
Coach
Beiträge: 89
Registriert: 17.08.2002 18:44:43
Wohnort: Würzburg
Kontaktdaten:

Beitrag von Coach » 23.09.2002 22:21:44

was es für eine karte ist weis ich ja, hab auch ein Datenblatt dafür

http://www.bmc-systeme.de/pdf/ar-ds-pio-rev20.pdf

Ich hab denen mal einen E-mail geschickt und nachgefragt ob sie schon treiber für Linux bzw. Debian haben.

Hier die Antwort:
Sehr geehrter Herr K.

wir arbeiten an Treibern für Linux für alle unsere Messsysteme. Die
Nachfrage nach Linuxtreiber ist jedoch so gering, daß das Projekt
lediglich im Hintergrund betrieben wird. Es existiert aus diesem Grund
keine Zeitplanung, so daß ich Ihnen keinen Termin nennen kann, ab wann
die Treiber verfügbar sein werden.

Alternativ können Sie unter Linux mit den Funktionen inb(), outb() und
ioperm() direkt auf I/O Ports zugreifen, und so die PIO ohne Treiber von
Ihrem Programm aus ansteuern (man outb bzw. man ioperm).

Hoffentlich helfen Ihnen diese Informationen weiter.

mfg
Robert K.
ist das schon mal was? kann man damit was anfangen?
ich weiß es selber nicht, drum frag ich. Ich kenn die befehle nicht.

vielen Dank

Coach

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 23.09.2002 22:42:56

Das bedeutet, dass Du höchstens von einem selbstgeschriebenen Programm aus auf die Karte direkt zugreifen kannst, oder selbst einen Treiber schreiben müsstest.

inb() und outb() sind Funktionen mit denen man die sog. IO Register der Karte direkt ansprechen kann. Wenn Du eine passende Doku hast, in der sozusagen der Befehlssatz der Karte aufgelistet ist, kannst Du damit wahrschinlich die Karte konfigurieren, auslesen und Daten ausgeben.

Aber ohne Programmierung wirst Du da nicht weit kommen.

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
Coach
Beiträge: 89
Registriert: 17.08.2002 18:44:43
Wohnort: Würzburg
Kontaktdaten:

Beitrag von Coach » 23.09.2002 22:58:25

ja gut, hast du dir mal das daten blat angeschaut ... da stehen ja die Hex angaben der Ports. oder meinst du was anderes?

Ich will ja auch nicht ein hoch kompliziertes Prob für die karte schreiben oder sowas,
nur was einfaches, ok weiß ja nicht ob das so einfach ist.

zB
Wenn eingang1 1 ist dann führe in der shell reboot aus
oder wenn eingang2 1 ist dann setzte ausgang3 auf 1

by

Coach

Benutzeravatar
De Kus
Beiträge: 167
Registriert: 27.08.2002 14:32:24
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Pfalz

aalso

Beitrag von De Kus » 23.09.2002 23:22:02

vom prinzip ist auf der anleitung ja alles erklärt. du musst nur mit den dipschaltern oder jumpern eine freie adresse einstellen (die voreinstellten 0x210 dürften im normalfall frei sein). du musst dann mit einem c programm direkt auf die adresse zugreifen. steht ja die syntax schon richtig da, denke das war für windoof gedacht, aber glaube in so banalen dingen läuft es auf jedem i086er+ system *gg*. du musst nur nochma genau schauen welche adressen du ansprechen musst, wenn du einen bestimmten port auslesen willst.
und die befehle... es gibt sicher ein möglichkeit aus C herraus bash befehle auszführen ^-^
De Kus der Fehlerminator
Copyright (c) 2002-2005 De Kus

Love hurts, love strengthens ...

Benutzeravatar
Coach
Beiträge: 89
Registriert: 17.08.2002 18:44:43
Wohnort: Würzburg
Kontaktdaten:

Beitrag von Coach » 23.09.2002 23:40:34

gut gut,

und wie würde zB der ansatzt eines programms in c oder sonstwas aussehen,
das er weiß das er auf die adresse (0x210) muss ?
und wie müsste ich das angeben das ich zB den ausgang $80 setzten kann
oder den eingang $90 auslesen kann ?



sorry wenn ich nerv abba wer nicht fragt bleibt dumm

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 24.09.2002 03:50:25

Coach hat geschrieben:sorry wenn ich nerv abba wer nicht fragt bleibt dumm
Richtig, richtig, aber man kann ja auch einfach 'mal googlen... ;-)

Es ist ca. 6 Jahre her, dass ich das das letzte 'mal gemacht habe, daher ist meine Erinnerung recht dunkel. IIRC kannst Du mit inb() einfach eine Adresse der Karte auslesen, und sie mit outb() beschreiben. Das Manual (hab's noch nicht wirklich gesehen) wird halt beschreiben, welcher Wert in welcher Adresse was bedeutet. Ich schau mir das Manual nochmal an, und vielleicht habe ich ja sogar noch auf irgendeinem meiner alten Bänder den Code zu so einem Proggi.

Wenn Du sowas wirklich vorhast, dann solltest Du Dir darüber klar sein, dass "programmieren" in diesem Zusammenhang "C" oder "C++" bedeutet... Das Programm an sich sollte aber nich so unglaublich komplex sein...

Bleiben sie auf diesem Kanal, für News... 8)

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Antworten