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 | ||
| ||
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: |