Hallo! Bevor ich jetzt mit der Programmierung anfange, möchte ich die Pins am ATTiny84 erst einmal Zuordnen. Vcc, GND, 1/Reset(Pin4) sind vorgegeben. Wie verteile ich am besten die benötigten 2*ADC und 5*I/O? 1) Willkürlich, geschmackssache? 2) PB0-2 für ADC und PA0-7 für I/O? 3) Oder Pin2-7 für Eingänge und Pin8-13 für Ausgänge?
Pins sind meisst mehrfach belegt. Was wo anzuschliessen ist, entscheidet meisst die Verwendung der externen Bausteine (i.e. U(S)ART, SPI, I2C, ...) sowie dein Layout.
Am besten so, dass es für's Layout gut passt :) (und natürlich primär auf die Funktionen der Mikrocontroller-Pins schauen).
4) Willkürlich, dem Zweck angepasst. Dabei gilt es aber zu beachten, dass PortB nicht am ADC angeschlossen ist. Dafür bleibt dir nur PortA.
Natürlich primär auf die Funktionen der einzelnen Pins achten! Da ich kleine Schaltungen auf Lochraster aufbaue, ist eine Layoutvorgabe zu vernachlässigen. Aber, macht es Sinn die Pins in örtlichen Gruppen sortieren (wenn es die Pin-Funktionen zulassen)? D.h. alle Ausgänge nebeneinander, alle Eingänge und die beiden ADC beisammen?
Fürs Übersprechen ist es jedenfalls sinnvoll, empfindliche Eingänge (wie z.B. die ADCs) nicht direkt neben getaktete Ausgänge zu legen.
Matthias S. schrieb: > Fürs Übersprechen ist es jedenfalls sinnvoll, empfindliche Eingänge (wie > z.B. die ADCs) nicht direkt neben getaktete Ausgänge zu legen. Danke, toller Tipp, hatte ich ursprünglich aus optischen Gründen vor gehabt.
:
Bearbeitet durch User
__Son´s B. schrieb: > Aber, macht es Sinn die Pins in örtlichen Gruppen sortieren (wenn es die > Pin-Funktionen zulassen)? Es kann u.U. auch sinnvoll sein, die Signal auf Ports (nicht Pins) so zu verteilen, dass es die Software bei der Bedienung einfacher hat; z.B. willst Du die Datenbits eines LCDs bestimmt nicht auf verschiedene Ports wild verteilen ;-) Gruß Dietrich
Dietrich L. schrieb: > dass es die Software bei der Bedienung einfacher hat; z.B. > willst Du die Datenbits eines LCDs bestimmt nicht auf verschiedene Ports > wild verteilen ;-) klaro, wenns nicht anders geht, sub machen die das von einem Byte aufdröselt.
Dietrich L. schrieb: > die Signal auf Ports (nicht Pins) Unter "Pin" versehe ich den Hardware-Pin (1-14) des uC. Nicht PORTx oder PAx/PBx oder ADCx.
__Son´s B. schrieb: > Dietrich L. schrieb: >> die Signal auf Ports (nicht Pins) > > Unter "Pin" versehe ich den Hardware-Pin (1-14) des uC. > Nicht PORTx oder PAx/PBx oder ADCx. Ja, genau so habe ich das auch verstanden. Aber wenn man bestimmte Signale auf PORTx aus Softwaregründen zusammen legen will/muss, hat man nur beschränkte Freiheitsgrade bezüglich der Pins. Gruß Dietrich
__Son´s B. schrieb: > Unter "Pin" versehe ich den Hardware-Pin (1-14) des uC. > Nicht PORTx oder PAx/PBx oder ADCx. Ja und? In der Regel gib's entweder ein feste Zuordnung der Funktionen oder bestenfalls ein mehr oder weniger variables Mapping. Im Idealfall gibt es ein vollkommen freies Mapping, dieser Idealfall heisst aber sicher deswegen so, weil er halt fast nie in der Praxis auftritt... Man ordnet also zuerst das zu, was zwangsläufig ist, dann überlegt man, wie man den Rest so zuordnet, dass sich insgesamt das beste Ergebnis ergibt. In den meisten Fällen ist allerdings das, was herauskommt, in vielerlei Hinsicht ein Kompromiss zwischen sich widersprechenden Optimierungszielen. Wa genau war eigentlich dein Problem, du Troll?
c-hater schrieb: > Wa genau war eigentlich dein Problem, du Troll? Er weiß halt nicht wie er die Signale verteilen soll. Also nach Feng Shui oder doch nach optischen Aspekten. Oder wie 70-80% der User hier, anhand des späteren Layouts, es sei denn, es ist nur zum spielen oder "Proof of Concept".
die Frage nach der Zuordnung ist doch berechtigt. Es gibt leider keine Standards. Ich verwende die 20pin-Schnittstelle des myAVR-boards und habe sie leicht abgewandelt, so dass man sie zum avr-programmieren verwenden kann: /m328 //d0 d1 d2 d3 d4 d5 d6 d7 b2 b3 b4 b5 ++ -- rst c1 c2 c3 c4 c5 Eine spi-Schnittstelle, i2c und wenns geht ein komplettes 8-bit Register sollten herausgeführt werden, PWM und ADC sollten vorhanden sein. Das passt dann ziemlich universal auch für ARMs.
grundschüler schrieb: > die Frage nach der Zuordnung ist doch berechtigt. Es gibt leider keine > Standards. Genau darum meine Anfrage! Dennoch haben sich hier einige gemeinsame Nenner gefunden. Somit für mich recht ergiebig - DANKE!
Auswahl der Pins kann eine Wissenschaft für sich sein, oder sehr simpel. Hängt von den Randbedingungen ab. Solange man nur wenige Funktionen und IO-Pins nutzt ist es für die meisten Hobby-Anwendungen relativ egal welchen Pin man für was auswählt. Schwierig wird's erst wenn man den Controller ausreizt, wg. der vielen Mehrfachbelegungen (zB. CAN auf den gleichen Pins wie SPI, also muss SPI weichen. Die alternativen SPI-Pins verdrängen dann wiederrum einen interrrupt). Bei meinem letzten Projekt hab ich 2 Wochen gerbraucht bis ich eine Konfiguration gefunden habe, bei der ich alle Funktionen nutzen kann. Von da auch mein Tipp, wenn es nicht in Großserie gehen soll, lieber einen Controller 2-3 Nummern Größer nehmen, dann kann man sich die Pins nach Gutdünken auswählen und kann sich z.B. das PCB-Design und die Software erheblich vereinfachen.
Fabian F. schrieb: > Von da auch mein Tipp, wenn es nicht in Großserie gehen soll, lieber > einen Controller 2-3 Nummern Größer nehmen, Kann ich aus eigener, leitvoller Erfahrung bestätigen. Bin jetzt bei der 3ten Grösse und ist noch kein LCD-Display oder USB-Terminal dran.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.