Hallo, ich mache schon seit einiger Zeit mir dem Layout eines ATMega16M1 rum der auf eine kleine runde Platine mit 40mm Durchmesser soll wobei die obere Seite über den mechanischen Wagoklemmen noch abgeschnitten wird Es wird von dieser Platine 2 Versionen geben Version 1 hat nur 8 Digitale und ein paar Analoge Eingänge und kommunuziert mittels 16 kB Low Speed CAN mit Platine Version 2 auf der es einige Schaltmöglichkeiten geben wird, Relais, Triacs und FETs, deswegen muss ich mit dem Platz etwas sparsam umgehen. Was mit hier besonderst aufstößt die Große und das Layout eines externen Quarzes, der im Verhältniss zum µC selber sehr viel Platz kostet. Deswegen meine Frage an euch. Meint ihr das bei einer so niedrigen CAN Baudrate der externe Quarz verzichtbar ist? Im Gegensatz zu RS232 hat CAN ja einige Beeinflussungsmöglichkeiten (Phase Segment 1, 2, Propagation Time Segment, Re-Synchronization Jump Width, Sample Point...) So wie ich das sehe wird ja auf jede Flanke neu synchronisiert, falls keine Auftritt spätestens nach dem 5ten Bit (Stuffing Bit) eine Neusynchronisation erzwungen wird. Die Teile kommen in einem EFH zum Einsatz, Temperaturbereich sind eigentlich sehr konstante 21°C +-2°C, die Busteilnehmer haben eine max. Entfernung von ca. 20 Meter von einander.
Wenn du einen LPC11C00 Statt des ATmega nimmst sparst du dir den externen Transceiver und hast somit eventuell mehr Platz. Außerdem könntest du einen Keramik Oszillator nehmen, die sind kleiner als Quarze und nicht viel ungenauer...
Thomas O. schrieb: > aufstößt die Große und das Layout eines externen Quarzes, der im > Verhältniss zum µC selber sehr viel Platz kostet. Na, das Problem ist lösbar :-) Nimm sowas: http://www.geyer-electronic.de/uploads/tx_userartikelfrequenz/GEYER-KX-4_15.pdf Solche Packages gibts auch von anderen Firmen. Kuckt man am Besten bei farnell oder RS. Damit sollten sämtliche Platzprobleme elegant umschifft werden, weil 1,2mmx1,6mm ist schon verdammt klein. Sonst kuck mal bei Keramikresonatoren, die gibts auch so winzig, sogar bei Reichelt. --> Mach lieber einen drauf. Dann muss du nicht lange rechnen, und das läuft immer solide.
Thomas O. schrieb: > Meint ihr das bei einer so niedrigen CAN Baudrate der externe Quarz > verzichtbar ist? Eine Abweicheung vom Takt ist immer prozentual. Und wenn der Takt um 3% abweicht, dann ist das zuviel. Ob bei 1 MHz oder bei 10kHz... > Was mit hier besonderst aufstößt die Große und das Layout eines externen > Quarzes, der im Verhältniss zum µC selber sehr viel Platz kostet. Nimm einen kleinen Quarzoszillator mit2x3mm... Und zudem: die Platine ist ja noch gähnend leer. Warum das Jammern über zu wenig Platz?
Wie Lothar schon sagt, Abweichungen sind prozentual, daher ist insbesondere bei CAN ein Quarz oder schlechtestensfalls ein Keramikschwinger Pflicht. Suche mal nach "Euroquartz MT", die gibt es selbst bei Reichelt für überschaubares Geld.
@Dr. Sommer: der ATMega16M1 steht schon fest da das Programm schon sehr weit fortgeschritten ist. @Lothar Miller: Atmel verspricht ja im Datenblatt bei 3V 25°C +-1%, denke schon das man das mit der Kalibrierung auch bei 5V hinbekommen sollte. Ich würde eigentlich schon gerne die Lösung ohne externe Beschaltung bevorzugen, wenn sich ein Quarz/Resonator vermeiden läßt. Die Platine wird wie gesagt noch voller(Relais, Triacs, FETs + Hühnerfutter) ich denke ich werde das erstmal ins Layout aufnehmen und unbestückt lassen, was man dann immer noch erledigen kann. Deswegen würde ich gerne die Diskussion nochmal dahinbringen, da hier ja nur eine sehr niedrige Bitrate von 16 kBits/s verwirklicht werden soll. Angenommen ab dem Syncronzeitpunkt läuft der Takt um 3% auseinander was nach 5 Bits 15% wären dann sollte das doch immer noch im Abtastfenster eines Bits liegen und danach wird ja eh wieder neu syncronisiert und zur not drehe ich etwas an den Register womit man einem Weglaufen des Abtastzeitpunktes etwas gegensteuern kann. Was erreicht ihr den bei UART für Baudraten ohne Quartz? Ist es da bei 9,6 kB/s schon so problematisch ohne Quartz?
Thomas O. schrieb: > Was erreicht ihr den bei UART für Baudraten ohne Quartz? Ist es da bei > 9,6 kB/s schon so problematisch ohne Quartz? Bevor die Frage ein drittes mal kommt: Wie viele Symbole kann man bei 5% Abweichung fehlerfrei übertragen, wenn bei 50% (also in der Mitte) abgetastet wird, a) bei 1 MBaud b) bei 1 Baud
Nochmal: die tatsächliche Baudrate ist völlig irrelevant, dass ist bei niedriger Baudrate nicht besser als bei höherer. CAN ist kritischer als UART, weil das ACK der Gegenstation(en) noch in den slot passen muss. UART ist mit RC-Osz mit Abstrichen noch machbar, CAN meiner Meinung nach nicht. Getestet habe ich das allerdings noch nie, da ich dann einfach immer einen Quarz/Resonator nehme.
ok hab das verstanden 9-10 Bits wären drin, bei CAN wird aber jede Flanke von rezessiv auf dominant zur re-synchronisation hergenommen aber spätestens nach 5 bits wird durch das Stuffing bit neu synchronisiert, deswegen sehe ich hier weniger Probleme mit dem weglaufen des Abtastzeitpunktes. Ok Versuch wird Klug machen. Könnt ihr mir noch sagen wie ihr das Layout bezüglich des Resonators gestalten würdet, die Kerkos näher an an XTAL1 und XTAL2 und den Resonator dahinter oder umgekehrt. Pin 5 von oben links nach unten gezählt ist GND und dann weiter nach rechts ist XTAL1/2 Pin 10/11.
Thomas O. schrieb: > @Dr. Sommer: der ATMega16M1 steht schon fest da das Programm schon sehr > weit fortgeschritten ist. Du hast das Programm schon so weit, aber kannst es anscheinend nicht testen (sonst wäre ja die Frage nicht)? Das heißt die Hauptarbeit kommt sowieso noch...
Senden funktioniert bereits sehe am Oszi das die CAN Nachricht ständig wiederholt wird weil Sie keiner bestätigt. Ist aber alles sehr Dirty aufgebaut da der ATMega16M1 nackt auf einem TQFP Adapter sitzt und nichtmal einen Kerko zw. VCC und GND hat, mit einer niedrigeren Brown Out Grenze lief es dann aber.
Na dann ist ja gut ;-) Den Spruch "ist alles fertig programmiert, muss nur noch getestet werden" kenn ich nur zu gut!
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.