Hallo zusammen, ich habe die angehangene Schaltung und hab noch ein Probleme damit. Erstmal zum Aufbau: Ich hab die linke Platine die über ein Netzteil mit 12V und der darauf gelötete µC über ein Festspannungsregler mit 5V versorgt wird. Btw, ich benötige für weitere Komponenten auf der Platine 12V weswegen ich nicht direkt mit 5V versorge. Die rechte Platine ist ein Einplatinencomputer der über ein 2tes Netzteil mit 5V versorgt wird. Der Gnd der beiden Netzteil ist miteinander verbunden. Jetzt sollen die beiden über USB miteinander kommunizieren. Dafür ist ein CP2102 auf der linken Platine verbaut, der mit UART des µC verbunden ist. Die 5V von CP2102 sind auf der Platine nicht angeschlossen und der Gnd ist mit den Gnd der Platine verbunden. Die andere Seite wird mit den Einplatinencomputer über USB verbunden, daher kommt auch die Versorgung des CP2102. Soweit zum Aufbau. Nun schickt die linke Platine zyklisch (alle 5s) eine Statusmeldung die ungefähr so aussieht "0000000000050401". In den meisten Fällen klappt das auch, doch manchmal kommt etwas Quaderwelsch an ungefähr so "^D}0000000000050401", was die Auswertung im Einplatinencomputer etwas durcheinander bringt. Ich bin mir zu 99,9% sicher, dass das ein reiner Übertragungsfehler sein muss. Ich hab an beiden Enden der USB-Leitung ein Ferttitkern montiert und die Übertragungsgeschwindigkeit von 9600 auf 2400 reduziert, was leider nichts daran ändern. Wenn ich das richtig deute wären die Ferritkerne auch eher dafür da ausgesendete Störungen zu minimieren und nicht gegen etwas was sich die Schaltung von aussen "einfängen" könnte. Naja hab ich trotzdem mal probiert. Ich hatte vor ein paar Monaten eine ähnliche Schaltung mit dem Unterschied, das der CP2102 nicht auf der Platinen gelötet, sondern frei in der Luft gehangen hat. Doch die Verschaltung war sonst identisch, aber bei der Übertragung gab es keine Fehler. Hat jemand eine Idee was ich noch machen könnte um das zu verbessern ? Gruss
Hab ich vergessen zu Zeichen. Die Platine und der Einplatinencomputer sind natürlich jeweils noch mit den GND des Netzteils verbunden.
Welcher Quarz ist auf der Platine verbaut? Wie sieht das Programm aus?
Hi Ich tippe mal auf die Verbindung mit GND. Versorge beide Platinen ma nur mit ihrer eigenen Spannungsversorgung und überlasse die GND-Verbindung der USB-Leitung. So wie ich es in der Skizze angedeutet habe. Gruß oldmax
Hab ich ebenfalls probiert, keine Verbesserung. Ich hatte mir jetzt USB-Kabel gekauft, dessen Schirm deutlich niederohniger ist als der vorherige. Also ca. 1 Ohm in Vergleich zu 9 Ohm. Es ist zwar etwas besser, Fehler gibt es trotzdem noch.
du solltest asynchron übertragen dann läuft die Abtastung nicht davon wenn die Taktrate nicht 100% stimmt oder z.B. durch verschiedenen Puls/Pausenzeiten 0 und 1 zu unterscheiden. https://cdn.instructables.com/FC2/9JFE/JC0UEG6A/FC29JFEJC0UEG6A.LARGE.jpg?auto=webp&frame=1&crop=3:2&width=600&fit=bounds
P. F. schrieb: > Ich bin mir zu 99,9% sicher, dass das ein reiner Übertragungsfehler sein > muss. Ich hab an beiden Enden der USB-Leitung ein Ferttitkern montiert > und die Übertragungsgeschwindigkeit von 9600 auf 2400 reduziert, was > leider nichts daran ändern. Was soll die Übertragungsgeschwindigkeit auf der seriellen Schnittstelle mit der USB-Übertragung zu tun haben? Kein Wunder, dass das nichts ändert. Prüfe erstmal, ob die zusätzlichen Zeichen ("^D}") auch schon aus der seriellen Schnittstelle des ATmega8 raus kommen oder erst bei der USB-Umsetzung entstehen (direkte Verbindung vom ATmega8.TX zum Rock64.RX). Wie genau stimmen deine Taktfrequenzen für µC und USB-Seriell-Wandler?
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.