Problem bei der Rampengenerierung des rudimentären internen Funktionsgenerators der MFU.
Die Rampenzeitdauer ist in ihrer Genauigkeit stark von den folgenden Faktoren abhängig:
FGTopValue FGLowerMostValue FGRampRiseTime
Beispiel:
FGTopValue = +10 Volt → 745D1
H in Bit
FGLowermostValue = -10 Volt → 8BA2E
H in Bit
FGRampRiseTime = 1ms
Die Differenz zwischen -10 Volt und + 10 Volt beträgt 20 Volt.
Die interne Auflösung der Rampe ist 16 Bit breit.
Bezogen auf +/-11 Volt (max./min. zulässige Werte für
FGTopValue /FGLowermostValue ) und 16 Bit (2^16 = 65.536 Bit) folgt daraus:
((
FGTopValue -
FGLowermostValue) / (22 Volt / 2^16Bit))
((10V - (-10V) / (22V / 2^16Bit) = 59.578 Bit
Der Bereich von +/- 10Volt wird also mit 59.578 Bit aufgelöst.
Der Funktionsgenerator wird mit 100MHz getaktet, 1ms benötigt 100.000 Takte
In 100.000 Takten müssen also 59.578 Inkrementschritte gemacht werden.
100.000 / 59.578 = 1,678
Es müsste also alle 1,678 Takte ein Inkrement erfolgen.
Der Funktionsgenerator erwartet eine natürliche Zahl die ihm mitteilt, wie viele Takte zwischen einem Inkrement, bzw. Dekrement vergehen müssen.
PowerConfigAdvanced berechnet für dieses Beispiel den Wert „1“ als Anzahl der Takte.
Somit dauert der Anstieg einer Rampe mit diesen Einstellungen lediglich 595,78us.
Abbildung: Simulation des int. Funktions-Generator der MFU
Bei einer Einstellung von +/- 1 Volt folgt:
((1V - (-1V) / (22V / 2^16Bit) = 5957,8 Bit
100.000 / 5957,8 = 16,78 → mit ~5957 * ~16, dass die Rampe nach rund 953,12us durchlaufen ist.
--
DerekSchupp - 2019-08-09