Hallo,
da der LPC2468 ein eingenen DMA, SRAM-Buffer und AHB Bus
besitzt, wird der Prozessor minimal belastet, was ich nicht verstehe
ist, der Prozessor wird doch jedesmal mit Interrupt benachrichtigt, wenn
es Daten Vorliegen oder nicht, das ist doch eine Belastung oder?
Außerdem ist im Datenblatt zu finden, dass die Benachrichtigung durch
Interrupt beim Senden oder Empfangen der Ethernet-Daten Optional ist,
gibt es noch eine andere Art der Benachrichtigung?
Andere Frage :Bei der Umwandlung Seriel/Ethernet, welche Faktoren müssen
berücksichtigt werden, damit sowohl Ethernet-Daten als auch
Serielle-Daten nicht verloren gehen, und welche Einschränkungen gibt es
dabei(Interupt-latenz, Baudrate der serielle Schnittstelle..)?
Vielen Dank!
Wie wird der uC von DMA-Controller benachrichtigt das es Ethernet-Daten
gibt die bearbeitet werden müssen, und umgekehrt: wie sendet der uC
seine Daten über DMA?
Diese Beide Fragen machen mich verrückt, vor allem weil ich in einem
Ethernet-Treiber, der DMA benutzt, nicht finde, wo ein Interrupt
installiert ist, und weil im Datenblatt steht das ein Interrupt optional
ist.
DMA = der Datentransfer geschieht ohne Zuhilfenahme des Prozessors der
kann derweil was anders machen (Tetris spielen).
Optional = Du kannst dich per interupt benachrichtigen lassen, ODER du
kannst einfach regelmäßg nachschauen ob was nuees da ist/gesendet werden
kann.
Ok, nehmen wir mal an der Prozessor bearbeitet gerade eine ISR von einer
seriellen Schnittstelle, und in dem Moment wird ein Paket in Ethernet
Buffer empfangen, das heisst man muss gewährleisten, dass der Prozessor
genug Zeit hat um nachzuschuen ob Ethernet-Pakete vorliegen und dabei
darf keine serielle Daten verloren gehen, ist das richtig?
Sag doch einfach mal was dir konkret sorgen macht.
Von der Prozessorseite her dauert das Empfangen von Seriellen Daten und
Ethernet so laaaaaaaaange das er das auch nacheinader machen kann ohne
das was passiert.
Hallo,
kann mir bitte jemand dabei helfen, wie kann man berechnen wielange ein
ARM7TDMI braucht um einen Programmsegment auszuführen.Gibt es vielleicht
irgendwo einen Tutorial dazu?
Vielen Dank
Joe wrote:
> kann mir bitte jemand dabei helfen, wie kann man berechnen wielange ein> ARM7TDMI braucht um einen Programmsegment auszuführen.
Der mit grossem Abstand einfachste Weg: nachmessen. Wenn's ein LPC2000
ist, dann hat der netterweise 32bit Timer mit voller Taktrate und mit
etwas Glück ist mindestens einer davon noch frei (z.B. der PWM-Timer).
Exakt berechnen (lies: nachzählen) wird "etwas" aufwendig, weil ein ARM7
zwar eine recht einfache Pipeline hat, aber dann doch noch ein paar
Feinheiten wie Wartezyklen bei nichtsequentiellem Zugriff, diverse
Puffer, Bussysteme unterschiedlicher Geschwindigkeit usw.
Ich will das nur ungefähr wissen, mit dem Timer ist das eine nette Idee,
aber sagen wir mal ich starte den Timer, wenn ich im ISR eintrette und
stoppe ihn, wenn ich fertig damit bin, dieses hin und her zum und von
Timer wird auch dazu berechnet oder nicht?