お客様の素早い設計とより早い製品化を実現する、技術情報と専門知識をご紹介します。
サインイン 進行状況を保存するには アカウントをお持ちでない方 アカウントを作成する。

NXPのアナログ製品開発ボードは、NXP製品の評価を目的とした使いやすいプラットフォームです。さまざまなアナログ・ソリューション、ミックスド・シグナル・ソリューション、パワー・ソリューションに対応しています。実績のある大容量テクノロジを使用したモノリシック集積回路 (IC) およびシステム・イン・パッケージ (SiP) デバイスを搭載しています。NXP製品は、最先端システムへの電源供給において、より長いバッテリー寿命、より小さいフォーム・ファクタ、より少ない部品数、より低いコスト、より優れたパフォーマンスを実現します。
このガイドでは、FRDM-A-MOTABS2ボードをセットアップして使用する手順について説明します。
FRDM-A-MOTABS2キットには以下のものが含まれています。
Something went wrong! Please try again.
このボードを使用する際は、キットの内容物のほかに以下のハードウェアを使用すると役に立ちます。
Something went wrong! Please try again.
この評価ボードで作業を開始する前に、ソフトウェアをインストールする必要があります。記載されているすべてのソフトウェアは、FRDM-A-MOTABS2評価ボードの情報ページから入手できます。
Something went wrong! Please try again.
FRDM-A-MOTABS2キットには以下のものが含まれています。
Something went wrong! Please try again.
FRDM‑A-MOTABS2のジャンパ・ブロックにより、追加のMCUとともに使用できるようボードを設定できます。ジャンパJ16 (DOSV) では、使用するMCUの要件に応じて3.3 V~5.0 Vの電圧を選択できます。必ずジャンパJ16を適切な電圧レベルに設定してください(S32K144およびKEAZ128の場合は、DOSVを5 Vに設定)。
Something went wrong! Please try again.
FRDM-A-MOTABS2ボードの概要については、次の図を参照してください。
図1. FRDM-A-MOTABS2ボード。
Something went wrong! Please try again.
S32 Design Studioは、NXPソフトウェア開発キット (SDK) 上に構築されたソフトウェア・ドライバです。このセクションでは、S32 Design Studioをインストールしてアプリケーション開発に使用する方法について説明します。
次の手順では、S32 Design Studioの最新バージョンとサポートされているABSコントローラ・モデルを入手してインストールする方法を説明します。
注:ドライバといくつかのパッケージ例は、S32 Design Studio 2.2を対象としています。統合開発環境 (IDE) がすでにシステムにインストールされている場合は、このセクションの手順をスキップできます。
S32 Design Studioでは、SDKライブラリがIDEとともに配布され、手動での追加やリンクは必要ありません。
Something went wrong! Please try again.
この手順では、最新バージョンのソフトウェア・ドライバとサンプル・プロジェクトの入手方法について説明します。
表1. ダウンロードされるZIPファイルの内容。
| フォルダ名 | フォルダの内容 |
|---|---|
| S32DS_Examples | S32 Design Studio 1.2以降に対応するサンプル・プロジェクト・フォルダ。 |
| ABS_S32K144_BM14 | このサンプルは、ABSコントローラ・ソフトウェア・ドライバを使用してABSコントローラのステータスを監視する方法を示します。測定値とステータス情報を読み取り、障害をクリアするなどの処置を実行して、ドライバの適切な動作を確保できます。 |
|
このサンプル・プロジェクトの目的は、ポンプ・モーター・プリドライバ用のパルス幅変調 (PWM) の実装方法を示すことです。 このプロジェクトでは、次の2つの方法を示します。
|
このサンプル・プロジェクトは、ホイールスピード・センサ・インターフェースの操作方法を示します。最終的なホイール速度の計算については、ホイールなど追加のハードウェア機器が必要となるため、サポートしていません。このサンプルでは、特定の期間内のエッジの数をカウントすることに焦点を当てています。 |
| Programmer_Guide | このフォルダには、このソフトウェア・ドライバの詳細なAPIドキュメントが含まれています。 |
Something went wrong! Please try again.
次の手順では、ダウンロードしたzipファイルからS32 Design Studioにサンプルをインポートする方法を示します。
ABS_S32K144_BM14フォルダを開き、インポートするプロジェクトを選択して、[OK]を選択しますSomething went wrong! Please try again.
サンプル・プロジェクトを使用しない場合は、ABSコントローラのSDKソフトウェア・ドライバを使用する新しいプロジェクトを作成および設定できます。
プロジェクトを作成するには、次の手順に従います。
main.cの内容を示していますこのセクションでは、Processor Expertコンポーネントを使用してMCUを設定する方法について説明します。このコンポーネントを使用すると、クロック、ピンの多重化、ペリフェラルなどの一般的な機能をユーザー・フレンドリなグラフィカル・ユーザー・インターフェース (GUI) を通して設定でき、設定プロセス全体が容易になります。
SPIピンと汎用入出力 (GPIO) ピンを設定します。図10に示すように、サポートされているMCUのリストに従って、使用するMCUのPinMuxコンポーネントで正しいピンを選択します。この手順のテンプレートとして、サンプル・プロジェクトのいずれかを使用できますspi_pal) など、必要なMCUペリフェラル用のコンポーネントを追加します。デバッグ・コンソールを使用する場合は、図11に示すように、LPUART (Low-Power Universal Asynchronous Receiver/Transmitter) (lpuart) コンポーネントを追加します注:論理デバイス・ドライバ (LDD) に基づくProcessor Expertの使用と、S32 SDK用GUIフロントエンドとしてのProcessor Expertの使用には違いがあることに気づくかもしれません。前者のアプローチでは、ソフトウェア・ドライバのコード全体を生成および変更します。後者のアプローチでは、設定構造のみが生成されます。このアプローチは、初期設定用に静的なソフトウェア・ドライバと単一エントリ・ポイントを維持することで、安全性を向上させます。
clock_managerを使用して行う必要があります。これを使用して、MCUとそのペリフェラルのクロック・ソース、周波数、プリスケーラ、クロック・ゲートを選択できますspi_pal、lpspi、lpuartなどのペリフェラルをそれぞれ専用のコンポーネントで設定します(図13のLPSPIコンポーネントの設定例を参照)Generated_Codeフォルダに、生成されたファイルが含まれていますこのセクションでは、プロジェクトにABSコントローラ・ソフトウェア・ドライバを追加する方法について説明します。
新しいプロジェクトを作成してABSコントローラ・ソフトウェア・ドライバを追加した後は、ドライバを設定して、すでに設定済みのMCUペリフェラルに関連付けます。ドライバの機能と必要な設定手順については、ABSコントローラ用の組込みSDKソフトウェア・ドライバに記載されています。
abs/abs_model.h内のABSコントローラ・モデルに変更を加えますabs_drv_data_t型の変数を作成し、使用するすべての関数に渡します(この変数には、MCUペリフェラルの設定とABSコントローラ・ソフトウェア・ドライバの内部データが格納されます)main()関数内で宣言するか、グローバル変数として宣言しますABS_GetDefaultUserConfig()から開始し、必要に応じて個々の設定を変更します。結果の設定構造は、選択したモデルのデバイス・レジスタ配列に内部でマッピングされますSPIおよびGPIOインターフェースをABSソフトウェア・ドライバのランタイム・データに関連付けます。これにより、ドライバのコアがGPIOを介してリセットやソフトウェア制御のチップ・セレクトにアクセスしたり、通信用にSPIにアクセスしたりできるようになります(PDI、WSOx、VSO_IN、WSAIなどの信号に対してFTM、PIT、GPIOを含む追加ペリフェラルを使用することで、PWMやホイールスピード・センサ (WSS) 処理などの拡張機能に対応できます)ABS_SetupSPI()関数を使用して、fsl_lpspiという名前のProcessor Expertコンポーネントによって生成された設定でSPIペリフェラルを初期化しますABS_SetupSPI()関数がSDK SPIドライバの初期化関数に設定構造を渡します(ABS_SetupGPIOs()関数はS32 SDKでは使用されません)Pins_DRV_Init()関数を使用して、PinMuxコンポーネントによって生成された設定構造でピンを初期化しますすべてのアプリケーション・コードは、プロジェクト・ディレクトリ内の「Sources」フォルダにあります。使用に関連する元のコメントを保持したまま、main.cのコードを変更できます。
ABSコントローラ用にコードを初期化するには、次の手順に従います。
ABS_SetupSPI()で初期化済みの場合はSPIを除く)に対して初期化関数を呼び出します。Generated_Codeフォルダ内の.hファイルに含まれる生成された設定構造へのポインタを渡します。図18に初期化の例を示します。このコードでは、前述のすべてのステップが再使用されます。また、ユーザーがすでにクロック、ピンの多重化、ペリフェラルの設定を完了し、コードを生成し、ABS SWドライバのセットアップ関数を実装済みであることを前提としています。実装については、コードのコメントを参照してくださいSetupABSDriver())を呼び出します。図19を参照してくださいsources/abs/abs.hヘッダー・ファイルも確認してください)ABS_FeedWatchdog()コマンドを呼び出します(この遅延により、SPI通信の過度なオーバーヘッドを防ぎ、MCUへの過負荷を回避します)ユーザー・アプリケーションの作成は、前の手順と同じアプローチに従います。より複雑なABSコントローラのユース・ケースについては、付属のサンプル・プロジェクトを参照してください。
注:ソフトウェア・リリースの範囲に含まれないため、このチュートリアルでもすべての付属のサンプルでも、S32K144 Freedomボード上のシステムベーシス・チップ (SBC) の設定と初期化については触れていません。SBCの設定と初期化については、各SBCの関連ドキュメントを参照してください。
プロジェクトをコンパイルするには、図20に示すように、ツールバーの[Compile(コンパイル)]アイコンを選択します。
S32 Design Studioでボードにアプリケーションをダウンロードするプロセスは、各MCUボードによって異なります。詳細については、S32 Design Studioのユーザー・ガイドを参照してください。S32K144 MCUボードにダウンロードしてデバッグするには、次の手順に従います。
S32K144_SDK_Project_Debugを選択します.elfファイルへのパスが含まれていることを確認します。図22を参照してくださいSomething went wrong! Please try again.
ドライバは静的であり、ユーザー設定構造によって定義された単一エントリ・ポイントを使用します。デバイスの設定に応じた値を構造に入力します。初期化関数は、この設定を直接受け取ります。
ユーザー設定構造の詳細については、プログラマーズ・ガイドを参照してください。
Something went wrong! Please try again.
ソフトウェア・ドライバは、通信、制御、および関連機能に低レベルのMCUペリフェラル・ドライバを使用します。ソフトウェア・ドライバの機能は、これらの低レベル・ドライバに依存します。
最新のソフトウェア・ドライバは、GNU Compiler Collection (GCC)-6.3を使用してNXP SDKでビルドされています。このソフトウェア・ドライバは、GCC 4.9を使用してビルドされた古いAMLベースのソフトウェア・ドライバと引き続き互換性があります。異なるSDK間での移植性をサポートするために、アナログ・ミドルウェア・レイヤ (AML) によって、選択した低レベル ・ドライバ用のAPIを統合しています。
既存のAMLベースの低レベル・ドライバを再利用することで、開発が迅速化され、一般的なタスク向けに検証済みのソリューションが得られます。
図24は、通信と制御に関するソフトウェア・ドライバ・アーキテクチャを示しています。
Something went wrong! Please try again.