AUTOSAR実験8つのSPI通信マスタモード

ディレクトリ

まず、実験の目的 

第二に、実験環境

第三に、実験手順

四、ポートの設定

五、SPI設定

VI。機能説明

七、機能説明

八、データの送信順序

================================================== ============
1、実験目的 

(1)は、データ送信SPIを介して、通信します。

第二に、実験環境

Window10

サーバー:窓

パテWinSCPをとサーバ間の対話ソフトウェア

AUTOSARバージョン:4.2.2

Tresosスタジオ23.0

MCALバージョン:S32K14X_MCAL4_2_RTM_HF8_1_0_1

コンパイル環境:グリーンヒル201714

第三に、実験手順

1.変更EB構成SPI

EB内の構成、オブジェクト・ファイルが生成されることを確認2。

MCAL MCALプロジェクトファイル3.コピーテンプレートプロジェクトファイル交換プロジェクト

4.バッチファイルを実行し、テンプレートプロジェクトファイルをコピーします

アップロードエンジニアリングWinSCPの5.

6.コンパイルコマンドパテ

7.ローカルのダウンロードに素敵なプロジェクトをコンパイルします

8. PEダウンロードデバッギング

ポートモジュール、MCUモジュール(SPI参照)、SPIモジュール:に記載のモジュール

10. 関与割り込み  のSPI 割り込み

四、ポートの設定

味噌SPI0の例では、ピンの方向に注意を払うと、特にチップマニュアルの方向への参照、以下のテーマで

マスタとスレーブモードの違いに注意してください。

五、SPI設定

設定するには、チャンネルExternDevice PhyUnit 続く、仕事シーケンスを

 

EBおよびIBに、ストレージスペースを選択し、IBが内部的に保存されている1、EBは、外部記憶装置です。AUTOSAR割り当てられた内部記憶装置によって画定される内部空間は、外部メモリは、一般的にアレイ内のスペースを割り当てる方法を用い、自身を設けてもよいです。

2.データ転送のセットのサイズは、ハードウェアがマシンから設定要件に応じて、長いプルを選択するチップです。

3.このパラメータは、最大データ・バッファ・サイズ(データ要素の数)を含んでのみチャネルEBに適用されます。

4. 2進数で、MSBは、最高加重ビットです。そして、左端の小数点の数字は同様のビット。典型的には、MSBは右端、左端の進数、LSB 2進数で配置されています。ここでは、最高の加重ビットからの送信の開始を指示。

ExternDeviceの(学び設定する前に、以下に示すような構成のSPI プロトコル・ノート)

 

1.設定SPIボーレート、SPIプロトコルを参照してください。注のボーレート

2.チップセレクト信号伝送チャネル選択

3.端からチップセレクト信号のレベル、データ伝送がローレベルの開始時に見ることができるようにして得られたロジック・アナライザ・データ。

4 不明、保留中のお問い合わせ

PHAの原理(位相)に対応する収集データに信号取得エッジ、第一縁又は第2のエッジデータ取得、

6. SPIチップセレクトハードウェアユニット。

この原理に対応するパラメータ7. 5は、POL(位相)であります

8.不明、保留中のお問い合わせ

PhyUnitの図のように設定。

ハードウェアユニットを選択します

2.設定マスタモード

3.設定された基準クロック

4.データ伝送方法

ジョブ図のように設定。

さらに、スルーの構成チャネルに追加されSpiChannelList に。

 

 シーケンス図のように設定。

 

VI。機能説明

Spi_SetupEB (SpiConf_SpiChannel_P_BOOST_SSN、SampleApp_ucSource、SampleApp_ucDest、32 )。

 

第1及び第2のパラメータは、送信された空間、自分の定義バッファ受信されます。

例えば:

#define SPI_DATA_LENGTH 8

Spi_DataBufferType SampleApp_ucSource [SPI_DATA_LENGTH] = { 1 2 3 4 5 6 7 8 }。

Spi_DataBufferType SampleApp_ucDest [SPI_DATA_LENGTH]。

 

送信すべきデータの数:三番目のパラメータ

送信データ長は8と16の32ビットとすることができます

伝記

各データ転送は、8ビット

受け取ります

髪は16、32ビットのタイプを受信して​​いる場合は保存された受け入れの種類によると、それは2つの変数を保持します

髪が受信さUINT32 0x00010000; [0] 0000 [1]は0x0001

概して

通常送受信タイプは、8つのマクロは次のように定義されるように定義されるSpi_DataBufferType

七、実装コード

セットアップ/ AsyncTransmit(EB)

登録SPI割り込み

    sys_registerIsrHandler (LPSPI0_IRQn、(UINT32)&Spi_LPspi_IsrTDF_LPSPI_0)。

    sys_enableIsrSource (LPSPI0_IRQn、0x50を)。

定義されたバッファ・スペース

#define SPI_DATA_LENGTH 8

Spi_DataBufferType SampleApp_ucSource [SPI_DATA_LENGTH] = { 1 2 3 4 5 6 7 8 }。

Spi_DataBufferType SampleApp_ucDest [SPI_DATA_LENGTH]。

 

 初期化

    Spi_Init (&Spi_PBCfgVariantPredefined)。

    Spi_SetAsyncMode (SPI_INTERRUPT_MODE)。

トランスミッション

    Spi_SetupEB (SpiConf_SpiChannel_P_BOOST_SSN、SampleApp_ucSource、SampleApp_ucDest、8 )。

    Spi_AsyncTransmit (SpiConf_SpiSequence_SpiSequence_BOOST)。

書き込み/ AsyncTransmit /読む(IB)

 

最初の3つの手順は同じです

トランスミッション

    Spi_WriteIB (SpiConf_SpiChannel_P_BOOST_SSN、SampleApp_ucSource)。

    Spi_AsyncTransmit (SpiConf_SpiSequence_SpiSequence_BOOST)。

    Spi_ReadIB (SpiConf_SpiChannel_P_BOOST_SSN、SampleApp_ucDest)。

八、データの送信順序

シーケンスを送信する0x201です

 

DMAモード

0102のDMA転送オーダー

FIFOモード

送信順序0201

結論:

DMA:最初の送信高透過低8 8

FIFO:8つの送信高透過低8の最初の。

公開された39元の記事 ウォン称賛29 ビュー30000 +

おすすめ

転載: blog.csdn.net/wx601056818/article/details/104927847