mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Auslesen eines TSic Temp. Sensors mit ATMEGA32


Autor: Wolfram Quehl (quehl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nachstehenden Text habe ich an ZMD geschrieben. Vielleicht weiß von Euch 
einer, wie man das programmieren kann. Eine Beschreibung war hier unter 
Temperatursensor zu finden.


ich bin gerade dabei, das Auslesen der Temperatursensoren TSic zu 
programmieren. Ich verwende einen ATMEL ATMEGA 32. In Ihrer Beschreibung 
gehen Sie von nur 1 Sensor aus. Ich will aber mindestens 5 Sensoren 
auslesen. Der Mega32 hat aber nur 3 Interrupteingänge und einen Capture 
Eingang. (und 3 Timer). Deswegen geht das nicht so ohne weiteres nach 
Ihrer Beschreibung. Wissen Sie da einen Weg, wie man das programmieren 
könnte? Ich hatte daran gedacht, einen Port (8bits) mit 32 Khz 
einzulesen. Das Problem dabei ist, daß das Einlesen mit einer Flanke 
zusammenfallen könnte. Was dann gelesen wird, weiß ich nicht. Außerdem 
könnte es sein, daß mein 32 Khz Timing nicht mit dem Timing des TSic 
übereinstimmt, so daß Verschiebungen auftreten. Eine Erhöhung der 
Abtastfrequenz auf 128 Khz löst das Problem nicht. Ich gehe auch davon 
aus,  daß die Sensoren nicht zur gleichen Zeit die fallende Flanke 
aussenden und das Timing nicht 100%ig identisch ist (nominal Frequenz).

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wolfram Quehl wrote:

> übereinstimmt, so daß Verschiebungen auftreten. Eine Erhöhung der
> Abtastfrequenz auf 128 Khz löst das Problem nicht.

Warum nicht ?
Das sind 1/16 der Bitzeit, sollte also fein genug sein.

Ansonsten:

1.4.2 Solutions if Real Time System Cannot Tolerate the TSicTM 
Interrupting the mController


Peter

Autor: Jörg S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alle Sensoren einzeln Einschalten und auf Übertragung warten. Die 
Ausgangspins der Sensoren könnte man zusammenschalten. Sollte bei 5 
Sensoren eigentlich noch gehen. Man könnte sich aber auch den Interrupt 
sparen, da man weiss wie lange der Sensor braucht bis er nach dem 
Einschalten das Ergebnis sendet (Also einfach nur auf Pin Aktivität 
testen).

Autor: Wolfram Quehl (quehl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter

die 16tel Bitzeit schließt nicht aus, daß die Flanke gelesen wird. Man 
könnte dann evtl. bei einer fehlerhaften Auslesung das Bit auf das 
Sollbit setzen. Aber ob das so einfach geht, weiß ich nicht so recht. 
Das fehlerhafte Bit müßte erkannt werden können.

1.4.2 nutzt einen Softwarezähler für die Wartezeit. Das ist in 
Anbetracht, daß noch mehr Aufgaben gemacht werden sollen, zunächst nicht 
so akzeptabel.

@Jörg

hat der Sensor im ausgeschalteten Zustand einen Tristate Ausgang? Habe 
ich im Datenblatt nicht gesehen bzw. übersehen.
Die Zeit bis zur Aktivität ist nicht so genau bekannt. 65-85 ms. Also 
Int. verwenden. Könnte vielleicht gehen. Etwas nachteilig ist dann zwar 
die Umsetzzeit von 1/2 sek., da die Differenztemp. ermittelt werden 
soll, aber vielleicht noch akzeptabel.
Pinaktivität geht eben nicht wegen der Flankenauslesung.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.