819
SAM4CP [DATASHEET]
43051E–ATPL–08/14
Figure 37-19. Quadrature Error Detection
MAXFILT must be tuned according to several factors such as the peripheral clock frequency, type of rotary sensor and
rotation speed to be achieved.
37.6.14.4 Position and Rotation Measurement
When the POSEN bit is set in the TC_BMR, the motor axis position is processed on channel 0 (by means of the PHA,
PHB edge detections) and the number of motor revolutions are recorded on channel 1 if the IDX signal is provided on the
TIOB1 input. The position measurement can be read in the TC_CV0 register and the rotation measurement can be read
in the TC_CV1 register.
Channel 0 and 1 must be configured in capture mode (WAVE = 0 in TC_CMR0).
In parallel, the number of edges are accumulated on timer/counter channel 0 and can be read on the TC_CV0 register.
Therefore, the accurate position can be read on both TC_CV registers and concatenated to form a 32-bit word.
The timer/counter channel 0 is cleared for each increment of IDX count value.
Depending on the quadrature signals, the direction is decoded and allows to count up or down in timer/counter channels
0 and 1. The direction status is reported on TC_QISR.
37.6.14.5 Speed Measurement
When SPEEDEN is set in the TC_BMR, the speed measure is enabled on channel 0.
A time base must be defined on channel 2 by writing the TC_RC2 period register. Channel 2 must be configured in
waveform mode (WAVE bit set) in TC_CMR2. The WAVSEL field must be defined with 0x10 to clear the counter by
comparison and matching with TC_RC value. Field ACPC must be defined at 0x11 to toggle TIOA output.
This time base is automatically fed back to TIOA of channel 0 when QDEN and SPEEDEN are set.
Peripheral
Clock
MAXFILT = 2
PHA
PHB
Abnormally formatted optical disk strips (theoretical view)
PHA
PHB
strip edge inaccurary due to disk etching/printing process
resulting PHA, PHB electrical waveforms
PHA
PHB
Even with an abnormally formatted disk, there is no occurence of PHA, PHB switching at the same time.
QERR
duration
<
MAXFILT