• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

kz1000a1の愛車 [マツダ ロードスター]

整備手帳

作業日:2024年2月13日

ESP32C3 で CAN 通信

他の整備手帳を見る 他の整備手帳を見る

目的 修理・故障・メンテナンス
作業 DIY
難易度

初級

作業時間 30分以内
1
ESP32C3 super mini というボードの内蔵 CAN コントローラーを使って CAN 通信できるまでに調べたことのまとめ。

https://ja.aliexpress.com/item/1005006451643394.html

CANトランシーバーには SN65HVD230 を使います。

https://ja.aliexpress.com/item/1005005334841319.html
2
Arduino IDE ではボードに ESP32C3 Dev Module を選択し、「ツール」メニューから USB CDC On Boot を Enable に設定する。
Disable にしたままだと Serial.printf() が USB に出力されない。

https://docs.espressif.com/projects/arduino-esp32/en/latest/tutorials/cdc_dfu_flash.html
3
ESP32CAN ライブラリーはコンパイルエラーになるので使えない。

https://github.com/miwagner/ESP32-Arduino-CAN

esp32_can ライブラリーは使える。

https://github.com/collin80/esp32_can
https://github.com/collin80/can_common
4
Espressif 社では TWAI(Two-Wire Automotive Interface = CAN) のドライバーを提供しています。このドライバーの API は SoC によらず共通で使えるように作られています。

https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/peripherals/twai.html

ESP32CAN ライブラリーは Espressif 社のドライバーを使用せず直接レジスターに書き込むような処理になっているため ESP32、ESP32-PICO では使えるが C3、S2、S3 では使えないということのようです。

esp32_can ライブラリーは、Espressif 社のドライバーを使用しているのでESP32-C3 でも使えますということ。
5
ESP32CAN ライブラリーを使い初めたのは M5Stack 社の CAN BUS UNIT のサンプルコードで使われていたからなので、新製品のサンプルコードで確認してみます。

https://docs.m5stack.com/en/unit/Unit-Mini%20CAN

M5Stack 向けのサンプルコードでは ESP32CAN ライブラリーが使われていますが、

https://github.com/m5stack/M5Stack/tree/master/examples/Unit/CAN

M5CoreS3、M5AtomS3 向けでは Espressif 社のドライバーを使用するよう変更されています。

https://github.com/m5stack/M5CoreS3/tree/main/examples/Unit/MiniCAN_TJA1051T
https://github.com/m5stack/M5AtomS3/tree/main/examples/Unit/MiniCAN_TJA1051T
6
Espressif 社のドライバーはフィルターの設定は H/W の機能を活かしきれていないのが残念です。

https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/peripherals/twai.html#multiple-id-filter-configuration

esp32_can ライブラリーでは MCP251x と処理を共通化するためかフィルター機能は S/W で行っていました。
Linux でもフィルター機能は H/W ではなく S/W の処理でした。

イイね!0件




関連コンテンツ

関連整備ピックアップ

こっそりつけてもらった中村屋のアーシング

難易度:

アクティブボンネットキャンセラー取付

難易度:

トランクリッドオープンスイッチ取り付け

難易度:

アルミテープチューン(除電)・オカルトチューン

難易度:

Anker613 吸盤の充電器をなんとかする

難易度:

超久々にアーシング

難易度:

関連リンク

この記事へのコメント

コメントはありません。

プロフィール

kz1000a1です。よろしくお願いします。
みんカラ新規会員登録

ユーザー内検索

リンク・クリップ

オートパーキングブレーキを付けてみた Ver.1.0 
カテゴリ:その他(カテゴリ未設定)
2024/04/29 11:25:57
ハンドルスイッチ自動化ユニット取付 
カテゴリ:その他(カテゴリ未設定)
2024/04/29 00:15:42
シフト周りパネルの取り外し方 
カテゴリ:その他(カテゴリ未設定)
2024/04/28 10:31:27

愛車一覧

マツダ ロードスター マツダ ロードスター
税金が高くなる年式になりました
スバル レヴォーグ スバル レヴォーグ
家族がレヴォーグに乗っています。
ヘルプ利用規約サイトマップ

あなたの愛車、今いくら?

複数社の査定額を比較して愛車の最高額を調べよう!

あなたの愛車、今いくら?
メーカー
モデル
年式
走行距離(km)
© LY Corporation