1. Home
  2. Chat
  3. Forum
  4. Kalender
    1. Termine
    2. Karte
  5. Lexikon
    1. Letzte Änderungen
  6. Marktplatz
    1. Bewertungen
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Forum
  • Termine
  • Lexikon
  • Marktplatz-Eintrag
  • Seiten
  • Erweiterte Suche
  1. PA-Forum
  2. Forum
  3. Selbstbau
  4. Selbstbau und Reparatur Technik

MICROKONTROLLER kontra NORMALE SCHALTUNGEN

  • manuela
  • 16. Juli 2005 um 09:43
  • manuela
    Beiträge
    9.103
    • 18. Juli 2005 um 16:06
    • #21
    Zitat von "hwb"

    Es mag im Massenmarkt sicher gerechtfertigt sein wenn man mittels großem Personalaufwand seinen Assemblercode bis aufs letzte optimiert, da macht es sich bemerkbar wenn man dadurch ein paar Cent durch einen kleineren µC/DSP/FPGA spart.

    Die CPUs die ich meinte sind so klein und niedlich daß man außer Assembler garnichts anderes kennt...
    Die Praxis dazu besteht aus einer gepflegten Sammlung fertiger Unterprogramme die man umändert und einbindet. Nicht ganz konventionell aber durchaus effektiv, man erfindet das Rad auch da immer nur einmal 8)
    Labels und Zeilennummern muß er allerdings schon unterstützen sonst macht es wirklich keinen Spaß.

    die Feuerzeuge der Gäste sind kleine Sterne die am Himmel unseres Alltags weiterleuchten.

  • Michael D
    Beiträge
    721
    • 18. Juli 2005 um 17:21
    • #22

    Hi,

    also erstmal muss moderner Controller nicht gleich SMD bedeuten. Diese AVRs sind im Moment wohl so die modernsten 8 Bitter und sie sind aus gutem Grund bei den Hobbybastlern verbreitet. Die gibts z.B. bis Mega32 in DIL40 und auch so Sachen wie "In System Debugging" sind ganz nett. Wenn man bei nem Mikrocontroller als Hobbymensch mal die 32 KB Grenze überschreitet ist das Gesamtgerät sowiso schon so komplex, dass man normalerweise auch andere SMD Bauteile benötigt, sei es RAM oder Kommunikationskontroller für Ethernet usw, weil man eben viel mehr Pins braucht...
    SMD ist aber auch nicht wirklich schlimm. Gut, auf Lochraster isses bischen schwierig, aber mit selbstgeätzen Platinen kein Problem. Entscheident ist lediglich die Vorlage, die muss scharf und deckend sein. Der Rest geht mit alten Düppchen aus der Küch... TQFP ging in kompletter Eigenproduktion jedenfalls bei mir noch, und ich hab kein spezial Ätzzeugs. Schwierig wirds erst bei BGA, aber auch da gibts ja schon Hobbylösungsansätze :)
    Und wenn man mal ein paar SMD Chips gelötet hat geht das auch einfacher und schneller als DIL, ganz zu schweigen vom einfacheren Layout...
    Zu den freien C Compilern: Für AVR gibts nen GCC, der soll ziemlich gut sein und sogar C++ können. Im 16 Bit Sektor hab ich mal einen M16C (ich finde ein cooles Teil!) verwendet. Da gibts soweit ich weiß ein Evalboard für 50€ wo der C Compiler auch schon dabei ist. Wenn man den Chip einzeln verbaut gibts den Compiler (NC30) und Debuger (KD30) auch als 6 Montate Testversion bei denen zum Download. Danach kann man den sich vermutlich für wenig Geld kaufen oder man schaut mal kurz in die Registry ;)
    Für den 32 Bit Sektor gibts soweit ich weiss auch einen M32C oder so, aber damit hab ich mich nicht auseinander gesetzt. So der Standart Controller für 32 Bit scheind aber auch ARM zu sein, und dafür gibts soweit ich weiss auch nen freien GCC.
    Für die Standart Lichttechnikaufgaben wüsste ich jetzt aber nichts, wofür man mehr als nen 16K AVR bräuchte...

    Michi

    P.S.: Multiplikations- und Divisionsroutinen für die AVRs gibts irgendwo auf der Atmel Webseite fertig optimiert. Durchaus auch für 16x16 Bit oder 32Bit / 16 Bit...

    http://www.digital-enlightenment.de/
    USB DMX Interface, Mediensteuerung, Demultiplexer, Multiplexer, Dimmer, Relaisboard, Art-Net

  • hwb
    Beiträge
    252
    • 18. Juli 2005 um 17:31
    • #23
    Zitat von "Manuela"


    Die Praxis dazu besteht aus einer gepflegten Sammlung fertiger Unterprogramme die man umändert und einbindet. Nicht ganz konventionell aber durchaus effektiv, man erfindet das Rad auch da immer nur einmal 8)


    Ganz im Gegenteil, code reuse liegt voll im Trend :wink:

  • Bassti
    Reaktionen
    1
    Beiträge
    1.055
    • 18. Juli 2005 um 17:55
    • #24

    Es ist verlockend alles mit nem uC zu machen, und so entstehen dann die Pseudo-Schalter, die ich hasse wie die Pest.
    Fallbeispiel(Hat weniger mit den Thread, als mit dem Trend zu tun): DVD-Standalone-Recorder:
    Wenn der abstürzt, dann geht nicht mal mer der Ein/Aus Schalter
    Ich musste das Ding schon ein paar mal vom Netz trennen -KEIN WITZ :!:
    Ich hasse es einfach, wenn man einen Schalter drückt, dass man dann warten muss, bis sich irgendeine Software bequemt etwas zu unternehmen,
    die sowieso Priorität über Hardware hat, wie bei den CD/DVD-Brennern im Rechner.
    Wenn während dem Brennvorgang Nero abkackt, heisst das neu booten, um überhaupt mal wieder an seine Scheibe zu kommen.
    Sorry, aber wenn ich manuell eingreife und auf einen Schalter drücke, dann will ich schließlich dass was passiert, sonst brauch ich keinen :roll:

    Möge der Bass mit Euch sein! :D

  • skipper
    Beiträge
    296
    • 19. Juli 2005 um 01:47
    • #25

    Boah, da bin ich mal drei Tage nicht im Forum und dann dieser Thread mit meinem Thema.
    Als selbständiger Elektronikentwickler habe ich mich vor Jahren schon auf µCs spezialisiert.

    In vielen Foren wird natürlich das Thema "Maschinensprache vs. C" diskutiert.
    Ich sag's nur in diesem Forum: Alle Maschinensprachen-Freaks sollen so weitermachen :D
    Meine Kunden freuen sich an der Stabilität meiner Programme und der Zeit, in der ich sie fertig habe (natürlich in C).
    Zweifler sollten mal ein Testprogramm in C schreiben, sich das generierte Assemblerlisting anschauen und
    erkennen, was sie vergessen hätten, hätten sie's in Maschinensprache geschrieben.

    Wie sagte damals jemand? "PICs in C? Viel zu wenig Speicher!"
    Ich programmiere auch den 12C508 (512 byte) in C :D

    Kostenlose C-Compiler:

    PIC (nur 16F84) http://www.htsoft.com
    Microchip hat keinen eigen Compiler mehr und empfiehlt diesen (Vollversion)

    8051: sdcc von http://sdcc.sourceforge.net/

    AVR: WinAVR von http://winavr.sourceforge.net/


    Habe gerade ein Projekt: Temperaturmessung an zwei Kühlkörpern eines Low-Budget-Amps. Der wärmere
    der beiden steuert die beiden Lüfter. Bei niedriger Temperatur läuft kein(!) Lüfter. Starttemperatur wählbar,
    Temperatur für volle Kühlleistung ebenso. Beim Einschalten kurz "volle Power" wg. Staubentfernung :D
    Alle Parameter über RS232 einstellbar.
    Mit sowas verdiene ich nicht mein Geld, ist nur Lehrbeispiel.
    Bei Interesse veröffentliche ich Schaltbild, Layout und Hex-File.

    Nebenbei: Den M16C (Renesas, Ex-Mitsubishi) nutze ich auch sehr gern.

    Thomas

    navigare vivere est

  • Bassti
    Reaktionen
    1
    Beiträge
    1.055
    • 19. Juli 2005 um 22:37
    • #26

    Wenn sichs einer beweisen will, dass er alles back to the roots kann
    (was ja sicher nicht schlecht ist) soll er doch.
    Die Zeiten sind vorbei, wo man kartenweise logikbausteine zusammenlötet,
    wenn also hochsprachen da sind dann benutzt man diese auch.
    Wenn dann noch funktionen wie zb für atmelMEGA usw da sind um texte auf ein display zu schreiben, dann mach ich mir doch nicht den act und freu mich drüber, wie ich jedes segmet von hand ansteuere.
    ISt zwar nicht das thema, aber der ansatz ist derselbe.
    Lustig wirds dann, wenn das programm mit einem compiler compiliert tut und mit dem anderen nicht... auch schon erlebt.

    Möge der Bass mit Euch sein! :D

  • Henne
    Beiträge
    1.580
    • 19. Juli 2005 um 23:05
    • #27

    Bassti: Du kennst 'lpm', oder?

    Performancemäßig kann man mit C gut auf die Fresse fliegen, da es halt naturgemäß nicht die register perfekt einsetzen kann und eine ganze Menge ziemlich umständlich berechnet...

    Wenn man allmählich den Überblick in Assembler verliert und selbst Blödsinn macht, habt Ihr völlig Recht. C nimmt einem eine ganze Menge nachdenken ab...

    Wenn man hingegen die Performance braucht und halt die Ausführung 100%ig nachvollziehen muss, bleibt man bei Assembler.
    Ich zumindest finde disassembliertes C für AVR meist gruselig (exzessiver SRAM-Gebrauch, alles wird auf Teufel komm raus auf den Stack gemüllt...)

    X86 asm ist grauenvoll - da gebe ich Euch Recht. Aber kommentierter asm-Code für AVR liest sich doch fast genauso gut wie C.

    Wenn man das instruction set nicht beherrscht, fällt es natürlich einfacher auf sein C-Gebastel zu pochen und asm-Lösungen zu belächeln :roll:

    mein persönliches Fazit: Es gibt für beide Varianten sein Anwendungsgebiet - also sollte man bei ernsthafter Auseinandersetzung auch beides möglichst perfekt beherrschen!

    Hendrik

    Henne's Sites

  • manuela
    Beiträge
    9.103
    • 19. Juli 2005 um 23:40
    • #28
    Zitat von "Bassti"

    Die Zeiten sind vorbei, wo man kartenweise logikbausteine zusammenlötet.

    stimmt, PAL 8)

    die Feuerzeuge der Gäste sind kleine Sterne die am Himmel unseres Alltags weiterleuchten.

  • Michael D
    Beiträge
    721
    • 20. Juli 2005 um 03:13
    • #29

    Controller in C programmieren ist schon was schönes, gerade wenn eine grössere, komplexe, zeitunkritische Kontrollaufgabe gefordert ist. Und es hat in dem ganzen Thread auch niemand etwas gegenteiliges behauptet, von daher müssen wir das hier jetzt hoffentlich auch nicht ausdiskutieren. Wie der gcc für AVR ist hab ich noch nicht ausprobiert, der NC30 für M16C hat jedenfalls in der Regel effizienten Code generiert, den ich in ASM auch nicht anders geschrieben hätte. C Compiler sind (bzw. können sein) heute schon ziemlich ausgereift, ich kann mir aber durchaus vorstellen, dass sie sich mit einer Harvard Architektur wie bei den AVRs noch etwas schwerer tun, weils eben nicht wie beim PC ist.
    Wenns allerdings um zeitkritische Aufgaben geht (was ja in der Regel bei Microcontrollern der Fall ist) die man in C programmieren möchte, ist es schon sehr sinnvoll zu wissen wie der Compiler arbeitet, was er produziert und wie man es alternativ direkt in Assembler vielleicht besser machen könnte. Um ein bischen Text auf ein LCD zu schreiben oder ne Salve LEDs blinken zu lassen muss man sicherlich nicht unterhab von C schauen, aber wenn man z.B. einen Timerinterrupt hat, der mit 50 KHz aufgerufen wird und Zündpunkte für 8 Triacs aus 16 Bit Variablen ausgibt, dann macht man sich schonmal gedanken, ob das Hauptprogramm überhaupt nochmal zum Zuge kommt...

    Zitat

    Es gibt für beide Varianten sein Anwendungsgebiet - also sollte man bei ernsthafter Auseinandersetzung auch beides möglichst perfekt beherrschen!

    Full Ack! Selbst wenn man nur in C programmiert ist eine Vorstellung, was nacher rauskommt immernoch Gold Wert.

    Zitat

    Die Zeiten sind vorbei, wo man kartenweise logikbausteine zusammenlötet.
    stimmt, PAL

    Wie langweilig... ;) FPGA sind die Lösung, wenn einem die Microcontroller zu langweilig werden... Die aktuellsten sollen sogar die 1GHz Grenze durchbrechen (für einfache Logik).

    http://www.digital-enlightenment.de/
    USB DMX Interface, Mediensteuerung, Demultiplexer, Multiplexer, Dimmer, Relaisboard, Art-Net

  • manuela
    Beiträge
    9.103
    • 20. Juli 2005 um 06:23
    • #30

    wenn ich die Zeit hab nehm ich mir das auchmal vor.
    Ich benutz die alten Viecher für "untergeordnete Zwecke", zB als bequeme Bedienoberfläche für Geräte, mit Grafik-Display & Auswahltasten. Das sind keine Anwendungen für die man irgendwelches Tempo bräuchte

    die Feuerzeuge der Gäste sind kleine Sterne die am Himmel unseres Alltags weiterleuchten.

  • Bassti
    Reaktionen
    1
    Beiträge
    1.055
    • 22. Juli 2005 um 16:47
    • #31

    Mich würds eher mal interessieren wie das in assembler geht, hab ich noch nie gesehen :?

    Möge der Bass mit Euch sein! :D

  • manuela
    Beiträge
    9.103
    • 14. September 2005 um 12:18
    • #32

    Im Assembler hast du nur die Grundbefehle die das CPU direkt abarbeiten kann. Es geht quasi imer darum durch das Auslesen, berechnen und Schreiben von Registerinhalten einen Zweck zu realisieren. Jeder Chip der dranhängt hat seine Registerchen und ist direkt ohne Umwege erreichbar.
    Bei extrem optimierte Anwendungen werden auch Programmteile direkt überschrieben, in dem Punkt ist man gern mal "unfachgerecht" :P

    die Feuerzeuge der Gäste sind kleine Sterne die am Himmel unseres Alltags weiterleuchten.

  • chrickel
    Profi
    Beiträge
    454
    • 14. September 2005 um 17:04
    • #33

    Hallo zusammen,

    ich möchte noch einen Einwurf zur ursprünglichen Frage machen:

    Selbst wenn ein uC mehr kostet als die Handvoll diskreter Bauteile die man brauchen würde, um den selben Zweck zu erfüllen, kommen immer noch weitere Kosten dazu:

    - Leiterplattenherstellung: Diskret braucht man garantiert mehr Platinenfläche als integriert. Auch werden Vias nicht gratis gemacht.

    - Bestückungskosten: Ein Bestücker lebt davon, nach Bauteilen abzurechnen. Mehr Bauteile = mehr Kosten.

    - Siebdruck: Je aufwendiger eine Siebdruckmaske wird (vielleicht sogar zweiseitig), desto teurer, weil mehr Lötpaste draufgeht.

    Genau aus diesen Gründen werden z.B. Niedrigpreisfernostgroßstückzahlgeräte gerne auch COB-bestückt - hier wird es noch günstiger, da man sich die kompletten Gehäuse für die Halbleiter sparen kann.

    Und Was die SMD-Bestückung angeht: Dient in erster Linie auch nur der Kostenreduktion: Keine Bohrungen, höhere Packungsdichte -> weniger Platinenfläche. Und TQFP lässt sich auch wirklich prima noch von Hand verarbeiten. MLF hab ich ein paar mal gemacht, aber Spaß macht es nicht :) BGA sollte man Leuten überlassen, die sich damit auskennen. :)

    By(t)e,
    Chrickel
    http://www.chrickel.eu

  • mathematiker
    Beiträge
    36
    • 19. September 2005 um 23:28
    • #34

    Zur Assembler kontra Hochsprachen-Diskussion.
    Ich programmiere keine Microcontroler, aber ich war eine Zeitlang im High Performance Computing (HPC) taetig. Das ist zwar etwas anders, aber die Assembler-contra-Hochsprache-Diskussion ist auch dort relevant.

    Unsere Gruppe entwickelte und implementierte unter anderem den weltweit schnellsten seriellen FFT-Algorithmus.
    Grundsaetzlich war die gesamte Umgebung in Hochsprachen abgefasst, aber die tatsaechlichen Rechenroutinen wurden nicht nur disassembliert (ohne direkte Kontrolle geht im HPC kaum etwas, weil die Compiler leider etwas eigenartig sind...) sondern es wurde auch in Assembler direkt programmiert. Grund war schlicht die Performance.

    In zeitkritischen Anwendungen werden auch heute noch die Kernroutinen meiner Ansicht nach am Besten in Maschinensprache abgefasst. Ich denke, das gilt auch fuer die Microcontroller.

    Gruss,

    Mathematiker

    Die Wurfweite der Boxen ist abhaengig vom Wurfwinkel.
    Der Einfluss des Gewichts der Boxen kann durch Muskelkraft der Hands ausreichend kompensiert werden.

  • manuela
    Beiträge
    9.103
    • 30. September 2005 um 07:30
    • #35

    wir haben ein kleines CPU-System als steuerndes Zentrum für hochklassige Amps entwickelt. Es muß vor allem den Bedienknopf lesen, die analoge Peripherie und das TFT Display steuern.
    Das Ding schuftet vollständig in Assembler, es war der einzige machbare Weg dafür, dabei verwendet es zahlreiche Auslesetabellen die die "Erfahrung" darstellen und gleichzeitig das Ausrechnen von Ergebnissen einsparen.
    Assemblerlösungen sind doch einfacher realisierbar als es anfangs aussieht und imho auch der richtige Weg für viele Anwendungen.
    Das eigentlich reizvolle ist das Entwickeln der Umgebung des CPU, sie bestimmt in hohem Maße wieviel der überhaupt zu rechnen hat wenns rundgeht. Somit eine Symbiose aus Analog + CPU.

    die Feuerzeuge der Gäste sind kleine Sterne die am Himmel unseres Alltags weiterleuchten.

Anstehende Termine

  • Kombiseminar Sachkundiger für Anschlagmittel und Traversensysteme (AnschlägerPlus)

    Dienstag, 29. September 2026 – Donnerstag, 1. Oktober 2026
  • Sachkunde für Fliegende Bauten

    Dienstag, 29. September 2026 – Donnerstag, 1. Oktober 2026
  • PA-Forum Stammtisch LeatCon

    Dienstag, 6. Oktober 2026, 13:00 – 14:00
  • PA-Forum Stammtisch LeatCon

    Mittwoch, 7. Oktober 2026, 13:00 – 14:00
  • PA-Forum Stammtisch LeatCon

    Donnerstag, 8. Oktober 2026, 13:00 – 14:00

Letzte Themen

  1. Ersatzteilversorgung Lautsprecher (speziell Seeburg A3 MKII)

    Hanseat
    29. September 2026 um 18:25
  2. Neues Online-Simulationstool für Treiber / Gehäuse / Leistung / Filter

    Blancblue
    29. September 2026 um 13:16
  3. Subwoofer 80cm x 40cm x 80cm

    zegi
    28. September 2026 um 17:06
  4. Frontschaum in "Würfeloptik"

    Blancblue
    28. September 2026 um 15:41
  5. ADJ Entour Venue Hazer: Frage zum Heizelement

    skippa
    27. September 2026 um 10:16
  6. EU Cyber Resilience Act (CRA)

    alexanderjoseph
    26. September 2026 um 20:14
  7. 17. - 18. November | PA Rigging & Truss Safety mit Tom Greber

    Soundchecker
    23. September 2026 um 10:33
  8. 13. - 14. Oktober | Live Mixing Workshop mit Jörn Müller in Köln

    Soundchecker
    23. September 2026 um 10:30
  9. können das hier (Foto) die original Weichen der KMT CS215 / CM215 sein ?

    phattomatic
    23. September 2026 um 09:12
  10. RCF: "Bass Motion Control" vs. "XBoost" => Ähnliche Funktionalität unter zwei verschiedenen Etiketten oder relevante Unterschiede?

    Hanseat
    21. September 2026 um 22:21
  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™