Forum: Mikrocontroller und Digitale Elektronik Pollinboard ATiny2313 macht fast 10000 Umdrehungen pro Sekunde


von Alfons M. (alfonsmoeller)


Angehängte Dateien:

Lesenswert?

Hallo hier ist ein Programm fuer das Pollin-Evaluationsboard
in Verbindung mit einem ATiny2313 8MHz.

Es lässt beide LED's Blinken und zeigt auf dem Terminal-
emulationsprogramm zwei Zeilen an.
Baud = 19200 Stopbit 1 keine Paritaetspruefung

"ATiny 2313" und in der zweiten Zeile
"y=====xxxxx zzzzz"

y aendert sich im Sekundentakt

= steht fuer das zuletzt eingegebene Zeichen auf der Tastatur.

xxxxx ist die Anzahl der Programmzyklen pro Sekunde.

zzzzz ist ein Sekundenzaehler und wird ab dem Programmstart
hoeher gezaehlt.

Der Sourcecode ist in Assembler auf AVR-Studio 4.1 geschrieben.
Dieser dient zur Demonstration der Leistungsfähigkeit eines
Prozessors.

Aendert man die Schleifenzahl m1,m2 und m3 sieht man gleich
das sich die Zyklenzahl pro Sekunde aendert.

Nun viel Spass beim ausprobieren.

m.f.G. Alfons

: Verschoben durch User
von Magnus M. (magnetus) Benutzerseite


Lesenswert?

...?

von Schnurpsel (Gast)


Lesenswert?

Der rotiert echt extrem schnell, man sieht auf dem ersten Bild gar keine 
Bewegungsunschärfe.

von Ingo (Gast)


Lesenswert?

Ein AVR schafft 1e6 Arbeitsschritte / MHz. Was möchtest du uns denn 
jetzt eigentlich mitteilen?



Ingo

von Thomas (Gast)


Lesenswert?

Alfons Möller schrieb:
> Der Sourcecode ... dient zur Demonstration der Leistungsfähigkeit eines
> Prozessors.

Das ist ungefähr so als wenn man bei einem Polo einen Ziegelstein aufs 
Gaspedal legt und von der erreichten Drehzahl im Leerlauf auf die 
Leistungsfähigkeit des Motors schliesst ;)

von Udo S. (urschmitt)


Lesenswert?

Alfons Möller schrieb:
> Der Sourcecode ist in Assembler auf AVR-Studio 4.1 geschrieben.
> Dieser dient zur Demonstration der Leistungsfähigkeit eines
> Prozessors.

Dann probiere doch mal wie schnell er ein 100 Elemente Array sortiert 
oder wie schnell er 1000 Multiplikationen und Divisionen von a) 
Festkommazahlen b) Fließkommazahlen er ausführen kann
Dann hast du einen ersten Ansatz einer Ahnung seiner Leistungsfähigkeit.

von Ingo (Gast)


Lesenswert?

Wobei man viel potentielle Rechenleistung in einem miesen Programm 
verschleudern kann.
Aber eine echte Aussage darüber wie leistungsfähig hängt sowieso von der 
verwendeten Hardware ab. Etwas hängt es natürlich (bei Hochsprachen) vom 
Kompiler ab.


Ingo

von Alfons M. (alfonsmoeller)


Lesenswert?

Die Alleswisser moegen mir verzeihen, bitte nicht weiterlesen, ihr 
verschwendet nur eure Zeit.

Dies Pojekt soll nur darstellen, das es mit geringen finaziellen
Mitteln möglich ist, mittels Massenprozessoren auf die 1/100 Sekunde
parallel zu mehreren Ereignissen zu reagieren.

Tauscht jetzt mal die Leuchtdioden mit Relais fuer Bremse und Hubmotor 
aus. Die Bremse mit Relais hat eine Einfallzeit von 350ms.
d.h. die Bremse muss 350ms vor dem Motor ausgeschaltet werden.

Ich kenne viele Programme die rennen in einer Schleife und können nur 
das eine Ereignis um 350ms Zeit verzögern. Genau das wird in meinem 
Beispiel
verhindert.

Thomas schrieb:
>>Das ist ungefähr so als wenn man bei einem Polo einen Ziegelstein aufs
Gaspedal legt und von der erreichten Drehzahl im Leerlauf auf die
Leistungsfähigkeit des Motors schliesst<<

Es ist aber schon mal ein Test fuer den Schalldaempfer.


Udo Schmitt schrieb:
>>Dann probiere doch mal wie schnell er ein 100 Elemente Array sortiert
oder wie schnell er 1000 Multiplikationen und Divisionen von a)
Festkommazahlen b) Fließkommazahlen er ausführen kann
Dann hast du einen ersten Ansatz einer Ahnung seiner 
Leistungsfähigkeit.<<

Bitverarbeitung mit einem 8 Bit Prozessor nicht mit einem Array z.B. 100 
Elemente und 64Bit Prozessor vergleichen. Wir sprechen da ueber Kosten X 
mal 100

Fuer die Interessierten trotzdem viel Spass beim ausprobieren.

m.f.G. Alfons

von Alfons M. (alfonsmoeller)


Lesenswert?

Igo schrieb:
>>Wobei man viel potentielle Rechenleistung in einem miesen Programm
>>verschleudern kann.
So ist das nicht gemeint, die sinnlose schleife ist ja im Programm
wie beschrieben nur zur Demonstartion. Da kannst Du Deinen eigenen
Code einbauen.
m.f.G. Alfons

von Andreas B. (andreas_b77)


Lesenswert?

Alfons Möller schrieb:
> Dies Pojekt soll nur darstellen, das es mit geringen finaziellen
> Mitteln möglich ist, mittels Massenprozessoren auf die 1/100 Sekunde
> parallel zu mehreren Ereignissen zu reagieren.

1/100 Sekunde Reaktionszeit, also 10 ms, ist doch ein gemütlicher 
Sonntagsspaziergang für den durchschnittlichen Mikrocontroller. Da 
braucht es nicht groß Projekte, um das zu demonstrieren.

von Simon K. (simon) Benutzerseite


Lesenswert?

Andreas B. schrieb:
> Alfons Möller schrieb:
>> Dies Pojekt soll nur darstellen, das es mit geringen finaziellen
>> Mitteln möglich ist, mittels Massenprozessoren auf die 1/100 Sekunde
>> parallel zu mehreren Ereignissen zu reagieren.
>
> 1/100 Sekunde Reaktionszeit, also 10 ms, ist doch ein gemütlicher
> Sonntagsspaziergang für den durchschnittlichen Mikrocontroller. Da
> braucht es nicht groß Projekte, um das zu demonstrieren.

Eben. Die können durchaus auch im Mikrosekundenbereich "reagieren", wenn 
nicht sogar noch schneller.

In dem Beispielprogramm des TOs dreht der Mikrocontroller die meiste 
Zeit Däumchen, weil er darauf wartet, dass die Zeichen über die lahme 
serielle Schnittstelle gesendet werden.

von Alfons M. (alfonsmoeller)


Lesenswert?

Simon K. schrieb:
>>In dem Beispielprogramm des TOs dreht der Mikrocontroller die meiste
>>Zeit Däumchen, weil er darauf wartet, dass die Zeichen über die lahme
>>serielle Schnittstelle gesendet werden.

Leider verstehe ich nicht was Du mit "TOs" meinst. Kannst Du mir das 
erklären?

m.f.G. Alfons

von Andreas B. (andreas_b77)


Lesenswert?

TO dürfte "thread opener" sein, also der Ersteller des Threads, also du.

von alfonsmoeller (Gast)


Lesenswert?

In meinem Beispiel ist ganz klar dargestellt das das Zeichen erst
abgeholt wird wenn es da ist. Da
wird nicht im Kreis gedreht!
;----------------------------------------------------------------------- 
---;
;  Zeichen abholen
;
;----------------------------------------------------------------------- 
---zeich_holen:
    sbis UCSRA,RXC
    ret
;
    in r16,UDR
    sts var000,r16
    ret

m.f.G. Alfons

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.