Ressourcen-Icon

SAM D21J17A im Modularen Board System 2017-06-18

achim S.

Mitglied
16. Jan. 2010
704
13
18
Berlin Biesdorf
Sprachen
  1. ANSI C
achim S. hat eine neue Ressource erstellt:

SAM D21J17A im Modularen Board System - Ein ARM SAM D21J17 wird als Prozessor im Modularen System verwendet

Habe das Board von Dirk mit dem SAM D21J17A als Prozessor in mein Modulares System intergriert. Auf der Platine befinden sich vier 10-polige Wannenbuchsen zum Anschluss externer Peripherie. Zusätzlich sind noch vier Taster und 3 LEDs angeschlossen. Mit zwei weiteren 10-poligen Wannenbuchsen erfolgt der Anschluss eines SNT mit 5V und 12V und die Verbindung zu anderen Boards/Modulen. Über diese zwei genannten Wannenbuchsen erfolgt die Verbindung mit dem I2C Bus. Auf dem Board gibt es für den...

Weitere Informationen zu dieser Ressource...
 
Hmm...
irgendwie erschließt sich mir der Sinn dieser Ressource nicht so recht.
Was konkret willst Du uns damit zur Verfügung stellen?
(Wie können/sollen wir diese "Quelle" verwenden?)
Bisher ist das ja nur eine Projekt/Produktvorstellung - veröffentlichst Du dazu noch mehr? (Schaltplan, Layout etc...)
 
Bin dabei ein entsprechendes Tut zu erstellen, für Hardware mit Platinenbild, Bestückung, Anschlüsse und Software, wie es programmiert werden kann mit Beispielen. Damit kann dann jeder so ein Board verwenden und sein eigenes Programm draufbringen. Leider hält sich die Anzahl der Veröffentlichungen zum Prozessor im Netz sehr klein oder es gibt nur wenige Anleitungen oder Tuts zum Thema. Leider bin ich nicht der Fachmann bei diesem Typ um alles zu können. Hoffe damit auch anderen zu helfen
achim
 
Hab das was anderes für dich zu lesen. Kannst damit schon die Zeit überbrücken bis das andere fetig ist. Achim
P5152519_(1024_x_768).jpg
 

Anhänge

  • BT I2C Anzeige 3 Hard und Soft.pdf
    1.011,4 KB · Aufrufe: 6
Hallo Achim,

du hast ja eine Mutterplatine für das Mikrocontroller-Modul erstellt. :cool:

Ich werde für das Modul noch ein Eagle-Device definieren (für dich wahrscheinlich zu spät, falls du Eagle nutzt).

Dirk :ciao:
 
Hallo Dirk
stimmt genau und aufgebaut und in Betrieb genommen. Dazu brauchte ich deine Hilfe, um die grundlegende Programmierung zu begreiffen. Arbeite mit Sprint. Dabei gibt es auch die Version Gerber Datein. Arbeite gerade an der ersten Software - der Anfang. Es könnte das erste Tut für den SAM werden. Schau dir mal die Anzeige (oben) an. Ist dein Lieblings IC drin, der HT16K33, als Matrix Ansteuerung. Habe gefühlte 6 verschiedene Matrix, Bargraph, Bicolor und so dazu. Muss auch noch eine Laufschrift damit zu liegen haben.
achim
 
Ich brauche ein bisschen mehr Zeit, dann könnte ich dir ein Atmel Studio Projekt mit I2C Master für den SAMD21 erstellen, sozusagen als Template. Alles andere sollte sich dann so programmieren lassen, wie auf einem AVR.
Schwierigkeiten sehe ich da noch bei dem I2C Signalpegel SAMD21 (3,3V) <-> (5V) HT16K33, da müsste man etwas anpassen.

Dirk :ciao:
 
Hallo Dirk
ist kein Problem. Habe auf allen Platinen mit Pegel 3,3V einen Pegelwandler drin. Entweder den PCA .. (Bezeichnung gerade entfallen) oder 2x BSS138 mir R und zusätzlich R für den Pegel. Die Schaltungen sind mehrfach aufgebaut und laufen ganz toll. Der Pegel beim Bus ist bei mir immer 5V, wenn was anderes gebraucht wird setze ich es auf der Platine runter. Habe die Matrix mit ca. 500LED aufgebaut. Da geht schon so manches NT in die Knie. 20mA x 500 LED = ganz viel Strom. Das Programm für den Bus würde mich sehr interessieren. Bin gerade an den GPIO dran. Der Sam ist nicht so einfach zu machen. Das ist eine Nummer grösser als so ein AVR, aber eine Herausvorderung. Bei meinem System passt alles zusammen, von der Bauart, den Anschlüssen und Steckverbinder bis zu den Spannungen.
achim
 
Hallo
wie angekündigt gibt es heute das erste Tut zu diesem Board. Es behandelt die Einstellungen zu dem Atmel Studio. Dank Dirk seiner kurzen Anleitung konnte ich es so machen. Habe entsprechende Bilder verwendet. Damit müsste es relativ leicht gehen.
 

Anhänge

  • ATB SAM D21 Atmel Studio einrichten.pdf
    981,9 KB · Aufrufe: 20
  • Like
Reaktionen: Dirk und maik
Gut gemacht :)

Nur die Wahl der Schriftart würde ich noch mal überdenken.
Bei Comic Sans kringeln sich bei vielen die Fußnägel hoch ;)
 
Hallo Achim,

schöne Erläuterung zum Start mir Atmel Studio :)

Da du ja gerne I2C verwendest, stelle ich mal ein Beispiel aus einem Projekt von mir in das Forum, bei dem ich das ASF verwende.
Vielleicht hilft es dir oder auch anderen Usern und Gästen weiter.

Im ASF Wizard musst du zunächst den Treiber
SERCOM I2C - Master Mode I2C (driver) [polled]
einbinden.

Mein Beispiel verwendet also den polled Modus und nicht den Modus callback (Interrupt)

Initialisierung
I2C Master mit SERCOM1

  • Baudrate 100KHz
  • GCLK generator 0
  • Do not run in standby
  • Start bit hold time 300ns - 600ns
  • Buffer timeout = 65535
  • Unknown bus status timeout = 65535
  • Do not run in standby
  • PINMUX_DEFAULT for SERCOM pads

i2c_master_get_config_defaults() initialisiert obige Standartwerte.
Ich verändere folgende Werte ...
  • Timeout
  • Zuordnung der Pins für SDA (PA16) und SCL (PA17)



CodeBox C
#define CONF_I2C_MASTER_MODULE SERCOM1

#define DATA_LENGTH 32

static uint8_t i2c_write_buffer[DATA_LENGTH];
static uint8_t i2c_read_buffer[DATA_LENGTH];

#define SLAVE_ADDRESS 0x12

struct i2c_master_module i2c_master_instance;
struct i2c_master_packet packet;

void touch_configure_i2c_master(void)
{
   /* Initialize config structure and software module. */
   struct i2c_master_config config_i2c_master;
   i2c_master_get_config_defaults(&config_i2c_master);
 
   /* Change buffer timeout to something longer. */
   config_i2c_master.buffer_timeout = 10000;
   config_i2c_master.pinmux_pad0 = PINMUX_PA16C_SERCOM1_PAD0;   // SDA = PA16
   config_i2c_master.pinmux_pad1 = PINMUX_PA17C_SERCOM1_PAD1;  // SCL = PA17
 
   i2c_master_init(&i2c_master_instance, CONF_I2C_MASTER_MODULE, &config_i2c_master);
   i2c_master_enable(&i2c_master_instance);
 
}


Write und Read
Im folgenden Beispiel sende ich zunächst eine Registeradresse 0x00 und lese danach 32 Byte.



CodeBox C
void touch_read_data(void)
{
 
   uint16_t timeout;
  
   timeout = 0;
  
   packet.address     = SLAVE_ADDRESS;
   packet.data_length = 1;
   packet.data        = i2c_write_buffer;  
  
   i2c_write_buffer[0] = 0;
  
   while (i2c_master_write_packet_wait(&i2c_master_instance, &packet) != STATUS_OK)
   {
       if (timeout++ == TIMEOUT)
       {
            // Error LED_PB30_ON
            break;
        }
    }
  
  
   packet.address     = SLAVE_ADDRESS;
   packet.data_length = 32;
   packet.data        = i2c_read_buffer;  
  
   timeout = 0;
  
   while (i2c_master_read_packet_wait(&i2c_master_instance, &packet) != STATUS_OK)
   {
       if (timeout++ == TIMEOUT)
       {
           // Error LED_PB30_ON
           break;
       }
   }      
}


Off topic: Wegen dem Font Comic Sans MS, gebe ich Tommy schon etwas recht. Ich hatte sogar einmal gelesen, dass es der Entwickler der Schriftart inzwischen bereut, diese erstellt zu haben (ob das Stimmt ... hmmm?), da viele diese Schriftart "gar nicht mögen". Hier ein Link zu Wikipedia https://de.wikipedia.org/wiki/Comic_Sans_MS, siehe auch den Punkt Kritik, wenn du mal eine Suchmaschine bemühst, wirst du sicherlich noch viele weitere Seiten mit "Kritik" finden ;)

Achso, das Mikrocontrollermodul nennt sich NanoSAMD21, du hast im Text manchmal das "D" vergessen. :)

Ansonsten ... solche Tutorials sind eine super Sache! Finde ich klasse! Daumen hoch :)

Dirk :ciao:
 
Hallo Dirk, Hallo Thomas
Danke für eure positive Kritik. Bin ja richtig erstaunt das es so gut ankommt. Das mit der Schrift ist so eine Sache. Habe lange rumprobiert bei den ganzen zur Auswahl stehenden Schriften. Bin dann irgendwie bei so einer ähnlichen wie die Handschrift hängen geblieben. Naja, der Bringer ist es nicht. Wenn ihr mal das andere Tut zu der Matrix anschaut, so ist es auch so aufgebaut. Habe leider einen dicken Fehler drin, nicht nur das "D". Habe eine Reihe von Bildern vergessen. Gerade die Einstellung und das Laden des Programmes fehlt total. Werde es so schnell wie möglich nachholen und das neue reinstellen.
Dirk, wir hatten uns ja schon mal über solche Tuts am Telefon unterhalten. Habe noch so ca. 50 Stück dazu. Kannst sie alle haben. Das Beispiel mit dem I2C Bus ist total wichtig für mich. Kann dann alle meine vorhandenen Module anschliessen und mit den 32 Bit programmieren. Das gibt ganz neue Sachen für alle. Bin jetzt auch an der Hardware dran und erstelle gerade eine Zeichnung dazu.
Ihr habt jetzt eine grosse Aufgabe. Sorgt einfach für eine grosse Verbreitung. Dann kann jeder etwas damit bauen oder programmieren. Das ist was besonderes für die Anfänger. Eine Anleitung Schritt für Schritt mit vielen Bildern. Da macht das alles viel mehr Spass und man verliert nicht gleich den Mut wenn es mal nicht klappt.
achim
 
Dirk, wir hatten uns ja schon mal über solche Tuts am Telefon unterhalten. Habe noch so ca. 50 Stück dazu. Kannst sie alle haben.
Hallo Achim,
ich hatte für Tutorials eine Forenkategorie angelegt, du kannst da schon Themen erstellen. Ich finde allerdings den Ressourcenbereich gut geeignet für Tutorials, diskutieren kann man dort ja auch. Wenn du möchtest, kann ich auch die Themen erstellen, jeweils mit einer kurzen Einführung zum angehängten Tutorial. Du müsstest mir nur erst mal einige PDF zusenden, dann sehe ich, welche Themen vorhanden und kann mir dann überelgen, ob es Sinn macht, in der Forumkategorie oder Ressourcenbereich entsprechende Unterkategorien anzulegen.

Dirk :ciao:
 
Ich mein ich kann nicht so viel dazu sagen, da ich eher mit den kleineren Käfern arbeite, wenn überhaupt. Da auch nur in Assembler statt C. C lesen kann ich zwar, aber schreiben... Ich musste letztens ein paar Zeilen Quelltext von VB.Net in C# übersetzen. Heiland schmeiß Schei*e... Gefühlt 1000 Fehler.
Daher kann ich zum Inhalt leider auch nur wenig sagen. Neuere Entwicklungsumgebung, andere Sprache und Hardware die ich noch nie verwendet hatte. Daher wäre es schon interessant, auf jeden Fall.
Es ist nur schade wenn mühevoll erstellte Arbeit durch Kleinigkeiten zerstört wird.

Daher das mit der Schriftart... Es stimmt halt, der erste Eindruck überwiegt. Und wenn man Dokumentationen erstellt sollte diese seriös wirken, auf den ersten Blick. Aber der erste Eindruck fiel bei dir auf die Schriftart. Comic Sans wäre ok und ich bin mir sicher dass auch niemand was gegen die Schriftart hätte wenn diese ausschließlich für das verwendet worden wäre wofür sie geschaffen wurde; für Comics. Siehe die Datenblätter von Atmel oder eins meiner alten Werke.

Seriös wirkende Schriftstücke (wie Dokumentationen) sollten doch eher in gängigen Schriftarten wie Arial, Segoe oder (was eigentlich auch schon grenzwertig ist aber ich nutze) Verdana verfasst sein. Extrembeispiel: Keiner würde eine Bewerbung lesen die plain Text in Notepad geschrieben ist oder noch extremer als Schriftart Wingdings (früher Windings) verfasst ist ;)
Das passt einfach nicht, wirkt nicht seriös, der Inhalt ist dann schon fast allen egal, auch sollte es der Beste der Welt sein.

Ich wäre froh wenn du deine Werke mit veröffentlichst, grade weil mich das Thema auch Interessiert. Die Frage ist nur leider ob ich Zeit dafür finde. Aber der Nutzen für Andere ist ja klar.
 
Wenn Achim damit einverstanden ist, würde ich das "Design" (nicht Inhalt) eines Datenblatts ändern und Achim zusenden.Eventuell erhalten wir so eine Art Template und alle anderen Tutorials lassen sich dadurch leicht anpassen.

Ich denke das Format ist aber so schon gut, die Tutorials müssen nicht geändert werden, es kommt vor allem auf den Inhalt an ... und der stimmt!

Dirk :ciao:
 
Du wechselst häufig zwischen der ersten Person Singular und der ersten Person Plural. Das irritiert etwas.
Außerdem sind diverse Schreibfehler drin - fachlich maße ich mir keine Kritik an (als Assemblerer), aber Thomas wies ja bereits auf Seriosität hin.

Mich persönlich(!) erschlagen die vielen bunten Bilder mit den vielen bunten Anmerkungen übrigens irgendwie.
 
Hallo
das mit der Person stimmt. Leider ist es manchmal nicht so einfach, die Technik und den Ausdruck zu verbinden. Möchte etwas sagen, aber nicht eine ganze Seite dazu verwenden. Die bunten Bilder brauchen dich nicht zu erschlagen. Nimm einfach das Beispiel der Bibliotheken beim Atmel Studio. Dort gibt es so viele mit fast gleichen Namen.Welchen Klick muss wo hin gemacht werden. Gehe eigentlich vom Grundsatz aus, ein Bild sagt mehr als tausen Worte. Die eigentliche Zielgruppe bei den Sachen sind Anfänger. Könner brauchen keine Hilfe von mir. Habe es selbst erfahren. Nach Aufbau meines ersten Roboters und den Test, kamm die Frage: was mach ich damit? Eine richtige Anleitung erspart viel Frust und macht das erste Programm zum Erfolg. Damit wird der erste Erfolg zum Antrieb für andere Projekte und weckt das Intresse an mehr. Leider sind die Handbücher sehr rar zu diesem Thema. Entweder habe ich andere Hardware, programmiere in einer anderen Sprache, die Hardware ist so alt das sie noch zum C64 passt oder muss erst ein ganzes Buch lesen und auswendig lernen um eine LED blinken zu lassen. Du brauchst auch keinen SAM zu nehmen. Habe auch viel Sachen zum Atmega 1284p. Die gesamten Platinen stellen einen Art Bausatz dar. Jedes Teil passt fast zu jedem Teil, alle Anschlüsse passen. Das Grundboard mit Netzteil kann sofort genutzt werden. Je nach Interesse und Geld kann es erweitert werden. Verwende grundsätzlich nur Platinen mit einer Ebene und falls möglich nur ICs zum Stecken, selten SMD. Dadurch kann es jeder Aufbauen, Erweitern oder selbst was mit machen. Das ist gut für Anfänger oder sogar Anwendern bis (fast) Profis.
Da alles Open source ist kannst du selbstverständlich die Schrift ändern. Vielleicht finden wir zusammen eine gute Darstellung. Alle Fotos habe ich selber erstellt. Es gibt keine Rechte dritter, ausser an den Namen der Hersteller oder weise extra drauf hin. Das Bild auf der ersten seite stammt von Freunden von mir und habe die Erlaubnis zur Nutzung. Falls du Schreibfehler findest, schick einfach eine mail, werde es sofort ändern. Verlasse mich eigentlich auf die Rechtschreibprüfung von Windows Office. Sicher kann man an den Tuts was verbessern, es ist aber ein Anfang der jederzeit erweiterbar ist. Es soll auch kein fester (Rahmen oder Inhalt) (mir fällt gerade nichts besseres ein) sein. Es soll dem Leser Spass machen und bei ca. 10 Seiten nicht überfordern und Mut zu was eigenen machen.

achim
 
Es sind eher grammatische Fehler (insbesondere solche, die beim ändern eines Satzes zustandekommen).
Für mich brauchst Du die Anleitung nicht zu erstellen, ich wollte Dir nur mitteilen, wie sie auf mich wirkt (bei den Bildern hab ich irgendwie das Gefühl, erstmal 'n Stück zurückrutschen zu müssen - aber ich bin nicht das Maß).
Du brauchst auch keinen SAM zu nehmen. Habe auch viel Sachen zum Atmega 1284p.
Du willst mir(!!) doch keinen Tausendfüßer vorschlagen, oder?!
 
Es geht dabei eigentlich um einen einfachen IC. Es geht natürlich noch kleiner. Der 1284p lässt sich im Vergleich auch weitaus einfacher programmieren und wahrscheinlich für Anfänger besser geeignet. Der SAM ist schon ein ganzes Stück "grösser". Muss jeder machen wie er will. Soll alles eine Hilfe sein. Kann mich noch deutlich erinnern wie ich angefangen habe. Hatte es mir leichter vorgestellt.
achim
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)