Titel: Schieberegister per Software ansteuern Beitrag von: mak am September 2, 2007, 21:14:44 Ich benötige eine Software, die mir über den seriellen Port ein Schieberegister (serial in parallel out) ansteuert. 2 Pins werden an den Port angeschlossen, nämlich Clock und Data In. Die Software legt nun nacheinander acht per Software definierte Bits an den Port und bestätigt diese mit einem Clock-Impuls (LOW- oder HIGH-Impuls sollte wählbar sein).
Wenn ich das Programm aus dem Tray hervorhole und ein Bit ändere, schickt das Programm wieder Daten an den Port, sonst nicht (oder alle x Minuten, x vom Benutzer festgelegt). Das Layout sollte ähnlich sein wie bei diesem Programm (http://www.justgolden.ch/php5/mak/lcontrol.rar). Kann mir da jemand mit Namen SHOOTER helfen? ;) --- EDIT --- Oops... @Mods: Bitte nach "Software" verschieben. THX! Titel: Re: Schieberegister per Software ansteuern Beitrag von: SHOOTER am September 2, 2007, 21:29:16 Was für eine Schnittstelle ist das?
Die serielle Schnittstelle hat nämlich kein Data In und Clock. Ich tippe mal auf ein I²C Bus? mfg Benny Titel: Re: Schieberegister per Software ansteuern Beitrag von: mak am September 2, 2007, 21:50:23 Nein, die serielle. Ich benötige nur 2 Leitungen für das Register, ein Dateneingang und ein Impulseingang. Das Programm muss also TxD und noch einen Ausgang ansteuern.
Titel: Re: Schieberegister per Software ansteuern Beitrag von: SHOOTER am September 2, 2007, 22:05:32 Aso
Also z.B. Dateneingang auf High udn Clock auf High, dann wieder Low: Schieberegister springt eins weiter? Ich versteh nicht ganz wie das Schieberegister genau funktioniert. mfg Benny Titel: Re: Schieberegister per Software ansteuern Beitrag von: mak am September 2, 2007, 22:19:50 :google: Antwort #1 auf Schieberegister: http://www.elektronik-kompendium.de/sites/dig/0210211.htm
Bei einer steigenden oder fallenden Flanke (also ein LOW-HIGH- oder HIGH-LOW-Wechsel) liest das Register ein und der restliche Inhalt rückt eins nach. Titel: Re: Schieberegister per Software ansteuern Beitrag von: SHOOTER am September 2, 2007, 22:47:51 Ss handelt sich dabei um ein ganz normales Schieberegister ich dachte irgendein spezielles das man mit nem Bestimmten Protokoll ansprechen muss!
Jo dann weiß ich selbstverständlich wie es funktioniert! Es gibt die sogenanten Handshakeleitungen die man steuern kann, ich denke damit wär es dann möglich ne SW zu schrieben. mfg Benny Titel: Re: Schieberegister per Software ansteuern Beitrag von: mak am September 2, 2007, 23:11:51 OK, ich freue mich auf die ersten Ergebnisse. Hast du dir Checkboxen (http://www.justgolden.ch/Php5/mak/lcontrol.rar]LControl[/url] mal angeschaut? So in etwa. Halt es simpel (und das Programm klein), ich nerv dich dann noch früh genung mit weiteren Ideen. ;)
Titel: Re: Schieberegister per Software ansteuern Beitrag von: OlafSt am September 3, 2007, 08:09:55 Schon mal damit beschäftigt, wie eine serielle Schnittstelle funktioniert ?
Man kann zwar die Handshake-Leitungen problemlos ansteuern. Aber das Senden eines Zeichens passiert "in einem Rutsch" - sende ich ein ASCII 32, dann werden die 8 Bit (plus Start- und Stopbits) in einem Zug am TXD angelegt. Eine Bitweise Übertragung, wie ihr euch das vorstellt, ist so NICHT möglich. Titel: Re: Schieberegister per Software ansteuern Beitrag von: hackspider am September 3, 2007, 08:49:54 Morgen
Wie waere es wenn man die RTS und die DTR Leitungen dafuer benutzt ? Eine Leitung macht den Clock die andere Die Daten man muss dann zwar jedes einzelne Char das man senden will auseinanderpfluecken aber sollte doch funktionieren oder ? Wenn man das allerdings so loesen will muss man auf die Pegel achten, das sind keine typischen TTL Pegel. mfg hackspider Titel: Re: Schieberegister per Software ansteuern Beitrag von: mak am September 3, 2007, 10:09:52 Zitat von: OlafSt $txt[176] September 3, 2007, 08:09:55 Aber das Senden eines Zeichens passiert "in einem Rutsch" [...] Eine Bitweise Übertragung, wie ihr euch das vorstellt, ist so NICHT möglich. Ja, sowas habe ich schon fast befürchtet, war mir aber nicht sicher. Der Vorschlag von hackspider ist wie geschaffen für meine Idee, dankeschön. Aber man muss ja nicht die einzelnen Buttons in Chars verwandeln und die wieder zurück. ;) Dass die Pegel anders sind, weiss ich, aber ein SN74LS164 sollte die meines Wissens verkraften. @SHOOTER: Eine weitere Idee: Die Leitungen sollten HIGH- oder LOW-Active (bzw. -Puls für den Clock-Eingang des Registers) wählbar sein. ;) Titel: Re: Schieberegister per Software ansteuern Beitrag von: OlafSt am September 3, 2007, 12:29:51 Nach der "ganz alten Norm" (zu Zeiten, als man noch DSUB25 für serielle Stecker nutzte) waren die Pegel für Low und High +25/-25V. Heute sind es noch -12V/+12V.
Du brauchst einen MAX232 plus die vier Elkos dran, um aus RS232-Pegeln akzeptable TTL-Pegel zu machen. Titel: Re: Schieberegister per Software ansteuern Beitrag von: mak am September 3, 2007, 12:54:32 Einen ganzen MSX232? :-\ Warum nicht einfach 4 Widerstände als Spannungsteiler, je 2 im Verhältnis 7:5? Dioden vielleicht noch, um der negativen Spannung entgegen zu wirken.
Titel: Re: Schieberegister per Software ansteuern Beitrag von: OlafSt am September 3, 2007, 14:43:16 Und wenn beim zusammenbraten Mist gebaut wird, ist eben der Super-I/O auf dem Mobo Schrott, statt des 41-Cent-Chips.
Man kann sich auch zu Tode sparen, mak. Titel: Re: Schieberegister per Software ansteuern Beitrag von: mak am September 3, 2007, 15:03:40 :rofl:
Glaub mir, ich kann löten... Hunderte Lötstellen auf einer Flächen von einem Quadratdezimeter schaff ich ohne Probleme, da werd ich auch ein paar zig richtig löten können. ;) Zudem müsste ich den MAX232 auch wieder irgendwo kaufen. Ich wohne aber eine halbe ÖV-Stunde von der Zivilisation entfernt. Titel: Re: Schieberegister per Software ansteuern Beitrag von: SHOOTER am September 3, 2007, 16:05:20 So
das ich nicht die TxD Leitung verwenden kann ist mir hier klar, deswegen mein Vorschlag auf die Handshake-Leitungen (RTS und DTR, andere gehen nicht da die von der Gegenstelle geschaltet werden) auszuweichen. Die RTS Leitung kann ich schalten wie ich will, die DTR Leitung wird jedoch meines Wissens automatisch geschaltet sobald ich irgendwas sende. Zum Thema Sparfuchs ;-) Schaut euch mal die Alternativen zum MAX232 an: Die Lösung mit den 4 Widerständen und 2 Transistoren sieht doch ganz gut aus! http://www.scienceprog.com/alternatives-of-max232-in-low-budget-projects/ Aber braucht man überahupt einen Konverter. Reichen da nicht einfach 2 oder 4 Transistoren aus. 1 ist glaub ich -12V, d.h. 2 Transistoren die das umkehren udn 5 Volt schalten pro Leitung und fertig. Mit dem PC wird ja nicht zurückkommuniziert. Bevor ich da motz die SW schreibe mach ich erstmal ganz simple eine Checkbox für die RTS Leitung und dann noch ein Button der ein Zeichen sendet, so dass die DTR Leitung umschaltet (allerdings nur kurzzeitig, aber kann man ja verlängern indem man große DAtenmengen sendet) Dann kannst Du das an der Hardware testen und sollte es funktionieren kann man es immer noch erweitern. mfg Benny Titel: Re: Schieberegister per Software ansteuern Beitrag von: mak am September 3, 2007, 17:08:56 Um negative Spannungen zu verhindern hab ich mich jetzt auch für 4 Widerstände und 2 Transistoren entschieden.
Software: Der DTR-Impuls braucht nicht lang zu sein, das Register SN74LS164 arbeitet locker mit 25 MHz (40 ns; ein Fünftel dessen, was für die höchste Baudrate benötigt wird). Titel: Re: Schieberegister per Software ansteuern Beitrag von: SHOOTER am September 3, 2007, 20:11:48 Ich glaube man kann den RTS sowie den DTR Ausgang ansteuern (nicht wie in einem früheren Post von mir DTR nur zusammen beim senden)
Ich habe mal ein kleines Programm entworfen das kannst Du nun mal an der Hardware testen. http://www.benjamin-ruppert.de/share/modding-faq/RS232_Test.exe mfg Benny Titel: Re: Schieberegister per Software ansteuern Beitrag von: mak am September 4, 2007, 13:46:28 Hab mal eine Duo-LED an TxD, RTS und DTR angeschlossen und das Programm getestet: Funktioniert alles!
© 2001-2022 MODDING-FAQ FORUM | SMF
Alle Rechte vorbehalten. |