02.05.2013 Aufrufe

beginner_de

beginner_de

beginner_de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Avr-Asm-Tutorial S. 13<br />

• Ist für die Programmierung proprietäre Herstellersoftware nötig?<br />

3.6 Wie plane ich ein Projekt in Assembler?<br />

Hier wird erklärt, wie man ein einfaches Projekt plant, das in Assembler programmiert wer<strong>de</strong>n soll.<br />

Weil die verwen<strong>de</strong>ten Hardwarekomponenten eines Prozessors sehr vieles vorweg bestimmen, was<br />

und wie die Hard- und Software aufgebaut wer<strong>de</strong>n muss, zunächst die Überlegungen zur Hardware.<br />

3.6.1 Überlegungen zur Hardware<br />

In die Entscheidung, welchen AVR-Typ man verwen<strong>de</strong>t, gehen eine Vielzahl an Anfor<strong>de</strong>rungen ein.<br />

Hier einige häufiger vorkommen<strong>de</strong> For<strong>de</strong>rungen zur Auswahl:<br />

1. Welche festen Portanschlüsse wer<strong>de</strong>n gebraucht? Feste Portanschlüsse sind Ein- o<strong>de</strong>r Ausgänge<br />

von internen Komponenten, die an ganz bestimmten Anschlüssen liegen müssen und<br />

nicht frei wählbar sind. Sie wer<strong>de</strong>n zuerst zugeordnet. Komponenten und Anschlüsse dieser<br />

Art sind:<br />

2. Soll <strong>de</strong>r Prozessor in <strong>de</strong>r Schaltung programmiert wer<strong>de</strong>n können (ISP-Interface), dann wer<strong>de</strong>n<br />

die Anschlüsse SCK, MOSI und MISO diesem Zweck fest zugeordnet. Bei entsprechen<strong>de</strong>r<br />

Hardwaregestaltung können diese als Eingänge (SCK, MOSI) o<strong>de</strong>r als Ausgang doppelt<br />

verwen<strong>de</strong>t wer<strong>de</strong>n (Entkopplung über Wi<strong>de</strong>rstän<strong>de</strong> o<strong>de</strong>r Multiplexer empfohlen).<br />

3. Wird eine serielle Schnittstelle benötigt, sind RXD und TXD dafür zu reservieren. Soll zusätzlich<br />

das RTS/CTS-Hardware-Protokoll implementiert wer<strong>de</strong>n, sind zusätzlich zwei weitere<br />

Portbits dafür zu reservieren, die aber frei platziert wer<strong>de</strong>n können.<br />

4. Soll <strong>de</strong>r Analogkomparator verwen<strong>de</strong>t wer<strong>de</strong>n, dann sind AIN0 und AIN1 dafür zu reservieren.<br />

5. Sollen externe Signale auf Flanken überwacht wer<strong>de</strong>n, dann sind INT0 bzw. INT1 dafür zu<br />

reservieren.<br />

6. Sollen AD-Wandler verwen<strong>de</strong>t wer<strong>de</strong>n, müssen entsprechend <strong>de</strong>r Anzahl benötigter Kanäle<br />

die Eingänge dafür vorgesehen wer<strong>de</strong>n. Verfügt <strong>de</strong>r AD-Wandler über die externen Anschlüsse<br />

AVCC und AREF, sollten sie entsprechend extern beschaltet wer<strong>de</strong>n.<br />

7. Sollen externe Impulse gezählt wer<strong>de</strong>n, sind dafür die Timer-Input-Anschlüsse T0, T1 bzw.<br />

T2 zu reservieren. Soll die Dauer externer Impulse exakt gemessen wer<strong>de</strong>n, ist dafür <strong>de</strong>r<br />

ICP-Eingang zu verwen<strong>de</strong>n. Sollen Timer-Ausgangsimpulse mit <strong>de</strong>finierter Pulsdauer ausgegeben<br />

wer<strong>de</strong>n, sind die entsprechen<strong>de</strong>n OCx-Ausgänge dafür zu reservieren.<br />

8. Wird externer SRAM-Speicher benötigt, müssen alle nötigen Address- und Datenports sowie<br />

ALE, RD und WR dafür reserviert wer<strong>de</strong>n.<br />

9. Soll <strong>de</strong>r Takt <strong>de</strong>s Prozessors aus einem externen Oszillatorsignal bezogen wer<strong>de</strong>n, ist<br />

XTAL1 dafür zu reservieren. Soll ein externer Quarz <strong>de</strong>n Takt bestimmen, sind die Anschlüsse<br />

XTAL1 und XTAL2 dafür zu verwen<strong>de</strong>n.<br />

10.Welche zusammenhängen<strong>de</strong>n Portanschlüsse wer<strong>de</strong>n gebraucht? Zusammenhängen<strong>de</strong> Portanschlüsse<br />

sind solche, bei <strong>de</strong>nen zwei o<strong>de</strong>r mehr Bits in einer bestimmten Reihenfolge angeordnet<br />

sein sollten, um die Software zu vereinfachen.<br />

11.Erfor<strong>de</strong>rt die Ansteuerung eines externen Gerätes das Schreiben o<strong>de</strong>r Lesen von mehr als einem<br />

Bit gleichzeitig, z.B. eine vier- o<strong>de</strong>r achtbittige LCD-Anzeige, sollten die nötigen Portbits<br />

in dieser Reihenfolge platziert wer<strong>de</strong>n. Ist das z.B. bei achtbittigen Interfaces nicht möglich,<br />

können auch zwei vierbittige Interfaces vorgesehen wer<strong>de</strong>n. Die Software wird vereinfacht,<br />

wenn diese 4-Bit-Interfaces links- bzw. rechtsbündig im Port angeordnet sind.<br />

12.Wer<strong>de</strong>n zwei o<strong>de</strong>r mehr ADC-Kanäle benötigt, sollten diese in einer direkten Abfolge (z.B.<br />

ADC2/ADC3/ADC4) platziert wer<strong>de</strong>n, um die Ansteuerungssoftware zu vereinfachen.<br />

13.Welche frei platzierbaren Portbits wer<strong>de</strong>n noch gebraucht? Jetzt wird alles zugeordnet, was

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!