IMX8ULPIEC SAI interfase

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

IMX8ULPIEC SAI interfase

ソリューションへジャンプ
1,613件の閲覧回数
Sandroom
Contributor III

Good day to all.
I have a task of programming SAI interface for i.mx 8 under m-33 core. I figured out that SAI0 and SAI1 are suitable for me, but I can't figure out from the IO Muxing pins I need. Alternative function for I2S?
For example PTA1 witch Output7 function(I2S0_RX_FS)  will work as FS for SAI0 with User Defined Protocol?

ラベル(1)
タグ(4)
0 件の賞賛
返信
1 解決策
1,563件の閲覧回数
Manuel_Salas
NXP TechSupport
NXP TechSupport

Hello @Sandroom 

I hope you are doing very well.

Please refer to the SDK of the i.MX8ULP. You can download it from MCUXpresso SDK.

Check the SAI examples under SDK_2_16_000_EVK-MIMX8ULP/boards/evkmimx8ulp/driver_examples/sai/interrupt_transfer.

 

There is a File called pin_mux.c.

 

There are defined the mux odtions for the pads including PTA1.

void BOARD_InitPins(void) {                                /*!< Function assigned for the core: Cortex-M33[cm33] */
    IOMUXC_SetPinMux(IOMUXC_PTA0_I2S0_RX_BCLK, 0U);
    IOMUXC_SetPinConfig(IOMUXC_PTA0_I2S0_RX_BCLK,
                        IOMUXC_PCR_DSE_MASK);
    IOMUXC_SetPinMux(IOMUXC_PTA1_I2S0_RX_FS, 0U);
    IOMUXC_SetPinConfig(IOMUXC_PTA1_I2S0_RX_FS,
                        IOMUXC_PCR_DSE_MASK);
    IOMUXC_SetPinMux(IOMUXC_PTA10_LPUART1_TX, 0U);
    IOMUXC_SetPinConfig(IOMUXC_PTA10_LPUART1_TX,
                        IOMUXC_PCR_PE_MASK |
                        IOMUXC_PCR_PS_MASK);
    IOMUXC_SetPinMux(IOMUXC_PTA11_LPUART1_RX, 0U);
    IOMUXC_SetPinConfig(IOMUXC_PTA11_LPUART1_RX,
                        IOMUXC_PCR_PE_MASK |
                        IOMUXC_PCR_PS_MASK);
    IOMUXC_SetPinMux(IOMUXC_PTA2_I2S0_RXD0, 0U);
    IOMUXC_SetPinMux(IOMUXC_PTA4_I2S0_MCLK, 0U);
    IOMUXC_SetPinConfig(IOMUXC_PTA4_I2S0_MCLK,
                        IOMUXC_PCR_OBE_MASK |
                        IOMUXC_PCR_DSE_MASK);
    IOMUXC_SetPinMux(IOMUXC_PTA7_I2S0_TXD0, 0U);
    IOMUXC_SetPinConfig(IOMUXC_PTA7_I2S0_TXD0,
                        IOMUXC_PCR_DSE_MASK);
    IOMUXC_SetPinMux(IOMUXC_PTA8_PTA8, 0U);
    IOMUXC_SetPinConfig(IOMUXC_PTA8_PTA8,
                        IOMUXC_PCR_OBE_MASK);
    IOMUXC_SetPinMux(IOMUXC_PTA9_PTA9, 0U);
    IOMUXC_SetPinConfig(IOMUXC_PTA9_PTA9,
                        IOMUXC_PCR_OBE_MASK);
}

 

Best regards,

Salas.

元の投稿で解決策を見る

0 件の賞賛
返信
2 返答(返信)
1,558件の閲覧回数
Sandroom
Contributor III

This is what I needed, thank you!

1,564件の閲覧回数
Manuel_Salas
NXP TechSupport
NXP TechSupport

Hello @Sandroom 

I hope you are doing very well.

Please refer to the SDK of the i.MX8ULP. You can download it from MCUXpresso SDK.

Check the SAI examples under SDK_2_16_000_EVK-MIMX8ULP/boards/evkmimx8ulp/driver_examples/sai/interrupt_transfer.

 

There is a File called pin_mux.c.

 

There are defined the mux odtions for the pads including PTA1.

void BOARD_InitPins(void) {                                /*!< Function assigned for the core: Cortex-M33[cm33] */
    IOMUXC_SetPinMux(IOMUXC_PTA0_I2S0_RX_BCLK, 0U);
    IOMUXC_SetPinConfig(IOMUXC_PTA0_I2S0_RX_BCLK,
                        IOMUXC_PCR_DSE_MASK);
    IOMUXC_SetPinMux(IOMUXC_PTA1_I2S0_RX_FS, 0U);
    IOMUXC_SetPinConfig(IOMUXC_PTA1_I2S0_RX_FS,
                        IOMUXC_PCR_DSE_MASK);
    IOMUXC_SetPinMux(IOMUXC_PTA10_LPUART1_TX, 0U);
    IOMUXC_SetPinConfig(IOMUXC_PTA10_LPUART1_TX,
                        IOMUXC_PCR_PE_MASK |
                        IOMUXC_PCR_PS_MASK);
    IOMUXC_SetPinMux(IOMUXC_PTA11_LPUART1_RX, 0U);
    IOMUXC_SetPinConfig(IOMUXC_PTA11_LPUART1_RX,
                        IOMUXC_PCR_PE_MASK |
                        IOMUXC_PCR_PS_MASK);
    IOMUXC_SetPinMux(IOMUXC_PTA2_I2S0_RXD0, 0U);
    IOMUXC_SetPinMux(IOMUXC_PTA4_I2S0_MCLK, 0U);
    IOMUXC_SetPinConfig(IOMUXC_PTA4_I2S0_MCLK,
                        IOMUXC_PCR_OBE_MASK |
                        IOMUXC_PCR_DSE_MASK);
    IOMUXC_SetPinMux(IOMUXC_PTA7_I2S0_TXD0, 0U);
    IOMUXC_SetPinConfig(IOMUXC_PTA7_I2S0_TXD0,
                        IOMUXC_PCR_DSE_MASK);
    IOMUXC_SetPinMux(IOMUXC_PTA8_PTA8, 0U);
    IOMUXC_SetPinConfig(IOMUXC_PTA8_PTA8,
                        IOMUXC_PCR_OBE_MASK);
    IOMUXC_SetPinMux(IOMUXC_PTA9_PTA9, 0U);
    IOMUXC_SetPinConfig(IOMUXC_PTA9_PTA9,
                        IOMUXC_PCR_OBE_MASK);
}

 

Best regards,

Salas.

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-1978868%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EIMX8ULPIEC%20SAI%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%BC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1978868%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E7%9A%86%E3%81%95%E3%82%93%E3%80%81%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%82%3CBR%20%2F%3E%E7%A7%81%E3%81%AF%E3%80%81m-33%E3%82%B3%E3%82%A2%E3%81%AE%E4%B8%8B%E3%81%A7%20i.mx%208%E3%81%AESAI%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9%E3%82%92%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%99%E3%82%8B%E3%82%BF%E3%82%B9%E3%82%AF%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82SAI0%20%E3%81%A8%20SAI1%20%E3%81%8C%E8%87%AA%E5%88%86%E3%81%AB%E9%81%A9%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%82%8F%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81%E5%BF%85%E8%A6%81%E3%81%AA%20IO%20%E3%83%9E%E3%83%AB%E3%83%81%E3%83%97%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%B3%E3%82%B0%20%E3%83%94%E3%83%B3%E3%81%8B%E3%82%89%E3%81%AF%E3%82%8F%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82I2S%E3%81%AE%E4%BB%A3%E6%9B%BF%E6%A9%9F%E8%83%BD%3F%3CBR%20%2F%3E%E3%81%9F%E3%81%A8%E3%81%88%E3%81%B0%E3%80%81PTA1%20witch%20Output7%20%E9%96%A2%E6%95%B0%20(I2S0_RX_FS)%20%E3%81%AF%E3%80%81%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E5%AE%9A%E7%BE%A9%E3%83%97%E3%83%AD%E3%83%88%E3%82%B3%E3%83%AB%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%20SAI0%20%E3%81%AE%20FS%20%E3%81%A8%E3%81%97%E3%81%A6%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1978868%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3Ei.MX8ULP%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1983524%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E6%97%A5%E6%99%82%3AIMX8ULPIEC%20SAI%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A1%E3%83%BC%E3%82%BC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1983524%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%8C%E3%81%8C%E7%A7%81%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%9F%E3%82%82%E3%81%AE%E3%81%A7%E3%81%99%E3%80%81%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1983192%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E6%97%A5%E6%99%82%3AIMX8ULPIEC%20SAI%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A1%E3%83%BC%E3%82%BC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1983192%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F242343%22%20target%3D%22_blank%22%3E%40Sandroom%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%E3%81%8A%E5%85%83%E6%B0%97%E3%81%AB%E3%81%8A%E9%81%8E%E3%81%94%E3%81%97%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%E3%80%82%3C%2FP%3E%0A%3CP%3Ei.MX8ULP%E3%81%AESDK%E3%82%92%E5%8F%82%E7%85%A7%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82MCUXpresso%20SDK%E3%81%8B%E3%82%89%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%E4%BB%A5%E4%B8%8B%E3%81%AE%20SAI%20%E3%81%AE%E4%BE%8B%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%3CSPAN%3ESDK_2_16_000_EVK-MIMX8ULP%2F%E3%83%9C%E3%83%BC%E3%83%89%2Fevkmimx8ulp%2Fdriver_examples%2Fsai%2Finterrupt_transfer.%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSPAN%3Epin_mux.c%20%E3%81%A8%E3%81%84%E3%81%86%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSPAN%3EPTA1%E3%82%92%E5%90%AB%E3%82%80%E3%83%91%E3%83%83%E3%83%89%E3%81%AE%E3%83%9E%E3%83%AB%E3%83%81%E3%83%97%E3%83%AC%E3%82%AF%E3%82%B5%E3%83%A2%E3%83%BC%E3%83%89%E3%81%8C%E5%AE%9A%E7%BE%A9%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3Evoid%20BOARD_InitPins(void)%20%7B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*!%26lt%3B%20Function%20assigned%20for%20the%20core%3A%20Cortex-M33%5Bcm33%5D%20*%2F%0A%20%20%20%20IOMUXC_SetPinMux(IOMUXC_PTA0_I2S0_RX_BCLK%2C%200U)%3B%0A%20%20%20%20IOMUXC_SetPinConfig(IOMUXC_PTA0_I2S0_RX_BCLK%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20IOMUXC_PCR_DSE_MASK)%3B%0A%20%20%20%20IOMUXC_SetPinMux(IOMUXC_PTA1_I2S0_RX_FS%2C%200U)%3B%0A%20%20%20%20IOMUXC_SetPinConfig(IOMUXC_PTA1_I2S0_RX_FS%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20IOMUXC_PCR_DSE_MASK)%3B%0A%20%20%20%20IOMUXC_SetPinMux(IOMUXC_PTA10_LPUART1_TX%2C%200U)%3B%0A%20%20%20%20IOMUXC_SetPinConfig(IOMUXC_PTA10_LPUART1_TX%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20IOMUXC_PCR_PE_MASK%20%7C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20IOMUXC_PCR_PS_MASK)%3B%0A%20%20%20%20IOMUXC_SetPinMux(IOMUXC_PTA11_LPUART1_RX%2C%200U)%3B%0A%20%20%20%20IOMUXC_SetPinConfig(IOMUXC_PTA11_LPUART1_RX%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20IOMUXC_PCR_PE_MASK%20%7C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20IOMUXC_PCR_PS_MASK)%3B%0A%20%20%20%20IOMUXC_SetPinMux(IOMUXC_PTA2_I2S0_RXD0%2C%200U)%3B%0A%20%20%20%20IOMUXC_SetPinMux(IOMUXC_PTA4_I2S0_MCLK%2C%200U)%3B%0A%20%20%20%20IOMUXC_SetPinConfig(IOMUXC_PTA4_I2S0_MCLK%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20IOMUXC_PCR_OBE_MASK%20%7C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20IOMUXC_PCR_DSE_MASK)%3B%0A%20%20%20%20IOMUXC_SetPinMux(IOMUXC_PTA7_I2S0_TXD0%2C%200U)%3B%0A%20%20%20%20IOMUXC_SetPinConfig(IOMUXC_PTA7_I2S0_TXD0%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20IOMUXC_PCR_DSE_MASK)%3B%0A%20%20%20%20IOMUXC_SetPinMux(IOMUXC_PTA8_PTA8%2C%200U)%3B%0A%20%20%20%20IOMUXC_SetPinConfig(IOMUXC_PTA8_PTA8%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20IOMUXC_PCR_OBE_MASK)%3B%0A%20%20%20%20IOMUXC_SetPinMux(IOMUXC_PTA9_PTA9%2C%200U)%3B%0A%20%20%20%20IOMUXC_SetPinConfig(IOMUXC_PTA9_PTA9%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20IOMUXC_PCR_OBE_MASK)%3B%0A%7D%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3ESalas.%3C%2FP%3E%3C%2FLINGO-BODY%3E