Hallo, ich habe mal eine Frage zur seriellen Datenübertragung und zur Samplerate des ADC's vom ATtiny26. Ich habe vor mit einem AVR der mir nur A/D-Funktionen ausführt, Daten möglichst schnell mit wenig Leitungen übertragen. Dazu habe ich mir folgende Vorgehensweise überlegt ich lege das erste Bit auf z.B. Pin(1) und teile über Pin(2) dem Empfänger mit, jetzt das Bit an Pin(1) abzufragen, danach wird dieser Highimpuls wieder gelöscht, das nächste Bit eingelesen das übertragen werden soll, lege es wieder auf Pin(1) und gebe dem Empfänger wieder das Startsignal zum Einlesen von Pin(1) usw. Nennt sich das ganze syncron oder asyncrone Übertragung? Gibt es auch eine Möglichkeit diese Übertragungsmöglichkeit mit Hyperterminal mitzuschneiden? Oder geht da nur das konventionelle System mit dem Startbit den 8Datenbits und dem Stoppbit wo von vornerein schon der Takt feststeht? Ansonsten müsste cih was in Quickbasic machen. Angenommen ich würde 5 Takte (62,5nSek/Takt) für ein Bit brauchen, dann hätte ich doch ne Übertragungsrate von ca 400 KBytes/Sek. 5x62,5= 313nSek x8 =2500nSek/Byte 1/0,0000025=400KBytes Der ADC braucht ja laut Datenblatt eine minimale Wandlungsdauer von 65µS bei 200kHz also knapp 15384 Wandlungen / Sek = 15 Kbytes Was ich hier noch nicht so genau verstehe ist das mit der Genauigkeit. Wenn ich nur 8Bit benötige kann ich den Teiler so einstellen das er über die 200 kHz geht. Was wäre bei 8bit noch ausreichend genau? Bzw. kann ich den ADC zerstören beim Übertaktet oder spuckt er dann nur Müll aus. Wäre mal interessant die max. Samplerate bei 8Bit zu wissen evtl. Taugt er ja als Digiscop, an der Datenübertragungsrate liegts ja nicht wie man oben sieht.
Du schilderst eine Art synchrone Datenübertragung; SPI sieht kaum anders aus (Takt an Pin2, Daten an Pin1). Viele Prozessoren unterstützen SPI in Hardware, das vereinfacht das ganze. Eine asynchrone serielle Schnittstelle (wie die im PC) kann mit sowas nichts anfangen. Die kommt dafür mit einer Datenleitung ohne Takt aus, benötigt aber zur synchronisation Start- und Stopbits. Bei 8n1 werden aber 80% der übertragenen Bits für Nutzdaten verwendet. "Mit Quickbasic was programmieren" wird dieses Problem nicht beheben - Du kannst allenfalls eine Art "Bit Bang"-Betrieb implementieren, und das ist deutlich langsamer als eine serielle Schnittstelle von Haus aus werden kann. Das sind zwar "nur" 10 kByte/sec, aber das ist auch schon 'ne ganze Menge. Höhere Datenübertragungsraten in den PC hinein sind - sofern der PC auch noch irgendwas anderes machen soll, als sich mit der Datenübertragung zu beschäftigen - nur mit Verwendung anderer Schnittstellen hinzubekommen. USB ist hier definitiv ein Kandidat - da genügt auch die Funktionalität eines FT245. Das setzt auf PC-Seite allerdings ein Betriebssystem voraus, das mit USB umzugehen weiß; war Quickbasic nicht was für DOS? Wenn Du den ADC überfährst, wird er Mist messen. Je nach Konstruktion des Wandlers unterschiedlichen - der hier verwendete ist wohl ein Sigma-Delta-Wandler (im Gegensatz zu einem deutlich schnelleren Flash-Wandler). Dessen Funktionsweise ist sicherlich irgendwo ausführlich beschrieben, so daß Du mit Datenblatt und Funktionsbeschreibung ausgestattet sicherlich 'rausfinden kannst, wie der sich beim "übertakten" verhält. Schaden nehmen werden nur die gemessenen Daten.
Hallo, @Rufus: Danke für deine ausführliche Antwort. Ja war beim MS-DOS6.22 mit dabei, was man ja auf einem Laptop laufen lassen könnte. An die Sache mit der Schnittstelle hab ich garnicht gedacht. Auf jedenfall sollte es halt auch auf einem Rechner ohne USB funktionieren. Ich müsste also einfach nur 2 Leitungen abfragen können die Parallele Schnittstelle müsste also auch gehen. Ich könnte die Daten aber auch in eine Schieberegister schieben und dann parallel zum Rechner übertragen. Da muss ich mir allerdings nochmal ein Datenblatt zu einem Schieberegister anschauen und außerdem wären hier auch mind. 2 Leitungen vom AVR nötig. Normalerweise könnte ich 8 Leitungen opfern um parallel zu übertragen, allerings müsste ich den Resetpin disablen und sperre so weitere Updates aus. Und da der ADC eh so langsam ist habe ich ja genugend Zeit das ganze Softwaremäßig zu machen. Ja Funktionsweise von Flashwandler ist mir klar wollte nur erstmal wissen welche Samplingrate mit dem AVR möglich ist vielleicht reicht das ja aus, da ich eigentlich weniger mit hohen Frequenzen arbeite. Von welchen Faktor Signalfrequenz/Abtastrate sollte bei einem Digiscop vorhanden sein? Falls also jemand nochwas zur Samplerate bzw. zum max. ADC Takt sagen kann denn ich für eine 8Bit Wandlung noch nehmen kann wäre ich sehr dankbar.
@Thomas O. wiso den takt den du bei 8 bit noch nehemn kannst ? des kommt auf den ADC an. Der ADC-Takt beim internen ADC vom AVR sollte zwischen 50 und 200kHz sein.
Hallo, so wie ich das mal irgenwo aufgeschnappt habe wird umsohöher man den ADC-Takt einstellt die Genauikkeit schlechter so das das letzte bzw. die letzten beiden Bits nichts mehr taugen. Ich wüsste nicht wie ich das testen soll. evtl. einfach 5Volt draufgeben und den Takt immer weiter erhöhen bis sich die 255 in 254 bzw. 252 ändert?
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.