|
@@ -16,7 +16,6 @@
|
|
|
#include "syspar.h"
|
|
|
#include "Cadence.h"
|
|
|
#include "CodePara.h"
|
|
|
-#include "hwsetup.h"
|
|
|
#include "api_rt.h"
|
|
|
#ifdef RUN_ARCH_SIM
|
|
|
#include "test_user.h"
|
|
@@ -94,7 +93,7 @@ static void cadence_voCadenceIdle(UWORD source)
|
|
|
cadence_stFreGetOut.uwCaputureNumCnt = 1;
|
|
|
cadence_stFreGetOut.cadence_fsm = CADENCE_HFreWork;
|
|
|
cadence_stFreGetOut.uwForwardCnt = 0;
|
|
|
- cadence_stFreGetOut.uwCaputure1Cnt = (UWORD)TIMER1_CAP_CANDANCE;
|
|
|
+ cadence_stFreGetOut.uwCaputure1Cnt = (UWORD)iCap_GetCaptureValue(0, CAP_CH(2));
|
|
|
cad_pvt_ulCadFreqPu = 1 * CADENCESPEED_KMPERH2FREQPU;
|
|
|
cadence_stFreGetOut.uwFrequencyPu = (UWORD)cad_pvt_ulCadFreqPu;
|
|
|
cadence_stFreGetOut.uwLPFFrequencyPu = (cadence_stFreGetOut.uwLPFFrequencyPu * cadence_stFreGetCof.uwCadenceLPFgain +
|
|
@@ -113,6 +112,8 @@ static void cadence_voCadenceIdle(UWORD source)
|
|
|
Reference: N/A
|
|
|
****************************************************************/
|
|
|
static ULONG ulCaputureCntErr = 0,ulCaputureCntErrLast = 0;
|
|
|
+UWORD testcadc;
|
|
|
+
|
|
|
static void cadence_voCadenceHighFrequencyWork(UWORD source)
|
|
|
{
|
|
|
if (source == 1 && cadence_stFreGetOut.uwCaputureNumCnt == 1)
|
|
@@ -120,20 +121,22 @@ static void cadence_voCadenceHighFrequencyWork(UWORD source)
|
|
|
cadence_stFreGetOut.uwCaputureOverflowCnt++;
|
|
|
if (timer_interrupt_flag_get(TIMER1, TIMER_INT_FLAG_CH2) != 0)
|
|
|
{
|
|
|
- cadence_stFreGetOut.uwCaputure2Cnt =(UWORD)TIMER1_CAP_CANDANCE;
|
|
|
+ cadence_stFreGetOut.uwCaputure2Cnt =(UWORD)iCap_GetCaptureValue(0, CAP_CH(2));
|
|
|
if(cadence_stFreGetOut.uwCaputure2Cnt > 9000) // TIMER1 half Period
|
|
|
{
|
|
|
cadence_stFreGetOut.uwOverflowfirst= 1;
|
|
|
+ testcadc=1;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
cadence_stFreGetOut.uwOverflowfirst= 2;
|
|
|
+ testcadc=2;
|
|
|
}
|
|
|
ulCaputureCntErrLast = ulCaputureCntErr;
|
|
|
if(cadence_stFreGetOut.uwOverflowfirst == 1)
|
|
|
{
|
|
|
cadence_stFreGetOut.uwCaputureOverflowCnt -=1;
|
|
|
- ulCaputureCntErr = ((ULONG)cadence_stFreGetOut.uwCaputureOverflowCnt * TIM1CLK_KHZ * cadence_stFreGetCof.uwTimerUnit) + cadence_stFreGetOut.uwCaputure2Cnt
|
|
|
+ ulCaputureCntErr = ((ULONG)cadence_stFreGetOut.uwCaputureOverflowCnt * HW_TIM1CLK_KHZ * cadence_stFreGetCof.uwTimerUnit) + cadence_stFreGetOut.uwCaputure2Cnt
|
|
|
-cadence_stFreGetOut.uwCaputure1Cnt;
|
|
|
cadence_stFreGetOut.uwCaputureOverflowCnt = 1;
|
|
|
cadence_stFreGetOut.uwOverflowfirst = 0;
|
|
@@ -141,14 +144,14 @@ static void cadence_voCadenceHighFrequencyWork(UWORD source)
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- ulCaputureCntErr = ((ULONG)cadence_stFreGetOut.uwCaputureOverflowCnt * TIM1CLK_KHZ * cadence_stFreGetCof.uwTimerUnit) + cadence_stFreGetOut.uwCaputure2Cnt
|
|
|
+ ulCaputureCntErr = ((ULONG)cadence_stFreGetOut.uwCaputureOverflowCnt * HW_TIM1CLK_KHZ * cadence_stFreGetCof.uwTimerUnit) + cadence_stFreGetOut.uwCaputure2Cnt
|
|
|
-cadence_stFreGetOut.uwCaputure1Cnt;
|
|
|
cadence_stFreGetOut.uwCaputureOverflowCnt = 0;
|
|
|
cadence_stFreGetOut.uwOverflowfirst = 0;
|
|
|
}
|
|
|
|
|
|
/* Cadence Freq Cal */
|
|
|
- cad_pvt_ulCadFreqPu = (ULONG)(((UQWORD)TIM1CLK_KHZ * 1000 << 20) / ((((UQWORD)ulCaputureCntErr + (UQWORD)ulCaputureCntErrLast)>>1)* cadence_stFreGetCof.uwNumbersPulses * FBASE));
|
|
|
+ cad_pvt_ulCadFreqPu = (ULONG)(((UQWORD)HW_TIM1CLK_KHZ * 1000 << 20) / ((((UQWORD)ulCaputureCntErr + (UQWORD)ulCaputureCntErrLast)>>1)* cadence_stFreGetCof.uwNumbersPulses * FBASE));
|
|
|
|
|
|
cadence_stFreGetOut.uwCaputureNumCnt = 1;
|
|
|
cadence_stFreGetOut.uwCaputure1Cnt = cadence_stFreGetOut.uwCaputure2Cnt;
|
|
@@ -165,14 +168,15 @@ static void cadence_voCadenceHighFrequencyWork(UWORD source)
|
|
|
if (cadence_stFreGetOut.uwCaputureNumCnt == 0)
|
|
|
{
|
|
|
cadence_stFreGetOut.uwCaputureNumCnt = 1;
|
|
|
- cadence_stFreGetOut.uwCaputure1Cnt = (UWORD)TIMER1_CAP_CANDANCE;
|
|
|
+ cadence_stFreGetOut.uwCaputure1Cnt = (UWORD)iCap_GetCaptureValue(0, CAP_CH(2));
|
|
|
}
|
|
|
else if (cadence_stFreGetOut.uwCaputureNumCnt == 1)
|
|
|
{
|
|
|
+ testcadc=0;
|
|
|
cadence_stFreGetOut.uwForwardCnt++;
|
|
|
cadence_stFreGetOut.uwCaputureNumCnt = 2;
|
|
|
|
|
|
- cadence_stFreGetOut.uwCaputure2Cnt = (UWORD)TIMER1_CAP_CANDANCE;
|
|
|
+ cadence_stFreGetOut.uwCaputure2Cnt = (UWORD)iCap_GetCaptureValue(0, CAP_CH(2));
|
|
|
|
|
|
ulCaputureCntErrLast = ulCaputureCntErr;
|
|
|
|
|
@@ -181,7 +185,7 @@ static void cadence_voCadenceHighFrequencyWork(UWORD source)
|
|
|
cadence_stFreGetOut.uwCaputureOverflowCnt = 0;
|
|
|
|
|
|
/* Cadence Freq Cal */
|
|
|
- cad_pvt_ulCadFreqPu = (ULONG)(((UQWORD)TIM1CLK_KHZ * 1000 << 20) / ((((UQWORD)ulCaputureCntErr + (UQWORD)ulCaputureCntErrLast)>>1)* cadence_stFreGetCof.uwNumbersPulses * FBASE));
|
|
|
+ cad_pvt_ulCadFreqPu = (ULONG)(((UQWORD)HW_TIM1CLK_KHZ * 1000 << 20) / ((((UQWORD)ulCaputureCntErr + (UQWORD)ulCaputureCntErrLast)>>1)* cadence_stFreGetCof.uwNumbersPulses * FBASE));
|
|
|
|
|
|
cadence_stFreGetOut.uwCaputureNumCnt = 1;
|
|
|
cadence_stFreGetOut.uwCaputure1Cnt = cadence_stFreGetOut.uwCaputure2Cnt;
|
|
@@ -264,7 +268,7 @@ static void cadence_voCadenceBackword(UWORD source)
|
|
|
cadence_stFreGetOut.uwCaputureNumCnt = 1;
|
|
|
cadence_stFreGetOut.uwFreqPercent = 0;
|
|
|
cadence_stFreGetOut.cadence_fsm = CADENCE_HFreWork;
|
|
|
- cadence_stFreGetOut.uwCaputure1Cnt = (UWORD)TIMER1_CAP_CANDANCE;
|
|
|
+ cadence_stFreGetOut.uwCaputure1Cnt = (UWORD)iCap_GetCaptureValue(0, CAP_CH(2));
|
|
|
cad_pvt_ulCadFreqPu = 1 * CADENCESPEED_KMPERH2FREQPU;
|
|
|
cadence_stFreGetOut.uwFrequencyPu = (UWORD)cad_pvt_ulCadFreqPu;
|
|
|
cadence_stFreGetOut.uwLPFFrequencyPu = (cadence_stFreGetOut.uwLPFFrequencyPu * cadence_stFreGetCof.uwCadenceLPFgain +
|
|
@@ -283,7 +287,7 @@ static void cadence_voCadenceBackword(UWORD source)
|
|
|
****************************************************************/
|
|
|
static void cadence_voCadenceDir(void)
|
|
|
{
|
|
|
- if (iGpio_Read(HW_GPIO_CadDir_PIN) == 0)
|
|
|
+ if (iGpio_Read(HW_GPIO_CADDIR_PIN) == 0)
|
|
|
{
|
|
|
cadence_stFreGetOut.cadence_dir = CADENCE_DIR_FORWARD;
|
|
|
}
|
|
@@ -368,7 +372,6 @@ void cadence_voCadenceCal(UWORD source)
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
/*************************************************************************
|
|
|
End of this File (EOF)!
|
|
|
Do not put anything after this part!
|