강의

멘토링

로드맵

Hardware

/

Embedded IoT

STM32 CAN通信

STM32 MCUを使用してCAN通信を実装する方法を説明するテキスト形式のレッスンです。

  • alex
stm32
통신
네트워크
MCU
CAN

こんなことが学べます

  • STM32 MCUを使用したCAN通信

  • STM32 MCUの活用

やっぱり感じられるCAN通信、
基礎から実務まで流れをつかみます。

💾受講前に確認してください!

  • 本講義はPDF形式のテキスト講義で、別途映像を提供しません(合計7,384文字分)
  • レッスンを受講している方には、レッスンで使用されているすべてのソースファイルとWindowsプログラムのソースと実行可能ファイルを提供しています。
  • 本講義は実習ボードNUCLEO-F446REで行われます。

CAN通信マスター
なりたいなら?

このレッスンでは、マイクロコントローラユニット(MCU)STM32を使用してCAN通信を実装する方法について説明します。

CAN通信
Controller Area Network

車両内でホストコンピュータなしでマイクロコントローラやデバイスが互いに通信するように設計された標準通信規格です。

CAN通信は徐々に産業全分野に拡大していますが、CAN通信を実装することは開発キャリアの多い方でも容易にアクセスしにくい内容です。

本講義は、ST MCUに初めて接する人も簡単に従うことができるように、プロジェクト生成からソースファイルの修正、分析まで詳しく説明します。

CAN通信に興味のある方であれば、今回の講義を通じてCAN通信のマスターになりますように。


講義の特徴
確認してみてください。

1️⃣
初心者でも簡単

STM32を経験していない方も簡単にフォローできるように、プロジェクトの作成からプログラムの実装、結果の確認までのすべてのコースを説明します。

2️⃣
流れを把握できるように

CAN通信の全体的な内容を理解するだけでなく、実務からCAN通信を活用する能力まで習得できます。

3️⃣
入念な資料提供

提供されるWindowsプログラムを通じてCAN通信結果まで確認できます。


学習内容と構成

前半
STM32F446

2つのNUCLEO-F446RE開発ボードを活用してデータのやり取りを実現します。

後半
STM32H743

v1.3 バージョンに新たに追加された内容で、STM32F446 ボードと STM32H743 ボードを利用してデータの送受信を実装します。

本講義ではCAN-FDは扱わず、2.0A(Standard)および2.0B(Extended)を中心に説明します(CAN-FDは次のバージョンに内容を追加させていただきます。) 併せて実習のためST社が提供するNUCLEO-F446RE開発ボードを、コンパイラツールとしてSTM32Cu .

詳細カリキュラム(目次)
  • 1 概要(3)
  • 2 HW構成(4)
  • 2.1 FWダウンロードピンマップ(5)
  • 2.2 電源ピンマップ(5)
  • 2.3 UARTピンマップ(6)
  • 2.4 CANピンマップ(6)
  • 2.5 システム全体構成図(7)
  • 2.6 プログラムのダウンロード (8)
  • 2.6.1 ST-LINK FWアップデート(8)
  • 2.6.2 ボードの接続(9)
  • 3 CAN通信の概要(10)
  • 3.1 データフレーム構造(10)
  • 3.2 Bit Timing (12)
  • 3.3 アービトレーション(13)
  • 3.4 Bit Stuffing (15)
  • 4 SW実装(16)
  • 4.1 プロジェクトの作成(16)
  • 4.2 構成(18)
  • 4.2.1 RCC、DEBUG(19)
  • 4.2.2 Clock Configuration(20)
  • 4.2.3 タイマー設定(21)
  • 4.2.4 UART設定(22)
  • 4.2.5 CAN設定(23)
  • 4.2.6 GPIO設定(26)
  • 4.3 コードの実装(27)
  • 4.3.1 printfステートメントの使用(27)
  • 4.3.2 Build & ダウンロード (28)
  • 4.3.3 タイマ割り込みによるLED On/Off (30)
  • 4.3.4 UART1受信割り込みの実装(33)
  • 4.3.5 CAN通信の実装(35)
  • 4.3.5.1 main.h(40)
  • 4.3.5.2 can.c(40)
  • 4.3.5.3 can.h(43)
  • 4.3.5.4 usart.c(44)
  • 4.3.5.5 usart.h(46)
  • 4.3.5.6 main.c(46)
  • 5 結果確認 (48)
  • 5.1 テストモード1(リスト16モード)(49)
  • 5.2 テストモード2(リスト32モード)(50)
  • 5.3 Test Mode 3 (Mast16 Mode) (51)
  • 5.4 Test Mode 4 (Mask32 Mode) (52)
  • 5.5 Test Mode 5 (List16 2-Bank Mode) (53)
  • 5.6 全メッセージ受信設定(54)
  • 6 波形解析 (56)
  • 7 STM32H743 CAN実装(59)
  • 7.1 プロジェクトの作成(59)
  • 7.2 構成(61)
  • 7.2.1 RCC、DEBUG(61)
  • 7.2.2 UART設定(63)
  • 7.2.3 CAN設定(64)
  • 7.2.4 Clock Configuration(67)
  • 7.2.5 CAN Baud Rateの設定(68)
  • 7.2.6 Codeの生成(69)
  • 7.3 コードの実装(70)
  • 7.3.1 main.h(70)
  • 7.3.2 main.c(70)
  • 7.3.3 fdcan.c(72)
  • 7.3.4 fdcan.h(81)
  • 7.3.5 usat.c(81)
  • 7.3.6 usart.h(83)
  • 8 結果確認 (84)
  • 8.1 テストモード1(84)
  • 8.2 テストモード2(85)
  • 8.3 テストモード3(86)
  • 8.4 テストモード4(87)
  • 9 参考資料 (88)
  • 10 Revision History (89)

Q&A 💬

Q. 講義を聞くために準備すべき事項はありますか?

このレッスンは練習ボードNUCLEO-F446REで行われます。CAN通信を確認して2つのボードを使用します。

Q. プログラムツールは何を使用しますか?

ST社から無料で提供するSTMCubeIDE v1.9.0を使用します。

🎙️講義を作成した知識共有者の紹介

私は20年以上にわたり大企業、中小企業で開発者として働いてきましたが、現在は小企業を運営しています。など多くの経験を持っています。これまで積み重ねてきた幅広い経験をもとに、皆さんの学習に役立つことを願っています。

一緒に見ればいい講義📖

こんな方に
おすすめです

学習対象は
誰でしょう?

  • STM32 MCUに興味をお持ちの方

  • CAN通信を実装したい方

前提知識、
必要でしょうか?

  • C言語

こんにちは
です。

1,677

受講生

71

受講レビュー

125

回答

4.8

講座評価

19

講座

저는 지난 20여년 동안 대기업, 중소기업에서 개발자로 일해왔고

현재는 작은 기업의 대표로 있습니다.

주요 경력사항은

  • Verilog HDL을 이용한 FPGA 설계

    • CCTV용 ISP ASIC 개발 (약 10년)

    • OLED Display 검사장비 개발 (약 3년)

    • FPGA를 이용한 장비 개발

  • MCU FW

    • STM32

    • PIC32

    • AVR, ATMEGA

    • DSP (TI)

  • Windows Application Program

    • Visual Studio MFC, C++

입니다.

カリキュラム

全体

89件

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

4件

4.3

4件の受講レビュー

  • ssk47159485님의 프로필 이미지
    ssk47159485

    受講レビュー 1

    平均評価 5.0

    5

    61% 受講後に作成

    • scryid8884님의 프로필 이미지
      scryid8884

      受講レビュー 4

      平均評価 4.8

      5

      87% 受講後に作成

      This is a great course for learning CAN communication. It was very helpful because I was at a loss. It was also great that the Q&A was answered quickly.

      • ihil
        知識共有者

        It is good to know the basic concepts and approach to CAN communication. Thank you for finding the lecture helpful. I hope you become a good developer. Thank you~!!

    • somebody2100님의 프로필 이미지
      somebody2100

      受講レビュー 1

      平均評価 5.0

      5

      61% 受講後に作成

      • jinhwanjung2972님의 프로필 이미지
        jinhwanjung2972

        受講レビュー 7

        平均評価 2.7

        2

        99% 受講後に作成

        It is too introductory for an industry professional. The progress is also ambiguous.

        • ihil
          知識共有者

          Thank you for your course review~ The first half of the lecture explains the theoretical part of CAN communication, and the rest is about implementing CAN communication directly using the CAN-related library in STM32 and checking the results. CAN communication is a bit difficult among serial communications. It is not easy to implement if you have not tried it. If you understand the lecture content, you can implement most CAN-related communications. In practice, you can apply and use the lecture content. Thank you~!!

      ¥2,730

      alexの他の講座

      知識共有者の他の講座を見てみましょう!