Meßschieber Fast Mode - wie synchron seriell 133kHz lesen?

Gast #708778
Lesenswert?
• ▲
▼
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.
Gast #709214
Lesenswert?
• ▲
▼
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..
#709226
Lesenswert?
• ▲
▼
@ 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
Gast #709232
Lesenswert?
• ▲
▼
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?
#709235
Lesenswert?
• ▲
▼
@ 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

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