beginner_de
beginner_de
beginner_de
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Avr-Asm-Tutorial S. 14<br />
keinen bestimmten Platz braucht.<br />
14.Wenn es jetzt wegen eines einzigen Portbits eng wird, kann <strong>de</strong>r RESET-Pin bei einigen Typen<br />
als Eingang verwen<strong>de</strong>t wer<strong>de</strong>n, in<strong>de</strong>m die entsprechen<strong>de</strong> Fuse gesetzt wird. Da <strong>de</strong>r Chip<br />
anschließend nur noch über Hochvolt-Programmierung zugänglich ist, ist dies für fertig getestete<br />
Software akzeptabel. Für Prototypen in <strong>de</strong>r Testphase ist für ISP ein Hochvolt-Programmier-Interface<br />
am um<strong>de</strong>finierten RESET-Pin und eine Schutzschaltung aus Wi<strong>de</strong>rstand<br />
und Zenerdio<strong>de</strong> gegenüber <strong>de</strong>r Signalquelle vonnöten (beim HV-Programmieren treten +12<br />
Volt am RESET-Pin auf).<br />
In die Entscheidung, welcher Prozessortyp für die Aufgabe geeignet ist, gehen ferner noch ein:<br />
• Wieviele und welche Timer wer<strong>de</strong>n benötigt?<br />
• Welche Werte sind beim Abschalten <strong>de</strong>s Prozessors zu erhalten (EEPROM dafür vorsehen)?<br />
• Wieviel Speicher wird im laufen<strong>de</strong>n Betrieb benötigt (entsprechend SRAM dafür vorsehen)?<br />
• Platzbedarf? Bei manchen Projekten mag <strong>de</strong>r Platzbedarf <strong>de</strong>s Prozessors ein wichtiges Entscheidungskriterium<br />
sein.<br />
• Strombedarf? Bei Batterie-/Akku-betriebenen Projekten sollte <strong>de</strong>r Strombedarf ein wichtiges<br />
Auswahlkriterium sein.<br />
• Preis? Spielt nur bei Großprojekten eine wichtige Rolle. Ansonsten sind Preisrelationen<br />
recht kurzlebig und nicht unbedingt von <strong>de</strong>r Prozessorausstattung abhängig.<br />
• Verfügbarkeit? Wer heute noch ein Projekt mit <strong>de</strong>m AT90S1200 startet, hat ihn vielleicht als<br />
Restposten aus <strong>de</strong>r Grabbelecke billig gekriegt. Nachhaltig ist so eine Entscheidung nicht.<br />
Es macht wesentlich mehr Mühe, so ein Projekt auf einen Tiny- o<strong>de</strong>r Mega-Typen zu portieren<br />
als <strong>de</strong>r Preisvorteil heute wert ist. Das "Portieren" en<strong>de</strong>t daher meist mit einer kompletten<br />
Neuentwicklung, die dann auch schöner aussieht, besser funktioniert und mit einem<br />
Bruchteil <strong>de</strong>s Co<strong>de</strong>s auskommt.<br />
3.6.2 Überlegungen zum Timing<br />
Geht ein Projekt darüber hinaus, ein Portbit abzufragen und daraus abgeleitet irgendwas an<strong>de</strong>res zu<br />
veranlassen, dann sind Überlegungen zum Timing <strong>de</strong>s Projektes zwingend. Timing<br />
• beginnt mit <strong>de</strong>r Wahl <strong>de</strong>r Taktfrequenz <strong>de</strong>s Prozessors,<br />
• geht weiter mit <strong>de</strong>r Frage, was wie häufig und mit welcher Präzision vom Prozesser erledigt<br />
wer<strong>de</strong>n muss,<br />
• über die Frage, welche Timing-Steuerungsmöglichkeiten bestehen, bis zu<br />
• wie diese kombiniert wer<strong>de</strong>n können.<br />
Wahl <strong>de</strong>r Taktfrequenz <strong>de</strong>s Prozessors<br />
Die oberste Grundfrage ist die nach <strong>de</strong>r nötigen Präzision <strong>de</strong>s Taktgebers.<br />
Reicht es in <strong>de</strong>r Anwendung, wenn die Zeiten im Prozentbereich ungenau sind, dann ist <strong>de</strong>r interne<br />
RC-Oszillator in vielen AVR-Typen völlig ausreichend. Bei <strong>de</strong>n neueren ATtiny und ATmega hat<br />
sich die selbsttätige Oszillator-Kalibration eingebürgert, so dass die Abweichungen vom Nominalwert<br />
<strong>de</strong>s RC-Oszillators nicht mehr so arg ins Gewicht fallen.<br />
Wenn allerdings die Betriebsspannung stark schwankt, kann <strong>de</strong>r Fehler zu groß sein. Wem <strong>de</strong>r interne<br />
RC-Takt zu langsam o<strong>de</strong>r zu schnell ist, kann bei einigen neueren Typen (z.B. <strong>de</strong>m ATtiny13)<br />
einen Vorteiler bemühen. Der Vorteiler geht beim Anlegen <strong>de</strong>r Betriebsspannung auf einen voreingestellten<br />
Wert (z.B. auf 8) und teilt <strong>de</strong>n internen RC-Oszillator entsprechend vor. Entwe<strong>de</strong>r per Fuse-Einstellung<br />
o<strong>de</strong>r auch per Software-Einstellung kann <strong>de</strong>r Vorteiler auf niedrigere Teilerverhältnisse<br />
(höhere Taktfrequenz) o<strong>de</strong>r auf einen höheren Wert umgestellt wer<strong>de</strong>n (z.B. 128), um durch