Suche Prozessor

achim S.

Premium Benutzer
16 Jan 2010
442
6
18
Nähe Basel
Sprachen
C
Hallo
Bin auf der suche nach einem Prozessor.
Daten die ich gern hätte:
- 1,8 bis 5V
- kein USI
- I2C (TWI) Slave reicht aus, muss kein Master sein
- Programmierung mit ISP (ICE Programmer)
- ca 14 bis 20 polig
- genug Speicher (muss für mich reichen)
- nur AVR Atmega oder Attiny
- Kein PIC

Habe alle möglichen mir bekannten durch gesehen. Entweder USI oder die moderne Programmierung wie UDPI (oder so)
 

TommyB

Premium Benutzer
17 Mai 2010
1.755
63
48
35
127.0.0.1 ;)
Sprachen
Assembler, LunaAVR, VB.Net, Python, C#
Der Tiny13 ist zu klein, Tiny2313V, sonst verwende ich gerne die Mega48/88/168/328. Die sind mit 28pin aber etwas drüber.
Alles was mein Drachen noch frisst sollte auch der ICE können. Das sind die, die ich so verwende.
Aber @LotadaC hat da ja 'ne Liste parat, zumindest für die Tiny's ;)
 

achim S.

Premium Benutzer
16 Jan 2010
442
6
18
Nähe Basel
Sprachen
C
Der Tiny 13 ist zu klein, stimmt, den Atiny 2313 verwende ich schon hat aber USI. Werde auch mal die Liste anschauen.
Atmel oder so hat ja viele neue rausgebracht, aber alle mit neuer Programmierung und da passt mein ICE nich dazu
achim
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.090
57
48
Hennigsdorf
Sprachen
BascomAVR, Assembler
aber alle mit neuer Programmierung und da passt mein ICE nich dazu
???
Wir reden vom Atmel ICE, oder?

Der kann unter anderem SPI, TPI und UPDI - außerdem dWire, aWire und was weiß ich noch alles...
(Grundsätzlich kann er nur lowVoltage-Programming - bei TPI kann man aber einfach selbst den Reset-Pin am Chip auf 12V legen; dann ist der Controller auch im Reset, und wie bei LV-TPI programmierbar. Bei UPDIwird ein 12V-Strobe am UPDI-Eingang des ICs benötigt, um den Controller in den UPDI-Mode zu schalten, danach wird der auch wie LV-UPDI programmiert.)

Meine Liste sollte bis zu den 14-Beinern soweit vollständig sein - lediglich die ganzen X-Core-Tinies fehlen (da gibt's ja auch schon welche mit 8 Beinen, und alle haben Hardware-TWI) - aber ob Du die programmieren kannst oder willst, weiß ich nicht. Zumindest unter Assembler 'ne erhebliche Umstellung (Die's aber irgendwann mal Wert sein wird!).

Von den eher konventionellen Tinies also am ehesten der Tiny841. Zu kleinen Megas kann ich nichts sagen, wobei "klein" ja auch nicht wirklich aussagekräftig ist. Vergleiche mal einen Tiny im DIP8 mit einem 28-Bein VQFN-Mega, oder irgendwelchen BGAs
(Den Tiny20 hab ich Dir ja schon gezeigt, ALABEL hat aber noch keinen Fädeldraht dranngelötet)
 

achim S.

Premium Benutzer
16 Jan 2010
442
6
18
Nähe Basel
Sprachen
C
In deiner Tabelle hast du zum Attiny 441/841 und Attiny 20 TWI Slave geschrieben. Es scheinen die einzigsten zu sein die das können. Alle anderen haben USI. Beim 20 wahrscheinlich mit ISP und beim 441/881 nur UPDI möglich.
Mein ICE Programmer soll damit funktionieren. Habe zwar noch keine Ahnung wie das geht, mal sehen was ich damit machen kann
achim
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.090
57
48
Hennigsdorf
Sprachen
BascomAVR, Assembler
In deiner Tabelle hast du zum Attiny 441/841 und Attiny 20 TWI Slave geschrieben. Es scheinen die einzigsten zu sein die das können.
Korrekt, zumindest von den kleineren (die größeren fehlen ja noch), und abgesehen von den X-Core-Tinies (->UPDI), die nahezu komplett fehlen.
Alle anderen haben USI.
USI ist eine universelle serielle Schnittstelle, die TWI und SPI nachbilden kann, und die ab einer gewissen Generation in vielen klassischen ATtinies und einigen ATmegas vertreten ist/war. Diese Generation kann üblicherweise über SPI programmiert werden, deswegen nenne ich sie auch SPI-Tinies. Im Instruction-Set werden sie auch als AVRe-Core bzw megaAVR/tinyAVR geführt.
Bei den Megas wurden später häufiger echte SPI und TWI eingesetzt, folglich war ein USI nicht mehr nötig.

Bei den Tinies wurde irgendwann ein neuer/anderer deutlich reduzierter Core entwickelt, im Instruction Set zB als AVRrc (reduced core) bezeichnet. Da sie über ein neues Tiny Programming Interface zum Flashen verfügen, nenne ich sie TPI-Tinies. Diese Tinies besitzen (meiner Meinung nach alle) kein USI, einige besitzen SPI und/oder TWI, aber dieses TWI ist nicht Master-fähig. Außerdem existieren nur noch 16 statt 32 Rechenregister, die Pullups werden anders angesteuert. Oft können Hardware-Funktionen auf unterschiedliche Beine gemapped werden. Die Clocksource ist zur Laufzeit änderbar (nicht mehr an Fuses gebunden) uvm...
beim 441/881 nur UPDI möglich.
Nein, der ATtiny441/841 ist ein SPI-Tiny (wie auch der Tiny1634), aber er besitzt einige Hardware-Besonderheiten, die eigentlich bei den TPI-Tinies üblich wurden. Insbesondere auch das Slave-TWI-Modul. Beim 1634 finden sich zB Hinweise auf den PTC, dens so nur in den X-Cores gibt. Meiner Meinung nach (Spekulation) sollte der tatsächlich damit ausgestattet werden, aus irgendwelchen Gründen wurde es dann aber entfernt/abgeschaltet/verworfen).
Ich spekuliere weiterhin, daß auf der TPI-Schiene keine weiteren Neuentwicklungen mehr kommen werden - höchstwahrscheinlich auch keine SPI-Tinies.
Meiner Meinung nach werden nurnoch neue X-Tinies entwickelt werden...
Beim 20 wahrscheinlich mit ISP
ISP heißt lediglich In System Programming, das können salopp gesagt alle (der theoretische Tiny10 (also aus der Tiny10/11/12-Serie) wäre nur einmal beschreibbar gewesen, aber den gab's so nie - nicht zu verwechseln mit dem ATtiny4/5/9/10).
ISP sagt nur, daß der Chip im System geflasht werden kann - nichts über das verwendete Interface. Und das wäre beim ATtiny20 eben TPI. Steht auch hinten in der Liste. Erkennt man aber auch an der Hintergrundfarbe (wobei der Tiny40 auch umgefärbt werden muß, aber da war ich ja noch nicht).

Mein ICE Programmer soll damit funktionieren. Habe zwar noch keine Ahnung wie das geht
Mein AVRisp mkII konnte erst nach einem Firmware-Update TPI. Das wurde vom Atmel Studio angeboten, und lief problemlos durch. Der ICE sollte TPI mit seiner Standard-Firmware können. Möglicherweise würdest Du für die X-Tinies via UPDI 'n Firmware-Update brauchen.

@TommyB : Du hast auf meine Liste (Ressource) verlinkt, aber auf die Ur-Version - korrigier das mal bitte auf die Aktualisierung.
 
Zuletzt bearbeitet:

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.090
57
48
Hennigsdorf
Sprachen
BascomAVR, Assembler
Der ICE sollte TPI mit seiner Standard-Firmware können.
Probiers doch mal aus:
  1. Atmel Studio starten
  2. ICE anschließen
  3. Menu→Tools→Device Programming (oder einfach Strg+Shift+P )
  4. bei Tools den ICE wählen
  5. bei Device dann einen TPI-Tiny suchen (z.B. den ATtiny20)
  6. bei Interface sollte dann TPI erscheinen...
  7. (Wenn Du so'n Chip dann drann hast Apply und Signatur lesen lassen)
Wählst Du bei (5) den ATtiny841, wird Dir logischerweise statt TPI SPI als Interface angeboten...
Bei Schritt (5) werden nur Devices angeboten, die das Tool (4) (mit der derzeitigen Firmware ?) kann - mit meinem AVRisp sehe ich also keine X-Tinies (UPDI), mit meinem STK500 sehe ich auch keine TPI-Tinies.
Mit dem Simulator werden alle Devices angeboten (die das Studio unterstützt), klar...
 

achim S.

Premium Benutzer
16 Jan 2010
442
6
18
Nähe Basel
Sprachen
C
Nein, der ATtiny441/841 ist ein SPI-Tiny (wie auch der Tiny1634), aber er besitzt einige Hardware-Besonderheiten, die eigentlich bei den TPI-Tinies üblich wurden. Insbesondere auch das Slave-TWI-Modul. Beim 1634 finden sich zB Hinweise auf den PTC, dens so nur in den X-Cores gibt. Meiner Meinung nach (Spekulation) sollte der tatsächlich damit ausgestattet werden, aus irgendwelchen Gründen wurde es dann aber entfernt/abgeschaltet/verworfen).
Ich spekuliere weiterhin, daß auf der TPI-Schiene keine weiteren Neuentwicklungen mehr kommen werden - höchstwahrscheinlich auch keine SPI-Tinies.
Meiner Meinung nach werden nurnoch neue X-Tinies entwickelt werden...
Das versteh ich nicht so ganz. Wird der Attiny nun mit ISP oder UPDI programmiert?
Konnte bisher auch nichts zum UPDI finden. So wie Belegung, was für ein Stecker, 6 polig oder 10, welche Anschlüsse am Attiny?
Vielleicht kann sich auch Dirk dazu äussern.
achim
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.090
57
48
Hennigsdorf
Sprachen
BascomAVR, Assembler
Wird der Attiny nun mit ISP oder UPDI programmiert?
Wie oft denn noch?
Das wäre 'ne Frage wie: "Fährt das (jedes?) Fahrzeug mit Treibstoff oder mit Superbenzin?"

Welcher ATtiny???

ISP heißt nur "In System Programming" - unabhängig vom dabei verwendeten Interface. Strenggenommen kannst Du also Auch'n Mega88 verlöten, und den dann via High Voltage Parallel Programming im verlöteten Zustand im System programmieren. Die Schaltung muß dann halt 12V am Reset tolerieren, außerdem mußt Du D7..1, B5..0 und C2..0 kontaktieren (der Programmer/Controller muß die Leitungen bedienen können, die Peripherie das tolerieren), außerdem 'n Takt an XTAL1 (also B6).


Konnte bisher auch nichts zum UPDI finden.
UPDI ist das Unified Programming and Debugging Interface, welches mit den/für die X-Core-Tinies entwickelt wurde - sollte sich also in deren Datenblättern was zu finden lassen.
So wie Belegung, was für ein Stecker, 6 polig oder 10,
Anleitung des ICE dazu (das ist quasi auch der MISO/TPI-Data-Pin am ICE)
welche Anschlüsse am Attiny?
Nur einer, der UPDI Pin. Welcher das jetzt bei einem konkreten Controller ist, mußt Du dem konkreten Datenblatt entnehmen...
(Beim ATiny816 ist das zB A0 - im SOIC-Package Bein16, im VQFN-Package Bein 19)
 

achim S.

Premium Benutzer
16 Jan 2010
442
6
18
Nähe Basel
Sprachen
C
Im Datenblatt zum ICE Programmer ist UPDI angegeben. Dort wird ein 6 poliger Stecker gezeigt mit einem Pin mit der Angabe UPDI. Im Text dazu steht das ein gelieferter Stecker dazu passen soll. Dieser Stecker erweckt den Eindruck das er wie ein 6 poliger Stecker für das ISP aussieht, halt nur im Raster 1,24mm. An meinem ICE ist ein kurzes Kabel mit einem 10 poligen Stecker zum Anschluss an den ICE, entweder in den SAM oder AVR Anschluss. Dann habe ich auf der anderen Seite den 6 poligen Stecker zum Anschluss an den IST z.B. um meinen ATm 128 zu programmieren. Dann hängt noch ein 10 poliger Stecker dran im Raster 1,24mm. Dadurch kommen meine Fragen dazu. Das bedeutet, es fehlt ein Kabel zum Anschluss UPDI.
Mit der Auswahl eines Attiny841 kommt dann auch erst der entsprechende Punkt bei Devices.
Da werde ich mal auf die Jagt gehen und schauen ob es die Kabel einzeln gibt oder wie man es besten machen kann. Werde da zu mal Tante Goo.. losschicken.
Sorry für die vielen blöden Fragen, ist aber alles totales Neuland für mich.
achim
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.090
57
48
Hennigsdorf
Sprachen
BascomAVR, Assembler
Mit der Auswahl eines Attiny841 kommt dann auch erst der entsprechende Punkt bei Devices
???
Der ATtiny841 IST (!!) das Device.
Erst wählst Du den zu verwendenden Programmer (der ggf angeschlossen sein muß), das Programmier-Tool.
Passend zum gewählten Tool werden danach alle verwendbaren Devices (also die Controller) gefiltert, die mit diesem Tool programmiert werden könnten.
Hast Du hier ein Device gewählt, kannst Du eines der verfügbaren Programmierinterfaces wählen (eben bedingt durch das Tool und das Device).
Wenn ich als Tool meinen AVRisp, und als Device 'nen Mega88 wähle, erscheint als Interface nur SPI.
Wenn ich als Tool das STK500, und als Device den Mega88 wähle, kann ich als Interface zusätzlich auch HVPP wählen.
Klar, der AVRisp kann kein High Voltage Programming - das STK hingegen schon...

Du hast am ICE zwei 10-polige (2reihige) Wannenstecker (im 1,27mm-Raster) - einen für SAM, und einen für AVR. Hier gehts bisher nur um AVR.
Wie Du der Tabelle aus meinem Link aus #9 entnehmen kannst, ist die Pinbelegung dieses Wannensteckers:
  1. TCK - Target Clock
  2. GND - Ground
  3. TDO - Target Data Out
  4. VTG - Target Voltage (detect)
  5. TMS
  6. nSRST - Target Reset ?
  7. (nc)
  8. nTRST
  9. TDI - Target Data In
  10. GND - Ground
Die Funktionen sind von mir spekuliert, je nach Interface-Modus haben die (einige) Pins abweichende Funktionen.
Soll UPDI verwendet werden, muß nur eine Signalleitung mit dem Controller bestehen, UPDI. Am Controller am gleichnamigen Pin, am ICE eben laut der verlinkten Tabelle eben TDO (Pin3 des AVR-Steckers). Da ein Pegel ja immer eine Spannungsdifferenz ist, benötigst Du außerdem 'ne Gnd-Verbindung, und der ICE muß die Versorgungsspannung der Zielschaltung messen - Vtg.

Du kannst also theoretisch Drähte zwischen diese Drei Pins des AVR-Steckers und die korrespondierenden Controller-Beine löten - praktisch wäre das nicht.
Also verwendest Du irgendein Kabel, was ICE-seitig 'n 10poligen Pfostenverbinder in RM1,27 hat, und Dir Target-seitig irgendwas verwendbares bereitstellt.

Je nach Deiner Kit-Version (und eventuellen zusätzlichen Teilen) hast Du unerschiedliche mögliche KAbel und Adapter.
Beim Mini-Squid-Kabel ist jeder Pin des Pfostenverbinders auf einen einzelnen Stecker geführt, welcher mit der Nummer des Pfostenverbinder-Pins (und damit der des Wannenstecker-Pins) beschriftet ist.
Beim Debug-Kabel hast Du einen 10poligen Hosenträger, über den die Adapterplatine an den ICE angeschlossen werden könnte, außerdem sind da sechs (der 8, (nc) zählt ja nicht, und Gnd ist doppelt) Signaleauf einen 2reihigen 6poligen Pfostenverbinder in RM2,54 herausgeführt.
Andiesem Pfostenverbinder hast Du (bei Anschluß an den AVR-Wannenstecker):
  1. TDO
  2. VTG
  3. TCK
  4. TDI
  5. nSRST
  6. GND
Entsprechend der verlinkten Tabelle wäre für UPDI TDO (Pin3 des AVR-Wannensteckers, Pin3 des Squid-Kabels oder eben Pin1 des Debug-Kabels) mit dem UPDI-Pin des Controllers zu verbinden.

Für SPI gibts natürlich auch so'ne Tabelle, hier sind dann eben vier Signale neben den beiden Spannungs-Pins zu verbinden.

Für TPI brauchst Du drei Leitungen (Data, Clock und Reset) sowie zwei für die Spannung, hier die entsprechende Tabelle...

Der 6polige Pfostenverbinder entspricht dem Standard-SPI-Layout, je nach verwendetem Interface werden dann nicht mehr alle Leitungen verwendet, klar?
 

achim S.

Premium Benutzer
16 Jan 2010
442
6
18
Nähe Basel
Sprachen
C
Auch auf die Gefahr hin das du mich erschlägst oder zum Mond schickst oder für doof erklärst, habe ich diese Schaltung gerade gefunden. Da erfolgt die programmierung über ISP (ganz normal) und kein UPDI.Schema 841.png
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.090
57
48
Hennigsdorf
Sprachen
BascomAVR, Assembler
Da erfolgt die programmierung über ISP (ganz normal) und kein UPDI.
Und T841 soll dann ein ATtiny441/841 sein, stimmt doch.
Aus Unseren PNs:
'ne Sonderstellung haben der Tiny1634 und der Tiny441/841 - die sind zwar eigentlich SPI-Tinies,
Der ATtiny24/44/84 ist ein konventioneller (SPI-programmierbarer) 14-Bein-Tiny[…]
Der ATtiny441/841 ist sowas wie 'ne Weiterentwicklung des 24/44/84
Und von hier nochmal:
Von den eher konventionellen Tinies also am ehesten der Tiny841.
Ich bezeichne die SPI-programmierbaren Tinies als konventionell...
Nein, der ATtiny441/841 ist ein SPI-Tiny (wie auch der Tiny1634),
Wählst Du bei (5) den ATtiny841, wird Dir logischerweise statt TPI SPI als Interface angeboten...
Ich hatte auch mehrfach darauf hingewiesen, daß UPDI für die/mit den neuen X-Core-Tinies entwickelt wurde - nur die benutzen das...
 

dino03

Aktives Mitglied
27 Okt 2008
6.701
14
38
Sprachen
BascomAVR, Assembler
Hi Achim,

Auch auf die Gefahr hin das du mich erschlägst oder zum Mond schickst oder für doof erklärst, habe ich diese Schaltung gerade gefunden. Da erfolgt die programmierung über ISP (ganz normal) und kein UPDI.Anhang anzeigen 7990
hast du schonmal Mengenlehre gehabt? Gabs bei mir damals in der ersten Klasse ;)

ISP heißt lediglich In System Programmierung.
Dieses Gruppe ISP hat Elemente wie zB HVPP, UPDI, TPI.

Vergleichbar mit dem Begriff AUTO (für ISP)
Ein AUTO kann ein Audi oder VW oder BMW oder ... sein.
So wie ISP ein TPI oder ein UPDI oder HVPP sein kann.
Oder so wie OBST ein Apfel oder eine Birne oder ein Pfirsich sein kann.

Ich hoffe mal, es ist jetzt klarer geworden.

Gruß
Dino
 

achim S.

Premium Benutzer
16 Jan 2010
442
6
18
Nähe Basel
Sprachen
C
In dem Land wo ich herkomme blieb mir die Mengenlehre verschont. Bin ich heute noch froh darüber.
ISP heißt lediglich In System Programmierung.
Dieses Gruppe ISP hat Elemente wie zB HVPP, UPDI, TPI.
Danke für die Info. Die Sache war mir nicht klar. Deshalb frage ich lieber noch mal nach bis ich es verstehe.
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)