Parallelport ,,drosseln?,,

Gast #3009348
Lesenswert?

Guten Tag,

gibt es eine möglichkeit den parallelport zu drosseln?

Projekt:

Eine Häuserlicht steuerung für die Modellbahn mit wenig Kabeln.

jedes hauß bekommt ein ystie 2x2x0,6 mit den Leitungen:
1 +
2 - (kommt vom vorherigem Häuser zähler)
3 Led An
4 Hausinterner Zähler

der p port soll mir einen 4017 zählen lassen.
Der 4017 kann nur bis ca 5mhz, der port macht aber weit mehr als 100mhz.

Lösungenidee:

1.
Ich könnte einen 5mhz takt an einen Eingang legen und bei jede pos. 
Flanke verknüpfen.


2.
Mit der SLEEP funktion? wenn ich SLEEP 1 eingebe dann funktioniert alles 
wie ich will, bloß vielviel zu langsam.




Könnt ihr mir eine Idee oder sogar eine Lösung geben?
Ich kann leider keinen Strobe Signal vom zähler oder andere IC`s 
verwenden weil es mit 4017 verbaut ist.
Persönliche Seite #3009376
Lesenswert?

Nick K. schrieb:
> Der 4017 kann nur bis ca 5mhz,

In der alten CMOS-Version.

> der port macht aber weit mehr als 100mhz.

Ganz sicher nicht. Mit einfachem Bitbanging auf der PC-Seite ist es kaum 
möglich, damit mehr als 1 bis 2 MHz zu erzeugen, auch wenn der PC selbst 
mit zig GHz getaktet wird.

Die Maßeinheit schreibt sich übrigens mit großem "M": MHz (Megahertz). 
Mit kleinem "m" geschrieben mHz wären es Millihertz - das ist ein 
Milliardstel von einem Megahertz.
Gast #3009535
Lesenswert?

Danke für die antworten.

Könnt ihr mir bitte erklären warum es funktioniert wenn ich den befehl
SLEEP 1
benutze?

ohne den befehl geht nix.

was mache ich falsch?

welchen 4017 soll ich nutzen? ist ja noch tauschbar weil sicherlich die 
Pin belegung gleich bleibt.

Ja sorry ich meine Mhz.
Gast #3010013
Lesenswert?

Weil dein Anschlußkabel und Schaltung schlechte elektrische 
Eigenschaften haben bzw. die Schaltung einfach schlecht ist.
Sagt zumindest meine Glaskugel. Die ist so schlecht, daß du noch nicht 
mal einige 10-100kHz übertragen kannst. Und wenn du Sleep benutzt sind 
es nur noch unter 1kHz.
Gast #3010937
Lesenswert?

Portbelegung:

Ausgang 1(bitadresse-1) = LED AN
Ausgang 2(bitadresse-2) = Zähler im Haus
Ausgang 3(bitadresse-4) = Zähler der die Häuser bestimmt.
Ausgang 4(bitadresse-8) = Reset


mein program im kurzen:


Do

Out(888),0
Out(888),3
Out(888),0
Out(888),3
Out(888),0
Out(888),2
Out(888),0
Out(888),2
Out(888),0
Out(888),2
Out(888),0
Out(888),2
Out(888),1
Out(888),8


Loop


Jetzt sollte beim 2ten Haus die LED 4 leuchten.
Gast #3020224
Lesenswert?

Abend.

kann es sein das ich wirklich zu wenig geschirmt habe?
auf meinem testboard hab ich nur ungeschrimte drähte.

aber an meinem programm is nix falsch?

zu den Häusern liegen 2 verschiedene Kabeltypen, einmal ein 4x2 cat7 
Kabel oder ein 2x2x0,6 ystie(telefonkabel)

bitte werft doch mal paar probleme in den raum:(
Gast #3020323
Lesenswert?

http://retired.beyondlogic.org/ecp/ecp.htm

Du kannst zwischen den "outs" etwas rechnen. Verlangsamt auch. :)

Die Kabel müssen schon ordentlich geschirmt sein, wenns soo schnell 
gehen soll. Muss es aber nicht. 
http://de.wikipedia.org/w/index.php?title=Datei:IEEE1284-PrinterCableAB_pinout.jpg&filetimestamp=20070412153754

Wenn Du uns gesagt hast, womit Du proggrammierst, dann schauen wir mal, 
ob es nicht ausnahmsweise ein "SLEEP 10ms" oder sowas gibt. ;)

Wenn Du 400hex (OUT(1912),3 etc.) auf deine Basisadresee oben drauf 
legst und den Parallelport in den ECP mOdus schaltest, kannst Du tolle 
Sachen anstellen,Link oben dabei...
Gast #3023150
Lesenswert?

Danke für die Antworten!

Ich programmiere mit qbasic und ja mehr programm ist noch nicht weil ich 
es erstmal testen will, später wird da mal ne Tabelle drum gebastelt;)

J-Y(ST)Y 2x2x0,6 meinte ich.


Schaltplan lade ich dann mal hoch.
#3023930
Lesenswert?

Nick K. schrieb:
> Danke für die Antworten!
>
> Ich programmiere mit qbasic und ja mehr programm ist noch nicht weil ich
>
> Schaltplan lade ich dann mal hoch.

du willst ersthaft eine neuentwicklung mit einer programmiersprache 
machen, die vor 15 jahren zum letzten mal aktiv ausgeliefert wurde, nur 
auf einem betriebssystem aus der gleichen zeit läuft und das man auf 
moderner hardware (fast) nicht mehr zum laufen bekommt?
des menschen wille ist sein himmelreich

im ernst - ich würde dir folgenden plan vorschlagen:
1. du beschäftigst dich mit den grundlagen von mikrocontrollern
2. du baust dir eine µC schaltung, die vom pc steuerbefehle per rs232 
entgegen nimmt (hier tuts auch ein usb-rs232 adapter) und dann an den 
vier pins wackelt wie du es brauchst. eigentlich sollte dazu ein 
tiny2313 oder so ausreichen.
3. du baust diese schaltung in deine modellbahnanlage ein

alternativen zu 2 und 3:
a) du baust die an den pc angebaute platine gar nicht und dafür eine 
ganze hand voll slave-platinen, die dann per rs485 oder rs422 direkt vom 
pc angesteuert werden (usb-rs232 peitsche + rs232-rs422 adapter oder 
gleich in einem stück müsste es auch geben)
b) du baust schritt 2 wie oben beschrieben auf, dazu eine handvoll 
slave-platinen mit einem geeigneten bus-system deiner wahl (rs422, 
rs485, i2c, spi, ...)

Nick K. schrieb:
> Ja Pullups habe ich nicht mit angebracht, werde es aber testen.

tut mir leid, aber ich kann hier beim besten willen keinen schaltplan 
erkennen.
Gast #3025195
Lesenswert?

Aber wenn er nun schon mit OUT(888),3 soo schön direkt auf die Register 
zugriff hat? warum nicht. Läuft da eben ne alte 386er Maschine mit 8MB 
Ram und einer 40MB Platte. DANN kann er aber auch die Register 
verwenden um sie einzulesen. Was liegt hier näher, als das Timer 
Register selbst zu verwenden??
Der Timer sitzt an Adresse 0x40,(dezimal)64.
Also los:
1
dummy_read = INP(64)
2
los = INP(64)
3
 DO
4
  dummy_read = INP(64)
5
  stop = INP(64)
6
  d = los - stop
7
  IF d < 0 THEN d = d + 256
8
LOOP WHILE d < 90

die 90 bestimmt, oft die Schleife ausgeführt wird, also wie lange 
zwischen den "OUT(888),x" Befehlen gewartet wird.
Bist Du programmtechnisch in der Lage, eine Subroutine mit Qbasic zu 
schreiben, wo Du das einbindest? Wäre praktisch. Sonst musst Du das 
zwischen jeden "OUT(888),x" Befehl kopieren.

Soo - Port gedrosselt. Aufgabe erfüllt ;))

Axelr.(unangemeldet, sry))

Viel Erfolg noch :)
Gast #3026756
Lesenswert?

macht irgentiwe kein Sinn, sich den Kopf zu zerbrechen um sich zu 
erinnern, wie das früher mit dem QBasic ging, wenn es eh keine Sau 
initeressiert.
Die Option TIMER hatte ich zB. schlicht über die Jahre vergessen.
Na - egal...

Axelr.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren