Forum: Mikrocontroller und Digitale Elektronik ICU "durchschleifen" Fujitsu 16fx Familie


von Sebastian L. (sebastian_l)


Lesenswert?

Hallo zusammen,

ich arbeite mit der 16FX Familie von Fujitsu (hier: 96353rs).

Ich möchte gerne ein Signal mittels ICU erfassen, auswerten und 
unverändert ausgeben. Erfassen und auswerten geht, aber wie gebe ich 
wieder aus ? Ich möchte NICHT programmtechnisch einen Port auf High/Low 
schalten, sondern der uC soll das selber machen (so wie er z.B. auch 
"autak" ein PWM Signal generiert). Ich möchte ihm also nur sagen "ICUx 
auf Ausgang y ausgeben" - geht sowas ? Ich habe schonmal Richtung Output 
Compare Unit geschaut, aber nur etwas in Zusammenhang mit Timern 
gefunden.

Grüße,
Sebastian

von Mic R. (microller)


Lesenswert?

Hallo Sebastian,
ganz habe ich es noch nicht verstanden:
Wenn Du das Signal 100% unverändert weiterverwenden möchtest, dann lasse 
es doch gar nicht erst über die MCU laufen, sonden nutze einen 
Y-Adapter, speise eine Seite in die MCU und auf der zweiten Seite hast 
Du das Original-Signal?!
Wenn Du das Signal in die MCU einspeist, wirst Du immer einen zeitlichen 
Versatz bekommen.
Du könntest z.B. auf den ICU IRQ reagieren und einen Port schalten.
Was willst Du denn applikativ realisieren? Das wäre hier vielleicht 
hilfreich, um dir weiterhelfen zu können...
Gruß,
Mic Roller

von Sebastian L. (sebastian_l)


Lesenswert?

Guten Morgen,

also - wir wollen uns an ein bestehendes (China-) System "dranhängen". 
Es gibt dort eine entsprechende Sensorik (Hall-Sensoren) und die 
Steuerung.
Die Lösung mit dem Y-Adapter haben wir bereits realisiert; das Problem 
ist, dass die "China"-Steuerung Störungen produziert und wir mit unserer 
Elektronik zusätzliche Impulse zählen.
Das ganze ist so:
mit der China-Steuerung: nur ein Y-Adapter
ohne China-Steuerung: die Bestromung kommt von unserer Elektronik; 
zusätzlich kommt ein kleiner Spannungsteiler (ich glaube 4,7k zu Vcc und 
10k zu Masse) für die Sensorik zum Einsatz, um saubere Flanken zu 
bekommen.

Wie gesagt, ohne China-Steuerung = absolut sauberes Signal.
Mit China-Steuerung (die Wiederstände sind dann definitiv in der 
Elektronik) = Störungen auf der Leitung.

Jetzt ist das ganze so, dass das für das "China"-System alleine mit 
Störungen ausreichend genau ist - wir brauchen es aber tatsächlich ohne 
Störungen.

Da ich "nur" die Software mache, die Elektronik jedoch von zwei Freunden 
kommt, habe ich gedacht, dass man das Signal durch unseren uC 
durchschleifen kann (quasi Software-Verdrahtet). Ich möchte aber auch 
keinen zeitlichen Versatz haben - das wäre mir zu unsauber.

Ich habe auch in den Unterlagen zu dem uC nur eine mögliche "Kopplung" 
einer OCU mit einem Timer, aber leider nicht mit einer ICU gesehen.

Gibt es Alternativen, um das Problem zu lösen ? Eine Schaltung mit 
Transistoren / Dioden?

Danke,
Sebastian

von Mic R. (microller)


Lesenswert?

Hi Sebastian,
sorry ich hab's noch nciht ganz verstanden, vielleicht wäre eine Skizze 
hilfreich ?!
Wenn doch die externe Elektronik Probleme macht, dann schau dir doch mal 
die Signale an. Evtl hilft ein Ferrite in der Leitung?
Jedenfalls, wenn die fehler doch schon in dein System kommen, dann 
würdest Du die doch auch intern duplizieren?
ICU und OCU sind zwei unterschiedliche Dinge:
Mit der ICU misst Du Zeiten aus -> Input Capture Unit, d.h. ein 
Zählerstand wir automatisch bei entsprechendem externen Signal 
gespeichert (und ggfs ein IRQ erzeugt)
Mit der OCU kannst Du eine Rechteck-Waveform generierien -> 
Output-Compare-Unit, d.h. in abhängigkeit vom Zählerstand wird ein 
Ausgangs-Pin getoggelt.

Wenn es aber nur darum geht richtige Flanken zu bekommen, dann dürfte 
ein zeitlicher Versatz (Phase) doch nicht schlimm sein, die Frequenz 
bleibt doch gleich, d.h. mit dem ICU IRQ schaltest Du einen GPIO.

Wie gesagt, eine Skizze hilft evtl das Problem zu veranschaulichen ...

Gruß,
Mic Roller

von Sebastian L. (sebastian_l)


Lesenswert?

Hallo,

ich hab´s mit der Skizze mal probiert:

Funktioniert ohne Störungen:

  Ausgang Hall Sensor -> -> -> eigene Elektronik

mit Störungen:

  Ausgang Hall Sensor -> -> + -> China-Elektronik
                            !
                            + -> ICU - eigene Elektronik


Fakt ist, dass die China-Elektronik "zurückstört".

Meine Idee ist nun:
  Ausgang Hall Sensor -> -> -> ICU - eigene Elektronik -> -> 
China-Elektronik

und ich dachte, dass man in dem eigenen uC ICU und OCU "fest verdrahten" 
kann - ähnlich wie man einen Timer mit der OCU "fest verdrahten" kann 
("fest verdrahten" = unabhängig, was der uC sonst noch so tun muss, wird 
das Signal verzögerungsfrei generiert).

Geht aber anscheinend so nicht....

In dem ICU IRQ möchte ich das nicht machen, weil es tatsächlich zwei 
Signale sind (deren zeitliche Verzögerung gemessen werden muss) und ich 
auf keinen Umständen die Timings verfälschen möchte. Das könnte ja 
durchaus passieren, weil der uC gerade noch mit etwas anderem 
beschäftigt ist und der IRQ verzögert ausgelöst wird. Für meine Messung 
ist das nicht so schlimm, ich bekomme ja einen "Zeitstempel" 
mitgeliefert, wann der Impuls ausgelöst wurde (somit ist meine Messung 
genau), aber dann ist es mit der Generierung des Signals unter Umständen 
zu spät.

Was für Möglichkeiten mit entsprechender externer Beschaltung 
(Transistor, Dioden, etc.) hätten wir noch ?

Grüße,
Sebastian

von Mic R. (microller)


Lesenswert?

Welchen Signalpegel liefert denn dein Hall Sensor?
Vielleicht solltest Du einen Schmitttrigger davorschalten, z.B.

                       + -> SN74HC14 -> SN74HC14 -> China-Elektronik
Ausgang Hall Sensor -> !
                       + -> SN74HC14 -> SN74HC14 -> ICU - eigene 
Elektronik

Aber wie gesagt, jetzt wären erst mal ein paar Infos zum Hallsensor 
wichtig!!!

Gruß,
Mic Roller

von Sebastian L. (sebastian_l)


Lesenswert?

Guten Morgen,

ersteinmal vielen Dank, dass du mir so gut weiterhilfst (wie gesagt, bin 
eher Software als Elektroniker ;-).

Zu dem Hall Sensor kann ich leider nicht so viel sagen - die sind 
aufgrund von Witterungsbeständigkeit komplett vergossen (und gehören 
eigentlich zu China-Elektronik). Aber wir waren bereits mit dem Oszi 
dran - die lieferen saubere TTL-Pegel (wenn Sie mit einem 
Spannungsteiler beschaltet sind):


              5V ----+
                     !
                    4,7k
                     !
 Sensor   Signal ----+----------
                     !
                    10k         Signal
                     !
             GND ----+----------


Wenn das Y-Kabel verwendet wird, kommen natürlich KEINE Widerstände zum 
Einsatz, die sind in der China-Elektronik mit drin.

Bei der von dir vorgeschlagenen Beschaltung mit dem Schmitt-Trigger - 
wäre dort ein "zurückstören" ausgeschlossen? Sonst würde ich das einfach 
mal ausprobieren....

Grüße,
Sebastian

von Mic R. (microller)


Lesenswert?

Hallo Sebastian,
ein zurückstören denke ich sollte ausgeschlossen sein. Deinen 
Spannungsteiler würdest Du dann aber eventuell vor dem Schmitttrigger, 
also am Ausgang des HallSensor benötigen ... Probiers mal aus, in 20min 
weisst Du mehr.
Wie bist Du denn eigentlich auf den Fujitsu für dein Steuergerät 
gekommen?
Gruß,
Mic Roller

von Sebastian L. (sebastian_l)


Lesenswert?

Hallo,

vielen Dank für die Infos - das ganze wird am Donnerstag getestet - mal 
sehen.

Wie ich auf den Fujitsu gekommen bin - tja - eher Zufall ;-) Ein Kumpel 
sprach mich vor einigen Jahren mal an, weil er mit CAN etwas realisiert 
haben wollte und die 16FX Familie bringen die zum Teil schon mit. Ich 
habe zwar keinen "wirklichen" Vergleich zu anderen uCs, aber "gefühlt" 
sind die Dinger echt gut ausgestattet. Der 32bitter hat sogar 6 CANs. 
Ansonsten ist alles da dran, was man braucht, i2c, SPI, LIN (alles 
UARTs). Nachdem ich mir Eclipse eingerichtet habe, möchte ich das nicht 
mehr missen, das ist alles superhandlich ;-) Und zum Teil sind die auch 
wirklich chick klein ;-)

Grüße,
Sebastian

von Sebastian L. (sebastian_l)


Lesenswert?

Hallo,

es hat funktioniert:


              5V ----+
                     !
                    4,7k
                     !                      +-> SN74HC14 -> China
 Sensor   Signal ----+------->> SN74HC14 ---!
                     !                      +-> SN74HC14 -> ICU-eigene
                    10k      Signal
                     !
             GND ----+----------


1000 Dank ! Keine "Rückstörungen" und alles klappt wunderbar!

lg
Sebastian

von Mic R. (microller)


Lesenswert?

Freut mich, dass es geht!
Danke für die Rückmeldung ... und weiterhin viel Spaß beim Basteln!
Gruß,
Toemi

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.