EasyManua.ls Logo

Infineon Technologies TC1796 - Page 1772

Infineon Technologies TC1796
2150 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
TC1796
Peripheral Units (Vol. 2 of 2)
General Purpose Timer Array (GPTA)
User’s Manual 24-117 V2.0, 2007-07
GPTA, V2.0
Delayed_Filter()
if (FPCk.Filter_Clock[n]) then
if (FPCk.Timer >= FPCk.Compare_Value) then
if (FPCk.Compare_Value == 0) then //by-pass
if (FPCk.Signal_Output.Level != FPCk.Signal_Input[m]) then
generate pulse on FPCk.Signal_Output.Transition
FPCk.Signal_Output.Level = FPCk.Signal_Input[m]
FPCk.Signal_Filtered = FPCk.Signal_Output.Level
endif
else //delay time is over
generate pulse on FPCk.Signal_Output.Transition
FPCk.Signal_Output.Level = !FPCk.Signal_Output.Level
FPCk.Signal_Filtered = FPCk.Signal_Output.Level
endif
FPCk.Timer = 0
else
if (FPCk.Timer != 0) then //delay time is running
if (FPCk.Rising_Edge is detected) then //edge detection done at clock input
FPCk.Rising_Edge_Glitch = 1
else
if (FPCk.Falling_Edge is detected) then //edge detection done at clock input
FPCk.Falling_Edge_Glitch = 1
endif
endif
endif
if (FPCk.Signal_Output.Level != FPCk.Signal_Input[m])
then //expected level
FPCk.Timer ++
else //unexpected level
if (FPCk.Timer != 0) then
if (FPCk.Reset_Timer) then
FPCk.Timer = 0
else
FPCk.Timer --
endif
endif
endif
endif

Table of Contents