Forum: Mikrocontroller und Digitale Elektronik uC Pin-Belegung >>> willkürlich?


von __Son´s B. (bersison)


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?

von Random .. (thorstendb) Benutzerseite


Lesenswert?

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.

von zebra (Gast)


Lesenswert?

Am besten so, dass es für's Layout gut passt :) (und natürlich primär 
auf die Funktionen der Mikrocontroller-Pins schauen).

von M. P. (phpmysqlfreak)


Lesenswert?

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.

von __Son´s B. (bersison)


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?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Fürs Übersprechen ist es jedenfalls sinnvoll, empfindliche Eingänge (wie 
z.B. die ADCs) nicht direkt neben getaktete Ausgänge zu legen.

von __Son´s B. (bersison)


Lesenswert?

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
von Dietrich L. (dietrichl)


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

von Joachim B. (jar)


Lesenswert?

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.

von __Son´s B. (bersison)


Lesenswert?

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.

von Dietrich L. (dietrichl)


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

von c-hater (Gast)


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?

von AvD (Gast)


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".

von grundschüler (Gast)


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.

von __Son´s B. (bersison)


Lesenswert?

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!

von Fabian F. (fabian_f55)


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.

von __Son´s B. (bersison)


Lesenswert?

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
Noch kein Account? Hier anmelden.