Forum: Mikrocontroller und Digitale Elektronik Atmel Start fehlerhaft? Atmel SAMD21E18


von Stefan S. (sschultewolter)


Angehängte Dateien:

Lesenswert?

Hallo,

ich plane gerade ein Platine mit dem SAMD21E18. Nun ist mir bei dem 
PinMapping aufgefallen, das PA28 nicht unterstützt wird.
[siehe Bild]

Im Datenblatt hingegen habe ich dazu nichts gefunden. Ist das ein Bug in 
Atmel Starter? Ich habe noch keinen SAMD aus der E Serie hier, um das 
kurz einmal auszutesten

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Dieser Pin ist beim SAML21E VDDcore (Pin 29, der beim SAMD21E VDDcore
ist, ist dort VSW).  Möglicherweise haben sie da ja was vermasselt …

von Stefan S. (sschultewolter)


Lesenswert?

Danke schon einmal für die Rückmeldung. Vielleich hat einer so einen im 
Einsatz, oder weiß näheres. Denke aber selber eher, dass es ein Fehler 
in der Atmel Anwendung ist.

Habe "leider" nur einen SAMD21 aus der G-Serie, aufgrund dessen das der 
sowieso mehr Pins hat, bringt ein Vergleich da nichts zum überprüfen-

: Bearbeitet durch User
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ich habe auch nur die J-Version hier.

von Rudolph R. (rudolph)


Lesenswert?

Ich habe generell den Verdacht, dass das Start noch in der Beta ist, das 
braucht wohl noch etwas Zeit.

von Stefan S. (sschultewolter)


Lesenswert?

Ob es je aus dem Beta-Status herauskommt? ;)

Mir geht es bei dem Atmel Start weniger um die Anbindung des ASFs. Viel 
Interessanter ist es, zu wissen, was man wie auf dem kombinieren kann.

Bei der AVR Programmierung (vorallem Attinys) musste man lange testen 
und mehrmals nachschlagen, um zu schauen, dass man sich die 
Schnittstellen nicht verbaut hat.
Im Atmel Start wird direkt der Vorschlag gemacht, auf welchen I/Os die 
Schnittstellen gelegt werden und wo nicht. Das ganze ist deutlich 
flexibler. Spart auch dann einiges an Arbeit beim Layout. Spare mir im 
vergleich zu anderen µC einen ganzen Haufen an Vias.
1
/* PORTA (Analog) */
2
#define PA0      GPIO(GPIO_PORTA, 2)
3
#define PA1      GPIO(GPIO_PORTA, 3)
4
#define PA2      GPIO(GPIO_PORTA, 4)
5
#define PA3      GPIO(GPIO_PORTA, 5)
6
#define PA4      GPIO(GPIO_PORTA, 6)
7
#define PA5      GPIO(GPIO_PORTA, 7)
8
9
/* PORTB */
10
#define PB0_SDA    GPIO(GPIO_PORTA, 8)
11
#define PB1_SCL    GPIO(GPIO_PORTA, 9)
12
#define PB2      GPIO(GPIO_PORTA, 10)
13
#define PB3      GPIO(GPIO_PORTA, 11)
14
#define PB4_TX    GPIO(GPIO_PORTA, 14)
15
#define PB5_RX    GPIO(GPIO_PORTA, 15)
16
#define PB6      GPIO(GPIO_PORTA, 27)
17
#define PB7      GPIO(GPIO_PORTA, 28) // Bug Atmel Start?
18
19
/* PORTC */
20
#define PC0_TX    GPIO(GPIO_PORTA, 16)
21
#define PC1_RX    GPIO(GPIO_PORTA, 17)
22
#define PC2      GPIO(GPIO_PORTA, 18)
23
#define PC3      GPIO(GPIO_PORTA, 19)
24
#define PC4_SS    GPIO(GPIO_PORTA, 22)
25
#define PC5_MISO  GPIO(GPIO_PORTA, 23)
26
#define PC6_MOSI  GPIO(GPIO_PORTA, 24)
27
#define PC7_SCK    GPIO(GPIO_PORTA, 25)
28
29
/* SWD */
30
#define SWCLK    GPIO(GPIO_PORTA, 30)
31
#define SWDIO    GPIO(GPIO_PORTA, 31)

von Rudolph (Gast)


Lesenswert?

Stefan S. schrieb:
> Bei der AVR Programmierung (vorallem Attinys) musste man lange testen
> und mehrmals nachschlagen, um zu schauen, dass man sich die
> Schnittstellen nicht verbaut hat.

Kann ich nicht bestätigen, die Belegung ist doch fest vorgegeben.
Man sieht doch recht schnell, ob man das Vorhaben mit dem Controller 
umsetzen kann oder nicht.

von Peter D. (peda)


Lesenswert?

Stefan S. schrieb:
> Bei der AVR Programmierung (vorallem Attinys) musste man lange testen
> und mehrmals nachschlagen, um zu schauen, dass man sich die
> Schnittstellen nicht verbaut hat.

Was muß man da testen, die Zuordnung ist doch fest.
Zuerst verteilt man die Spezialfunktionen (UART, PWM, ADC usw.) und der 
Rest sind dann einfache IO-Pins.
Falls es Konflikte gibt, kann man SPI oder I2C leicht in Software 
machen.

Beim SAMD21 sieht es ähnlich aus, wie bei den NXP LPCs, d.h. die 
Spezialfunktionen haben 2 Alternativbelegungen. Letzendlich macht man 
aber es genauso, d.h. zuerst die Spezialfunktionen verteilen.
Man kann dazu ein extra Tool nehmen, aber ich mache es lieber mit Papier 
und Bleistift, z.B. beim LPC1768.

Sehr umständlich fand ich es nur bei den Silabs C8051. Wenn man da 
Spezialfunktionen aktiviert hat, verschoben sich alle nachfolgenden 
Pin-Zuordnungen.
Man mußte also schon vor dem Layout ganz genau wissen, welche 
Spezialfunktionen man braucht und konnte sie hinterher nicht wieder als 
IO-Pins mappen.

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.