uC Pin-Belegung >>> willkürlich?

OP #4516868
Lesenswert?

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?
OP #4516925
Lesenswert?

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?
#4516948
Lesenswert?

__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
#4517055
Lesenswert?

__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
Gast #4517677
Lesenswert?

__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?
Gast #4517946
Lesenswert?

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".
Gast #4517971
Lesenswert?

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.
#4518374
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren