hallo leute,
also ein wenig enttäuscht bin ich natürlich schon, dass keiner der experten in diesem forum die geschwindigkeit einer c-control-unit abschätzen kann!!
aber gut...
ich habe jetzt eben doch eine m-unit2.0 zum testen gekauft und den durchsatz damit selbst ermittelt.
unten sind die ergebnisse meines benchmarktest angegeben, falls jemand ebenfalls mit der performance der c-control-unit zu tun hat.
für meine anwendung muss ich nacheinander 16 bytes auf die ports schreiben und jeweils noch einen pulse auf ein schieberegister (ca. 33µs elektronisch verzögert) geben, damit die richtige zeile angesprochen wird, wenn die parallelen daten anstehen.
das macht also im minimum 16 x write + 16 x pulse + 1 x goto
= 16 x 33 + 16 x 25 + 17 = 945 µs ==> 1058 Hz wiederholrate.
das ist ausreichend und bei tageslicht flimmerfrei!
das lesen aus dem flash-speicher lasse ich lieber sein. weil das zusätzliche 16 x 94 µs kostet.
überhaupt habe ich festgestellt, dass zugriffe auf konstanten (if a=1 then) geringfügig langsamer sind als zugriffe auf variablen (if a=b then).
hier die testergebnisse:
- Benchmarktest M-Unit 2.0 mit Standard-CCBasic
Portausgabe_____________Dauer in µs
Tog (Flankenwechsel)___________25
Pulse (2 Flankenwechsel)___________25
Write Byte (=8 Bit)___________33
Write Bit ___________45
Write Bit const___________49
Branch
Goto #Marke___________17
If False (=Byte) Then ___________80
If False (=Word) Then ___________84
If False (>Word) Then ___________91
If False (Bit=const) Then___________98
If False (Bit=Bit) Then ___________108
If True (>Word) Goto #Marke___________101
Unterprogrammaufruf
Gosub...Return___________37
If True (=Byte) Gosub...Return___________115
If True (>Word) Gosub...Return___________120
Zähler
i=i+x (Byte)___________70
i=i+x (Word)___________72
i=i+1 (Byte)___________74
i=i+1 (Word)___________79
Schleifen
For-Next Byte___________85
For-Next Word ___________98
Datei
1 Word aus Flash-Datei lesen (inkl. EOF Check )___________94
Lesezeichen