Tips & Tricks

Softwareentwicklung

  • Fujitsu FÂČMC-16LX-Complier mit Eclipse benutzen:

    Es gibt inzwischen ein freies PlugIn fĂŒr die Eclipse-IDE mit dem man Projekte fĂŒr die Fujitsu-Controller ziemlich komfortabel erstellen kann. Das PlugIn stammt von Christian Illy, ist also nicht direkt von Fujitsu. Aber es gibt eine offizielle Applikation Note von Fujitsu, die erklĂ€rt, wie das PlugIn funktioniert.


  • ASCII-Ausgaben z.B. via RS232:

    Prinzipiell sind in der C-Library alle ANSI-C-Funktionen definiert, allerdings fehlen fĂŒr die IO-Funktionen ein paar Low-Level-Funktionen, die man selber schreiben muss. Aus diesem Grund ist es nicht möglich direkt ein “printf()” zur Ausgabe ĂŒber die RS232-Schnittstelle zu benutzen. (Auf der Website von Fujitsu erklĂ€rt ein Beispielprogramm, wie diese Low-Level-Funktionen auszusehen haben.)

    Wenn man sich diesen ganzen Aufwand sparen möchte, kann man allerdings sehr gut die Funktion “sprintf()” fĂŒr die Konvertierung von Zahlen in ASCII benutzen. Diese Funktion arbeitet genau wie “printf()”, gibt den String aber in den Speicher aus. Allerdings hat auch diese Funktion einen Harken: Sie benötigt genau, wie die “printf()"-Funktion sehr viel Speicher auf dem Stack. Um genau zu sein sind es wohl um die 1200 Byte. Aus diesem Grund muss bei der Verwendung dieser Funktion unbedingt der User-Stack in dem File “start.asm” vergrĂ¶ĂŸert werden. Der Defaultwert liegt bei 384 16-Bit Worten. Je nach Stackbedarf der anderen Funktionen ist es sinnvoll diesen Wert zu verdoppeln.

    Interessant wĂ€re noch mal ein Satz Funktionen zur Zahlenumwandlung, dessen Funktionsumfang zwar geringer ist, aber der auch viel weniger Speicher fĂŒr den Stack belegt. Wer solche Funktionen noch irgendwo “rumliegen” hat, kann ja mal bescheid sagen!

Hardwareentwicklung

  • Der interne Watchdog:

    Der im Controller integrierte Watchdog-Timer scheint nicht zuverlĂ€ssig zu arbeiten. Softwarefehler lassen sich mit dieser Funktionseinheit abfangen (Neustart des Programms nach Fehler), aber bei Hardwareproblemen ist die Funktionssicherheit nicht gegeben. Z.B. hatte ich bisher mehrfach das Problem, dass die Controller bei eingeschalteten Watchdog bei Spannungsspikes und Drops einfach abgestĂŒrzt sind und der Watchdog nicht angesprungen ist. Ich setze inzwischen grundsĂ€tzlich einen externen Watchdog-Baustein ein, wenn eine Watchdog-Funktion benötigt wird.

  • **Beschaltung der IO-Pins:
    **GrundsĂ€tzlich sollten alle IO-Pins, wenn sie nicht benötigt werden entweder auf ein festes Potential gelegt werden oder ĂŒber PullUp oder Down-WiderstĂ€nde beschaltet sein. Die Port-Pins selbst besitzen intern keine Pull-WiderstĂ€nde. Ggf. kann man auch die nicht benötigten Pins via Software als Ausgang schalten. Allerdings habe ich die Erfahrung gemacht, dass in diesem Fall teilweise zu Problemen bei Programmierung ĂŒber die RS232-Schnittstelle kommt.

    Wenn die IO-Pins als Eingang dienen muss beachtet werden, dass es sich um CMOS-EingÀnge handelt. D.h. auch hier sind entweder PullUp-WiderstÀnde oder HCT/ACT-Bausteine vor zu sehen, wenn noch weitere Logikschaltungen an den Controller angeschlossen werden sollen..

Erstaunlicherweise gibt es kaum Informationen zu den Fujitsu-Controllern aus unabhĂ€ngigen Quellen. Der Grund ist wahrscheinlich, dass die Controller vorwiegend im professionellen Bereich (d.h. in großen StĂŒckzahlen) eingesetzt werden. In diesen FĂ€llen bekommt man natĂŒrlich direkt Support vom Hersteller oder dem Distributor.

  • MHS-Elektronik
    Tiny-CAN Controllerboard mit MB90F598 mit Schaltplan, Software usw. Das gesamte Projekt ist GNU/Freeware.

  • Can AT Home
    Auf dieser Seite wird ein Do-it-yourself Hausbussystem auf CAN-Basis vorgestellt, das unter anderem einen Fujitsu MB90F497 Controller einsetzt. Die Hard- und die Software sind vollstÀndig beschrieben und können heruntergeladen werden.

Wer weitere Links mit Informationen zu den Controllern kennt, darf sie mir gerne per Email schicken!! Danke!