hmm
das stimmt...
aba in dem wahn bin ich noch nicht so ganz...
wasis denn parallel multiplexing??....
denke das hört sich doch ganz gut an...
kannst du mit da weiter helfen oder ne web seite geben???
gruss dOmNik
seid mir bitte nicht böse, aber mit euerem paralel seriell wahn spart ihr zwar eingänge aber braucht 64 schleifendurchläufe bis ihr alles drinn habt. wenn, wie schon vorher erwähnt, die zeit eine kritische rolle spielt, habe ich mit der paralelmultiplexerei nach 8 schleifen alles drinn und fertig. na gut jedem das seine ich muß es ja nicht bauen.
trotzdem viel erfolg
stageliner
hmm
das stimmt...
aba in dem wahn bin ich noch nicht so ganz...
wasis denn parallel multiplexing??....
denke das hört sich doch ganz gut an...
kannst du mit da weiter helfen oder ne web seite geben???
gruss dOmNik
ja wie schon geschrieben schiebst du jeweils 8 bit gleichzeitig auf 8 eingänge dafür benötigst du einen schalter, der entweder seine eingänge auf die ausgänge schaltet oder die ausgänge neutral (hochohmig) macht.
dies kann der 74245 (googeln) um jetzt 64 eingänge zu realisieren brauchst du 8 stück davon. die eingänge sind nun die 64 eingänge und die ausgänge hängst du alle parallel auf einen 8 bit port deiner stamp.
ist nun pin 19 high sind die ausgänge hochohmig, low an pin 19 schaltet die eingänge zu den ausgängen durch. jetzt mußt du nur noch die einzelnen bustreiber auswählen. das geht einfach mit dem 74138. der macht aus 3 bit binär 8 bit dezimal. die ausgänge auf je einen pin 19 der bustreiber und je nach angelegter binärzahl schaltet der dazugehörige bustreiber seine eingänge an die ausgänge durch.
am bustreiber must du noch die richtung auswählen (Dir H oder L je nach dem was du als eingang oder ausgang verwendest) und den 74138 mußt du enabeln (G1 = H; G2 = L)
port(y) = H00
variable0 = port(x)
port(y) = H01
variable1 = port(x)
port(y) = H02
variable1 = port(x)
und so weiter bis
port(y) = H07
variable7 = port(x)
je nach dialekt deiner entwicklungsumgebung.
mit 16 zeilen code hast du die 64 bit in 8 variablen eingelesen, schneller geht es nicht!
viel spass beim bauen
stageliner
uiii...
ja das scheint sinnvoll...nun denn da ich an der stamp 16 eingänge habe, brauche ich den 74138 nicht, denn habe ja 8 ausgänge zur verfügung...is zwar schlauer das zu machen, aba muss mal sehen wie viel platz ich noch auf meiner platine habe...
dir besten dank!!...
gruss dOmNik
Na ja, parallel-seriell Wandler brauchen dafür nur einen Ein- und zwei Ausgänge, egal wieviele ICs hintereinander gehängt werden. Deshalb ist auch der Aufbau und eine evtl. spätere Erweiterung viel einfacher. Ausserdem brauchst du je nach Anwendung bei der Verarbeitung der eingelesenen Daten doch wieder eine 64er Schleife.
Gruss
Skilltronic
Es geht um das Gesamte. Beim Multiplexen kann ich beliebig einzelne Bytes/Bits lesen und setzen, beim Shiften brauch ich dafür weniger Pins und IC.
Dann geht's um die Unterstützung durch den Kontroller. Hab ich einen HW-SPI, kann ich die Bits mit der Systemclock raus- und reinfetzen lassen. Hab ich das nicht, ist es beim Pollen wahrscheinlich irgendwie wurst, was ich mach, ich muß mir in Summe 64 Bit holen und einzeln anschauen, da hilft so oder so nix.
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Wenn ich mich recht erinnere, kannst du mit dem Basic Stamp sowieso immer nur einen pin auf einmal lesen. Ports als solche gibt es nicht. Also musst du 64 mal einzelne pins lesen, und kannst daher genau so gut per Shiften 64 mal den gleichen lesen. (Beim BasicX ist das jedenfalls so, ich glaube aber der Basic Stamp ist fast identisch). Es gibt auch einen befehl ShiftIn oder so aehnlich, dann geht das ganze mit schiften sogar noch etwas schneller.
Ausser du willst wie PicNick schon sagte die moeglichkeit haben, nur einzelne Pins abzufragen.
Eine weitere Moeglichkeit ist ueber 'nen I2C Bus die Daten zu holen, mit 8xPCF8574. Ist wahrscheinlich etwas teurer, hat aber den vorteil dass du die Pins auch als ausgang nutzen kannst.
Gruss!
Zen
hmm, alo ich muss wissen wann welcher Sensor Ic mir ne eins gibt, um dies dann wiederum meiner anwendung auf dem PC mitzuteilen. Mir geht es also um die information wann welcher der 64 kanäle auf eins geht...
hmm ja das mit dem shiften scheint richtig und sinnvoll, nur kann ich auch bytes einlesen lassen das geht dann auf einmal. Nur muss die stamp dann widerum das Byte auseinanderfrimelm und sehen was jeze eins is und was nicht...
wie mir schient is das shiften schon ganz gut...
wenn deine anwendung zeitkritisch ist, kannst du das shiften vergessen.
wie gesagt 16 zeilen und die info ist zum verarbeiten bereit
bei dem shiften brauchst du nur alleine zum schieben 64 anweisungen dann hast du aber noch nichts eingelesen, das dauert nochmal 64 anweisungen. dann hast du aber noch nichts mit den daten gemacht von dem aufteilen in verschiedenen variablen mal abgesehen.
wenn du von den 128 anweisungen 16 abziehst bleiben 112 anweisungen übrig mit denen du gemütlich deine 8 variablen verarbeiten kannst und wieder einlesen kannst was ist allso schneller?
gruß
stageliner
grisn...mensch das wird ja nen kamp hier...
also kenn mich mit den anweisunge nicht aus...
aba ich mache es auf deine art, da ich die register im griff habe, mit dem schiften schnell oder langsam kenn ich mich nich aus und habe auch nicht die zeit mich damit auseinader zu setzten...akann sein das es ne tolle möglichkeit ist, aba nur dann wenn ich weiss wie ich das managen kann...
die sache mit dem bus kann ich machen, kenne die bausteine...bzw eiss wie sie funken...
danke dir...
Lesezeichen