Hallo zusammen,
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.
Hat jemand eine Idee, woran das liegen könnte?
Vielen Dank vorab!
Nils K. schrieb:> 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.
Nils K. schrieb:> 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.
Maxim B. schrieb:> Kann man hier irgendwo Revision-Nr. sehen?
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.
Gregor J. schrieb:> man weigert> sich vehement, die kostenlosen Datenblätter mit einem Mausklick zu> öffnen und zu lesen
Danke für die Antwort und für Geduld: 730 Seiten sind nicht so einfach
mit einem Blick zu begreifen.
Maxim B. schrieb:> 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.
Maxim B. schrieb:> 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.
Vielen Dank für alle Erklärungen.
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.
Gregor J. schrieb:> 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.
Hallo,
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.
Veit D. schrieb:> Hallo,>> 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...
Hallo,
Entschuldigung. Das wechselt(e) hier alles so nahtlos zwischen AVRxDA,
STM, AVRxDB hin und her.
Den AVRxDB verwende ich auch, hatte bisher keine Probleme damit.
Den AVRxEA hätte ich auch da.