ich stehe aktuell vor einem Problem mit einem AVR128DA64, bei dem ich nicht mehr weiter komme. Ich möchte den TCA0 und TCA1 für PWM-Signale auf sechs Outputs nutzen. Beide Outputs habe ich auf alternative Pins gelegt, was ich entsprechend im PORTMUX so eingestellt habe.
Der TCA0 funktioniert einwandfrei, aber der TCA1 gibt überhaupt keine Signale aus. Wenn ich den TCA1 ohne PORTMUX auf seinen „normalen“ Pins teste, funktioniert er wie gewünscht auf allen drei Outputs. Sobald ich ihn jedoch auf die alternativen Pins (PORTE, die gewünschten) umstelle, gibt es keinen Output mehr.
Zur Ergänzung: Es sind auch einige LEDs an den Pins von PORTG angeschlossen. Hier funktioniert lediglich der erste Output.
Ich denke nicht, dass es an der Initialisierung des Timers liegt, da er ja auf manchen Pins funktioniert. Auch an dem PCB liegt es nicht, da ich die drei Outputs und LEDs normal schalten kann. Andere Module werden ebenfalls nicht genutzt.
Ich finde es seltsam, dass der TCA1 normal funktioniert, aber bei Nutzung der alternativen Pins nur teilweise oder gar nicht reagiert, zumal der TCA0 in genau der selben Situation funktioniert.
ich stehe aktuell vor einem Problem mit einem AVR128DA64, bei dem ich
nicht mehr weiter komme (...)
Es gibt auch noch mindestens einen AVR128DB64 – die Serien unterscheiden sich ein wenig voneinander, bei DB gibt es u.a. die sogenannte VDDIO2-Spannung und man kann einen externen Quarz für HF anschließen, ob das aber hier von den Innereien bei einem Projekt überhaupt in Frage käme, muss man schon selbst anhand der Datenblätter untersuchen und herausfinden – die Errata scheint auf den ersten Blick bezüglich des besagten TCA-Problems jedenfalls etwas anders zu sein.
Es gibt noch die Serien AVR-DD und AVR-EA – die haben aber anscheinend keine TQFP64-Typen.
Zeitlich ist unser Projekt leider sehr limitiert, weswegen ich keinen neuen IC mehr bestellen kann.
Habe aber als Überbrückung ne ehr unschöne Lösung gefunden. Ich gebe das PWM Signal auf den alternativen 1 aus, welche auf dem PCB unbelegt sind und übertrage den Status von den Ausgängen mit einem Timer B, welchen ich eh brauche, zu den richtigen Ausgängen. Als Provisorium reicht das, aber in der Zukunft müsste ich da auf jeden Fall was ändern.
Als Provisorium reicht das, aber in der Zukunft müsste ich da auf jeden
Fall was ändern.
Man könnte natürlich auch gleich z.B. zu STM32 greifen, sofern man nicht auf 5V als VCC angewiesen ist, denn der Lötaufwand bei LQFP64 mit 0,5mm Raster ist dann quasi gleich – selbst ein STM32F030RC müsste dem Anwender mehr als ein AVR128 bieten, allein schon aufgrund der Taktfrequenz, die dort bei 48MHz liegt; es gibt aber auch welche mit 170 oder 180 MHz in dem Gehäuse mit extrem viel Peripherie – viele 16-Bit-Timer, die man als PWM nutzen kann, DAC-Ausgänge, DMA-Einheiten zum Schaufeln der Daten, I2S etc. Voraussetzung bei solchen Quantensprüngen im Konzept ist aber, dass man sich mit den 32-bittern bereits ausreichend auskennt.
Immer wieder das gleiche, was in diesem Forum passiert – man weigert sich vehement, die kostenlosen Datenblätter mit einem Mausklick zu öffnen und zu lesen, um auch mal selbst an Informationen und Wissen zu kommen.
Danke für die Antwort und für Geduld: 730 Seiten sind nicht so einfach
mit einem Blick zu begreifen.
Bitte sehr. Man liest auch nur punktuell das, was gerade benötigt wird – dafür gibt es die Suchfunktion innerhalb eines Datenblatts oder auch den Index etc. Im Anhang die ausgelesene REV-ID von meinem AVR128DB28 in SO28 mit 1,27mm – umgerechnet lautet sie A5 und dieser Wert scheint auch plausibel zu sein.
Ed gibt schon B0. PDF von 02.04.2024.
Aber da meine AVRs in September 2023 gemacht wurden, ist das wahrscheinlich A5. Später kucke ich das über UPDI. Im Moment ist Computer anders beschäftigt.
Ed gibt schon B0. PDF von 02.04.2024.
Aber da meine AVRs in September 2023 gemacht wurden, ist das
wahrscheinlich A5. Später kucke ich das über UPDI. Im Moment ist
Computer anders beschäftigt.
In B0 scheint noch mehr von den anfangs gemachten Irrtümern behoben worden zu sein – am schlimmsten war es bei der Initial-Revision A4, es ist aber insgesamt immer noch relativ wenig im Vergleich zu den Erratas bei STM32.
Ich habe noch abschließend einen Screenshot gemacht, damit nicht wieder irgendeine Thread-Komödie fabriziert wird, um es zu finden – entweder man liest es selbst mit der CPU aus und schickt den 8-Bit-Wert dann z.B. weiter an die UART-Schnittstelle etc, wie ich es hier anfangs gemacht habe, oder man schaut einfach mit dem Debugger nach, welcher Wert im REV-ID-Register steht – die zweite Variante ist deutlich einfacher und eigentlich auch idiotensicher, sofern man mit dem Wert etwas anfangen kann, aber die Interpretation der Nibbles wird im Datenblatt eindeutig erklärt. Vorher muss man aber noch das entsprechende Fenster aktivieren (IO) und in die richtige Registerdomäne mit der Maus springen. Die hier verwendete Software ist Atmel Studio in seiner letzten finalen Version (as-installer-7.0.2594-full.exe) auf einem PC mit Winodws 10 als Betriebssystem. Auf dem zusätzlichen, zweiten Screenshot ist noch die Info zu der Markierung auf dem Gehäuse, d.h. was man also dort finden und auch nicht finden wird. Scrollt man im Datenblatt weiter runter, wird man auch die anderen Gehäusetypen und deren Marking finden.
Ich verstehe zwar nicht, warum dich so einfachen Fragen so ärgern?
Aber ich hoffe, dieser Ärger kommt nicht weiter, und die Fragen dürfen hier gestellt werden? Dich, deine Kenntnisse, deine Erfahrungen, das alles braucht man hier.
Bitte sehr. Man liest auch nur punktuell das, was gerade benötigt wird –
dafür gibt es die Suchfunktion innerhalb eines Datenblatts oder auch den
Index etc.
Wenn man mich über Orgeln fragt, und meistens geht es um elementare Sachen, könnte ich wohl auch sagen: lies mal Dom Bedos, dort steht alles, und zwar schwarz auf weiß in Altspanisch mit Latein beigemischt :) Stattdessen erkläre ich alles. Warum?
Immer schön die Datenblätter lesen, denn damit ist allen geholfen und mit jedem Gebrauch man immer mehr Routine darin bekommt – irgendwann mal kann man diesbezüglich dann auch die Unmündigkeit nach der Definition von I. Kant endlich beiseitelegen.
warum wechselt der Name vom TO von Nils auf Maxim?
Maxim schreibt weiter im Thread als wenn er Nils wäre.
Was ist hier los?
Weil Nils könnte auch die 3 nicht funktionierenden PortMux Leiterbahnen trennen und an den funktionierenden Port anlöten. Die Nächste bestellte Leiterplatte ist dann dementsprechend korrigiert.
warum wechselt der Name vom TO von Nils auf Maxim?
Maxim schreibt weiter im Thread als wenn er Nils wäre.
Das mache ich nicht. Ich habe einfach gefragt, weil mich Thema auch interessiert.
Oder habe ich meinen Eigennamen versteckt?
Ich war gerade dabei, eine Platine für AVR128DB64 zu bestellen. Zum Glück habe ich Thread gesehen. Bisher dachte ich, alles arbeitet genau wie in Datenblatt steht. Nun muß ich die Platine noch einmal überprüfen...