Manche digitale Meßschieber haben einen "Fast Mode", in dem sie die Daten schnell(er) aktualisieren / ausgeben. Die Datenübertragung erfolgt synchron seriell, wobei es anscheinend 'Glitches' auf der Datenleitung gibt: http://www.shumatech.com/support/chinese_scales.htm Ich messe eine Pulsweite von 7.5µs entsprechend 133kHz, die Übertragung findet alle 25ms statt. Da ich die Position zu einem bestimmten Zeitpunkt erfassen muss, werde ich einen eigenständigen Controller verwenden, der die Daten ständig empfängt und den aktuellen Wert auf Anfrage an den Host überträgt. Da ich mich mit Datenübertragung noch nicht beschäftigt habe, würde ich gerne wissen, wie ich das anstellen kann.. also kommt Hardware (SPI?) in Frage, oder benutzt man Pin Change Interrupts auf die Clk, wie schnell muss der Rechner getaktet sein, und wie vermeide ich Fehler verursacht durch 'Glitches'? Danke schonmal.
Hi, bitte nochmals um einen Tipp, auch wenn das wahrschinelich trivial ist. Wenn ich den Rechner mit 4Mhz Takte, einen PC Interrupt auf die fallende Flanke setze, schafft es ein AVR dann noch 3 Abfragen hintereinander zu mitteln, um die genannten Fehler zu unterdrücken? Dann noch einen PC Interrupt um eine Anfrage vom Host zu erkennen. In der nächsten Pause dann Daten aufbetreiten und per SPI zurückschicken..
@ egal (Gast) >Wenn ich den Rechner mit 4Mhz Takte, einen PC Interrupt auf die fallende >Flanke setze, schafft es ein AVR dann noch 3 Abfragen hintereinander zu >mitteln, um die genannten Fehler zu unterdrücken? Sowas macht man nicht im Interrupt, da wird zuviel Zeit verbraten. Machs per Polling. >Dann noch einen PC Interrupt um eine Anfrage vom Host zu erkennen. Den kann man auch pollen. MfG Falk
also nix anderes machen als eine pinänderung der clk prüfen, dann dreimal data einlesen und mitteln? oder den ganzen port ständig checken und die daten und clock bits verrechnen? wofür benutzt man denn dann überhaupt die interrupts?
@ egal (Gast) >also nix anderes machen als eine pinänderung der clk prüfen, dann >dreimal data einlesen und mitteln? ja. >oder den ganzen port ständig checken und die daten und clock bits >verrechnen? ja. >wofür benutzt man denn dann überhaupt die interrupts? Für "relativ" langsame und seltene Ereignisse bzw. für Dinge, die halt parallel durch die Module abgearbeitet werden können (Timer, UART) aber dann ab und zu beackert werden müssen. MFG Falk
tschuldigung, ich wollte schreiben: wofür benutzt man denn dann überhaupt die pin-change interrupts ^^^^^^^^
z.B. Nulldurchgangserkennung eines Sinussignals.
ah ok danke. ich werde mich am we mal dran versuchen!
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.