Guten morgen! Ich habe folgendes vor: Ich habe einen digitalen Ausgang einer Messkarte. Über diesen Ausgang möchte ich gerne ein 4 bit Wort ausgeben, meinetwegen -High Low Low High-. Nun brauche ich eine Schaltung, die mir dieses serielle Signal einliest und mit einer vorgegebenen Reihenfolge vergleicht. Wenn das Ergebniss gleich ist, dann soll am Ende High rauskommen, ansonsten Low. Habe da an eine Schieberegister gedacht mit einem einfachen 4 Bit Vergleicher. Nun habe ich gehört dass es sowas auch als einzelnes Bauteil geben soll. Hat das schonmal jemand gehört? Hat jemand andere Ideen wie das zu lösen ist? Wenn ich die Lösung mit dem Schieberegister und dem 4 Bit Vergleicher nutzen muss, wie verhält sich dann der Vergleicher wenn ich mein Schieberegister resette? und wie bekomme ich den Takt hin? Der Vergleicher soll ja nicht an aus an aus gehen, sondern kontinuierlich an bleiben, und nur falls ein Datenzug ausbleibt abschalten. Bin für alle Tipps dankbar. Liebe Grüße Hilby
Hilby schrieb: > Ich habe einen digitalen Ausgang einer Messkarte. > die mir dieses serielle Signal Ist es denn überhaupt seriell? > Nun habe ich gehört dass es sowas auch als einzelnes > Bauteil geben soll. Hat das schonmal jemand gehört? ATtiny13 zum Beispiel, ohne verstanden zu haben, was Du genau möchtest.
Hey, zunächst einmal Danke für die Rückmeldung. Hier eine Skizze, dann wird es vielleicht etwas klarer was ich meine. Einen µController (ATtiny13) wollte ich dafür eigentlich nicht verwenden. Hatte da mehr an Cmos/TTL gedacht. Gruß Hilby
Hilby schrieb: > Hier eine Skizze, dann wird es vielleicht etwas klarer was ich meine. Nein, wird es nicht. Wo bleibt Dein oben erwähnter Takt? Wo das Signal, dass das 1. Bit kennzeichnet? Wo das Resetsignal und wozu soll es gut sein?
Ohne Takt Ausgang bzw. Eingang ? Ohne Synchronisierung ( Wenn ohne Taktleitung dann zumindest Startbit ! ) ??? Ansonsten nimm dir zuliebe ein kleines CPLD, dann kannst du ohn e zu löten oder Bauteile zu tauschen die Schaltung ändern.
Hilby schrieb: > Ich habe einen digitalen Ausgang einer Messkarte. Über diesen Ausgang > möchte ich gerne ein 4 bit Wort ausgeben, meinetwegen -High Low Low > High-. > > Nun brauche ich eine Schaltung, die mir dieses serielle Signal einliest > und mit einer vorgegebenen Reihenfolge vergleicht. Wenn diese "vorgegebene Reihenfolge" immer gleich ist, kannst Du den Parallelausgang des Schieberegisters einfach dekodieren, über Gatterausgänge oder notfalls mit Dioden. Dann brauchst Du keinen zusätzlichen Vergleicher. Gruss Harald
> kannst Du den Parallelausgang des Schieberegisters einfach dekodieren
Naja, dann würde aber auch verglichen werden wenn er erst beim 2. Takt
bzw. beim 5. Takt oder dem 7. Takt ist. Also es würden auch die
zwischenzustände dekodiert werden.
Aber meine Glaskugel ...
m.n. schrieb: > Wo bleibt Dein oben erwähnter Takt? > Wo das Signal, dass das 1. Bit kennzeichnet? > Wo das Resetsignal und wozu soll es gut sein? Ich hatte ja oben geschrieben dass ich mir über die realisierung des Taktes nicht sicher bin. Muss der Takt von der Messkarte ausgehen, oder geht auch ein externer Takt mit einem Quartz, wenn ja, dann die Frage wie? Uwe schrieb: > Ansonsten nimm dir zuliebe ein kleines CPLD, dann kannst du ohn e zu > löten oder Bauteile zu tauschen die Schaltung ändern. Das muss ich mir mal anschauen. Harald Wilhelms schrieb: > Wenn diese "vorgegebene Reihenfolge" immer gleich ist, kannst Du > den Parallelausgang des Schieberegisters einfach dekodieren, > über Gatterausgänge oder notfalls mit Dioden. Dann brauchst Du > keinen zusätzlichen Vergleicher. Sowas in der Art hatte ich mir vorgestellt. Dafür bräuchte ich nur noch Hinweise wie ich das umsetzen kann. Grüße Hilby
Uwe schrieb: > Naja, dann würde aber auch verglichen werden wenn er erst beim 2. Takt > bzw. beim 5. Takt oder dem 7. Takt ist. Also es würden auch die > zwischenzustände dekodiert werden. > Aber meine Glaskugel ... Wie ich oben schon geschrieben hatte soll das nicht passieren: Hilby schrieb: > Der Vergleicher soll ja nicht an aus an aus gehen, > sondern kontinuierlich an bleiben, und nur falls ein > Datenzug ausbleibt abschalten.
Uwe schrieb: >> kannst Du den Parallelausgang des Schieberegisters einfach dekodieren > Naja, dann würde aber auch verglichen werden wenn er erst beim 2. Takt > bzw. beim 5. Takt oder dem 7. Takt ist. Also es würden auch die > zwischenzustände dekodiert werden. > Aber meine Glaskugel ... Das der Parallelwert am Schieberegister stabil anliegt, habe ich jetzt einmal vorausgesetzt und habe mich nur um den zweiten Teil gekümmert. Natürlich braucht man ein passenes Clocksignal um das serielle Signal zuerst einmal in das Schieberegister reinzuschieben. Aber dafür muss Hilby weitere Info liefern. Gruss Harald
Hilby schrieb: > und wie bekomme ich den Takt hin? Uwe schrieb: > Naja, dann würde aber auch verglichen werden wenn er erst beim 2. Takt > bzw. beim 5. Takt oder dem 7. Takt ist. Also es würden auch die > zwischenzustände dekodiert werden. > Aber meine Glaskugel ... Einfach ist halt nicht immer wirklich einfach :) Für Deine so simpel erscheinende Serielle_Datenübertragung brauchst Du 3 Deiner, wahrscheinlich nicht so üppig vorhandenen, Digital-Ausgänge :( Mit I2C könnte man so was hinbekommen. Da bin ich aber nicht wirklich Dein Ansprechpartner.
Teo Derix schrieb: > Für Deine so simpel erscheinende Serielle_Datenübertragung brauchst Du 3 > Deiner, wahrscheinlich nicht so üppig vorhandenen, Digital-Ausgänge :( Genau da liegt das Problem. Ich möchte so wenig digitale Ausgänge verwenden wie möglich, daher auch die Frage nach dem externen Takt. Digitale Eingänge habe ich noch an der Messkarte. Also im Prinzip soll das ganze so funktionieren, dass ich vier Bits übertrage, die mit einem vorgegebenen parallel anliegendem bit Wort vergleiche und dann den Ausgang auf high oder low setze, nach 4 weiteren bits das gleiche von vorne. Das ich für das Schieberegister einen Takt brauche ist mir schon klar. Falls ich bei der Problemschilderung nicht ganz exakt bin, dann bitte ich das zu entschuldigen, ich bin da noch nicht so erfahren mit.
Gubt den Deine Karte keine Clock aus? Wenn nur das serielle Signal zur Verfügung steht, ohne irgendeinen Clock und ohne Sync wirds schwierig. Woher soll denn die Elektronik wissen, wanns los geht und wann ein Bit kommt?? Wenns ne Art UART Signal ist, müsste es ja ein Start und Stopbit ö.ä. geben!
Einen Clock habe ich nicht, ein Taktsignal müsste ich dann über einen der Digitalen Ausgänge ausgeben. Es handelt sich hier im Übrigen um eine NI USB-6210, programmierbar mit Dasylab.
Wie gesagt, Du hast 2 Möglichkeiten: 1. ein Start und Stopbyte mit fixer Frequenz (wie UART) --> µC o.ä. nötig 2. ein Clock synchron zu den Daten (z.B. Erst Datenbit anlegen, dann Clock high). Das geht mit einem Schieberegister. Allerdings 4 Bit Schiebe-Register kenne ich nicht, nur 8 Bit. Aber das könnte man ja mit 2x4 Bit lösen. Es gibt Schieberegister, die noch einen "Latch" Eingang haben. Das heißt, nach dem reinshieben der Daten, muß noch ein kurzer Impuls gegeben werden, damit die Daten an den Ausgängen gültig werden. Hat den Vorteil, man "sieht" das Schieben nicht! Die 4 Ausgänge dann per Logikgatter mit deinen Vorgaben vergleichen... fertig!
Besipiel: Die Ausgänge z.B. mit 4 XNOR'S Vergleichen. 1 XNOR 1 = 1; 0 XNOR 1 = 0; 1 XNOR 0 = 0; 0 XNOR 0 = 1; --> Wenn gleich, kommt 1 raus. Die 4 XOR Ausgänge dann verunden. Wenn ALLE gleich, kommt 1 raus! Oder mit Dioden und PullUps bzw. PullDowns, wenn man Logikgatter sparen will.
Sepp schrieb: > 1. ein Start und Stopbyte mit fixer Frequenz (wie UART) --> µC o.ä. > nötig > 2. ein Clock synchron zu den Daten (z.B. Erst Datenbit anlegen, dann > Clock high). Das geht mit einem Schieberegister. Für was bitte brauche ich ein Start/Stop-Bit wenn ich eine Clock-Leitung habe? Also entweder eine "vollwertige" unidirektionale serielle oder 3 Digitalausgänge. Wo bei mir halt dabei nur I2C als einfachste Lösung einfällt. Wenn das unidirektional überhaupt geht? Wo ich aber keinen Grund wüsste warum nicht aber wie gesagt mit I2C kenne ich mich nicht wirklich aus.
I2C ist ein ganz anderes Protokoll. Du brauchst schon mal Open Collektor Ausgänge. Dann ist das Protokoll auch noch recht aufwändig mit Start und Stop Bedingungen, Adressen, usw. Ist Möglich, aber glaube ich für diese Anwendung zu aufwändig.
Sepp schrieb: > Ist Möglich, aber glaube ich für diese Anwendung zu aufwändig. Das denke ich auch. Drei Ausgänge ist mir aber eigentlich zu viel, denn dann könnte ich ja fast schon vier Ausgänge nehmen und würde mir das ganze Prozedere mit dem Clock sparen. Was wäre denn wenn ich einen gemeinsamen Takt für die Messkarte und das Register nehme? Dann brächte ich maximal 2 Ausgänge, Serielle Daten und latch?
Sepp schrieb: > Möglichkeit 1 ist ohne Clockleitung! Nr.2 dann mit. Ah, ok. Zu 2. müsste er aber noch'n Zähler da zu klöppeln. Dann halt doch nur 2 Ausgänge :)
typischer Fall von zu wenig Input, produziert als Output nur Käse! Kannst Du die Messkarte programmieren, Ein- Ausgänge definieren?
Hilby schrieb: > Einen µController (ATtiny13) wollte ich dafür eigentlich nicht > verwenden. Hatte da mehr an Cmos/TTL gedacht. Warum einfach, wenn es auch komplizert geht. mfg.
Thomas Eckmann schrieb: > Warum einfach, wenn es auch komplizert geht. Das hat schon einen Grund: Mit einem µC bin ich auf Programmierung angewiesen, das ganze soll aber Hardwaremäßig umgesetzt werden, da hier auch Schutzfunktionen realisiert werden sollen.
Hi >Mit einem µC bin ich auf Programmierung angewiesen, das ganze soll aber >Hardwaremäßig umgesetzt werden, da hier auch Schutzfunktionen realisiert >werden sollen. Nun, das kann ich nicht wirklich verstehen. Etwas sicheres wie ein Programm gibt es eigentlich nicht, denn da kannst du dir alle möglichen "Probleme" und Fehlverhalten der Hardware einfallen lassen und diese entsprechend bearbeiten. Ein Programm schreibt sich selten selbst um und so sollte, da die Hardware auf ein Minimum begrenzt wird, lediglich der "Defekt" eines Bauteiles deine Kreise stören. Anders, wenn es wirklich eine so sicherheitsrelevante Anwendung ist, dann wirst du sowieso mehrkanalig arbeiten müssen. Da bist du mit deiner Hardware sehr schnell unsicher. Auch IC's lassen sich schon mal dazu herab, das ein oder andere Elektron davon laufen zu lassen. Gruß oldmax
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.