Hi!
Wenn mein µC nichts anderes zu tun hätte würde das reichen... Aber wie es scheint haut einem TWI wohl mit interrupts dazwischen.theoretisch kannst du deine 4 Byte Telemetriedaten über einen 400Khz TWI Bus mit ~4,76Khz übertragen (wenn ich das jetzt richtig gerechnet habe). Pro 4-Byte Block kommen noch Start- und Stoppbit, Read/Write Bit und 7 Bit Adresse dazu.
Das sollte doch reichen, oder?
Wie soll ich mit 8MHz auslesen...? Dazu brauche ich einen Loop der mit 8Mhz läuft oder? Meiner läuft aber wie gesagt mit 200 Hz...Den 8-Bit Bus mit den Select Bits kannst du theoretisch mit der halben Taktfrequenz (Ohne Sync) auslesen, das ergäbe max. 8MB/sek, das ist für einen AVR doch etwas viel an Daten.
Den hatte ich ursprünglich auch eingeplant, allerdings passen 16Mhz sehr viel schöner für die Timerinterrupts für die Servoansteuerung...von wegen 20Mhz - da würd ich dir nen Atmega644 empfehlen
Hast du denn eine synchronisation? Dem Zweit-µC muss doch mitgeteilt werden dass der Erst-µC seine Daten abgeholt hat. Also bräuchte man wohl noch einen zusätzlichen Port den der Erst-µC nur auf high setzt wenn er bereit ist daten zu empfangen... Während der high-zeit sendet µC2 einen konstanten wert, während der low zeit erstellt er den nächsten wert... Oder so ähnlich...bzgl. 8-Bit Parallel Bus: ich würde da noch sowas wie eine Fehlerkorrektur einbauen
Ich programmiere in Bascom, gibt es hier wohl eine Funktion oder ein Beispiel wie man aus den einzelnen Port-Bits ein Byte zusammenschraubt mit dem sich weiter rechnen lässt?
Danke auf jeden Fall für eure Anregungen @all
Lesezeichen