Ich versuche, das Layout mit einem 8-MHz-Kristall (XT1) für einen atmega328p-Mikrocontroller neu zu gestalten. Da dieser Mikrocontroller einen internen Oszillator verwendet, funktioniert die UART-Kommunikation beim aktuellen Design nicht zuverlässig. Daher habe ich mich für einen externen Kristall für die Produktion entschieden.
Da dieses Board mit allen anderen Funktionalitäten außer UART gut funktioniert, müssen wir das Board mit minimalen Änderungen erneut drehen Aufgrund der Platzierungsbeschränkungen auf der Unterseite der Leiterplatte habe ich den Kristall und seine Lastkapazität auf der Oberseite platziert, während der Mikrocontroller auf der Unterseite sitzt.
Ich habe mehrere Empfehlungen speziell für das Design von Kristallen gelesen. Ich bin sicher, dass das Design die meisten nicht erfüllt (z. B. Durchkontaktierungen vermeiden). Ich mache mir Sorgen um die Funktionalität der Platine, insbesondere wegen EMV-Problemen. Auf dieser Platine gibt es wirklich keine Hochfrequenzsignale außer 8 MHz . Kann jemand einige Vorschläge machen, wie die Leiterplatte verbessert werden kann?
Dinge, die ich ändern würde:
Manchmal muss man sich etwas mehr Mühe geben und die Dinge von Anfang an richtig machen. Ich denke, es ist dieser Fall.
Zunächst muss ich Sie vor der Taktfrequenz warnen. Ich kenne Ihre gewünschte Baudrate nicht, aber 8 MHz sind für einen richtigen UART mit hoher Geschwindigkeit (z. B. 115200 bps) nicht akzeptabel. Hast du das Datenblatt gecheckt ? Das Register UBBR n bestimmt die Kommunikationsgeschwindigkeit mit der folgenden Formel (S. 227):
UBBR muss eine Ganzzahl zwischen 0-4095 sein, Baud ist ein ganzzahliges Vielfaches von beispielsweise 2400. Es ist also einfach zu berechnen, dass die Oszillatorfrequenz eine Frequenz von haben sollte (k ist eine ganze Zahl). Beispiel: Für 115,2 kBaud wird UBBR mit 3,34 berechnet, sodass die Auswahl von UBBR = 3 eine Baudrate von 125 kBaud ergibt. Und die Fehlerquote lässt sich wie folgt berechnen: was furchtbar inakzeptabel ist. Mit einem 8-MHz-Quarz und unter der Annahme des maximal zulässigen , beträgt die maximal zulässige Baudrate 38,4 kBaud. Je langsamer also die Baudrate, desto geringer die Fehlerrate. Daher empfehle ich Ihnen, statt 8 MHz 7,3728 MHz (1,8432 x 4) zu verwenden. Außerdem: Wie kritisch sind UART-Frequenzen?
Wie auch immer, meine Vorschläge zum PCB-Design:
Dies ist keine Antwort auf Ihre Frage, aber ich möchte einen Punkt ansprechen, der für eine Reihe von Kommentaren etwas zu gewichtig ist.
Ich kenne die ATMega-Familie nicht, aber ich möchte Sie ermutigen, einen Moment damit zu verbringen, nachzusehen, ob es eine Pin-kompatible Option gibt, die einen besseren internen Oszillator hat. Die Option kann bestehen oder nicht, aber das Leben wird ein bisschen einfacher, wenn es so ist.
Wenn es eine solche Option gibt, hängt es natürlich von Ihrer Situation ab, ob es sich um eine praktikable Option handelt oder nicht. Wenn Ihr Plan kommerziell ist, müssen Sie die Kosten für die Neuentwicklung der Hardware gegen die gestiegenen Kosten des Prozessors abwägen. Wenn Sie schnell etwas brauchen, wo Sie bereits den Rest eines vorhandenen Boards validiert haben und nur wenige erstellen, funktioniert es wahrscheinlich sehr gut.
OSCCAL
) auf 1 % genau abstimmbar.Es gibt ein paar Dinge, über die ich mir hier Sorgen machen würde. Erstens sollten die Spuren nicht quadriert werden. Sie möchten alle Ecken auf dieser Platine eliminieren. 45 Grad Winkel funktionieren gut. Eine andere zu berücksichtigende Sache wäre, Spuren vom Oszillator fernzuhalten, da er mit anderen nicht verwandten Spuren gekoppelt werden kann. In diesem Fall befinden sich diese Spuren auf einer anderen Ebene, sodass es gut aussieht. Und halten Sie Ihre Oszillatorspuren so nah wie möglich beieinander.
PlasmaHH
user_1818839
ANONYM
Apalopohapa
abdullah kahraman
Tut