beginner_de
beginner_de
beginner_de
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