www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC und Takterzeugung


Autor: Rainer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich plane zwei PIC16F877 einzusetzen, die über eine längere
Datenleitung mit etwa 10-100kbit/s kommunizieren sollen. Dabei kann es
möglich sein, dass auf beiden Seiten Temeparturunterschiede von etwa
30° herrschen.

Kann ich damit zur Takterzeugung immer noch auf die interne
zurückgreifen, oder bieten externe Quarze eine höhere Genauigkeit? Als
Geschwindigkeit reichen 4MHz aus.

Gruß,
Rainer

Autor: Rainer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitte entschuldigt mein Doppelposting.

Leider muss ich noch eine Korrektur anfügen. Beim dem PIC handelt es
sich um einen PIC16F687. Falsches Projekt ;-)

Autor: Kowalkowski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Quarze kriegst Du niemals synchron, egal wie die Temperatur ist. Der
Drift (Abweichungsgeschwindigkeit) ist immer zu hoch; selbst sauteure
Quarze müssen nach einer gewissen Zeit nachsynchronisiert werden. Der
interne Oszillator besteht nur aus Widerstand und Kondensator, und hat
eine sehr schlechte Genauigkeit; ist eigentlich nur für Projekte
geeignet wo das Timing nicht besonders kritisch ist. Selbst billige
Quarze sind viel genauer.

Du solltest den Takt auf jeden Fall mitübertragen. Kommt auf das
Protokoll an, welches Du verwendest; bei I2C hast Du eine separate
Taktleitung, aber es gibt auch selbsttaktende Codes, wie sie z.B. bei
Ethernet benutzt werden; da brauchst Du keine eigene Taktleitung.

Wie lang soll das Kabel denn sein? Vielleicht ist I2C durchaus
geeignet.

Autor: Rainer Spitzhirn (rainersp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Kowalkowski!

Danke für die Antwort. Das mit dem Timing der Taktgeber habe ich mir
schon gedacht. Nachsynchronisieren ist auf jeden Fall notwendig.

Ich wollte nur auf den EUSART zugreifen, der im PIC enthalten ist. Auf
eine eigene Taktleitung wollte ich verzichten, da nachher die Daten
über RS-485 übertragen werden, und somit zwei Leitungen weniger
anfallen. Da bei jedem übertragenen Byte synchronisiert wird, dürfte
eine Taktabweichung nicht so ins Gewicht fallen.

Die Kabellänge soll 10m sein.

Dann werde ich auf einen externen Taktgeber zurückgreifen. Welche sind
denn gut und günstig bis 4MHz?

Gruß,
Rainer

Autor: Kowalkowski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da kannst Du einen gewöhnlichen Keramikschwinger von Reichelt nehmen;
wenn Du mehr wissen willst, schau mal hier:

http://www.sprut.de/electronic/pic/osc/index.htm

Autor: Rainer Spitzhirn (rainersp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke! Da bin ich auch eben fündig geworden. Muss mal nur noch schauen,
bei welcher Datenübertragungsrate bei dem PIC die geringsten
Fehlerprozente vorhanden sind.

Autor: Rainer Spitzhirn (rainersp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So wie es aussieht, werde ich bei 4MHz Takt bei 19.2kbit/s landen mit
einem Fehlerprozent von 0.16. Das reicht immerhin für geplante 600
Aktualisierungszyklen pro Sekunde. Wenn es dann technisch noch
funktionieren sollte - in der Klimakammer unter der Höhensonne - dann
kann ich noch in der Übertragungsrate höher gehen.

Autor: Kowalkowski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du könntest auf einen PIC18F umsteigen, die laufen bis zu 10x schneller
(40Mhz).

Ich weiß ja nicht welche Daten Du übertragen willst, aber Du könntest
evtl. auch eine intelligente Komprimierung einbauen. Wenn sich die
Werte nicht extrem schnell ändern kann man z.B. so Sachen machen wie:
Absolut Wert übertragen (z.B. 32 Bit), danach 50x nur noch relative
Änderungen (8 Bit), dann wieder Absolut Wert usw. Wenn die Werte nicht
sehr stark schwanken, kann man mit so Verfahren die Übertragungsrate
recht einfach verdoppeln oder verdreifachen.

Autor: Rainer Spitzhirn (rainersp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Daten sind nur 8 Bit groß, da lohnt sich keine Komprimierung. Die
werden 1:1 übertragen und dann direkt zur Anzeige gebracht, ohne
weitere Verarbeitung.

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.