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
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.
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
@ 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
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
@ 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
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
Ok, es klappt. Mit zwei Quarzen läuft es wie geplant. Eggert
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
@ 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
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
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.