• Hallo TT-Modellbahner, schön, dass du zu uns gefunden hast.
    Um alle Funktionen nutzen zu können, empfehlen wir dir, dich anzumelden. Denn vieles, was das Board zu bieten hat, ist ausschließlich angemeldeten Nutzern vorbehalten. Du benötigst nur eine gültige E-Mail-Adresse und schon kannst du dich registrieren.
    Deine Mailadresse wird für nichts Anderes verwendet als zur Kommunikation zwischen uns.
    Die Crew des TT-Boardes

PIC oder Atmel? Aller Anfang ist schwer...

Uahh, jetzt sitz ich gerade noch schnell über der Reichelt-Bestellung...
Welches Rastermaß haben die 10er bzw. der 40er Pfostenstecker, 2mm oder 2,54mm? Geht leider aus den Unterlagen nicht hervor. Egal, ich gehe jetzt mal von 2,54 aus. Die Bestellung muss raus.

flic
 
Da die 40er an 3,5"-Festplatten sind und sie nicht mit den Anschlüssen von 2,5"-Festplatten passen, welche einen Pinabstand von 2mm haben, gehe ich davon aus, dass sie 2,54mm haben.
 
Ich bin garantiert nicht die 1. Adresse in sachen Atmel, da gibt es hier sicherlich noch bessere Profis! Nur, da ich auch kaum Englisch kann, habe ich gerade die oben genannten Kleinigkeiten erst nach einigen stunden rätzeln, warum die simulation problemlos lief, aber der Atmel dann was anderes machte, raus gefunden! Hätte ich nicht mit dem 90S1200, sonern einen Tiny oder Mega angefangen, hätte ich wahrscheinlich sofort wieder das Handtuch geschmissen (Der AT91s1200 hat keinen Ram und auch keinen JTD-Port so das diese Hürden erst später auftraten). Und da es für einen Profi wahrscheinlich schon selbstverständlich ist, wolte ich es erwähnen, damit du hier nicht ins "offene Messer" Läufst! Es kommen sicherlich noch genug andere Hürden und Probleme!

Aber das ist auch mit ein Grund, warum ich noch nix mit Pic´s probiert habe! Da sind die Datenblätter (für mich) so Kryptisch gehalten, das ich bisher weder den Befehlssatz noch die innere Strucktur heraus finden konnte. Dagegen ist der Atmel eigendlich nur ein wesentlich verbesserter 8086, und der ist wiederum der in der DDR eingesetsten Z80-Raubkopy-CPU sehr ähnlich, so das ich nicht viel "umlernen" muste.
 
Die externe Taktung nach Beitrag 43 Bild 2 ist meiner meinung nach verschwendung. Ein einfacher Quarz zwischen XTAL 1 und 2 und je ein 27pF Kondensator von beiden Anschlüssen gegen Masse reicht!


Im Lieferzustand sind meist die internen RC Generatoren aktiv. Zum probieren reicht das allemal. Erst wenn du zeitkritische Sachen wie Servoansteuerung machen willst ist ein Quarz wie beschrieben sinnvoll. Einen externen Taktgenerator halte ich allerdings auch für nicht notwendigen Luxus. Die absolute Minimalbeschaltung ist ein 100n Stützkondensator an den Betriebsspannungsanschlüssen. Um den Takt auf Quarz umzustellen müssen verschiedene Fusebits umgestellt werden. Dazu ist ein intensives Studium der Datenblätter empfelenswert. In den einschlägigen Foren wird seitenweise über verfuste µCs geschrieben. Ich kann dich aber beruhigen, ich hatte bis jetzt noch nie Probleme mit falsch gesetzten Fusebits. Ich kann nur noch mal mein Angebot wiederholen, wenn du dir nicht sicher bist frag lieber erst nach.
Ansonsten freut es mich das die Anhängerschar die Atmel programmieren will hier im Bord immer größer wird. Ich habe übrigens zu DDR Zeiten mit U880 Assembler programmiert und mit diesen Kenntnissen fühlt man sich bei Atmel fast heimisch. Das soll um Gottes willen nicht gegen die Pic gehen, mit denen kann man sicher genau so gut arbeiten.
 
Ansonsten freut es mich das die Anhängerschar die Atmel programmieren will hier im Bord immer größer wird.

Moment! Noch bin ich (noch nicht mal) am Testen! Ich fange mit Atmel an, die Argumente von Xemax immer im Hinterkopf...

Ich hoffe aber trotzdem weiter auf deine Unterstützung :allesgut: :schleimer:

Ich hoffe nur das Pollin zügig liefert. Hänge in allem hinterher.
Montag hab ich mich durch die CMOS Logik einer Sägesteuerung gekämpft (einer von sieben Flipflop und ein XOR defekt), gestern die komplette Anzeigeelektronik (VGA) einer älteren CNC-Steuerung vergewaltigt (Steuertrafo mit Macke, Kabelstraps und Haarspray löste das Prob) und heute den TFT meines Moba-PC wieder zum Leben erweckt (DC/DC Wandler, hoffe das es nicht der Inverter ist)... Nuja, irgendwie tut im Moment alles was es soll.

flic
 
...Wegen der Fehlersuche:
Du kannst deine Programme in der Programmierumgebung MPLAB als Simulation laufen lassen, um zu sehen, ob alles so funktioniert, wie es sein soll. Sowas gibt es bei den AVRs bestimmt auch....

Jups - zumindest Bascom hat nen gut funktionierenden Simulator.
Man kann innerhalb Bascoms auch ohne Probleme in Assembler schreiben. Falls man dann mal nicht weiter weiß gehts mit fließend mit Basic weiter.

...
Die ISP ermöglicht auch parallele Programmierung...
Wurde ja schon gesagt - paralleles Brennen bitte nicht mit dem parallelen Druckeranschluß des Rechners gleichsetzen. Das sind zwei unterschiedliche Paar Schuhe.

...Die absolute Minimalbeschaltung ist ein 100n Stützkondensator an den Betriebsspannungsanschlüssen....

Rüschtüsch!
Ansonsten kanns besonders beim Brennen über die ISP-Schnittstelle massive Probleme geben und man sucht sich nen Wolf weshalb in bestimmten IDE's "could not identify Chip at xxxx" oder "read LB entry not found" als Fehlermeldung auftaucht.
Ich war als noob deswegen schonmal kurz davor meinen PC aus dem Fenster zu feuern.
Ohne Kondensator stören die von der ALU (Recheneinheit im AVR) erzeugten Oberwellen die Signale vom Rechner so massiv das dieser ständig Fehlinformationen bekommt.
 
Und ich habe noch 3 oder 4 Tiny15, die nicht mehr antworten.
Entweder habe ich sie zerschossen, oder es sin dise Fussy-Bits. Da ich aber noch nicht die HV-Programierung realisieren kann, warten sie jetzt auf den letzten test!
 
Mahlzeit

Ich bin etwas verwirrt gerade... Braucht ein AVR eine externe Taktung oder hat er auch Interne?
In meinem Bestellchaos (Pollin/Reichelt) habe ich zwar noch zwei Reserve-Tinys bei Reichelt mitbestellt, aber die Quarze vergessen. Die sind ja auf dem Testboard drauf, aber die Lieferung bei Pollin dauert wohl etwas (wurde mir geflüstert). Die Reichelt-Lieferung ist da, alle anderen Bauteile für die Mindestbeschaltung habe ich um mal zu spielen.
Also gehts auch ohne externe Taktung? Bilde mir ein mal irgendwas gelesen zu haben, aber vielleicht haue ich auch was durcheinander.

flic
 
So weit ich weiß besitzen alle AVR mittlerweile einen internen RC-Generator.
Guckstu Datenblatt auf www.atmel.de unter products/microcontrollers and dsp/AVR 8-Bit RISC/Datasheets
Der Blick in die Datenblätter ist elementar!
 
Die Atmels, z.B. ATMEGA8-16, die z.B. Pollin anbietet, haben einen internen RC-Oszillator, der praktisch für alle Anwendungen genau genug ist und deshalb keine E/A-Pins 'frißt'.
Es gibt in den AppNotes auch Hinweise, wie man dafür sorgt, daß dieser interne Oszillator sehr genau arbeitet.
Gruß vom Heizer
 
Und ich habe noch 3 oder 4 Tiny15, die nicht mehr antworten.
Entweder habe ich sie zerschossen, oder es sin dise Fussy-Bits. Da ich aber noch nicht die HV-Programierung realisieren kann, warten sie jetzt auf den letzten test!

Schick die mir, oder bring die beim nächsten Stammtisch mit, dann setze ich die Dir auf den Auslieferungszustand zurück.
Gruß
Holger
 
Wie schon gesagt wurde, die Prozessoren können auf diversen wegen getaktet werden. Es ist eigendlich auch unkritisch, was du bei Extern für einen Quarz nimmst, solange du nix extrem Zeitkritisches ablaufen lassen willst! Notfalls ein altes PC-Bord oder eine alte Grafikkarte schlachten.
Wenn du dir schon die Datenblätter herrunter geladen hättest, dann hättest de dort nachlesen können, ob deine Atmels auch ohne Quarz Laufen. Meines wissens reicht für einige anwendungen sogar eine RC-Beschaltung der Anschlüsse.
An deiner stelle hätte ich sowieso schon die Datenblätter und das AVR-Studio runter geladen, und mit Programmierversuchen angefangen und die sachen in der Simulation getestet.

@E11

Wenn ichs nicht vergesse bringe ich sie zum Stammtisch mit.
 
Nanana sei mal nicht so anklagend ;)
Aus dem stehgreif wissen die wenigsten wo sie mit der Suche anfangen könnten wenn sie sich an etwas neues heranwagen.
 
Sorry, ich wolte niemanden anklagen" Aber das waren auch meine ersten schritte, bevor ich mir die Teile bestellte, denn ich wolte erst mal wissen, ob ich eine Chanse habe, da was lauffähiges hin zu bekommen, oder ob mir meine Antike PC-Technik dazwischen funkt, oder ich überhaupt nicht durchblicke.
 
im Lieferzustand sind alle Atmels die ich bisher verwendet habe auf den internen RC Ozillator geschaltet. Bisher hatte ich Attiny2313, Atmega8, Atmega 8515 und Atmega162. Ich weiß die Lektüre des Datenblattes ist nicht sonderlich spannend, schon gar nicht wenn man der englischen Sprache nicht so mächtig ist, aber gewöhn dich dran ohne Datenblatt läuft fast gar nichts.
Wenn das Testbord noch nicht da ist kannst du dir ja erstmal das Studio von Atmel runterladen. Damit kannst du versuchen schon mal kleine Programme zu schreiben und mit dem sehr guten Simulator zu testen. Du kannst damit dein Programm Befehl für Befehl abarbeiten und sehen was sich geändert hat. Bevor ich die Programme in den Flash brenne teste ich auch erst mal damit und erst wenn es in der Simulation läuft wird mit dem µC getestet. Wenn du mit der Bedienung nicht klarkommst oder nicht weißt wie die Programme aufgebaut sind kann ich dir gern weiterhelfen.
 
Uahhh, da wird man schon wieder gesteinigt obwohl man versucht hat zu erklären...

Die Datenblätter liegen schön gestapelt hier zu Hause. Da ich, als mir der Gedanke kam, gerade nicht zu Hause war, Internet jedoch zur Verfügung stand, mittlerweile aber mitbekommen habe das P. etwas "träge" in Bezug der Lieferung und mit dem Testboard vor Ende nächste Woche wohl nicht zu rechnen ist, und da ich mir vorsorglich noch Reserve-µC bei Reichelt mitbestellt habe, dachte ich, da alle anderen notwendigen Komponenten für die Mindestbeschaltung vorhanden sind, vielleicht doch zum "kleinen" Ziel zu kommen (ein schöner, gewollter, Bandwurmsatz). Einzig die Taktung war unklar.
Muss man denn jedes Bit erläutern?!
Wird sowieso nicht so wie ich es mir vorstelle, beschränke mich also auf das Löten der eigenen Testplatine. Nicht die Platine von P.!

Ich bin für jede Hilfe dankbar (und das klappt ja auch super), aber lest doch auch mal das Erläuternde statt nur die groben Eckdaten! ... grummel...

@all
:allesgut:

flic
 
...Die Datenblätter liegen schön gestapelt hier zu Hause...

Hast Du nen Dukatenscheißer zu hause rumstehen?
Ich habs bislang nicht gewagt die Datenblätter auszudrucken - zwischen 250 und 500 Seiten sind einfach zu viel...
Dafür hatte ich mal nen zweiten Monitor - links proggen, rechts nachlesen.
Bis ein Bildschirm seinen Geist aufgab :cry:
 
Die Datenblätter liegen schön gestapelt hier zu Hause ... Einzig die Taktung war unklar...

Wenn ich jetzt gemein wäre würde ich sagen das stapeln der Datenblätter bringt gar nicht man muss da auch mal reinschauen. Unter Memory Programming und da dann die Fusebits ist die dafault Einstellung des Taktes angegeben. Da ich aber nicht gemein bin mach ich das natürlich nicht.
 
Bin gerade dabei AVR-Studio zu laden. Die Zwangsregistrierung (ich hasse das!!!) hätte AVR bei mir an 2. Stelle gesetzt. Egal, nun verbreitet sich wieder meine Adresse durch die Welt, grrr!

Zurück zum Thema...
Ich will gleich mein Testboard löten. Spricht irgendetwas dagegen PA-PC als Eingänge und PD als Augänge zu belegen? Oder haben gewisse Ports spezielle Vor-bzw. Nachteile? Das ich die E/A bunt mischen kann ist mir schon klar, aber ein bisschen Struktur sollte schon sein. Wenn ich mehr Ausgänge brauche knabber ich vom PC noch was ab.

flic
 
Du kannst bei der Registrierung auch Fantasiewerte eingeben, ansonsten bekommst du halt Newsletter von Atmel mehr passiert nicht.
Zu deiner anderen Frage. Die Aufteilung was Eingänge und Ausgänge sind hängt mehr von den Funktionen ab die sonst noch auf den Pins liegen zum Beispiel die serielle Schnittstelle oder die PWM Ausgänge. Ansonsten sind die gleichwertig. Ich achte noch drauf das ein einegermaßen stimmiges Layout entsteht. Es ist einfacher einen PIN per Software zu verlegen als ein Leiterplattenlayout zu ändern. Bei einem Testbord ist das aber alles belanglos.
 
Ich halte mir möglichst die Int-Eingänge für eine eventuelle Dekodernutzung frei. Ferner SCL un SDA des I²C-Busses und die RxD und TxD-anschlüsse für die Kominikation zwischen den Prozessoren frei. Auch wenn ich sie im Moment noch nicht benutze, so ist es doch bestimmt nicht schlecht, wenn man später den Prozessor über DCC ansprechen kann, oder mann über den I"C-Bus einenRückmeldeweg offen hält, der dann zB. einem Pult die Stellung anzeigen läst.
Wenn Motoren angesteuert werden sollen, oder Servos, so ist hierfür bevorzugt der PWM-Ausgang der Timer frei zu halten, und wenn du Spannungen überwachen wilst, so geht das nur über die Analogeingänge. Das ist halt ein Problem bei allen Prozessoren, wenn man alle Funktionen raus führen wollt, bräuchte man 2-3 mal so viele Anschlüsse, daher werden viele Anschlüsse mehrfach genutzt, und mann kann sie dan auf die gewünschten Sonderfunktionen umschalten.
Übrigens, Reset und Taktanschlüsse würde ich nur im notfall anderst (also als Ein-/Ausgänge) belegen.
Aber in deinem Fall, wo keine der Zweitfunktionen genutzt werden soll, kanst du ach alles frei belegen.

Übrigens habe ich im Dateikopf bei meinen Programmen folgende Sequenzen eingefügt:

.equ paa = 0x.. ;Port A Ausgangsregister
.equ pad = 0x.. ;Port A Richtungswahlregister
.equ pae = 0x.. ;Port A Eingangsregister
.equ W1=0 ; W1-8 steht für die Funktion, die das Port hat
.equ W2=1
.equ W3=2
.equ W4=3
.equ W5=4
.equ W6=5
.equ W7=6
.equ W8=7
Es könnten also auch stats W1-8 Taste1, Signal1rot oder DCC stehen.
Im Programm kommt dan stats
Out 0x.., 1

out paa,w2

Stellt sich nun herraus, das der Ausgang 1 von Port A für was anderes benötigt wird, dann kann durch änderung im Kopfteil des Programms der anschluß schnell umgeleitet werden.
Dazu wird dann einfach
.equ W2=1
durch
.equ W2=7
geändert und die Weiche 2 wird nicht mehr von Port A anschluß 1 sondern anschluß 7 gesteuert.
Muß die Funktion von Port A aud Port C umgelegt werden, so wird über die Suchfunktion der Text W2 gesucht, und in den Befehlen paa und pae in pca und pce umgeändert. Das ist aber leichter zu erkennen und zu überblicken wie immer nur die reihnen anonymen Adresszahlen.

Das nur als Info, weil in den anderen beiträgen das Umleiten von Funktionen/Pinbelegungen Angesprochen wurde.

Und, nein du mußt nicht jedes Bit komentieren, aber wenn du es tust, dann ist eine Broblembehebung wesentlich leichter, weil du in einem halben Jahr nicht mehr weißt, warum gerade jetzt dieser Befehl kommen sollte.
 
So, mein Atmel-Board ist fertig bestückt und das erste Testprogrämmchen geschrieben. Ich hab das serielle (Verlängerungs-) Kabel an den ISP-Port des Boards angeschlossen, einen ATmega8 gesteckt und nun wollte ich mit PonyProg das Teil flashen. Nur will weder das Lesen noch Schreiben funktionieren (Fehlermeldung "Device missing or unknown device (-24)"). Hat das jemand schon erfolgreich hinbekommen?
 
Zurück
Oben