Hi *, ich bin verwirrt, ich wollte ja mal vor Urzeiten einen DMX-Dimmer bauen, mit den 8Bit AVRs. Hat nicht funktioniert, weil der Zündimpuls jittert. Nun denn, jetzt hab ich wieder Zeit, und würde gerne eine zweite Version bauen, diesmal aber richtig. Kurz, ich brauche: 16k Flash, 2k RAM, 50byte EEPROM, 1x USART, 8Bit Port Zündimpulse, 7Bit Port LCD, 8Bit Buttons+LEDs und mindestens 32MIPS. Achja, und nen C-Compiler. Beim PIC hab ich zwar 40Mhz gelesen, aber hat der dann auch 40MIPS? Und mit einem 80C51 hab ich noch nie etwas gemacht, wie programmiere ich den und gibts da eine (kostenlose) C-IDE dafür? Und generell denke ich auch, dass selbst der kleinste Atmel C51 der Overkill ist dafür, also was tun sprach Zeus? Oder hättet ihr noch andere MCUs in peto? Danke, Christoph
40MIPS?! NAja die PICs werden zwar Teilweise mit bis zu 48MHz getaktet, aber dieser Takt wird durch 4 geteilt. Also kommst du niemals auf deine 40MIPS. Naja... aber zb der PIC18F4520 wird mit 16MIPS angegeben.. vl gehts ja auch damit. Ansonst solltest du dir mal die dsPICs anschauen. Die haben bis zu 40MIPS und sind 16Biter. 8051er mit 40MIPS sind etwas teuer ;-). Ich habe die ehre mit einem DS89C430(Von MAxim/Dallas) arbeiten zu dürfen. Dieser hat 33MIPs, jedoch kostet dor ein Stück knapp 89Euro(bei 1k) ;-). Aber warum brauchst du bitte 32MIPS?! mfg Schoasch
> 40MIPS?! NAja die PICs werden zwar Teilweise mit bis zu 48MHz > getaktet, aber dieser Takt wird durch 4 geteilt. Also kommst du > niemals auf deine 40MIPS. Das hatte ich befürchtet. > Naja... aber zb der PIC18F4520 wird mit 16MIPS angegeben.. vl > gehts ja auch damit. Nein, habe jetzt einen ATMega16, mit 16 MIPS, und der Zündimpuls zittert, dass es nicht mehr schön ist. > Ansonst solltest du dir mal die dsPICs anschauen. > Die haben bis zu 40MIPS und sind 16Biter. Hab ich, die sind zu teuer. > 8051er mit 40MIPS sind etwas teuer ;-). Ich habe die ehre mit einem > DS89C430(Von MAxim/Dallas) arbeiten zu dürfen. Dieser hat 33MIPs, > jedoch kostet dor ein Stück knapp 89Euro(bei 1k) ;-). Ja, das wär ein tolles Teil, kostet beim Reichelt 28 Öre, und das ist mir definitiv zu viel. > Aber warum brauchst du bitte 32MIPS?! Weil auch bei vorhandenen Interrupt-Prioritäten eine geringe MIPS-Zahl nicht reicht der Zündimpuls millisekündlich stimmen muss, sonst flackert die Lampe. Habe drei Interrupts: Nulldurchgang, Zündtimer, und USART-Receive bei 250Kbit/s und 16Mhz reichen definitiv nicht aus; Zumindest nicht bei meinen features: PreHEat, 2 Adressen für jeden Lichtkanal, 8 Kanäle, LCD, Online-Debug des DMX-Signals... Hm ich werde mir jetzt mal die 20MHz Dinger AVRs beim Reichelt or- dern und die DMX-Adressen auf 256 unsigned 8bit int beschränken. Vielleicht hilft das ja schon. Danke
Du brauchst bestimmt keine 32MIPS, 1ms ist ne elend lange Zeit, das schafft ein AVR dicke. Allerdings kann es bei ungeschickter Programmierung zu Jitter kommen dadurch, daß der AVR leider keine Prioritäten hat. In dieser Hinsicht ist ein 8051 (z.B. AT89C51ED2) wirklich günstiger, da er 4 Interruptprioritäten hat. Der maximale Jitter ist dann <1µs. Außerdem hat er ein 5-Kanal PCA und T2 kann einen Pin togglen, d.h. man kann auch 6 Ausgänge völlig jitterfrei realisieren. Sobald man sehr schnelle oder jitterarme Interrupts braucht, aber nebenbei noch andere Interrupts hat, ist der AVR leider ne Krücke. Peter
hm, also ich weiß nicht, vielleicht hab ich dich mißverstanden, aber der Jitter tritt auf, wenn der Timer abläuft, und eigentlich dann der Zünd-Pin getoggelt werden muß, aber gerade noch die USART am empfangen ist, zum Beispiel. Wie läßt sich das mit einem C51 beheben? Und gibt es einen C51, der nicht ganz so teuer ist? der Mega16 kostet 4 EUR, der von Dir beim reichelt 13,00; das muß auch anders (=billiger) gehen ^^... Christoph
"Wie läßt sich das mit einem C51 beheben?" Wenn Du dem Timer eine höhere Priorität gibst, dann unterbricht er einfach den UART-Interrupt. D.h. für den Timerinterrupt wäre es so, als gäbe es gar keinen UART-Interrupt. Es können also das unterbrochene Main und bis zu 3 unterbrochene Interrupts auf dem Stack liegen. Wer wen unterbrechen darf, legst Du einmalig nach dem Reset in den Prioritätsregistern fest. Peter
P.S.: Vergleiche nicht die MC-Preise, sondern vergleiche die Preise für das komplette Gerät. Und dann überlege nochmal, ob man sich für wenige % Unterschied den Kopf heiß machen muß. Im Prinzip sollte aber auch ein AT89S8253 reichen. Peter
> Vergleiche nicht die MC-Preise, sondern vergleiche die Preise für > das komplette Gerät. Hab ich, die MCU ist das teuerste, da ich außer MCU immer die gleichen Teile brauchen werde 4EUR <-> 12 EUR (ich bin ja nur ein armer Student, und bräuchte für die C51 wieder einen Programmierer und eine C-IDE; für den AVR hab ich das STK und CodeV.) > Und dann überlege nochmal, ob man sich für wenige % Unterschied > den Kopf heiß machen muß. Ja. Wenn die Lampe flackert, ist der Dimmer unbrauchbar. Und auf das UI aus Display, Klartextmeldungen und den eingebauten Features lege ich Wert ^^. Im Handel zahlt man für ne 6 Kanal-Version 240 EUR, mit diesen Features, ich hätte (und brauche für mich) aber 8 in einer Kiste... > Im Prinzip sollte aber auch ein AT89S8253 reichen. Hm das mit dem PCA hat mich auf eine Idee gebracht, hab schon wieder eine Frage gestellt... Danke Dir, Christoph
"Hab ich, die MCU ist das teuerste" Bei mir ist immer die Platine das teuerste und dann das Gehäuse, Netzteil, Display, Tasten usw. Peter P.S.: Für den AT89C51ED2 brauchst Du keinerelei Programmer, geht über die UART.
Hast du dir auch die 8051er von Analog angesehen. Also ADuC841 usw. ich weis zwar nicht wieviel die kosten, aber die wären auch etwas Flotter. Programmer brauchst du zb beim DS89C430 und beim ADuC nicht, denn die haben einen Bootloader. Und hast du schon mal geschaut wieviel es kost3en würde wenn du bei Microchip direkt bestellst?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.