Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Funktion rbports.set(5,1) dauert sehr lange Kategorie: Verschiedenes (von André H. - 27.08.2005 12:25)
Als Antwort auf Funktion rbports.set(5,1) dauert sehr lange von Josef - 26.08.2005 12:14
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT V3.0
Hallo Josef,

Das Ansteuern des Schieberegisters beim ReglerBoard ist etwas träge,
da diese über den Multiplexerthread erfolgt (rbports.main{}).
Aber 200ms können es nicht sein.
I.d.R. sollte dies bei ca. 35 bis 50ms liegen, jenachdem, wieviele Threads mit
welcher Priorität laufen.
Der MUX-Thread braucht ca. 4x35ms für einen Durchlauf, da dieser allein
schon 25ms wartet, bis die AD-Werte verwertbar sind.

Wie hast du die 200ms gemessen ? Hoffentlich nicht an den Kontakten des Relais.
Auch die 10 bis 17ms für einen I²C-Bus Zugriffs können nicht stimmen.
Ein I²C-Bus-zugriff aus C2 heraus dauert normal sehr weit unter einer Millisekunde.

Aber, um nochmal auf das ReglerBoard zurückzukommen:
Die Ansteuerung der SR-Ports (samt Relais) war bishher sehr langsam ausgelegt,
damit externe Schieberegister angeschlossen werden
Die Funktion rbports.set() schreibt nur den Schaltzustand in ein Register.
Ausgeführt wird dies dann von dem MUX-Thread.

Jetzt fällt mir aber noch etwas ein:
Hast Du überhaupt rbports.init() ausgeführt und die richtige anzahl an Devices angegeben ?
Denn, wenn nicht, wird von 10 Schieberegistern ausgegangen und es werden
auch entsprechend Daten rausgeschoben, was natürlich länger dauert.

Allerdings ist von mir schon seit längerem geplant, rbports.c2 komplett zu überarbeiten
und auch mit etwas ASM zu versehen. Denn, ursprünglich war das Modul auch dafür gedacht,
externe Schieberegister am ReglerBoard anschlie�en zu können.
Diese Klemmen werden aber bei der nächsten HW-Revision wegfallen und anderweitig belegt.
Da ich schon seit längerem keine solche Erweiterungen mehr anbiete machen die Klemmen
DS, SHCLK, STCLK auch nicht mehr so viel sinn.

Allerdings wieviele Leute überhaupt diese Möglichkeit von weiteren Schieberegistern
am ReglerBoard nutzen. Daher wird die Frage sein, ob in rbports.c2 weiterhin
die Möglichkeit für weitere SR bestehen mu�, oder nicht.

MfG André H.


> Hallo
>
> wenn ich mit der Funktion rbports.set(5,1) ein z.B.: Relais ansteuern will dauert dies ca. 200ms!
> Ein I²C-Bus Zugriff dauert dagegen nur ca. 10-17ms!
>
>
> Warum dauert dies am Reglerboard so lange??
> Was kann ich dagegen tun??
> Soll ich etwa noch einen I²C-Bus Baustein anbringen??
>
>
> Danke schon in vorraus.
>
> Josef
>
>  


Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten: