Community Translation - How to Get a 0.1-µs Unit Timestamp with FX3 – KBA220034

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Kenshow
Level 8
Level 8
Distributor - Marubun (Japan)
50 solutions authored 25 solutions authored 10 solutions authored

Hi,               

I would like to translate KBA220034 into Japanese.

Please confirm to my work.

Thanks,

Kenshow

0 Likes
2 Replies
JennaJo
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hi, Kenshow-san

Confirm to work this KBA.

Thanks

Jenna

Jenna Jo
0 Likes
Kenshow
Level 8
Level 8
Distributor - Marubun (Japan)
50 solutions authored 25 solutions authored 10 solutions authored

Hi Jenna-san,

                                

Japanese translation was over.
Please check below.

Original KBA:

How to Get a 0.1-µs Unit Timestamp with FX3 –

Thanks.

Kenshow

==============================

タイトル: FX3で0.1 µs単位のタイムスタンプを取得する方法 – KBA220034

バージョン:**

質問:

FX30.1 µs単位のタイムスタンプを取得する方法は?

回答:

FX3には複雑なGPIOタイマーがあります。現在のタイマー値を読み取るには、CyU3PGpioComplexSampleNow APIを使用します。その結果、GPIOタイマーが適切に構成されていれば、0.1 µs単位のタイムスタンプを取得できます。

SYS_CLK_PLLの値が403.2 MHzであると想定します。0.1µsのユニットタイムスタンプでは、約10 MHzの周波数でタイマーを実行する必要があります。

1. Fast GPIO Clockを約10 MHzに構成します。高速GPIOクロックは、分周器が10に設定されたSYS_CLK_PLL / 4から生成されるため、高速GPIOクロックの周波数は10.08 MHzです。
CyU3PGpioClock_t gpioClock;
/* GPIOモジュールの初期化 */
gpioClock.fastClkDiv = 10;
gpioClock.
slowClkDiv = 0;
gpioClock.
simpleDiv = CY_U3P_GPIO_SIMPLE_DIV_BY_2;
gpioClock.
clkSrc = CY_U3P_SYS_CLK_BY_4;
CY_U3P_SYS_CLK_BY_4;           gpioClock.
halfDiv = 0;

   return  CyU3PGpioInit (&gpioClock, NULL);

2. DUMMY_COMPLEX_GPIOを静的出力モードになるように設定します。
/* DUMMY_COMPLEX_GPIOを静的モード出力として設定 */
        gpioComplexConfig.outValue = CyFalse;
        gpioComplexConfig.inputEn = CyFalse;
        gpioComplexConfig.driveLowEn = CyTrue;
        gpioComplexConfig.driveHighEn = CyTrue;
        gpioComplexConfig.pinMode = CY_U3P_GPIO_MODE_STATIC;
        gpioComplexConfig.intrMode = CY_U3P_GPIO_INTR_TIMER_ZERO;
        gpioComplexConfig.timerMode = CY_U3P_GPIO_TIMER_HIGH_FREQ;
        gpioComplexConfig.timer = 0;
        gpioComplexConfig.priod = 0xffffffff;
        gpioComplexConfig.threshold = 0xffffffff;
        status = CyU3PGpioSetComplexConfig(DUMMY_COMPLEX_GPIO, &gpioComplexConfig);
       
if(status != CY_U3P_SUCCESS)
        {
           CyU3PDebugPrint(4, “CyU3PGpioSetComplexConfig failederror code =%d \ n”, status);
    
CyCx3UvcAppErrorHandler(status;
        }

3. CyU3PGpioComplexSampleNow APIを使用してタイムスタンプを取得します。
     CyU3PGpioComplexSampleNow(DUMMY_COMPLEX_GPIO, xtamp);

==============================

27-July-2020

  Kenshow

0 Likes