Assembler Reset Pin bei RS232 Betrieb

stinakovits

Mitglied
22. Apr. 2013
90
6
8
Kottingbrunn
Sprachen
  1. Assembler
Schönen Abend zusammen,

ich überlege gerade einen ATtiny4313 derart einzusetzen, dass der Reset Pin als regulärer Ausgang verwendet wird. Somit kann ich über ISP nicht mehr programmieren - klar. Wenn ich jedoch ein Grundprogramm vor dem verlöten lade und dann alles über RxD und TxD reinlade / kommuniziere sollte das doch kein Problem sein. Kann somit ein neues Programm raufspielen und gegebenenfalls Parameter im EEPROM später verändern. Ist das so korrekt oder habe ich da einen Gedankenfehler?

LG
Manfred
 
...und dann alles über RxD und TxD reinlade / kommuniziere sollte das doch kein Problem sein. Kann somit ein neues Programm raufspielen und gegebenenfalls Parameter im EEPROM später verändern...
Wie meinst Du das jetzt konkret?
Du kannst über UART Daten empfangen, und ins Eeprom schreiben, wenn Dein Programm das so vorsieht. Auch, wenn Der Controller nicht mehr via ISP (über SPI) programmierbar ist.
Du kannst (da er SPM kennt) auch den Flash umschreiben. Dazu muß der Opcode in Register R00:R01 geladen werden, und die Adresse nach Z. Ein Teil des Flash muß also immer ein Codefragment enthalten, in dem der UART scharfgemacht wird, und die Umprogrammierung abgearbeitet wird.
Einen Bootloader halt. Dabei ist zu beachten, daß das neue Programm den Bereich des Bootloaders nicht überschreibt.
 
Hallo LotataC,

genau so meinte ich das. Ein Bootloader wird vor dem verlöten (SMD-Ausführung) per ISP übertragen. Dieser Bootloader behandelt / überwacht RxD und nimmt bei Bedarf Daten entgegen. Entweder um das Programm / Firmware selbst zu überschreiben oder Parameter im EEPROM, die den Programmablauf beeinflussen, zu ersetzen.

Gruß
Manfred
 
Hallo zusammen,

der ATtiny4313 hat übrigens keinen Bootloadebereich, also keine Fusebits für Bootloaderreset und Bootloadervektor. Er hat ja auch sehr wenig Flash Memory. SPM wirkt auf den gesamten Flash Bereich. Der Bootloader wird einen relativ großen Anteil des Flash Memory belegen.

Dirk :ciao:
 
Hallo Dirk,

hm, also scheint nach deiner Meinung eher nicht so wirklich brauchbar zu sein, die Variante mit einem Bootloader und der Firmwareupdatemöglichkeit. Darauf kann ich zur Not auch verzichten. Muss mir dann nur überlegen den Reset-Pin zu behalten und SPI auf der Print zu ermöglichen. RS232 wird dann im Programm integriert und nur zur Parameteränderung im EEPROM verwendet.

Mal schauen. Vielleicht finde ich noch einen anderen Atmel der von den mechanischen Abmessungen nicht wesentlich größer als der ATtiny4313 ist aber mehr Speicher hat und für Bootloader brauchbarer.

Manfred :hello:
 
Hallo Manfred,
hm, also scheint nach deiner Meinung eher nicht so wirklich brauchbar zu sein, die Variante mit einem Bootloader und der Firmwareupdatemöglichkeit.

das wollte ich nicht direkt sagen ;) Es gibt ja eventuell gute Gründe, warum du das so machen möchtest.

Ich würde erst einmal um jeden Pin "kämpfen" (multiplexen, seriell-parallel wandeln zB.), damit der Reset Pin (und damit ISP oder debugWire) nicht wegfällt, bevor ich für den Mikrocontroller einen Bootloader schreibe. Falls es wirklich nicht reicht, dann würde ich eher auf einen etwas größeren Mikrocontroller ausweichen (ATmega). Falls dies aus irgendwelchen Gründen nicht möglich ist, dann vielleicht mit einem größeren Mikrocontroller die Anwendung entwickeln (unter Berücksichtigung der verfügbaren Hardwaremodule des Tiny), wenn alles funktioniert, die Software an den Tiny anpassen und einmalig programmieren und Reset deaktivieren.

Also bei der Hitze zur Zeit :girl_wacko:: Einen großen ATmega verwenden, keinen Bootloader schreiben und die Zeit die du einsparst, zum Beispiel fürs Freibad oder den See nutzen ;)

Dirk :ciao:
 
Also bei der Hitze zur Zeit :girl_wacko:: Einen großen ATmega verwenden, keinen Bootloader schreiben und die Zeit die du einsparst, zum Beispiel fürs Freibad oder den See nutzen ;)

Also das ist mal ein brauchbarer Vorschlag :yes4:

Hmm, war jetzt auf der Suche nach dem ATtiny4313 und hab keinen SMD im weiten WWW gefunden. Farnell sagt: Nicht mehr lieferbar. Hab ich da was verpasst? Ist der aufgelassen? oder hab ich blos Pech gehabt mit meiner Suche? Weiß wer was genaueres?

Manfred :ciao:
 
RS-Components hat ihn (noch?), derzeit mit Rabatt. Falls Du da bestellen kannst...

Atmel selbst scheint ja auch samples anzubieten, allerdings nur an ausgewählte Firmen...
 
Hi,

Blos die 0,8mm Pinabstand für's Löten scheinen mir gewagt für meine Hände und Augen. :D
Werde mir wohl Muster besorgen zur Testlötung.

brutzel doch einfach mal an alten PC-Platinen rum. Da ist genug SMD drauf das man kostenlos zerbraten kann um Übung zu bekommen.

Gruß
Dino
 
...oder in (sehr!) alten Mobiltelefonen.
tqfp.jpg
Der war aus 'nem Motorola-Knochen, kA was das für'n IC ist.
(war mein erster TQFP - und ja, die Brücke rechts unten ist mir bekannt...)

Nachtrag zum Thema: Falls Du auf den ATmega88 umschwenken willst, solltest Du vielleicht auch dessen größere Varianten in betracht ziehen (also die ganze Gruppe ATmega48/88/168/328 mi P/A/PA usw). Allerdings gibts für den ASM-Programmierer dann Unterschiede zu beachten (Flash-Größe->RJMP/JMP->unterschiedlich "breite" IVT). Dieweil so'n TQFP kannst Du ja dann nicht so einfach umstecken... andererseits bist Du ja mit dem ursprünglichen Tiny von 4K Flash und dem nochmals reduzierten Tiny-Instruction-Core ausgegangen.
 
Ich kenn das Problem mit den engen Pin Abständen auch :)

Damals musste ich sowas auch mal verlöten (ich glaub es war ein ATmega88). Da hatte ich noch ein Lötkolben mit viel zu dicker Spitze (war aber schon die dünnste die es gab). Ich hab mir 0,5mm Silberdraht genommen und um die Spitze gewickelt und mit dem Draht gelötet ^^
Hat erstaunlicherweise auch sehr gut funktioniert. Zu empfehlen ist es aber nicht, die Lötspitze ist danach zerbröselt.

Nu hab ich ne vernünftige Lötstation wo es auch sehr feine Spitzen für gibt :)

Wobei ich das Rastermaß nicht soo schlimm finde. Das kann man zur Not sogar noch auf Lochraster quetschen ^^
Die Lötaugen mit nem Cuttermesser halbieren und jedes dritte Bein hoch biegen und denn mit Kupferlackdraht "routen". Für Prototypen reichts ;)
 
Hallo,

das ist alles ein wenig Übungssache. Man kann selbst mit der Ecke einer 3mm meißelförmigen Spitze SMD-Bauteile löten. Man benötigt aber vor allem eine ruhige Hand und gutes blendfreies Licht.

Gruß
Dino
 
Du meinst diese beheizten Schraubendreher? :D
Ne da kam ich irgendwie nie mit klar ^^
Vor allem beim Lötkolben mit dem fetten Kabel dran. Aber jedem das Seine :)
 
Hallo zusammen,

habe mir mal die beiden von euch genannten Lötstationen angeschaut. Nach dem meine Lötstation vor einiger Zeit den Geist aufgegeben hat und ich mit einem normalen Lötkolben mit 1mm Spitze SMD derzeit löte, habe ich mich jetzt entschieden in eine Lötstation zu investieren.

Wie weit runter lötet iht mit der Hand? Möchte gerne den TLC5941 einsetzen. der hat 0,65mm Pinabstand. Na ja, zu 0,8mm ist da eh nicht mehr viel Unterschied. Aber muss mir unbedingt ein anders Lötzinn besorgen. Für so filigrane Dinge ist mir meines zu dick.
Verwendet ihr bleifreies oder bleihaltiges Lötzinn?

Gruß Manfred :hello:
 
Solltest du dir die Lötstation bestellen die ich habe bestell dir auf jeden Fall das Spitzen-Set mit dazu, da ist die feine Spitze mit drin (gibt es leider nicht einzeln).

Ich nutz dieses Lötzinn, da ist aber Blei drin. Das ist 0,5mm, gibt es aber auch noch mit 0,3dickemilch.

Glaub 0,8mm war das kleinste was ich je verlötet hab was den Pinabstand angeht. Aber ich hab nie nachgemessen, von daher... :)
 
Hi,

das kleinste was ich hatte waren 0,5mm Abstand (Anschluß an einem LCD-Display). Da hab ich Fädeldräht draufgelötet.
0,65 und 0,8mm hab ich auch schon gelötet. Also 0,8mm ist kein Problem. Darunter benötigt man eine ruhige Hand und etwas übung.

Normalerweise nehme ich eine 0,8mm Spitze und 0,5mm Lötzinn (bleihaltig). Wegen der dünnen langen Spitze arbeite ich mit 350-400°C und flott damit die Spitze durch langes liegenlassen und dadurch steigende Hitze nicht verzundert. Die Hitze (Leistung) wird aber benötigt um bei der langen dünnen Form schnell genug Wärme nachliefern zu können. Ab 0,65mm Raster benutze ich die 0,5mm-Spitze.

0,3mm Lötzinn habe ich zwar aber noch nicht verwendet.

Gruß
Dino
 
0,65mm mit 'ner 0,8er Spitze und 0,5er Lötzinn (nutze ich eigentlich für alles):

TSSOP.jpgErstmal diagonal korrekt ausgerichtet nur 2 Pins verlötet. Dann alle Beine angelötet, und dabei Brücken in kauf genommen. Als letzten Schritt dann Kupferlitze in alkoholgelöstes Kolophonium getunkt, und diese dann mit dem Kolben dann auf die Brücken getippt.
 

Ü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)