This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM2634:短帧的 AM2634 FSI 设置

Guru**** 2527600 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1104128/am2634-am2634-fsi-setup-for-short-frames

器件型号:AM2634

您好!

我尝试为短帧设置双通道 FSI 通道(FSI 时钟为50MHz)。 首先、我尝试使用 SW 模式来选择少于8个字的帧。 但是、我不知道如何正确配置它。 只要我配置的 WDS 小于7、就不再有 FSI xmission 了。 似乎我错过了一些东西。 请查找随附的用于配置 Tx (Rx)通道的函数(基于 TI 示例)。

问:为了使用"FSI_FRAME_TYPE_4WORD_DATA" 帧类型为4WD 配置它、需要修改哪些内容?

基于软件的 FSI Tx 通道设置:

静态 int32_t fsi_appTxConfig (uint32_t txBaseAddr)

   int32_t    status;

   /* TX 初始化和复位*/
   状态= FSI_performTxInitialization (txBaseAddr、FSI_APP_TX_prescaler_VAL);
  
   status += FSI_resetTxModule (txBaseAddr、FSI_TX_MASTER_CORE_RESET);
   FSI_clearTxModuleReset (txBaseAddr、FSI_TX_MASTER_CORE_RESET);

   /*请求的传输参数的设置*/
   status += FSI_setTxSoftwareFrameSize (txBaseAddr、FSI_APP_FRAME_DATA_WORD_SIZE);
   status += FSI_setTxDataWidth (txBaseAddr、FSI_APP_N_Lanes);

   /*设置帧配置*/
   status += FSI_setTxUserDefinedData (txBaseAddr、FSI_APP_TX_USER_DATA);
   status += FSI_setTxFrameTag (txBaseAddr、FSI_APP_TX_DATA_FRAME_TAG);
   status += FSI_setTxFrameType (txBaseAddr、FSI_FRAME_TYPE_NWORD_DATA);

   退货状态;

我尝试执行以下操作。 然而,没有发生任何事情...

静态 int32_t fsi_appTxConfig (uint32_t txBaseAddr)

   int32_t    status;

   /* TX 初始化和复位*/
   状态= FSI_performTxInitialization (txBaseAddr、FSI_APP_TX_prescaler_VAL);
  
   status += FSI_resetTxModule (txBaseAddr、FSI_TX_MASTER_CORE_RESET);
   FSI_clearTxModuleReset (txBaseAddr、FSI_TX_MASTER_CORE_RESET);

   /*请求的传输参数的设置*/
   // status += fsi_setTxSoftwareFrameSize (txBaseAddr、fsi_app_frame_data_word_size);<-未使用
   status += FSI_setTxDataWidth (txBaseAddr、FSI_APP_N_Lanes);

   /*设置帧配置*/
   status += FSI_setTxUserDefinedData (txBaseAddr、FSI_APP_TX_USER_DATA);
   status += FSI_setTxFrameTag (txBaseAddr、FSI_APP_TX_DATA_FRAME_TAG);
   

   status += FSI_setTxFrameType (txBaseAddr、FSI_FRAME_TYPE_4WORD_DATA);<-已修改

   退货状态;

BR

Markus

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Markus、您好!

    我正在查看此内容、并将很快与您联系。

    此致、
    弗兰克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Markus、您好!

    很抱歉耽误你的回答。

    我更新了4个16位字(帧类型 data_4_word)的 Tx/Rx 的 FSI_LOOP_POLLING_am263x-cc_r5fs0-0_nortos_ti-arm-clang 示例。

    主要修改包括:

    • 示例.syscfg:从 FSI0 TX/RX 更改为 FSI2 TX/RX、以观察 AM263x CC J6接头上的 FSI 信号
    • fsi_loopback_polling.c:
      • FSI_appTxConfig():设置帧类型 DATA_4_WORD
      • fsi_loopback_main():
        • 禁用内部环回以观察 AM263x CC J6上的 FSI 信号
        • 在循环前将 FSI Tx/Rx 缓冲区指针初始化为0
        • 更新了循环中的 FSI Tx/Rx 缓冲区位置

    我已随附以下更新的示例代码。

    请注意、有用于获取当前 Rx 缓冲区位置和字计数的 API 函数。

    此致、
    弗兰克

    e2e.ti.com/.../fsi2_5F00_ext_5F00_loopback_5F00_polling_5F00_am263x_2D00_cc_5F00_r5fss0_2D00_0_5F00_nortos_5F00_ti_2D00_arm_2D00_clang.zip