Willkommen Gast. Bitte einloggen oder registrieren.
Mai 4, 2024, 21:58:34
Übersicht Ungelesene Beiträge auflisten Hilfe Suche Spiele Mitgliederkarte Kalender Login Registrieren

Schnellsuche
+  MODDING-FAQ FORUM
|-+  Alles rund ums Modden
| |-+  User-Mods (Moderator: Saint)
| | |-+  Projekt M8
  « vorheriges nächstes »
0 Mitglieder und 2 Gäste betrachten dieses Thema.
Seiten: 1 2 [3] nach unten Drucken
Autor Thema: Projekt M8  (Gelesen 23589 mal)
Ast
Case-Konstrukteur

*

Karma: +8/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 589


Astpirin, die Medizin deines Lebens


Profil anzeigen WWW
Re: Projekt M8
« Antwort #30 am: Mai 20, 2005, 13:52:39 »

Hmmm...

Ich hab mal geprüft wie lange das Übermitteln der Daten vom PC zum uC dauert.
Am Anfang der Senderoutine hab ich Timer() in der Variable StopUhr abgespeichert und gebe am ende des Aufrufs Timer()-StopUHR in ner Messagebox aus.

Anscheinend dauert eine Ãœbertragung von 80 Nutzbytes (ca. 160 Bytes, wenn man die OK-Bytes hinzurechnet) ca 0,5 bis 0,75 Sekunden.

Die Baudrate beträgt 9600 @ 8N1

Ist das so akzeptabel?
Das kommt mir irgendwie zu langsam vor...
Ist mein Code uneffektiv?
(Abgesehen von den Endlosschleifen bis zum Empfangen/Fertig-gesendet-haben)

Später will ich ja z.B. CPU-Auslastung und Temps auf die M8 übertragen
und da wäre es unschön, wenn jedesmal ne halbe Sekunde für drauf geht...
Gespeichert

There are only 10 types of people in the world:
Those who understand binary, and those who don't.
--------
How many people can read hex if only you and dead people can read hex?
philipp.ni
Dremelfreund

*

Karma: +0/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 100


Ich liebe dieses Forum!


Profil anzeigen WWW
Re: Projekt M8
« Antwort #31 am: Mai 20, 2005, 15:24:13 »

naja, wenn du ne Temperatur überträgst ist das ja auch 1 byte. das gleiche gilt für Auslastungen (wenn mans richtig macht sogar nur 1/2 byte, dann eben 2 werte in einem byte). Und ich glaub kaum, dass du die sachen 20 mal pro sekunde refreshen willst, oder?

Andererseits kommt mir 9600 baud trotzdem recht langsamm vor, wenn man bedenkt, dass allein ein DMX-signal (wird auch gerne mit ATmegas ausgewärtet) schon 250.000 baud hat... (oder irre ich mich da? Wink)
Gespeichert
Ast
Case-Konstrukteur

*

Karma: +8/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 589


Astpirin, die Medizin deines Lebens


Profil anzeigen WWW
Re: Projekt M8
« Antwort #32 am: Mai 20, 2005, 15:46:31 »

Ja, natürlich werde ich nicht jedes Mal 80 Byte übertragen.
Und die 9600 Baud sind ja von mir so eingestellt.
Mir kommt die Zeit, die benötigt wird, um 80 (bzw. 160) Byte zu versenden, nur zu lange vor...
Selbst für 9600 Baud.
Gespeichert

There are only 10 types of people in the world:
Those who understand binary, and those who don't.
--------
How many people can read hex if only you and dead people can read hex?
OlafSt
Global Moderator

*

Karma: +13/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 2138


Master of STLCD and LISA III


Profil anzeigen
Re: Projekt M8
« Antwort #33 am: Mai 20, 2005, 19:35:03 »

Du solltest nicht das Protokoll außer acht lassen - denn Deines frißt 30% der verfügbaren Baudrate.

Nach jedem Byte ein ACK-Byte zurückzusenden ist eigentlich Blödsinn. Es ist effektiver, das en bloc zu machen:

PC ----> Befehl, Data, Data ----> M8
PC <-------------- OK <------------- M8

So laufen 4 Bytes durch die SIO, anstelle deiner 6 Bytes. Ist obendrein einfacher zu programmieren  Grin

Bei Deinem Protokoll wird ein Fehler im Befehlsbyte schneller erkannt - aber wird das tatsächlich so oft passieren ? IMHO, nach allen meinen seriellen Basteleien sage ich: Nein.

Bei 9600 Baud 8N1 sind maximal 960Bytes/Sekunde möglich, bei Deinem Protokoll also max. 160 Befehle, bei meinem 240. Gerade bei so niedrigen Baudraten spielt das Protokoll zwischen Sender und Empfänger eine wesentliche Rolle.
« Letzte Änderung: Mai 20, 2005, 19:39:36 von OlafSt » Gespeichert

Erstens: Lies was da steht. Zweitens: Denk drüber nach. Drittens: Dann erst fragen
Ast
Case-Konstrukteur

*

Karma: +8/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 589


Astpirin, die Medizin deines Lebens


Profil anzeigen WWW
Re: Projekt M8
« Antwort #34 am: Mai 22, 2005, 17:48:03 »

Also ich hab das Protokoll jetzt etwas geändert.

Jetzt werden immer 2 Daten-Bytes pro OK-Byte gesendet.
Bei EEPROM zugriffen ist das nicht wesentlich schneller, aber egal.

Außerdem hab ich jetzt Funktionen eingebaut mit denen einzelne Bytes in den RAM, das EEPROM oder den Screen geschrieben werden können.
(Screen ist die Stelle im RAM, an der der aktuelle LCD-Text gespeichert wird).

Im Moment arbeite ich daran, dass ganze auch umgekehrt auslesen zu können.

Wenn das erledigt ist, ist der Kern der M8 eigentlich fertig.
Dann muss ich nur noch den Wizzard schreiben und ne Dokumentation machen, damit ihr auch zusätzliche Erweiterungskarten entwickeln könnt.
Ihr glaubt doch nicht etwa, dass ich hier die ganze Arbeit alleine machen werde Wink

Nach dem Wizzard wird wohl auch eine Tray-Anwendung nötig, weil ich auch gerne PC-Statusanzeigen auf das LCD ausgeben möchte.
Aber wozu das Rad neu erfinden?
Wie wäre es mit einer M8 Unterstützung für STLCD, OlafSt?  Grin
Gespeichert

There are only 10 types of people in the world:
Those who understand binary, and those who don't.
--------
How many people can read hex if only you and dead people can read hex?
OlafSt
Global Moderator

*

Karma: +13/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 2138


Master of STLCD and LISA III


Profil anzeigen
Re: Projekt M8
« Antwort #35 am: Mai 22, 2005, 18:31:54 »

Wie wäre es mit einer M8 Unterstützung für STLCD, OlafSt?  Grin

Why not... Ein Gerät zum ausprobieren her, geht los. Kalteinbauten (soll heißen, implementieren ohne Testmöglichkeit) mache ich nicht.

Ach ja: Läuft das ganze über eine echte serielle oder per USB/RS232-Wandler ? In der neuen Elektor war da ein höchst interessanter Artikel drin.
Gespeichert

Erstens: Lies was da steht. Zweitens: Denk drüber nach. Drittens: Dann erst fragen
Ast
Case-Konstrukteur

*

Karma: +8/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 589


Astpirin, die Medizin deines Lebens


Profil anzeigen WWW
Re: Projekt M8
« Antwort #36 am: Mai 22, 2005, 18:51:00 »

Das läuft alles direkt über den COM-Port.

Die Elektor krieg ich nicht, aber vielleicht sollte ich die mal abbonieren...

Wegen dem Testgerät: Das kann ich dir leider im Moment nicht zukommen lassen,
da ich ja selber noch entwickle und dieser Prototyp wahrscheinlich auch in meinem PC verschwinden wird.

Aber sobald ich fertig bin mach ich ein ausführliches Datasheet, so dass jeder, der selbst eine Platine layouten kann in der Lage sein sollte die M8 nachzubauen.

Auch ein Tutorial würde ich schreiben, allerdings hab ich keine gute Digicam, so dass jemand anderes die Fotos machen müsste...

Wärst du denn bereit die M8 selbst zusammenzulöten, oder muss ich dir dann meinen kostbaren Prototypen schicken?
Gespeichert

There are only 10 types of people in the world:
Those who understand binary, and those who don't.
--------
How many people can read hex if only you and dead people can read hex?
robert_marquardt
Dremelfreund

*

Karma: +0/-1
Offline Offline
Beiträge: 104


Nur zu Besuch hier


Profil anzeigen
Re: Projekt M8
« Antwort #37 am: Mai 24, 2005, 05:31:16 »

Das Problem bei USB/RS232 Adaptern ist der USB. Die Latenz fuer ein einzelnes Datenpaket ist 1 ms.
Damit dauert es 3 ms wenn man ein einzelnes Byte sendet. 1 ms senden, 1 ms fuers ACK und 1 ms bis man wieder drankommen kann.
Bei groesseren Datenpaketen ebnet sich das natuerlich ein, da die Latenz pro Paket gilt.
Gespeichert
Ast
Case-Konstrukteur

*

Karma: +8/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 589


Astpirin, die Medizin deines Lebens


Profil anzeigen WWW
Re: Projekt M8
« Antwort #38 am: Mai 30, 2005, 15:54:45 »

Also,

das Grundgerüst für die M8 ist soweit fertig.

Alle Lese- und Schreibzugriffe vom PC funktionieren und das "Betriebssystem" ist somit fertig.
Den Code bekommt ihr hier.
Gespeichert

There are only 10 types of people in the world:
Those who understand binary, and those who don't.
--------
How many people can read hex if only you and dead people can read hex?
Seiten: 1 2 [3] nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Einloggen mit Benutzername, Passwort und Sitzungslänge      

Powered by MySQL Powered by PHP
eXTReMe Tracker
Seite erstellt in 0.106 Sekunden mit 19 Zugriffen.
© 2001-2022 MODDING-FAQ FORUM | SMF
Alle Rechte vorbehalten.
Prüfe XHTML 1.0! Prüfe CSS!