s32k396 resolver angle flips by pi after power cycling

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

s32k396 resolver angle flips by pi after power cycling

跳至解决方案
696 次查看
gzleng
Contributor III

hello nxp experts.. 

i'm using an EB Tresos based proj with sw resolver but some weird behavior occurs when the power is recycled: at certain angles, the next power up would produce an angle that is 180deg apart. 

what i've checked: the sine/cos waveforms vs the excitation are the same before and after the power recycle. the amplitude of the differential sine/cosine signals are 1.5V amplitude. i have a x4 in the SDADC user gain setting.

what i cannot figure out: 1. how is the SWG as the excitation is synchronized with the SDADC ? i cannot seem to find the triggering mechanism. 2. how is the etpu synchronized with the SDADC? 3. i cannot find where in the eb tresos to set the SDADC to differential mode.. is it hidden or by default? 

thanks for your attention

标记 (5)
0 项奖励
回复
1 解答
616 次查看
MilanBrejl
NXP Employee
NXP Employee

Hello @gzleng,

try to modify the Start Delay parameter. Set it to 1/4 of the excitation signal period, or 1/2 of the excitation signal period. This parameter sets the initial phase shift of the excitation signals. A proper settings enables to speed up the RDC start-up sequence by quick settle of excitation signal phase-shift adjustment. Wrong settings might cause what you see - that it sometimes settles to 0deg and sometimes to 180deg.

MilanBrejl_0-1770124611561.png

 

1. how is the SWG as the excitation is synchronized with the SDADC ? i cannot seem to find the triggering mechanism.

SDADC runs continuously. There is no way to trigger/adjust the sampling points. SDADC samples arrives to eTPU as buffers of 16+16 samples. We need that one period of a modulated signal fits perfectly into that buffer of 16+16 samples.
It is achieved the way, that the excitation signal is phase-shifted (delayed). The phase-shift is controlled by a slow PI controller (actually just I-controller).  The error input to the controller is the zero-crossing error of sin/cos signals in the input buffers. When settled, the excitation signal delay is tuned, sin/cos input signals are aligned in the buffers, their samples number 0 and 16 are all zeros.

 

2. how is the etpu synchronized with the SDADC?

16 samples ready in SDADC output buffer -> DMA triggered -> DMA moves those samples to eTPU DATA RAM & links another DMA channel -> that DMA channel transfers a constant value from RAM to eTPU channel HSR -> a write to HSR evokes eTPU event -> eTPU processes the SDADC samples and updates resolver angle and speed.
This happens every 50usec @ 10kHz excitation. There are also faster configurations.
(simplified - DSPSS omitted, talking about just one SDADC signal instead of both sin & cos)
This way the processing of resolver angle is completely independent of the CPU. Not a single interrupt to the CPU.

 

3. i cannot find where in the eb tresos to set the SDADC to differential mode.. is it hidden or by default? 

EB tresos: Adc->AdcHwUnit->AdcChannel

MilanBrejl_1-1770125207385.png
This example uses differential signal between AN0 and AN1 inputs as the input to ADC.

 

 

 

在原帖中查看解决方案

0 项奖励
回复
3 回复数
602 次查看
gzleng
Contributor III

thank you Milan, that explains well. 

related to the synchronization: Sinewave gen is not in the EB or RTD, i see there is an option for SWG_PHA_ALIG_ACCEPT_WIN_xx register. does it play a role in the sampling process?

0 项奖励
回复
580 次查看
MilanBrejl
NXP Employee
NXP Employee
I checked my setting. The SWG acceptance window is +/-15%. It is maybe unnecessarily too wide. The excitation adaptation I-controller does not make such a change in one step.

/* Exit power down mode */
REG_BIT_CLEAR32(SGEN_Addr, SGEN_CTRL_PDS_MASK << SGEN_CTRL_PDS_SHIFT);

/* Wait for load output freq */
REG_BIT_SET32(SGEN_Addr, SGEN_WAVE_FREQ_WAIT << SGEN_CTRL_LDOS_SHIFT);

/* Amplitude CFG */
REG_BIT_SET32(SGEN_Addr, SGEN_IO_WAVE_AMPLITUDE << SGEN_CTRL_IOAMPL_SHIFT);

/* Phase aligenment acceptance window width */
REG_BIT_SET32(SGEN_Addr, SGEN_PHA_ALIG_ACCEPT_WIN_15 << SGEN_CTRL_WINDOW_SHIFT);

/* Error Interrupt Off */
REG_BIT_SET32(SGEN_Addr, SGEN_ERROR_INTERRUPT_OFF << SGEN_CTRL_SEMASK_SHIFT);

/* Trigger mode selection */
REG_BIT_SET32(SGEN_Addr, SGEN_IN_PHA_ALIG_TRIG_HW << SGEN_CTRL_TRIG_MODE_SHIFT);

/* Output wave frequency configuration */
REG_BIT_SET32(SGEN_Addr, SGEN_OUTPUT_FREQENCY << SGEN_CTRL_IOFREQ_SHIFT);

/* loaded output freq */
REG_BIT_SET32(SGEN_Addr, SGEN_WAVE_FREQ_LOAD << SGEN_CTRL_LDOS_SHIFT);
617 次查看
MilanBrejl
NXP Employee
NXP Employee

Hello @gzleng,

try to modify the Start Delay parameter. Set it to 1/4 of the excitation signal period, or 1/2 of the excitation signal period. This parameter sets the initial phase shift of the excitation signals. A proper settings enables to speed up the RDC start-up sequence by quick settle of excitation signal phase-shift adjustment. Wrong settings might cause what you see - that it sometimes settles to 0deg and sometimes to 180deg.

MilanBrejl_0-1770124611561.png

 

1. how is the SWG as the excitation is synchronized with the SDADC ? i cannot seem to find the triggering mechanism.

SDADC runs continuously. There is no way to trigger/adjust the sampling points. SDADC samples arrives to eTPU as buffers of 16+16 samples. We need that one period of a modulated signal fits perfectly into that buffer of 16+16 samples.
It is achieved the way, that the excitation signal is phase-shifted (delayed). The phase-shift is controlled by a slow PI controller (actually just I-controller).  The error input to the controller is the zero-crossing error of sin/cos signals in the input buffers. When settled, the excitation signal delay is tuned, sin/cos input signals are aligned in the buffers, their samples number 0 and 16 are all zeros.

 

2. how is the etpu synchronized with the SDADC?

16 samples ready in SDADC output buffer -> DMA triggered -> DMA moves those samples to eTPU DATA RAM & links another DMA channel -> that DMA channel transfers a constant value from RAM to eTPU channel HSR -> a write to HSR evokes eTPU event -> eTPU processes the SDADC samples and updates resolver angle and speed.
This happens every 50usec @ 10kHz excitation. There are also faster configurations.
(simplified - DSPSS omitted, talking about just one SDADC signal instead of both sin & cos)
This way the processing of resolver angle is completely independent of the CPU. Not a single interrupt to the CPU.

 

3. i cannot find where in the eb tresos to set the SDADC to differential mode.. is it hidden or by default? 

EB tresos: Adc->AdcHwUnit->AdcChannel

MilanBrejl_1-1770125207385.png
This example uses differential signal between AN0 and AN1 inputs as the input to ADC.

 

 

 

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2303365%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ES32K396%20%E8%A7%A3%E6%9E%90%E5%99%A8%E5%9C%A8%E9%80%9A%E7%94%B5%E5%90%8E%E6%8C%89%20pi%20%E7%BF%BB%E8%BD%AC%E8%A7%92%E5%BA%A6%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2303365%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8CNXP%20%E4%B8%93%E5%AE%B6......%20%3C%2FP%3E%3CP%3E%E6%88%91%E4%BD%BF%E7%94%A8%E7%9A%84%E6%98%AF%E5%9F%BA%E4%BA%8E%20EB%20Tresos%20%E7%9A%84%20proj%EF%BC%8C%E5%B8%A6%E6%9C%89%20sw%20%E8%A7%A3%E6%9E%90%E5%99%A8%EF%BC%8C%E4%BD%86%E5%BD%93%E7%94%B5%E6%BA%90%E5%BE%AA%E7%8E%AF%E6%97%B6%EF%BC%8C%E4%BC%9A%E5%87%BA%E7%8E%B0%E4%B8%80%E4%BA%9B%E5%A5%87%E6%80%AA%E7%9A%84%E7%8E%B0%E8%B1%A1%EF%BC%9A%E5%9C%A8%E6%9F%90%E4%BA%9B%E8%A7%92%E5%BA%A6%EF%BC%8C%E4%B8%8B%E4%B8%80%E4%B8%AA%E7%94%B5%E6%BA%90%E4%BC%9A%E4%BA%A7%E7%94%9F%E4%B8%80%E4%B8%AA%E7%9B%B8%E5%B7%AE%20180%20%E5%BA%A6%E7%9A%84%E8%A7%92%E5%BA%A6%E3%80%82%20%3C%2FP%3E%3CP%3E%E6%88%91%E5%B7%B2%E7%BB%8F%E6%A3%80%E6%9F%A5%E8%BF%87%E4%BA%86%EF%BC%9A%E6%AD%A3%E5%BC%A6%2F%E4%BD%99%E5%BC%A6%E6%B3%A2%E5%BD%A2%E4%B8%8E%E6%BF%80%E5%8A%B1%E6%B3%A2%E5%BD%A2%E5%9C%A8%E7%94%B5%E6%BA%90%E5%BE%AA%E7%8E%AF%E5%89%8D%E5%90%8E%E6%98%AF%E4%B8%80%E6%A0%B7%E7%9A%84%E3%80%82%E5%B7%AE%E5%88%86%E6%AD%A3%E5%BC%A6%2F%E4%BD%99%E5%BC%A6%E4%BF%A1%E5%8F%B7%E7%9A%84%E6%8C%AF%E5%B9%85%E4%B8%BA%201.5V%E3%80%82%E6%88%91%E5%9C%A8%20SDADC%20%E7%94%A8%E6%88%B7%E5%A2%9E%E7%9B%8A%E8%AE%BE%E7%BD%AE%E4%B8%AD%E8%AE%BE%E7%BD%AE%E4%BA%86%20x4%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E6%83%B3%E4%B8%8D%E9%80%9A%E7%9A%84%E6%98%AF1.%20%E4%BD%9C%E4%B8%BA%E6%BF%80%E5%8A%B1%EF%BC%8CSWG%20%E5%A6%82%E4%BD%95%E4%B8%8E%20SDADC%20%E5%90%8C%E6%AD%A5%EF%BC%9F%E6%88%91%E5%A5%BD%E5%83%8F%E6%89%BE%E4%B8%8D%E5%88%B0%E8%A7%A6%E5%8F%91%E6%9C%BA%E5%88%B6%E3%80%822.%20ETU%20%E5%A6%82%E4%BD%95%E4%B8%8E%20SDADC%20%E5%90%8C%E6%AD%A5%EF%BC%9F3.%20%E6%88%91%E5%9C%A8%20eb%20tresos%20%E4%B8%AD%E6%89%BE%E4%B8%8D%E5%88%B0%E5%B0%86%20SDADC%20%E8%AE%BE%E7%BD%AE%E4%B8%BA%E5%B7%AE%E5%88%86%E6%A8%A1%E5%BC%8F%E7%9A%84%E4%BD%8D%E7%BD%AE%E3%80%82%20%3C%2FP%3E%3CP%3E%E8%B0%A2%E8%B0%A2%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2305458%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20s32k396%20resolver%20angle%20flips%20by%20pi%20after%20power%20cycling%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2305458%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E8%B0%A2%E8%B0%A2%E4%BD%A0%EF%BC%8C%E7%B1%B3%E5%85%B0%EF%BC%8C%E8%A7%A3%E9%87%8A%E5%BE%97%E5%BE%88%E6%B8%85%E6%A5%9A%E3%80%82%20%3C%2FP%3E%3CP%3E%E4%B8%8E%E5%90%8C%E6%AD%A5%E6%9C%89%E5%85%B3%EF%BC%9A%E6%AD%A3%E5%BC%A6%E6%B3%A2%E5%9F%BA%E5%9B%A0%E4%B8%8D%E5%9C%A8%20EB%20%E6%88%96%20RTD%20%E4%B8%AD%EF%BC%8C%E6%88%91%E7%9C%8B%E5%88%B0%20SWG_PHA_ALIG_ACCEPT_WIN_xx%20%E5%AF%84%E5%AD%98%E5%99%A8%E4%B8%AD%E6%9C%89%E4%B8%80%E4%B8%AA%E9%80%89%E9%A1%B9%E3%80%82%E5%AE%83%E5%9C%A8%E6%8A%BD%E6%A0%B7%E8%BF%87%E7%A8%8B%E4%B8%AD%E8%B5%B7%E4%BD%9C%E7%94%A8%E5%90%97%EF%BC%9F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2305351%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20s32k396%20resolver%20angle%20flips%20by%20pi%20after%20power%20cycling%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2305351%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F199258%22%20target%3D%22_blank%22%3E%40gzleng%3C%2FA%3E%EF%BC%8C%3CBR%20%2F%3E%3CBR%20%2F%3E%E5%B0%9D%E8%AF%95%E4%BF%AE%E6%94%B9%E5%90%AF%E5%8A%A8%E5%BB%B6%E8%BF%9F%E5%8F%82%E6%95%B0%E3%80%82%E5%B0%86%E5%85%B6%E8%AE%BE%E7%BD%AE%E4%B8%BA%E6%BF%80%E5%8A%B1%E4%BF%A1%E5%8F%B7%E5%91%A8%E6%9C%9F%E7%9A%84%201%2F4%20%E6%88%96%201%2F2%E3%80%82%E8%AF%A5%E5%8F%82%E6%95%B0%E8%AE%BE%E7%BD%AE%E6%BF%80%E5%8A%B1%E4%BF%A1%E5%8F%B7%E7%9A%84%E5%88%9D%E5%A7%8B%E7%9B%B8%E7%A7%BB%E3%80%82%E6%AD%A3%E7%A1%AE%E7%9A%84%E8%AE%BE%E7%BD%AE%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%BF%AB%E9%80%9F%E8%A7%A3%E5%86%B3%E5%8A%B1%E7%A3%81%E4%BF%A1%E5%8F%B7%E7%9B%B8%E7%A7%BB%E8%B0%83%E6%95%B4%E6%9D%A5%E5%8A%A0%E5%BF%AB%20RDC%20%E5%90%AF%E5%8A%A8%E9%A1%BA%E5%BA%8F%E3%80%82%E9%94%99%E8%AF%AF%E7%9A%84%E8%AE%BE%E7%BD%AE%E5%8F%AF%E8%83%BD%E4%BC%9A%E5%AF%BC%E8%87%B4%E6%82%A8%E6%89%80%E7%9C%8B%E5%88%B0%E7%9A%84%E6%83%85%E5%86%B5--%E5%AE%83%E6%9C%89%E6%97%B6%E7%A8%B3%E5%AE%9A%E5%9C%A8%200%20%E5%BA%A6%EF%BC%8C%E6%9C%89%E6%97%B6%E7%A8%B3%E5%AE%9A%E5%9C%A8%20180%20%E5%BA%A6%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22MilanBrejl_0-1770124611561.png%22%20style%3D%22width%3A%20580px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22MilanBrejl_0-1770124611561.png%22%20style%3D%22width%3A%20580px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22MilanBrejl_0-1770124611561.png%22%20style%3D%22width%3A%20580px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F375313i8DE67B12C2EB8F24%2Fimage-dimensions%2F580x248%3Fv%3Dv2%22%20width%3D%22580%22%20height%3D%22248%22%20role%3D%22button%22%20title%3D%22MilanBrejl_0-1770124611561.png%22%20alt%3D%22MilanBrejl_0-1770124611561.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSPAN%3E1.%20%E5%8A%B1%E7%A3%81%E4%B8%8E%20SDADC%20%E5%90%8C%E6%AD%A5%E6%97%B6%EF%BC%8CSWG%20%E5%A6%82%E4%BD%95%E5%90%8C%E6%AD%A5%EF%BC%9F%E6%88%91%E5%A5%BD%E5%83%8F%E6%89%BE%E4%B8%8D%E5%88%B0%E8%A7%A6%E5%8F%91%E6%9C%BA%E5%88%B6%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3ESDADC%20%E6%8C%81%E7%BB%AD%E8%BF%90%E8%A1%8C%E3%80%82%E6%97%A0%E6%B3%95%E8%A7%A6%E5%8F%91%E4%BF%A1%E5%8F%B7%2F%E8%B0%83%E6%95%B4%E9%87%87%E6%A0%B7%E7%82%B9%E3%80%82SDADC%20%E6%A0%B7%E6%9C%AC%E4%BD%9C%E4%B8%BA%E5%8C%85%E5%90%AB%2016%2B16%20%E4%B8%AA%E6%A0%B7%E6%9C%AC%E7%9A%84%E7%BC%93%E5%86%B2%E6%B6%B2%E9%80%81%E8%BE%BE%20eTPU%E3%80%82%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E8%B0%83%E5%88%B6%E4%BF%A1%E5%8F%B7%E7%9A%84%E4%B8%80%E4%B8%AA%E5%91%A8%E6%9C%9F%E5%AE%8C%E5%85%A8%E9%80%82%E5%90%8816%2B16%E4%B8%AA%E6%A0%B7%E6%9C%AC%E7%9A%84%E7%BC%93%E5%86%B2%E5%8C%BA%E3%80%82%3CBR%20%2F%3E%3C%2FSPAN%3E%3CSPAN%3E%20%E5%85%B6%E5%AE%9E%E7%8E%B0%E6%96%B9%E5%BC%8F%E6%98%AF%E6%BF%80%E5%8F%91%E4%BF%A1%E5%8F%B7%E7%A7%BB%E7%9B%B8%EF%BC%88%E5%BB%B6%E8%BF%9F%EF%BC%89%E3%80%82%E7%A7%BB%E7%9B%B8%E7%94%B1%E4%B8%80%E4%B8%AA%E6%85%A2%E9%80%9F%E7%9A%84%20PI%20%E6%8E%A7%E5%88%B6%E5%99%A8%EF%BC%88%E5%AE%9E%E9%99%85%E4%B8%8A%E5%8F%AA%E6%98%AF%20i-Controller%EF%BC%89%E6%8E%A7%E5%88%B6%E3%80%82%E6%8E%A7%E5%88%B6%E5%99%A8%E7%9A%84%E8%AF%AF%E5%B7%AE%E8%BE%93%E5%85%A5%E6%98%AF%E8%BE%93%E5%85%A5%E7%BC%93%E5%86%B2%E5%8C%BA%E4%B8%AD%E6%AD%A3%E5%BC%A6%2F%E4%BD%99%E5%BC%A6%E4%BF%A1%E5%8F%B7%E7%9A%84%E8%BF%87%E9%9B%B6%E8%AF%AF%E5%B7%AE%E3%80%82%E7%A8%B3%E5%AE%9A%E5%90%8E%EF%BC%8C%E6%BF%80%E5%8F%91%E4%BF%A1%E5%8F%B7%E5%BB%B6%E8%BF%9F%E8%A2%AB%E8%B0%83%E8%B0%90%EF%BC%8C%E6%AD%A3%E5%BC%A6%2F%E4%BD%99%E5%BC%A6%E8%BE%93%E5%85%A5%E4%BF%A1%E5%8F%B7%E5%9C%A8%E7%BC%93%E5%86%B2%E5%99%A8%E4%B8%AD%E5%AF%B9%E9%BD%90%EF%BC%8C%E5%85%B6%E6%A0%B7%E6%9C%AC%E6%95%B0%200%20%E5%92%8C%2016%20%E5%9D%87%20%E4%B8%BA%E9%9B%B6%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSPAN%3E2.%20ETU%20%E5%A6%82%E4%BD%95%E4%B8%8E%20SDADC%20%E5%90%8C%E6%AD%A5%EF%BC%9F%20%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E16%20%E4%B8%AA%E6%A0%B7%E6%9C%AC%E5%B7%B2%E5%9C%A8%20SDADC%20%E8%BE%93%E5%87%BA%E7%BC%93%E5%86%B2%E5%8C%BA%E4%B8%AD%E5%87%86%E5%A4%87%E5%B0%B1%E7%BB%AA-%26gt%3B%20DMA%20%E5%B7%B2%E8%A7%A6%E5%8F%91-%26gt%3B%20DMA%20%E5%B0%86%E8%BF%99%E4%BA%9B%E6%A0%B7%E6%9C%AC%E7%A7%BB%E8%87%B3%20eTPU%20DATA%20RAM%20%26amp%3B%20%E9%93%BE%E6%8E%A5%E5%8F%A6%E4%B8%80%E4%B8%AA%20DMA%20%E9%80%9A%E9%81%93-%26gt%3B%20%E8%AF%A5%20DMA%20%E9%80%9A%E9%81%93%E5%B0%86%E6%81%92%E5%AE%9A%E5%80%BC%E4%BB%8E%20RAM%20%E4%BC%A0%E8%BE%93%E5%88%B0%20eTPU%20%E9%80%9A%E9%81%93%20HSR-%26gt%3B%20%E5%86%99%E5%85%A5%20HSR%20%E4%BC%9A%E5%BC%95%E5%8F%91%20etPU%20%E4%BA%8B%E4%BB%B6-%26gt%3B%20eTPU%20%E5%A4%84%E7%90%86%20SDADC%20%E6%A0%B7%E6%9C%AC%E5%B9%B6%E6%9B%B4%E6%96%B0%E8%A7%A3%E6%9E%90%E5%99%A8%E7%9A%84%E8%A7%92%E5%BA%A6%E5%92%8C%E9%80%9F%E5%BA%A6%E3%80%82%3CBR%20%2F%3E%20%E6%AF%8F%E9%9A%94%2050usec%20%40%2010kHz%20%E6%BF%80%E5%8F%91%E5%B0%B1%E4%BC%9A%E5%8F%91%E7%94%9F%E8%BF%99%E7%A7%8D%E6%83%85%E5%86%B5%E3%80%82%E8%BF%98%E6%9C%89%E6%9B%B4%E5%BF%AB%E7%9A%84%E9%85%8D%E7%BD%AE%E3%80%82%3CBR%20%2F%3E%3C%2FSPAN%3E%3CSPAN%3E%20%EF%BC%88%E7%AE%80%E5%8C%96%E2%80%94%E2%80%94%E7%9C%81%E7%95%A5%E4%BA%86%20DSPSS%EF%BC%8C%E5%8F%AA%E8%AF%B4%E4%B8%80%E4%B8%AA%20SDADC%20%E4%BF%A1%E5%8F%B7%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E4%B8%A4%E4%B8%AA%20sin%20%26amp%3B%20cos%EF%BC%89%3CBR%20%2F%3E%20%E8%BF%99%E6%A0%B7%EF%BC%8C%E8%A7%A3%E6%9E%90%E5%99%A8%E8%A7%92%E5%BA%A6%E7%9A%84%E5%A4%84%E7%90%86%E5%AE%8C%E5%85%A8%E7%8B%AC%E7%AB%8B%E4%BA%8E%20CPU%E3%80%82CPU%20%E6%B2%A1%E6%9C%89%E4%B8%80%E6%AC%A1%E4%B8%AD%E6%96%AD%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSPAN%3E3.%20%E6%88%91%E6%97%A0%E6%B3%95%E5%9C%A8%20eb%20tresos%20%E4%B8%AD%E6%89%BE%E5%88%B0%E5%B0%86%20SDADC%20%E8%AE%BE%E7%BD%AE%E4%B8%BA%E5%B7%AE%E5%88%86%E6%A8%A1%E5%BC%8F%E7%9A%84%E4%BD%8D%E7%BD%AE%E3%80%82%20%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EEB%20tresos%EF%BC%9AAdc-%26gt%3BAdcHwUnit-%26gt%3BAdcChannel%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22MilanBrejl_1-1770125207385.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22MilanBrejl_1-1770125207385.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22MilanBrejl_1-1770125207385.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F375316i8B13A1622E3C5C5E%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22MilanBrejl_1-1770125207385.png%22%20alt%3D%22MilanBrejl_1-1770125207385.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3CBR%20%2F%3E%E6%9C%AC%E7%A4%BA%E4%BE%8B%E4%BD%BF%E7%94%A8%20AN0%20%E5%92%8C%20AN1%20%E8%BE%93%E5%85%A5%E4%B9%8B%E9%97%B4%E7%9A%84%E5%B7%AE%E5%88%86%E4%BF%A1%E5%8F%B7%E4%BD%9C%E4%B8%BA%20ADC%20%E7%9A%84%E8%BE%93%E5%85%A5%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2307729%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20s32k396%20resolver%20angle%20flips%20by%20pi%20after%20power%20cycling%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2307729%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E6%88%91%E6%A3%80%E6%9F%A5%E4%BA%86%E6%88%91%E7%9A%84%E8%AE%BE%E7%BD%AE%E3%80%82SWG%20%E9%AA%8C%E6%94%B6%E7%AA%97%E5%8F%A3%E4%B8%BA%20%2B%2F-15%25%20%E3%80%82%E4%B9%9F%E8%AE%B8%E6%98%AF%E4%B8%8D%E5%BF%85%E8%A6%81%E7%9A%84%E5%A4%AA%E5%AE%BD%E3%80%82%E6%BF%80%E6%8C%AF%E9%80%82%E5%BA%94%20I%20%E6%8E%A7%E5%88%B6%E5%99%A8%E4%B8%8D%E4%BC%9A%E4%B8%80%E6%AD%A5%E5%88%B0%E4%BD%8D%E5%9C%B0%E5%81%9A%E5%87%BA%E8%BF%99%E7%A7%8D%E6%94%B9%E5%8F%98%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%2F*%20%E9%80%80%E5%87%BA%E6%8E%89%E7%94%B5%E6%A8%A1%E5%BC%8F%20*%2F%20%3CBR%20%2F%3E%20REG_BIT_CLEAR32%20(sgen_addr%E3%80%81SGEN_CTRL_PDS_MASK%20%26lt%3B%20%26lt%3B%20SGEN_CTRL_PDS_SHIFT)%3B%20%2F*%20%E7%AD%89%E5%BE%85%E8%B4%9F%E8%BD%BD%E8%BE%93%E5%87%BA%E9%A2%91%E7%8E%87%20*%2F%20REG_BIT_SET32%20(sgen_WAITE%2C%20SGEN_WAIT%20%26lt%3B%20%26lt%3B%20SGEN_CTRL_LDOS_SHIFT)%3B%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%2F*%20%E6%8C%AF%E5%B9%85%20CFL_SHIFT%20G%20*%2F%20REG_BIT_SET32%20(sgen_ADDR%EF%BC%8CSGEN_IO_WAVE_AMPLITUDE%20%26lt%3B%20%26lt%3B%20SGEN_CTRL_IOAMPL_SHIFT)%3B%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%2F*%20%E7%9B%B8%E4%BD%8D%E5%AF%B9%E9%BD%90%E9%AA%8C%E6%94%B6%E7%AA%97%E5%8F%A3%E5%AE%BD%E5%BA%A6%20*%2F%20%3CBR%20%2F%3E%20REG_BIT_SET32%20(sgen_Addr%E3%80%81SGEN_PHA_ALIG_ACCEPT_WIN_15%20%26lt%3B%20%26lt%3B%20SGEN_CTRL_WINDOW_SHIFT)%EF%BC%9B%2F*%20%E9%94%99%E8%AF%AF%E4%B8%AD%E6%96%AD%E5%85%B3%E9%97%AD%20*%2F%20REG_BIT_SET32%20(sgen_ERROR_INTRUPT_OFF%20%26lt%3B%20%26lt%3B%20SGEN_CTRL_SEMASK_SHIFT)%EF%BC%9B%2F*%20%E8%A7%A6%E5%8F%91%E6%A8%A1%E5%BC%8F%E9%80%89%E6%8B%A9%20*%2F%20REG_BIT_SET32%20(sgen_addr%EF%BC%8CSGEN_IN_PHA_ALIG_TRIG_HW%20%26lt%3B%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%26lt%3B%20SGEN_CTRL_TRIG_MODE_SHIFT)%3B%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%2F*%20%E8%BE%93%E5%87%BA%E6%B3%A2%E9%A2%91%E7%8E%87%E9%85%8D%E7%BD%AE%20*%2F%20%3CBR%20%2F%3E%20REG_BIT_SET32%20(sgen_addr%E3%80%81SGEN_OUTPUT_FREQ_FREQENCY%20%26lt%3B%20%26lt%3B%20SGEN_CTRL_IOFREQ_SHIFT)%3B%20%2F*%20%E5%8A%A0%E8%BD%BD%E8%BE%93%E5%87%BA%E9%A2%91%E7%8E%87%20*%2F%20REG_BIT_SET32%20(sgen_ADDR%E3%80%81SGEN_WAVE_FREQ_LOAD%20%26lt%3B%20%26lt%3B%20SGEN_CTRL%20L_LDOS_SHIFT)%3B%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E