2152040_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2152040_ja-JP

2152040_ja-JP

S32K312 SPI+DMA 非同期送信

こんにちは、

SPIを使用して外部フラッシュメモリからデータを読み取る場合、データ量が多いため、非同期SPI+DMA転送方式を採用しました。2つのチャネルが作成されました。1つ目のチャネルは4バイトの容量を持つフラッシュコマンダー用で、2つ目のチャネルは25600バイトの容量を持ち、フラッシュデータの読み出しに使用されます。DMAは4つのチャネルを使用します。ch0/ch1はUART用、ch2/ch3はこのように構成されたSPI用です。SPIを設定しない場合、UARTは正常に送信できますが、SPIを設定すると、UARTとSPIの両方が正常に機能しなくなります。

プラットフォーム モジュールは次のように構成されます。

ben_chin_10-1755146984231.png



Mcl モジュールの DMA 構成は次のとおりです。

ben_chin_0-1755143805958.png

ben_chin_1-1755143849674.png

Rm モジュールは次のように構成されています。

ben_chin_2-1755143934882.png


Spi モジュールは次のように構成されています。

チャンネルセクション

ben_chin_3-1755146506318.pngben_chin_4-1755146530193.png

外部デバイスセクション

ben_chin_5-1755146568667.png

求人セクション

ben_chin_6-1755146631080.png


シーケンスセクション

ben_chin_7-1755146685150.png

一般およびPhyUnit

ben_chin_9-1755146836334.png

コードは次のとおりです。


#SPI_START_SEC_VAR_INIT_UNSPECIFIEDを定義します
#include "Spi_MemMap.h"
__attribute__ ((整列( 32 ) )) uint8_t      nvmTxMsg [ 4 ] = { };
__attribute__ ((整列( 32 ) )) uint8_t      nvmRxMsg [ NVM_DEV_NUM ] = { 0 };
#SPI_STOP_SEC_VAR_INIT_UNSPECIFIEDを定義します
#include "Spi_MemMap.h"





void Nvm_hal_Init ( void )
{
/* デバイスのハードウェア抽象化レイヤーを初期化します */
    //Spi_SetHWUnitAsyncMode(2,SPI_INTERRUPT_MODE);
    Spi_SetupEB ( NVMCMD_SPI_CHANNEL 、 nvmTxMsg、 NULL 4 );
    Spi_SetupEB ( NVMDATA_SPI_CHANNEL NULL 、 nvmRxMsg、 NVM_DEV_NUM );
}

void Nvm_SpiTransfer ( void )
{
/* SPI同期送信を実行する */
    nvmTxMsg [ 0 ] = 0x03u ;
    nvmTxMsg [ 1 ] = 0x00u ;
    nvmTxMsg [ 2 ] = 0x00u ;
    nvmTxMsg [ 3 ] = 0x00u ;
    //Dio_WriteChannel(DioConf_DioChannel_SideMarkerEnableOut,0);
    Spi_AsyncTransmit ( NVM_SPI_SEQUENCE );

}
uint32_t nvm ;
void NvmSpi_Callback ( void )
{
nvm ++ ;
//Dio_WriteChannel(DioConf_DioChannel_SideMarkerEnableOut,1);
}

Re: S32K312 SPI+DMA AsyncTransmit

解決しました、ありがとうございます!

Re: S32K312 SPI+DMA AsyncTransmit

こんにちは@ben_chin

添付されているのは、以前作成したSPI+DMAとUART+DMAのデモです。2つのデモのRTDバージョンはそれぞれRTD 5.0.0とRTD 5.0.0です。バージョン 4.0.0 の場合、比較と変更についてはこれら 2 つのデモを参照してください。


Tags (1)
No ratings
Version history
Last update:
‎11-20-2025 02:54 PM
Updated by: