Forum: Mikrocontroller und Digitale Elektronik AVR32 I/O Geschwindigkeit; MPEG dekodieren


von Boris (Gast)


Lesenswert?

Ich hab im Datenblatt nachgesehen, aber explizit steht es nirgendwo wie 
schnell man die Pins der AVR32 Controller schalten kann bzw. auch mit 
welcher Geschwindigkeit man Daten lesen kann. Kann mir das mal jemand 
erklären?

Ich will mir das Grasshopper Board zulegen und wollte fragen ob ich 
damit auch MPEG kodierte Videosignale decodieren und damit einen LCD 
ansteuern kann.

Danke im Voraus

von Frederik K. (n0ll4k)


Lesenswert?

Schau dir mal die Embedded Journals an, da war zum LCD Thema am 
Grasshoper ein Artikel drin. Da wurde dann auch glaub ein Video drauf 
abgespielt zum testen.

von sam (Gast)


Lesenswert?

also maximal kann er pro taktzyklus 1 mal schalten ... nur macht der avr 
dann nichts anderes ...

gleiches gilt fürs einlesen, deswegen verstehe ich die frage nicht ganz.

von vlad (Gast)


Lesenswert?

bild mir ein, die schaltinstruction war 2 zyklen lang.
Auf jeden Fall braucht es noch einen yklus bis er ankommt, sprich der 
Pot hängt immer einen Zyklus hinterher.

von Boris (Gast)


Lesenswert?

Fragen wollte ich eigentlich schon wieviele Takte der µC braucht um 
einen Pin jeweils aus- und anzuschalten. Mir ist die Frage wichtig, weil 
z.B. ARM µCs nicht innerhalb von mindestens 2 Takten die Pins schalten 
können, teilweise länger als AVR brauchen. Deshalb wollte ich fragen ob 
die AVR32 hier besser sind als die ARM.
Glaubt Ihr die Leistung von AVR32 Controllern reicht für MPEG 
(de-)codierung aus? Wenn man annimmt, dass man ja mindestens 40 MIPS 
braucht um MP3 gut zu decodieren, bräuchte man ja für Videosignale das x 
fache mehr. Da wird es glaube ich schon recht haarig, obwohl ja die 
AVR32 für Multimedia Anwendungen konzipiert wurden...

mfg

von Michael K. (mad_axe)


Lesenswert?

abo

von Ulrich (Gast)


Lesenswert?

Für MPEG auf einem kleinen Handy Schirm (z.B. 64x80 Pixel) könnte es 
vielleicht noch reichen. Immerhin ging das auch schon so leitlich mit 
PCs mit 100 MHz. Man wird aber sicher Probleme bekommen, wenn man mit 
dem internen RAM nicht mehr auskommt.

von sepp (Gast)


Lesenswert?

>Ich hab im Datenblatt nachgesehen, aber explizit steht es nirgendwo wie
>schnell man die Pins der AVR32 Controller schalten kann bzw. auch mit
>welcher Geschwindigkeit man Daten lesen kann. Kann mir das mal jemand
>erklären?

Das steht mit Sicherheit im Datenblatt. Bei einem AP7000 wirst du die 
I/Os sicher nicht mit vollen Takt schalten können. Der ist ja mit Afaik 
150 - 200Mhz getaktet.  Willst du ein TSI über normale GPIOs 
realisieren?

>Ich will mir das Grasshopper Board zulegen und wollte fragen ob ich
>damit auch MPEG kodierte Videosignale decodieren und damit einen LCD
>ansteuern kann.

Der AP7000 unterstützt SIMD Instructions, von daher könnte es gut sein 
das er auch MPEG bis zu einer gewissen Auflösung decodieren kann.

Avrfreaks.net könnte dir da vielleicht auch weiterhelfen.

von Marcus H. (mharnisch) Benutzerseite


Lesenswert?

Boris schrieb:
> Mir ist die Frage wichtig, weil z.B. ARM µCs nicht innerhalb von
> mindestens 2 Takten die Pins schalten können, teilweise länger als
> AVR brauchen. Deshalb wollte ich fragen ob die AVR32 hier besser
> sind als die ARM.

Ich fürchte die nehmen sich nicht viel. Aber Deine Aussage ist auch
ziemlich ungenau. Welchen Takt meinst Du? Den des Prozessors, des
Systembusses oder gar des Peripheriebusses?

Generell gilt für Bus-basierte Microcontroller, dass man mindestens
einen Schreibzugriff benötigt, um den Port zu setzen, und einen
weiteren, um ihn wieder zu löschen.

Soweit mir bekannt ist, basieren AVR32 MCU auf dem selben Busstandard
(AMBA) wie so ziemlich alle ARM basierten MCU. Hier ist es nun mal so,
dass ein GPIO port üblicherweise an einem vergleichsweise langsamen
Peripheriebus (APB) hängt, und somit in jedem Fall über eine Bridge
vom Systembus angesprochen wird. Da ein APB Zyklus allein schon zwei
Bustakte benötigt, wirst Du unabhängig von Deiner Wahl nicht
"innerhalb von mindestens (höchstens, oder?) zwei Takten" schalten
können.

Allerdings gibt es bei neueren MCU von Atmel GPIO, die mehr oder
weniger selbständig bestimmte Muster generieren können. Damit könntest
Du Deinem Ziel vielleich näher kommen. Da die Peripherieblöcke bei
Atmel oft gemeinsam genutzt werden, sollten sie sowohl für ARM, als
auch AVR32 basierte Geräten zur Verfügung stehen.

Gruß
Marcus
http://www.doulos.com/arm/

von Boris (Gast)


Lesenswert?

Danke für die Antworten, gemeint hätte ich mit Takt die ca 200 MHz die 
auch dort überall gepriesen werden, wo man den Controller kaufen möchte

von sepp (Gast)


Lesenswert?

@Boris:

Vielleicht kannst du uns mal Verraten, warum du mit 200Mhz Pins toggeln 
willst? Das ist für normale IOs schon eine sehr hohe Geschwindigkeit!

von Phil S. (zippi)


Lesenswert?

Ich bin mir auch zimlich sicher das der AVR32 2 Takte brauch um 1 I/O zu 
setzten.

Aber Ich frag mich wofür du die I/O leistung brauchst. Also display 
kannst du an den Datenbus vom ram hängen?¿

Der AVR32 sollte an sich in der lage sein MPEG zu decodieren aber das 
hängt nätürlich auch sehr stark von der Auflösung ab.

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
Noch kein Account? Hier anmelden.