Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: EDV-Dompteur/Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Dienstag, 14. April 2020, 15:27

ATtiny13A: Wo kommt der eine Takt her?

Hallo zusammen,
es geht darum, dass ich ein vom Logic-Analyser aufgenomme Sequenz näher untersucht habe, mir aber nicht erklären konnte wieso es einen Takt länger dauert.

Da in anderen Foren entweder zu viele Trolle oder aber die Forensoftware nicht so dolle ist, habe ich mich entschlossen hier weiter zu machen.
Die zum LA-Screenshot dazugehörige Codesequenz ist super einfach, aber um herauszufinden wo der eine Takt herkommt muss man sich schon mächtig ins Zeug legen.
[code]
_main:
sbis PINB,1
rjmp _main

sbi LED_PORT,led.ge ;LED-Gelb einschalten ( TEST )##################################################
cbi LED_PORT,led.ge ;LED-Gelb ausschalten
[code]

Grundsätzlich ist der Zeitpunkt, wann dass Signal auftaucht sehr entscheidend und deshalb auch ob dass Signal bzw. Pegel überhaupt erkannt wird. Die Signallänge eher zweitrangig.
Denn an Punkt 1 ist die Signallänge nicht wesentlich kürzer als bei Punkt 2. Es ist aber halt kurz nach dem enscheidenen Moment aufgetaucht ( fallende Flanke ).




Warum im DB-Beispiel der Transparante-Teil vom Latch schraffiert dargestellt wird, versteh ich nicht, denn den halte ich für irrelevant.




Jetzt konkret zu der oben aufgeführten Codesequenz :



Wichtig ist dass das PINxn-Register zum Zeitpunkt, wenn der Befehl SBIS ausgeführt wird high ist. Sonst kommt es ja zu keinem Überspringen, ergo wird die LED-Gelb nicht eingeschaltet ( 3 ).
Ich habe mir dass Schraffieren des gelatchten Zustands erpart und stattdessen später für den Anfang statt dessen, unten einen Strich gemacht und am Ende oben.
Die kürzeste Zeit auf die auf dass Signal reagiert werden könnte, wäre im Moment des zweiten Taktes, bei der fallenden Flanke, des unbedingten Sprungbefehls rjmp ( 2 ). Dies wären 5 Takte, da ein Befehl ja mindestens einen Takt benötigt und dieser nunmal der zweite Takt des rjmp-Befehls ist.

Die längste Zeit die auf das Reagieren des Signals vergehen würde, wären 7,5Takte. Also kurz nach der fallenden Flanke im 2ten Takt des rjmp-Befehls ( 1 ).

Etwas einfacher wird es wohl hier erklärt :

https://www.roboternetz.de/community/thr…ll=1#post659248

Hier hatte ich nicht die Hife erhalten, die ich mir erhofft hatte :

https://www.mikrocontroller.net/topic/84335#6210286

Beim Worst-Case-Fall sind wir uns da schonmal einig. Der Best-Case-Fall steht noch offen, da dies ja nur meine Ansicht ist.


_Machtwas_
CRS Robotics A255, TRONXY X3A, TinkerCAD, c´t-Lab, ProfiLab Expert, AVR8 Assembler

EDV-Dompteur

Administrator

Beiträge: 2 004

Wohnort: Hamburg

Beruf: Techniker

  • Nachricht senden

2

Dienstag, 14. April 2020, 16:00

Für Deine Assembler-Probleme rund um LED-Beleuchtung bist Du im Ledstyles-Forum ganz sicher besser aufgehoben:
https://www.ledstyles.de/

Ich war dort vor Jahren selbst recht aktiv und empfand die dortige Hilfsbereitschaft, Freundlichkeit und Fachkompetenz die ganze Zeit für grandios!

Roboternet.de und Mikcrocontroller.net hingegen, waren auch nie so recht mein Fall. Die sind beide zu groß, um noch eine faminiäre Atmosphäre halten zu können.
Wenn Ledstyles.de heute noch genauso ist, wie ich es damals erlebte, dann ist das ganz klar das Forum der Wahl, bei solchen Problemen.

Der Moderator "Pesi" ist dort noch immer aktiv, wie ich gerade sah. Der ist der absolute Superfachmann in Sachen Assembler auf dem AVR! Der holt echt das letzte aus dem Controller heraus, ich habe schon oft gestaunt, was für großartigen und bis ins Detail durchoptimierten (trotzdem leserlichen) Assembler-Code der zaubert!


P.S.: Nicht dass ich Dich hier "verscheuchen" wollte, aber jedes Forum hat halt so seinen eigenen Schwerpunkt. Hier liegt der Schwerpunkt auf Notebook-Reparatur. Andere Themen sind hier nur eher so am Rand angesiedelt.
Macht Technik dir das Leben schwör, ruf' schnell den EDV-Dompteur! ;-)

- Technische Fragen zu Eigenreparaturen bitte öffentlich im Forum stellen, nicht telefonisch! -

3

Donnerstag, 16. April 2020, 10:52

AVR8 Assembler ( AVR8ASM ) ist nur für sehr, serhr wenige interessant

.S.: Nicht dass ich Dich hier "verscheuchen" wollte, aber jedes Forum hat halt so seinen eigenen Schwerpunkt. Hier liegt der Schwerpunkt auf Notebook-Reparatur. Andere Themen sind hier nur eher so am Rand angesiedelt.


Ist mir schon aufgefallen :-)


Ist aber nicht schlimm, denn nur sehr, sehr wenige interessieren sich für Assembler und für AVR8ASM auch wieder nur ein Teil davon.

Bin es also gewohnt den " Selbstunterhalter " hierbei zu spielen. Lieber ein Einzigen der wirkliches interesse hat, als 1000 Trolle ;-)
Hab mir mal die Beiträge von Pesi angeschaut, macht für mich nicht so den Eindruck, dass der sich generell bzw. überwiegend für AVR8ASM interessiert, deshalb werde ich nicht noch einem weiteren Forum beitreten.
Deshalb wieder zum vorherigen Thema:


Weiß nicht was mich da geritten hat, aber es ist ja deutlich bei Punkt ( 2 ) zu sehen dass der Best-Case-Fall 4,5 Takte beträgt. Also frühestens nach 4,5 Takten wird auf dass Signal sichtbar reagiert. Und im schlechtesten Fall nach 7,5 Takten, also eine Toleranz von 3 Takten ist möglich.
Hier wurde meine Sichtweise indirekt korrigiert :
https://www.roboternetz.de/community/thr…ll=1#post659390
_Machtwas_
CRS Robotics A255, TRONXY X3A, TinkerCAD, c´t-Lab, ProfiLab Expert, AVR8 Assembler