mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem bei der Taktversorgung von zwei PICs


Autor: Eggert Ehmke (eehmke)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi! Ich bin relativ neu in der Microcontrollerwelt, habe aber schon ein 
paar Entwürfe zum laufen gebracht. Ich arbeite mit PIC16F627A. Mein 
Problem ist, dass ich zwei µC auf einer Platine habe. Der erste hat 
einen Quarz und wird mit 4MHz im Mode XC getaktet. Ich versuche, den 
zweiten µC extern zu takten, indem ich CLKOUT vom ersten mit CLKIN vom 
zweiten verbinde. Das klappt nicht, µC2 tut gar nichts, während µC1 
arbeitet. Ist das ein ganz falscher Ansatz, oder habe ich was übersehen? 
Ich kann natürlich dem zweiten µC auch noch einen Quarz spendieren...
Eggert

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja das ist der falsche Ansatz. Man kann im Normalfall nicht einfach an 
den Oszillator einen 2. Eingang anschließen.
Beim PIC gibts doch bestimmt auch ein Pin, das man als Taktausgang 
schalten kann, und das dann den Takt gepuffet ausgibt?
Ansonsten einen Quarz-Oszillator nehmen, da kannst du dann 10 PICs 
parallel anschließen.

Autor: Eggert Ehmke (eehmke)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich dachte, der Taktausgang IST CLKOUT... verwirrt. Da ich die Schaltung 
nicht mehr stark ändern möchte, ist ein zweiter Quarz eine Alternative? 
Die beiden müssen nicht absolut synchron laufen.
Eggert

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Eggert Ehmke (eehmke)

>Ich dachte, der Taktausgang IST CLKOUT... verwirrt.

Poste mal einen Link auf das Datenblatt.

> Da ich die Schaltung
>nicht mehr stark ändern möchte, ist ein zweiter Quarz eine Alternative?

Immer.

>Die beiden müssen nicht absolut synchron laufen.

Was solls denn werden?

MFG
Falk

Autor: Eggert Ehmke (eehmke)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk Brunner wrote:
> @ Eggert Ehmke (eehmke)
>
>>Ich dachte, der Taktausgang IST CLKOUT... verwirrt.
>
> Poste mal einen Link auf das Datenblatt.
http://ww1.microchip.com/downloads/en/DeviceDoc/40300C.pdf

Hab noch mal nachgelesen. Im XT Mode ist OSC2 wohl nicht als CLKOUT 
geschaltet.

>> Da ich die Schaltung
>>nicht mehr stark ändern möchte, ist ein zweiter Quarz eine Alternative?
>
> Immer.

>>Die beiden müssen nicht absolut synchron laufen.
>
> Was solls denn werden?
Na ja, die unvollständige Projektbeschreibung ist hier:
http://www.habitant.de/hardware/skyinout
Wenn du genauer wissen willst, wozu das gut ist, folge dem Skylaunch 
Link.

Werd mal einen Quarz dranlöten.
Eggert

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Eggert Ehmke (eehmke)

>http://ww1.microchip.com/downloads/en/DeviceDoc/40300C.pdf

>Hab noch mal nachgelesen. Im XT Mode ist OSC2 wohl nicht als CLKOUT
>geschaltet.

So wie im Schaltplan sollte es laufen (wenn gleich der Schaltplan Sülze 
ist . . .)

>Wenn du genauer wissen willst, wozu das gut ist, folge dem Skylaunch
>Link.

???
Welcher "Experte" hat den das Ding entworfen? ZWEI PICs für quasi nix? 
Die müssen sich tödlich langweilen. Naja.

MFG
Falk

Autor: Eggert Ehmke (eehmke)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk Brunner wrote:
> Welcher "Experte" hat den das Ding entworfen? ZWEI PICs für quasi nix?
> Die müssen sich tödlich langweilen. Naja.
Danke, sehr aufbauend, dein Kommentar. Wenn du Verbesserungsvorschläge 
hast, gerne. Sonst: Tschüss
Eggert

Autor: Eggert Ehmke (eehmke)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, es klappt. Mit zwei Quarzen läuft es wie geplant.
Eggert

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eggert Ehmke wrote:

> Danke, sehr aufbauend, dein Kommentar. Wenn du Verbesserungsvorschläge
> hast, gerne. Sonst: Tschüss

Naja, es ist schon sehr schwer zu verstehen, warum Du da 2 MCs benutzt.

Wenn Du das mal erläutern würdest, wäre es nett.

Ich kenne jetzt diesen MC nicht, aber ich glaube nicht, daß er nur 
wenige 100 Byte Flash hat, daß nicht die gesamte Aufgabe in einen MC 
passen würde.

In der Regel haben ja MCs doch mindestens 1kByte Flash und das sollte 
für diese Aufgabe dicke ausreichen.


Peter

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Eggert Ehmke (eehmke)

>Danke, sehr aufbauend, dein Kommentar. Wenn du Verbesserungsvorschläge
>hast, gerne. Sonst: Tschüss

Locker bleiben.
Wie Peter schon sagte, der PIC hat genug Speicher UND Rechenleistung, 
umd die Aufgabe zu bewältigen (1K Worte Flash (14 Bit), 224 Byte RAM, 
128 Byte EEPROM). Was muss er tun? AFAIK nur

Zeichen per UART mit 9K6 empfangen
Zeichen per UART mit 2k4 an Display senden

Zuerst sollte man prüfen, ob das Display oder der Funkempfänger auf eine 
andere Baudrate eingestellt werden können, das vereinfacht die Sache 
schonmal wesentlich. Der Rest ist dann weiss Gott Peanuts.

Und selbst wenn die Baudraten verschieden sind, ist es kein Problem.

- UART auf 9600 Baud konfigurieren
- warte auf Daten vom Funkempfänger
- UART auf 2400 Baud konfigurieren
- Sende Daten zum Display
- Starte oben neu

Wird ne schnuckelige Einchiplösung.

MFG
Falk

Autor: Eggert Ehmke (eehmke)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, hab mich ja beruhigt. Ich hatte in meinem ersten Posting deutlich 
gemacht, dass ich kein Experte bin. Dies ist mein erstes ernsthaftes 
PIC-Projekt, und es funzt jetzt.
Die beide Baudraten sind verschieden, und nicht konfigurierbar. Die 
Daten werden nicht einfach durchgeschleust, sondern müssen in einem 
anderen Format ausgegeben werden. Der Timer für das Tonsignal soll 
möglichst sauber laufen, damit der Ton gleichmäßig klingt. Ich habe 
diese Lösung gewählt, weil sie einfach für mich besser überschaubar ist. 
Ich will keinen Schönheitspreis gewinnen, sondern das Gerät halbwegs 
zuverlässig zum Laufen bringen. Dass es sich optimieren lässt, ist klar. 
Die Idee mit dem umprogrammieren des UART hatte ich auch schon, war mir 
zu komplex. Wenn Bedarf besteht und ich mehrere Geräte baue, werd ich 
die Erfahrungen und eure Tipps nutzen und das Design verbessern.
Eggert

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.