STM32¶
STM32(STM32F303RET6)とは¶
STM32はSTMicroelectronics社が開発しているARM Cortex-Mシリーズのマイコンである。
組み込み開発では非常に広く使われており、
- 低消費電力
- 高性能
- 豊富な周辺機能
を兼ね備えている。
今回使用するチップ¶
今回のAsterで使用しているのは
STM32F303RET6
である。
STM32F303の特徴¶
STM32F303は「制御系に強い」マイコンである。
主な特徴
- Cortex-M4コア(DSP搭載)
- 最大72MHz動作
- 高速ADC
- 高精度タイマ
- コンパレータ内蔵
- PWM制御に強い
STM32F303の立ち位置¶
STM32シリーズの中では
制御・アナログ寄り
のモデルである。
例
| シリーズ | 特徴 |
|---|---|
| F0 | 超低コスト |
| F1 | 基本系 |
| F3 | アナログ・制御向け |
| F4 | 高性能 |
| G4 | モータ制御特化 |
F303は
モータ制御・センサ制御向き
のちょうど中間的ポジションである。
CPUコア¶
STM32F303RET6は
ARM Cortex-M4
を搭載している。
特徴
- 32bit CPU
- DSP命令対応
- 浮動小数点演算(FPUなしモデルもあり)
- 高速制御向け
クロック¶
最大動作周波数は
72MHz
である。
メモリ構成¶
STM32F303RET6の構成
- Flash:512KB
- RAM:80KB
組み込みとしては十分な容量である。
ピン数¶
LQFP64パッケージ
を採用している。
特徴
- GPIOが多い
- 外部機能が豊富
- 配線しやすい
周辺機能が強い¶
STM32F303の強みは周辺機能である。
① 高速ADC¶
- 12bit ADC
- 高速サンプリング
- 複数チャネル対応
用途
電流測定
電圧監視
センサ読み取り
② 高機能TIM¶
- PWM生成
- エンコーダ対応
- 入力キャプチャ
モータ制御に必須。
③ コンパレータ¶
アナログ信号を直接比較できる。
例
電流制限
ゼロクロス検出
④ DAC(デジタル-アナログ変換)¶
電圧を出力できる。
用途
- 波形生成
- 基準電圧
- アナログ制御
GPIO機能¶
STM32F303は複数のGPIOポートを持つ。
例
PA0 - PA15
PB0 - PB15
PC0 - PC15
ほとんどのピンが
多機能ピン(AF機能)
になっている。
ピンのモード¶
STM32のピンは複数モードを持つ。
| モード | 内容 |
|---|---|
| GPIO | 汎用入出力 |
| AF | UART/SPI/I2C/PWM |
| Analog | ADC |
| Input | 入力専用 |
クロック構成¶
STM32F303は複雑なクロック構成を持つ。
主なクロック
- HSI(内部高速)
- HSE(外部水晶)
- PLL(倍速)
例
8MHz HSE
↓ PLL
72MHz
モータ制御との相性¶
STM32F303はモータ制御に向いている理由
① 高速PWM¶
→ スムーズなモータ制御
② ADCが速い¶
→ 電流制御が可能
③ コンパレータ¶
→ 保護回路に使える
④ TIMが強い¶
→ エンコーダ・制御周期に最適
STM32の開発環境¶
主に以下が使われる
- STM32CubeMX
- STM32CubeIDE
- HALライブラリ
- LLライブラリ
HALライブラリ¶
STM32の標準API
例
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
特徴
- わかりやすい
- 移植性が高い
- やや重い
レジスタ直叩き(LL)¶
より低レイヤの制御
特徴
- 高速
- 軽量
- 難易度高い
STM32の割り込み¶
重要な機能の一つ
例
- GPIO割り込み
- TIM割り込み
- UART受信割り込み
STM32と外部通信¶
STM32F303は様々な通信に対応する。
UART¶
シリアル通信
SPI¶
高速通信
I2C¶
センサ通信
CAN¶
車載系通信(F303は対応)
STM32の電源¶
基本電圧
3.3V
注意点
- 5V直結は不可
- VDDごとにデカップリング必須
よくあるトラブル¶
ピン設定ミス¶
AF設定忘れ
クロックミス¶
PWMやUARTがズレる
ADCノイズ¶
GND設計不足
リセットループ¶
電源不安定
Asterでの役割¶
STM32F303RET6はAsterの中核である。
主な役割
・モータ制御
・センサ読み取り
・通信制御
・状態管理
構成イメージ
センサ → STM32 → DRV → モータ
↓
通信制御
STM32の重要性¶
STM32は単なるマイコンではなく
システムの中枢
である。
GPIO・TIM・ADC・UARTなどすべてを統合して制御を行う。
まとめ¶
STM32F303RET6は制御用途に特化した高性能マイコンである。
- Cortex-M4搭載
- PWM・ADC・TIMが強い
- モータ制御に適している
- 多機能GPIOを持つ
- Asterの中核として動作する
組み込み開発では「周辺回路を全部まとめる頭脳」の役割を持つ重要なデバイスである。