Hallo zusammen,
ich bin neu hier und beginne mich gerade mit Mikrokontrollern zu beschäftigen.
ich habe hier einen Winbond W90N740C basierend auf einem ARM7TDMI Mikrokontroller. Darauf habe ich jetzt uClinux mit 2.4 Kernel installiert.
Ich möchte jetzt Daten über GPIO Pins in einen Ringpuffer schreiben und diesen Puffer dann ab einer bestimmten Anzahl mit einem UDP-Packet über Ethernet verschicken.
Soweit so gut.
Die Datenpakete(96bits) kommen im 8kHz Takt. Beim Start eines Datenpakets wird ein Interrupt ausgelöst und die Daten sollen durch die Interruptroutine bzw. ein Tasklet in den Puffer geschrieben werden.
Das funktioniert auch. ABER.
1.Problem
Die Interruptlatenzzeit ist mit 7us so hoch, dass mehrere Datenbits verloren gehen.
Kann man diese Latenz verkürzen?
2.Problem
Wie/Wo plaziert man am besten die Senderoutine?
Meine Ideen sind: Senderoutine in Tasklet, Wait-Queue oder in der Scheduler-Queue.
So, ich bedanke mich jetzt schon für die Hilfe.
Gruß,
Thomas