mikrocontroller mit mehr als einem Quadrature-Decoder Timer

Am 24.09.2019 um 10:43 schrieb Volker Bartheld:
On Mon, 23 Sep 2019 19:29:22 +0200, Hans-Peter Diettrich wrote:
Am 23.09.2019 um 13:52 schrieb Volker Bartheld:
On Sat, 21 Sep 2019 12:35:14 +0200, Hans-Peter Diettrich wrote:
Auf welchem Mikrocontroller ist es ein Problem, atomare Zugriffe durch
Abschalten der Interrupts zu implementieren, und mit lokalen Kopien
weiterzuarbeiten?
Auf allen Echtzeitsystemen, die in einem Zugriff mehr als nur ein Byte
(oder was auch immer der native Datentyp ist) wegschreiben müssen.
... und anscheinend über keine Interrupt-Abschaltung verfügen?

Du schaltest also den Interrupt ab. Und serialisierst eine etwas größere
Datenstruktur.

Ein Bekannter hat dafür noch eine Lösung aus BASIC Zeiten: verwendet
wird ein Ringpuffer, in dem immer nur unterschiedliche Einträge gelesen
und geschrieben werden. Das geht auch mit einem Wechselpuffer, wenn der
Consumer via Flag den gerade beschriebenen Puffer auf read-only
schaltet, und der Producer in den anderen - jetzt write-only - Puffer
schreibt.

Währenddessen kann Dein Echtzeit(!)system aber nicht mehr
zeitgerecht reagieren.

Es muß ja nur derjenige Interrupt blockiert werden, der (s)einen Teil
der Daten ändert. Das kann nicht zum Verlust von Interrupts führen, denn
was könnte ein Interrupt-Handler in der Zeit erledigen, die der
Hauptthread für das Kopieren von ein paar Bytes in Register braucht?


Aber vermutlich überkopfe ich das auch nur und es gibt eine ganz einfache
Lösung, wie man die Echtzeitanforderung bei abgeschalteten Interrupts
sonst abbildet.

Es kann doch keinen großen Unterschied ausmachen, ob jetzt ein Interrupt
von einer Kopieraktion oder einem anderen Interrupt vorübergehend
blockiert wird? So viel Zeit muß in einem ausreichend schnellen
Echtzeitsystem übrig sein.

DoDi
 
Hans-Peter Diettrich <DrDiettrich1@aol.com>:

Aber vermutlich berkopfe ich das auch nur und es gibt eine ganz einfache
L”sung, wie man die Echtzeitanforderung bei abgeschalteten Interrupts
sonst abbildet.

Es kann doch keinen groáen Unterschied ausmachen, ob jetzt ein Interrupt
von einer Kopieraktion oder einem anderen Interrupt vorbergehend
blockiert wird? So viel Zeit muá in einem ausreichend schnellen
Echtzeitsystem brig sein.

Gehen wir mal zum ursprünglichen Thema zurück: Abtastung eines
Quadraturencoders. Den möchte ich so schnell wie eben möglich abtasten und da
kommt man dann schon an seine Grenzen, wenn man sagt: ok Porzessortakt sind 8
MHz, er schafft es in 8 Takten einen Interrupt abzuarbeiten, also könnte er
theoretisch mit 1 MHz ein Portpin abtasten. Damit wäre er zu 100%
ausgelastet. Wenn er dann doch noch (wenige) andere Dinge tun soll, wären
vermutlich maximal 500kHz sinnvoll. Wenn das Restprogramm komplex ist und
etliche andere Interrupts laufen und womoeglich auch noch eine DMA den
Speicher blockiert, dann ist man ganz schnell bei nur 20kHz angelangt, die
das System noch schafft. ;-) Da ist eine integrierte Hardwarelösung für den
Encoder doch _deutlich_ programmiererfreundlicher. :) :)

M.
--
 
Am 30.09.2019 um 11:04 schrieb Matthias Weingart:
Hans-Peter Diettrich <DrDiettrich1@aol.com>:

Aber vermutlich berkopfe ich das auch nur und es gibt eine ganz einfache
L”sung, wie man die Echtzeitanforderung bei abgeschalteten Interrupts
sonst abbildet.

Es kann doch keinen groĂĄen Unterschied ausmachen, ob jetzt ein Interrupt
von einer Kopieraktion oder einem anderen Interrupt vorbergehend
blockiert wird? So viel Zeit muĂĄ in einem ausreichend schnellen
Echtzeitsystem brig sein.

Gehen wir mal zum ursprĂźnglichen Thema zurĂźck: Abtastung eines
Quadraturencoders. Den mĂśchte ich so schnell wie eben mĂśglich abtasten

Wieso hängt das davon ab, was Du mÜchtest? Der Encoder liefert Signale
mit der ihm genehmen Frequenz, schnelleres Abtasten bringt keinerlei Gewinn.

und da
kommt man dann schon an seine Grenzen, wenn man sagt: ok Porzessortakt sind 8
MHz, er schafft es in 8 Takten einen Interrupt abzuarbeiten, also kĂśnnte er
theoretisch mit 1 MHz ein Portpin abtasten. Damit wäre er zu 100%
ausgelastet. Wenn er dann doch noch (wenige) andere Dinge tun soll, wären
vermutlich maximal 500kHz sinnvoll. Wenn das Restprogramm komplex ist und
etliche andere Interrupts laufen und womoeglich auch noch eine DMA den
Speicher blockiert, dann ist man ganz schnell bei nur 20kHz angelangt, die
das System noch schafft. ;-) Da ist eine integrierte HardwarelĂśsung fĂźr den
Encoder doch _deutlich_ programmiererfreundlicher. :) :)

Wie schnell willst Du dann mit Deinem langsamen System diese
HardwarelÜsung abfragen, das dauert doch auch seine Zeit? Wäre da nicht
ein Encoder mit weniger Impulsen pro Umdrehung sinnvoller?

Dann stellt sich die (noch unbeantwortete) Frage, wozu der Encoder
benutzt werden soll. Eine Drehzahlregelung kommt mit weniger Impulsen
pro Umdrehung aus, ein Positioniersystem mit einer geringeren
Impulsfrequenz, woher kommen dann die Ăźberzogenen Erwartungen bezĂźglich
der Abtastrate?

Vielleicht kann man ja auch die eingebaute Hardwäre (Zähler) benutzen
und einfach nur die Impulse zählen, wenn man die Drehrichtung eh schon
kennt? Die lassen sich immer noch weit schneller abfragen als jede
externe Hardware.

Kannst Du Deine tatsächlichen Anforderungen etwas mehr konkretisieren,
damit wir nicht mit willkĂźrlichen Frequenzen hantieren mĂźssen, sondern
mit dem fĂźr Deine Zwecke benĂśtigten Encoder anfangen kĂśnnen?

DoDi
 
Hi Hans-Peter,

Am 30.09.19 um 14:06 schrieb Hans-Peter Diettrich:
Am 30.09.2019 um 11:04 schrieb Matthias Weingart:

Gehen wir mal zum ursprĂźnglichen Thema zurĂźck: Abtastung eines
Quadraturencoders. Den mĂśchte ich so schnell wie eben mĂśglich abtasten

Kannst Du Deine tatsächlichen Anforderungen etwas mehr konkretisieren,
damit wir nicht mit willkĂźrlichen Frequenzen hantieren mĂźssen, sondern
mit dem fĂźr Deine Zwecke benĂśtigten Encoder anfangen kĂśnnen?

Die zwei Sätze da oben kennzeichnen fßr mich das Dilemma:

1. "So schnell, wie mĂśglich" ist je nach Lesart total einfach. Entweder
es ist trivial, weil von der gegebenen Hardware und den gegebenen
Programmierkenntnissen abhängig, dann gehts eben nicht schneller uns ist
per Definition gut. Oder man stellt fest, dass man mit beliebig
(un-)endlichem Aufwand noch ein bisschen mehr Speed herauskitzeln kann.
Nur wird das keiner bezahlen wollen. Vor allem: Der Job wird nie fertig.
Die Erfahrung zeigt, dass es mit fortschreitender Zeit immer mĂśglich
sein wird, noch eine schnellere LĂśsung zu erarbeiten...
Kurz: Die Anforderung ist unbestimmt, keiner weiss, was Matthias
tatsächlich will.

2. Wir haben keinen Plan, was Matthias eigentlich machen will. Wie soll
Ihm da jemand helfen, wenn er nicht sagt, was er braucht.

Stochern im TrĂźben Wasser, aber das auf hĂśchstem Niveau. Ich bin
erstaunt, mit welchen 8 MHz-Prozessoren eine DMA-Geschichte im
Hintergrund gehen soll...

Marte
 
marte.schwarz@gmx.de (Marte Schwarz) am 30.09.19 um 16:18:

Stochern im Trüben Wasser, aber das auf höchstem Niveau. Ich bin
erstaunt, mit welchen 8 MHz-Prozessoren eine DMA-Geschichte im
Hintergrund gehen soll...

Hey, DMA gab es schon für den Z-80!!!elf111

Rainer

--
So betrachtet ist ein PC ein gutes Gerät: Wenn es funktioniert, dann
ist's schön, man freut sich. Und wenn's nicht tut, dann hat man's
nicht anders erwartet ... *eg* (Dirk Ohme in de.comp.hardware.misc)
 
On 30 Sep 19 at group /de/sci/electronics in article Eur0G2GirLB@smial.prima.de
<rainerk@smial.prima.de> (Rainer Knaepper) wrote:

marte.schwarz@gmx.de (Marte Schwarz) am 30.09.19 um 16:18:

Stochern im Trüben Wasser, aber das auf höchstem Niveau. Ich bin
erstaunt, mit welchen 8 MHz-Prozessoren eine DMA-Geschichte im
Hintergrund gehen soll...

Hey, DMA gab es schon für den Z-80!!!elf111

Und fing mit 2,5MHz an :)
Hab damals für ECB-Bus einen WD? Floppy controller gehabt und für meinen
CP/M80 Kiste dazu das BIOS um einen IR gesteuerten DMA Treiber erweitert.

Jede Shuggart 8" Floppy hat mich 1000DM gekostet :)

Hab das ganze auf einem Mostek-Z80 Entwicklungssystem probiert und dann
auf ECB transferiert.

Dazu ein Plessey PT-52 selber restauriert nach Sturzschaden (Gehäuse
verzogen, Bild-Rohr kaputt) und aus dem Schrott bei meinem AG bekommen.



Saludos (an alle Vernünftigen, Rest sh. sig)
Wolfgang

--
Ich bin in Paraguay lebender Trollallergiker :) reply Adresse gesetzt!
Ich diskutiere zukünftig weniger mit Idioten, denn sie ziehen mich auf
ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p
(lt. alter usenet Weisheit) iPod, iPhone, iPad, iTunes, iRak, iDiot
 
Hi Rainer,
erstaunt, mit welchen 8 MHz-Prozessoren eine DMA-Geschichte im
Hintergrund gehen soll...

Hey, DMA gab es schon fĂźr den Z-80!!!elf111

Z80 als Mikrocontroller mit eingebauter DMA? Lass sehen!

Marte
 
On 01.10.19 10:45, Marte Schwarz wrote:

Hey, DMA gab es schon fĂźr den Z-80!!!elf111

Z80 als Mikrocontroller mit eingebauter DMA? Lass sehen!

HD64180? Vielleicht kein Microcontroller im engeren Sinne, aber ein Z80
mit DMS ist das schon.

Hanno
 
Hi Hanno,
Z80 als Mikrocontroller mit eingebauter DMA? Lass sehen!

HD64180? Vielleicht kein Microcontroller im engeren Sinne,

Von denen gabs wohl tatsächlich auch mal ¾Cs. Whow. Verwendet sowas
heute noch jemand?

Marte
 
Am 30.09.2019 um 23:24 schrieb Wolfgang Allinger:
CP/M80 Kiste dazu das BIOS um einen IR gesteuerten DMA Treiber erweitert.
Jede Shuggart 8" Floppy hat mich 1000DM gekostet :)
Meine drei Remex nur je 800...


Butzo
 
marte.schwarz@gmx.de (Marte Schwarz) am 01.10.19 um 10:45:
erstaunt, mit welchen 8 MHz-Prozessoren eine DMA-Geschichte im
Hintergrund gehen soll...

Hey, DMA gab es schon für den Z-80!!!elf111

Z80 als Mikrocontroller mit eingebauter DMA? Lass sehen!

Ich schrub nicht von "eingebaut". Und du nicht von "Controller".

Rainer

--
Wer denkt, Landschaft fotografieren wäre einfach, der hat keine
Ahnung. Ich halte gute Landschaftsfotos für extrem schwer. Also
vielleicht erstmal was einfacheres probieren. Türen zum Beispiel.
(Emil Ule in de.alt.rec.digitalfotografie)
 
Am 01.10.2019 um 22:40 schrieb Klaus Butzmann:
Am 30.09.2019 um 23:24 schrieb Wolfgang Allinger:
CP/M80 Kiste dazu das BIOS um einen IR gesteuerten DMA Treiber erweitert.

Jede Shuggart 8" Floppy hat mich 1000DM gekostet :)
Meine drei Remex nur je 800...

Meine erste 8" Doppelfloppy-Station hat Ăźber 5000DM gekostet, mehr als
die dazu gehĂśrende LSI-11. Wer bietet mehr? ;-)

Die nächste Station kostete nur noch 200DM, da war 8" schon wieder out.

DoDi
 
On 01 Oct 19 at group /de/sci/electronics in article qn0djk$r1h$2@news.albasani.net
<kb.usenet@butzomail.de> (Klaus Butzmann) wrote:

Am 30.09.2019 um 23:24 schrieb Wolfgang Allinger:
CP/M80 Kiste dazu das BIOS um einen IR gesteuerten DMA Treiber erweitert.

Jede Shuggart 8" Floppy hat mich 1000DM gekostet :)
Meine drei Remex nur je 800...

Remex? Nie gehört.


Saludos (an alle Vernünftigen, Rest sh. sig)
Wolfgang

--
Ich bin in Paraguay lebender Trollallergiker :) reply Adresse gesetzt!
Ich diskutiere zukünftig weniger mit Idioten, denn sie ziehen mich auf
ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p
(lt. alter usenet Weisheit) iPod, iPhone, iPad, iTunes, iRak, iDiot
 
Am 02.10.2019 um 00:19 schrieb Rainer Knaepper:

> Ich schrub nicht von "eingebaut". Und du nicht von "Controller".

DMA *in* einer CPU wäre ja auch ziemlich witzlos. Die hat ohnehin immer "DMA".

Ich erinnere mich noch gut an den riesigen Intel ICE fĂźr einen 80188, der die
Softwarehänger eindeutig mit "Memory access timed out because co-processor on
bus" einem (ebenfalls hängenden) DMA-Transfer in die Schuhe schob :) Und die
Ursache war dann auch irgendwann klar, das war eine Race condition im
Interrupt, der den DMA-Käfer mit mehreren Kanälen neu programmiert.

Bernd
 
Am 02.10.2019 um 00:24 schrieb Wolfgang Allinger:
On 01 Oct 19 at group /de/sci/electronics in article qn0djk$r1h$2@news.albasani.net
kb.usenet@butzomail.de> (Klaus Butzmann) wrote:

Am 30.09.2019 um 23:24 schrieb Wolfgang Allinger:
CP/M80 Kiste dazu das BIOS um einen IR gesteuerten DMA Treiber erweitert.

Jede Shuggart 8" Floppy hat mich 1000DM gekostet :)
Meine drei Remex nur je 800...

Remex? Nie gehört.

Das war ein Markenname der Ex-Cell-O aus Irvine,CA.

Und die haben in Lizenz von Shugart produziert.
 
Hi Rainer,
erstaunt, mit welchen 8 MHz-Prozessoren eine DMA-Geschichte im
Hintergrund gehen soll...

Hey, DMA gab es schon fĂźr den Z-80!!!elf111

Z80 als Mikrocontroller mit eingebauter DMA? Lass sehen!

Ich schrub nicht von "eingebaut". Und du nicht von "Controller".

Doch. Der Betreff schreibt von einem "mikrocontroller mit...". Hier geht
es explizit nicht um irgendwelche Prozessorsysteme, sondern um
klassische ÂľCs mit mehreren Quadraturencoder als Bedienelemente / Sensoren.

Irgendwelche Abschweife zu anderen Themenfeldern fĂźhren da nicht
wirklich zum Ziel.

Marte
 
Hi Bernd,
DMA *in* einer CPU wäre ja auch ziemlich witzlos. Die hat ohnehin immer
"DMA".

Du hast entweder nicht begriffen, wozu man eine DMA braucht und was
dessen Sinn ist, oder ich verstehe nicht, was Du damit meinst, dass ein
¾C immer DMA hätte. Selbstverständlich gibt es viele ¾C ohne DMA. Bei
fast allen läuft jeglicher Verkehr zum RAM direkt ßber die CPU. Es gibt
aber in der Tat ÂľCs, bei denen z.B. der AD-Wandler vĂśllig ohne
Beteiligung der CPU eben via DMA timergesteuert in einen zugewiesenen
Speicherbereich schreibt, während die CPU mit hÜherwertigen Dingen
beschäftigt wird, und sei es mit Schlafen alias Stromsparen.

Einem ATMEGA kann das nicht passieren.

Marte
 
On 02 Oct 19 at group /de/sci/electronics in article gvir8cF9896U1@mid.individual.net
<DrDiettrich1@aol.com> (Hans-Peter Diettrich) wrote:

Am 01.10.2019 um 22:40 schrieb Klaus Butzmann:
Am 30.09.2019 um 23:24 schrieb Wolfgang Allinger:
CP/M80 Kiste dazu das BIOS um einen IR gesteuerten DMA Treiber erweitert.

Jede Shuggart 8" Floppy hat mich 1000DM gekostet :)
Meine drei Remex nur je 800...

Meine erste 8" Doppelfloppy-Station hat über 5000DM gekostet, mehr als
die dazu gehörende LSI-11. Wer bietet mehr? ;-)

Deine? Respekt! Oder die Deines AG?

> Die nächste Station kostete nur noch 200DM, da war 8" schon wieder out.

Aha, klingt nach gebrauchter. Nicht abwertend gemeint.



Saludos (an alle Vernünftigen, Rest sh. sig)
Wolfgang

--
Ich bin in Paraguay lebender Trollallergiker :) reply Adresse gesetzt!
Ich diskutiere zukünftig weniger mit Idioten, denn sie ziehen mich auf
ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p
(lt. alter usenet Weisheit) iPod, iPhone, iPad, iTunes, iRak, iDiot
 
Am 02.10.2019 um 10:08 schrieb Wolfgang Allinger:
On 02 Oct 19 at group /de/sci/electronics in article gvir8cF9896U1@mid.individual.net
DrDiettrich1@aol.com> (Hans-Peter Diettrich) wrote:

Am 01.10.2019 um 22:40 schrieb Klaus Butzmann:
Am 30.09.2019 um 23:24 schrieb Wolfgang Allinger:
CP/M80 Kiste dazu das BIOS um einen IR gesteuerten DMA Treiber erweitert.

Jede Shuggart 8" Floppy hat mich 1000DM gekostet :)
Meine drei Remex nur je 800...

Meine erste 8" Doppelfloppy-Station hat Ăźber 5000DM gekostet, mehr als
die dazu gehĂśrende LSI-11. Wer bietet mehr? ;-)

Deine? Respekt! Oder die Deines AG?

Meine, ich habe sie heute noch. Dazu ein Terminal gebastelt, mit
Baudraten-Umschalter, parallelem Druckerport, mit 6809 und FORTH. Den
Druckerport mit einem Schieberegister im Centronics-Stecker, quasi SPI :)

Auf der LSI habe ich meine Dissertation getippt, gut unterstĂźtzt von
meinem Bildschirmeditor und Tastaturmakros in FORTH. Mein nächstgrößeres
Projekt war ein Autorouter, in Fortran.

Die nächste Station kostete nur noch 200DM, da war 8" schon wieder out.

Aha, klingt nach gebrauchter. Nicht abwertend gemeint.

Weiß nicht, der Zustand war sehr gut, einschließlich Gehäuse. Im Gehäuse
aber keinerlei Spur von Elektronik oder Steckern, sah sehr jungfräulich
aus. AFAIR hatten die Laufwerke volle HÜhe des 19" Gehäuses, mit recht
großen Motoren. Ich habe sie dann an mein 6809 System angeschlossen, mit
DMA, um beim aktuellen Thema zu bleiben :)
Diesem System hatte ich auch eine interruptgesteuerte System/User
Umschaltung mit 128K Memory Management verpaßt. Das war dann auch mein
letztes und teuerstes DIY Projekt, danach kam der Atari ST mit wenig
Bastelpotential, außer einer 256K Speichererweiterung.

DoDi
 
Am 02.10.2019 um 00:24 schrieb Wolfgang Allinger:

Remex? Nie gehĂśrt.
Ex-Cell-O corporation remex

https://www.ebay.com/itm/Vintage-8-Internal-Floppy-Disk-Drive-Remex-Untested-For-Parts-or-Repair-/323802566555

DS/DD und mit Lock Magnet konnte die Öffnungsklappe verriegelt werden.


Butzo
 

Welcome to EDABoard.com

Sponsor

Back
Top