Hallo, mir scheint, die Typenfielfalt an uC ist gerade mal wieder am Explodieren. Bei Atmel ist der AVR 8-bit Typ interessant. Ebenso der kommende XMEGA der bis 32MHz taktbar sein soll (32MIPS) und für eine Portanweisung nur 1Takt benötigen soll. Bei Ti kenne ich den MSP430F1xx (16-bit). Dieser ist mit max. 8MHz Taktbar (8MIPS). Die haben auch Derivate wie den MSP430F2xx der mit 16MHz taktbar ist (16MIPS), sowie neu den MSP430F5xx der bis 25MHz taktbar sein soll (25MIPS). Nun gibt es auch noch andere Architekturen (ARM) der bereits erwähnten Hersteller , sowie Typen von Renesas, Infineon, Microcip ..... Möchte hier somit eine Vergleichsdiskusion starten. Es geht mir vor allem um die Schaltzeiten der Ports, max. Taktung sowie die MIPS. Typ: ATmega xx 8-bit Verfügbar: Ja, nein oder ab.... Architektur: RISC VCC Bereich: 1,8V - 5,5V Max. spezifizierte Taktrate: 20MHz @ 4,5V - 5,5V MIPS: 20 Übertakten möglich mit Hz: keine Ahnung Portpinanweisung: Set Bit in I/O Register 2 Takte Instruction Set Liste: Anhang
Vergess das hier und fang doch einen Artikel an -- dann kannste ne schöne Tabelle basteln und dich gleich zum Wettbewerb anmelden^^
Um mal auf die Titelfrage zu antworten: Ich lasse meine MCs meistens mit 1MIPS laufen. Das reicht in der Regel vollkommen aus und hat genug Reserven. Peter
Seh ich so, wie Peter. Ich nutze meist ein 3,6864 MHz-Quarz für "saubere" Baudraten (AVR), und es gibt bei mir kaum Anwendungen, in denen mehr als 10% der Rechenleistung gebraucht werden.
Für was für eine Applikation benötigst Du denn diese Tabelle? (Ohne konkrete Anforderungen könntest Du genausogut mit gleicher Sinnhaftigkeit die Farben der Gehäuse vergleichen.)
ElTorro wrote: > Für was für eine Applikation benötigst Du denn diese Tabelle? > (Ohne konkrete Anforderungen könntest Du genausogut mit gleicher > Sinnhaftigkeit die Farben der Gehäuse vergleichen.) Ich brauch sie nicht, aber ich halt ne Tabelle für allemal sinnvoller, als in einem Fred zig Beiträge zu sammeln, oder?
Hallo, habe doch geschrieben: Es geht mir vor allem um die Schaltzeiten der Ports. Also in wieviel Takten wird auf eurem Typ ein Portpin setz, lösch Befehl abgearbeitet. Wieso kann man nicht einfach nur die "Tabelle" fortführen wenn man möchte und wenn nicht, dann eben nicht.
Es gibt keine langsamen µC's! Die Programmierung ist das Entscheidende! (Algorythmus) Gruß Fred
> Es geht mir vor allem um die Schaltzeiten der Ports. > Also in wieviel Takten wird auf eurem Typ ein Portpin setz, lösch > Befehl abgearbeitet. Warum ist das denn so wichtig? Da wird sich nicht soviel unterscheiden bei den einzelnen µCs.
Hi Da das Setzen eines Ports selten aus reinem Selbstzweck passiert, sondern eine teilweise umfangreiche Entscheidungsfindung vorangeht, spielt die Schaltzeit des Ports meist eine sehr untergeordneter Rolle. Auch für die Auswahl eines Controllers ist das wahrscheinlich das letzte Kriterium. Aber wenn es dir hilft. Ich werde dich nicht davon abhalten. MfG Spess
BTW: Neuere AVRs, die bis 20Mhz spezifiziert sind (zum Beispiel ATMega2560), laufen auch noch mit von mir getesteten 32Mhz zuverlässig, wenn das EEPROM gerade nicht gebraucht wird. Der integrierte Prescaler kann zum Betrieb bei sicherer Frequenz zur Laufzeit auf /2 gesetzt werden, bei zeitkritischen Portzugriffen kann man dann "hochschalten".
Nur zum Bleistift: ein AVR 8-bit benötigt fürn setz, lösch Befehl eines Portpins 2 Takte. ein AVR 8-bit XMEGA benötigt 1 Takt ein MSP430F149 benötigt meineswissens 6 Takte (jedoch nicht ganz sicher meinerseits) und deswegen frage ich. Wieviel Takte benötigt jetzt ein PIC, ein R8C oder was es sonst noch so bekanntes und von den Usern dieses Forums genutztes gibt.
Gast wrote: > Nur zum Bleistift: > > ein AVR 8-bit benötigt fürn setz, lösch Befehl eines Portpins > 2 Takte. Vosichtig damit, die neuen AVRs können einen Port auch mit nur einem Befehl "toggeln", nämlich indem man ins PIN-Register schreibt.
Gast wrote: > ein MSP430F149 benötigt meineswissens 6 Takte (jedoch nicht ganz sicher > meinerseits) und deswegen frage ich. Kommt drauf an. Das normale setzen des PxOUT dauert einige Takte. Allerdings braucht man das in der Praxis so gut wie nie, denn man hat ja die Hardware-Peripherie-Module, die das Pin-Getoggle übernehmen. Ich verwende z.B. gerne die Output-units der Timer, um genau definierte schnelle Signale zu erzeugen. UART, SPI usw. ist ja eh in Hardware. Für reines Togglen der Pins ist ja ein µC auch nicht unbedingt das Mittel der Wahl....
Die Geschwindigkeit eines Prozessors an der maximalen erzeugbaren Frequenz eines GPIOs (ausgenommen PWM Module o.ä.) zu messen ist, pardon, absoluter Schwachsinn. Auf sowas sind die 32 Bitter gar nicht mehr ausgelegt. Da geht es nur darum, dass man möglichst viele Funktionseinheiten hat (zB I2C, MAC, I2S, AC97, was auch immer).
Wenn ich meinen µC mit dem Auto mitnehme ist der µC bis zu 220km/h schnell.
Wer von euch macht bei der µC-Auswahl überhaupt einen Vergleich mittels MIPS-Angabe ? Selbst bei diversen Präsentationen von Herstellern wird immer darauf hingewiesen, dass die MIPS Angabe nur ein Marketing-GAG ist. Denn jeder Hersteller benchmarkt seine Produkte so, dass sie sich von den anderen positiv abheben. Daher ist heutzutage die MIPS-Angabe nicht mehr representativ, ich wüsste auch nicht, dass ich für ein Projekt anhand einer MIPS-Angabe jemals eine Controllerauswahl gemacht hätte, bei mir kam es immer auf das Pinning und die onchip befindlichen Einheiten und deren Fähigkeiten an und natürlich auf den Preis. Ob nun AVR, PIC oder MSP, ich denke bis für ein paar wenige Spezialaufgaben sind sie funktional alle gleichwertig. Wobei in den letzten Monaten wurde von Elektor der Eindruck vermittelt, dass LED´s mit MSP´s buntere Farben erzeugen könnten (WITZ!). Wenn da mal nicht ein gewisser Einfluss seitens Ti vorhanden war!
Gebt mir ein Brett, und ich beiß da rein. nach welchen Kriterien ich meine uC auswähle, müsst ihr schon mir überlassen. Hängt meinetwegen die Instruction Set List eurer uCs ausser Atmel, die habe ich schon, rein und dann passts. Habe aber das unterschwellige Gefühl, es sind nur AVRs hier unterwegs und die Anderen haben kein Interesse hier zu posten oder wissen es nicht. Ist ja alles i.o. aber wenn man nichts als flotte Sprüche zum Besten gibt, die dem Fragesteller nichts nutzen, hätte man's "vielleicht" auch sein lassen können. Möchte euch folgendes Schema vorgeben. 1. Kann ich die Frage nach wieviel Takte benötigt mein uC um den Portpin zu toggeln, mit 1,2,3,4,5,6.... beantworten? true, false 2. Will ich das beantworten? true, false Wie ich diese Information verwerte, überlasst bitte mir. Habt ihr nur true, herzlich willkommen. Habt ihr nur einmal false, danke dass ihr euch die Mühe zum Lesen gemacht habt. So, nu erwarte ich das dicke B
Suchst du jetzt ein Mikrocontroller, der möglichst schnell GPIO Pins togglen lassen kann? Dann solltest du vielleicht eher auf einen FPGA umschwenken. Die Dinger sind für sowas eher gedacht. Zum Vergleich: Ein AVR32UC3 (Mit allen Schikanen und drum und dran) Typ kann auf höchster Takt-Einstellung (bei denen er etwa 70 MIPS rechnet), wenn ich mich recht erinnere) den Pin kaum schneller togglen als ein AVR es kann. Und der AVR hat 16-20MIPS. Was soll der Vergleich über die Toggle-Geschwindigkeit? Ich weiß nicht, ob du dich schonmal in den AVR32/ARM Bereichen bewegt hast, aber die GPIOs (also simple Aus-/Eingänge sind in der Regel über ein eigenes GPIO-Modul (also ähnlich einem I2C, SPI, etc. Modul) realisiert). Deswegen wirst du kaum einen flotten 32-Bitter finden, der so dermaßen schnell toggeln kann.
Ich bin eben ganz zufrieden mit dem F340 von SiLabs: Nette Ausstattung, bis zu 48 MIPS, extrem wenig externe Beschaltung (nichtmal ein Quarz ist nötig). Auch nett ist, das ich die Geschwindigkeit variieren kann. Ich muss mich nicht per Fuse festlegen, sondern ändere on the fly per Programm. http://www.silabs.com/public/documents/tpub_doc/dsheet/Microcontrollers/USB/en/C8051F34x.pdf Bei SiLabs gibt es übrigens auch Typen, die mit bis zu 100 MIPS laufen: http://www.silabs.com/tgwWebApp/appmanager/tgw/tgwHome?_nfpb=true&_pageLabel=interactiveGuide Port-Pins können die natürlich auch toggeln. :-)
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.