Übertragungsproblem FT233RL keine Anfängerfragen :-)
So!! nach eigener Fehlersuche traue ich mich, nach dem ich mich ein Jahr ohne zu Fragen durchgeackert habe auch eimal eine Frage zu stellen.
Sie ist zwar recht ungewöhnlich aber überfordert mich gerade einfach etwas.
Ich habe mich auf ein Projekt eingelasse, einen Funktionsgenerator, 2 Digitale
und 2 Analoge Eingänge, sowie zwei Digitale Ausgänge zu bauen und zu programmieren(Assembler). (paralell zu meiner Diplomarbei, wie dumm muss man sein?)
Hierfür verwende ich einen Atmega16 (SMD) und einen FT232 RL mit dazugehöriger Schaltung.
Die hauptaufgabe des Geräts besteht darin die Eingelesenen Werte bzw. aus dem EPROM gelesene Funktionen via RS232 und dann via Usb an den PC zu übertragen.
Ich habe 3 Prototypenstadien, versucht und korrigiert bis das Gerät nach meinen Vorstellungen funktionierte.
Dann habe ich 5 Geräte aufgebaut und ausgibig getestet. d.h. jeden Modus in jedem Gerät durchgespielt. Alle 5 haben einwandfrei funktioniert.
(Datenrate 38400 baut / 6 Mhz aus ft232)
Jetz kommt das Kuriose.
Um die Dinger abzugeben musste ich noch eine Dokumentation erstellen was eine Woche dauerte. Während dieser Woche Fuhr ich sie in meinem Kofferaum "spazieren" (ohne fette Endstufe o.ä.) danach hab ich noch mal eins testen wollen und es kam nur noch Datensalat heraus. und zwar aus allen 5 der selbe. Das riecht verdächtig nach falscher Übertragungsrate hab ich mir gedacht und sie an 3 Pcs getesten, überall das selbe.
jetzt habe ich das Programm mit PonyProg noch mal verifiziert , es passt noch. Was könnte sich verändert haben??????????????????
Ich finde keine logische Erklärung dafür und lade daher zum "fantasieren" ein. Was Hat sich verändert????????
mfg Uwe
rechtschreibfehler bitte ich zu entschuldigen hab meinen Frust etwas ertränkt
:-b .
Liste der Anhänge anzeigen (Anzahl: 4)
Sicher doch hängs als Bild an, wenn es als Eagel datei lieber ist mach ich das auch noch. (hoffe es klappt).
Den Programmcode häng ich auch an, aber meiner Meinung nach dürfte es an dem nicht liegen. (wenn sich jemand sie 12 Seiten antun will).
Der USB teil ist von weitgehend von Jürgen Woetzel http://www.avr-projekte.de/index.htm übernommen.
Der Pull UP für Reset ist nicht aud dem Layout er hängt zwischen den 2 Vias eins beim Poti und eins beim Elko unterm Mega.
Der Schaltpan sieht villeicht nicht so professionenn aus, aber ich studiere auch Maschinenbau und hab mir alles so beibringen müssen.
(Und auf das SMD Layout war ich als es noch gieng recht stolz ](*,) )
Uwe
PS: hab im FAQ nicht gefunden wie ich diesen Beitrag ins Assembler oder Elektronif Forum verschieben kann, Auserdem sollte der Chip FT232 heißen, geht das irgendwie zu ändern.
Liste der Anhänge anzeigen (Anzahl: 2)
Danke Dneber dass noch jemand miträtseln will.
Ja das mit den 2% weis ich, ich kann jetzt aber nicht mehr umsteigen und lief ja bisher auch alles stabil (bzw. läft noch). Ich hab mal 2 Fotos gemacht
1. Bild fast die genze Bande Hinten 2 mal zum abgeben, vorne links ist der Letzte Prorotyp der noch funktioniert (Bild 2) Ich hab auch schon auf 9600 geändert da ist der fehler ja minimal, tut auch nicht.Wenns sich irgendwie doch rausstellen sollte, das es daran liegt geh ich runter und gut, ist ja nur für Lehrzwecke.
Das mit der Alterung ist ein Interesanter Ansatz, den ich gerne mal ausbreiten würde, was das Wahrscheinlichste ist.
Ich habe also
1 Atmega16
1 FT232R der mir einen 6 MHz Takt erzeugt
2 SMD Tantalkondensatoren
1 Indultivität
1 Elko um die Spannung zu glätten
1 Keramikkondensator für Reset
Sonst noch ein Paar wiederstände Transistonren und Optokoppler, die aber mit der Übertragung nichts zu tun haben.
Welches Bauteil währe am Alterungsempfindlichsten,es muss ein systematischer Fehler sein, denn alle haben ja den gleichen.
Noch mal zu Eagel. Ich seh schon ein, dass der Fehler bei der Verwendung von Eagel bei mir liegen wird da muss ich noch etwas üben. 3D CAD, Catia, Solid Works sind ja eher die vertrauten Felder des Maschinenbauers. O:)
Uwe
Liste der Anhänge anzeigen (Anzahl: 3)
War erst heut am Oszi, würd ich nicht wagen meine Lösung nicht zu posten :-)
Wenn ich eine hätte.
Also es gibt gute und verwirrende Nachrichten.
Zuerst die Gute: Die übertragungsgeschwindigkeit passt, 1 Byte ca. 25us
also etwas unter 40000 baut =38400.
Nun das verwirrenden dabei. Die Taktung dabei sieht "beschissen" aus.
Die Länge einer Welle passt mit mit "166" ns doch die Form ist wie gesagt b. wenn er auf High ist bricht er bis auf null zusammen,zappelt, nimmt einen neuen Anlauf und geht dann auf Low. siehe Bild Taktung Falsch.
Dann hab ich mal ein Atmel gelöscht und siehe da, anderes bild Taktung fast gut.
Kein Plan kann irgend jemand sich äußern, ist der FT232R Clock Ausgang zu schwach um einen Atmega Clock Eingang zu Takten ?
Und nun Das Richtig Komische. Der Prototyp der funktioniert arbeitet auch mit dem schlechten Takt.
Und wie man sieht sind die Uart Signale ja 1a, Auch auf der Versorgungsspannung sind keinerlei Stötungen auszumachen.
den Ausgang und den Eingang des FT232 bin ich noch nicht dazu gekommen , werd ich morgen früh mal versuchen.
Die Hauptfrage nun Woher kann dieses schlechte Taktsignal kommen, das gut wird sobald kein Programm auf dem Controller ist???????
Neben der Taktleitung liegten zwei Massefeld und es sind nirgest sonst Störungen zu finden, auch das USB Signal ist sauber.
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo an alle,
ich hatte das Ding jetzt 3 Wochen auf Eis liegen, da ich meine Diplomarbeit dringenst abschlißen musst, und ich sonst sehr leicht abzulenken bin.
Ich hoffe mir werden diese Schlechten Manieren verziehen.
Ich habe ein wenig gemessen und bin zu volgendem Ergebnis gekommen.
Der Atmega hat nichts mit dem Problem zu tun, hierfür habe ich mit 1200 Baut ein "101010" verschickt und mit dem Oszi eingefangen, bei 38400 und nicht bekannten Zeichen war das schlecht zu überprüfen. Man sieht sauber die Bits hier ist alles OK.
Der FT232R bekommt also ein gutes Signal, das er auch verarbeitet (TX kontroll LED blinkt).
Leider kann ich mit den signalen auf der USB-Seite nichts anfangen da das Protokoll ja immer läuft ind ich nicht nur meinen String seh.
Weiterhin hab ich festgestellt, dass das Hyperterminal wenn ich dort 1200 Baut einstelle gear nichts bekommt, erst wenn ich hoch geh kommt was an (Müll)
Ich denke jetzt, dass der Fehler nicht in der Schaltung liegt, da
1. Korrekter String vom Atmel
2. FTDI erkannt wird
3. FTDI korrekt 6Mhz liefert und TX Kontrolled blinkt.
sondern doch irgendwo im PC liegen muss.
Hier hab ich meiner meinung nach 3 Potentiolle Fehlerquellen.
1. FTDI Treiber
2. Hyperterminal
3. Mittlerweile habe ich 45 virtuelle COM-Ports
Ich verwende den CDM 2.00.00 Treiber der einen Virtuellen COM erzeugt.
Leider habe ich von DLL s keine Ahnung, gibt es eine Möglichkeit eine solche in LAB VIEW zu integrieren.
Andererseits laufen 2 Prototypen mit diesem Treiber ja sauber.
Werd jetzt mal versuchen die 45 Coms auszumisten. ansonsten binn ich für alles Dankbar
Danke Frank, für den Tipp mit dem Kon, aber ich glaube meine Messungen schließen das als Grund aus. Wenn du den Chip schon oft verwendet hast, wie hast du ihn im PC abgefagt?
Hier noch 1 Bild vom Teststring