STM32MP157 SoC 用の STM32MP157A-DK1 検出キットには、CAN FD をサポートする 2 つの Bosch M_CAN IP コア (1 つの M_CAN と 1 つの MTT_CAN) が含まれています。
STM32MP157C-DK2 ディスカバリー キットとは異なり、STM32MP157A-DK1 には、M_CAN CAN コントローラーにアクセスするためのコネクタ (CAN トランシーバーおよび SUB-D9 コネクタを含む) がありません。ところで。 STM32MP157C-DK2 は、利用可能な 2 つの CAN IP コアのうち1 つへのアクセスのみを提供します。
STM32MP157A-DK1 上の 2 つの CAN コントローラにアクセスするには、次のことが必要です...
最終的なセットアップはおそらく次のようになります。
2 つの CAN FD トランシーバーが古い IDE ケーブルに貼り付けられている
実際、STM wiki は非常に優れており、最新であるため、これに従ってシステムをセットアップして独自の Linux カーネルを構築できます。 Linux カーネルのインストール
重要なポイント:
SDK のクロス コンパイラーを使用してカーネルをコンパイルする前に、次の 3 つのパッチをlinux-stm32mp-4.19-r0
ディレクトリ内の既存の 30 のパッチにコピーする必要があります。
これら 3 つのパッチは、patches ディレクトリにあります。
3 つのパッチをlinux-stm32mp-4.19-r0
ディレクトリにコピーした後、そのディレクトリ内にある README.HOW_TO.txt の手順に従って、新しいカーネルをビルドし、最終的にターゲットにインストールします。
STM wiki には、 「README.HOW_TO.txt ヘルパー ファイルは Linux カーネル ビルドのリファレンスです」と記載されていますが、これは正しいです。
ハードウェアは、2 つの CAN FD トランシーバー (クラシック CAN 2.0 もサポート) といくつかのケーブルで構成されます。
1 つの PCB だけを扱うために 2 つの PCB を背面で向かい合わせにはんだ付けし、ピンをはんだ付けした後、最後に両面粘着テープで PCB を IDE ケーブルに固定しました。
FD_CAN1に接続するピン:
TRX機能 | TRXピン | CN2ピン | CN2機能 |
---|---|---|---|
テキサス州 | 1 | 03 | FDCAN1_TX |
VSS | 2 | 06 | GND |
VDD | 3 | 02 | +5V |
RXD | 4 | 05 | FDCAN1_RX |
VIO | 5 | 01 | +3V3 |
CAN_L | 6 | - | (CAN_LからSUB-D9ピン2) |
CAN_H | 7 | - | (CAN_H ~ SUB-D9 ピン 7) |
スタンバイ | 8 | 09 | GND |
FD_CAN2に接続するピン:
TRX機能 | TRXピン | CN2ピン | CN2機能 |
---|---|---|---|
テキサス州 | 1 | 36 | FDCAN2_TX |
VSS | 2 | 20 | GND |
VDD | 3 | 04 | +5V |
RXD | 4 | 10 | FDCAN2_RX |
VIO | 5 | 17 | +3V3 |
CAN_L | 6 | - | (CAN_LからSUB-D9ピン2) |
CAN_H | 7 | - | (CAN_H ~ SUB-D9 ピン 7) |
スタンバイ | 8 | 14 | GND |
ヘッドツーヘッド PCB をはんだ付けする前に、醜いスケッチを作成しました。これも、最初に DTS を正しく理解できなかったため、変更を示しています。 CAN IP 接続の配線には、特定のピンのみを使用できます。詳細については、「STM32MP157 MPU を使用したディスカバリー キット - ユーザー マニュアル」(DevKit-en.DM00591354.pdf ページ 31 & 32) を参照してください。
関数 | BGAピン | CN2ピン |
---|---|---|
FDCAN1_RX (I2C5_SCL とも) | PA11 | 05 |
FDCAN1_TX (I2C5_SDA とも) | PA12 | 03 |
FDCAN2_RX (USART3_RX とも) | PB12 | 10 |
FDCAN2_TX (USART3_CTS とも) | PB13 | 36 |
I2C5 と USART3 は、以前の STM32MP157A-DK1 DTS ファイルですでに両方とも「無効」に設定されていました。したがって、これらのピンには干渉がありません。
M_CAN デバイス ツリー スニペットについては、STM の Alexandre Torgue に感謝します。 STM32MP157A-DK1 で M_CAN IP コアを使用するためのこの小さなハックから多くのことを学びました。
上の説明と下の写真の間に不一致がある場合はお知らせください。それは同じことを伝えるはずです。この説明は私の知る限りで要約されています。不明な場合は、STM ドキュメントを再確認してください。はんだ付けができない場合は、他の人に聞いてください。この説明は自己責任でそのまま使用してください。
オリバー・ハートコップ 2020-01-28