Hobby Lab 趣味のモノ作り実験のサイトです。
部品 プロセッサー他 STM32 Fseries_Check
1 経緯
2 STM32の性能確認
2.1 STM32シリーズ
2.2 手持ちのSTM32
2.3 STM32性能確認

Pr:Prプロセッサ関係
PrP:プロセッサ
動作比較
 STM32F動作比較
 CH32V203&STM32F 動作比較
 arduino動作比較
raspberrypi関係
 RaspberryPiハード
CH32V関係
 -CH32V開始
 -203K8T6(32Pin)開始
 -203C8T6(48P)開始
 -003J4M6(8Pin)開始
 -003F4P6(20Pin)開始
 -Moun River StudioⅡ
 プログラミング!
  203_GPIO関係
  203_TIME関係
  203_TIME Encoder
  203_I2C関係
  203_1-Wire関係
  003_DS18B20テスター
  USART(UART)関係
  DS18B20をModBus制御
 -マニュアル
 203データシート
 203取説
  MBA メモリとバス方式
  PWR 電力制御
  RCC リセット・拡張・クロック
  BKP バックアップレジスタ
  CRC 巡回冗長検査
  RTC リアルタイムクロック
  GPIO GPIOと代替機能
  DMA ダイレクトメモリアクセス制御
  ADTM 高度な制御タイマー
  GPTM 汎用タイマー
  BCTM 基本タイマー
  USART 同期非同期通信
arduino関係
 ESP12関係
 (a)ESP-8266D1mini注意
PrP:その他  RS485ドライバー
 CP2102 BRIDGE
 WCH-LinkEエミュレーター
Pr:Wire 電線関係
Pr:Resistance 抵抗
Pr:Capacitor コンデンサ
Pr:Coil コイル
Pr:PassiveElmt 受動素子
Pr:Diode ダイオード関係
Pr:OPAMP オペアンプ関係
PrO:送受信機  Si4735
PrO:オペアンプ  LM324
 LM358
Pr:Tr トランジスタ関係
2SC1815
 リレードライバー設計
 アンプ設計
 発振器
TLP152
 TLP152テスト
TLP2361
 TLP2361テスト
TLP5754
 TLP5754テスト
Pr:Source 電源関係  ツェナーダイオード
 TL431
 LM317
PrS:Downモジュール
 EGS002_IR2110S
 SKU011012
 ACDC02
 XH_M299
 LM2596
 Mini360_MP23070N
 DROK
 WH140
PrS:UPモジュール
 MT3608
PrS:充電モジュール
 TP4056
Pr:Sensor_AD_時計等
PrS:電圧、電流
ADS1115 16bit4CH I2C A/D
 Hardware
 RaspberryPi_コマンド接続
 RaspberryPi_Python
 Arduino
 CH23V203 MounRiverStudioⅡ
INA226 I2C 直流電圧電流
 Hardware
 Arduino
 RaspberryPi_Python
WCS 電流ホール素子
 Hardware
PrS:温度、気圧、湿度、照度
BNE280 I2C 気圧,湿度,気温
 Hardware
 Arduino
 RaspberryPi_Python
BH1750 I2C 照度
 Hardware
 Arduino
 RaspberryPi_Python
DS18B20 1-Wire 温度計
 Hardware
 Arduino
 RaspberryPi_Python
PrS:時間、日時
DS3231 I2C 時計
 Hardware
 Arduino
 RaspberryPi_Python
PrS:表示器
MAR3953 320X480 3.95"
 概要と線や点を描く
 フォントを描く
SSD1306 I2C 0.96"OLED
 Hardware
 Arduino
 RaspberryPi_Python
Pr:Old Processor他

1 STM32使用の経緯

2025年7月ごろからMPUが安価なことから手を出してしまった『CH32V203』はRISC-Vですが、このRISC-Vを調べているとArmアーキテクチャのCPUと言う言葉が出てきてきており、 この頃からArmアーキテクチャのCPUも使いたいと思っていた。

そして9月初旬 CH32V203のLEDの点灯プログラミングで行き詰まっているとき(※1)に気休めにamazomで非常に安価なSTM32F103C8T6評価ボードを見つけ、これが『ArmアーキテクチャのCPU』だと言う事が判り購入してしまった。

しかし購入した翌日・・以前STM32・・???を購入してた様な・・で調べてみるとSTM32-Discovery、My-MiniSTM32V、STM401RE・ST446REの評価ボードを購入していた事が判った。 ボケていることを再認識!

泥沼にハマった気分だが、このSTM32は最初にプログラムで書く必要のあるクロックや入出力のレジスタの設定が簡単に出来るようです。
購入品が届く前に右上のSTM32F401RE評価ボードでLEDの点滅までが出来るだろうと思い記録にした。

なお amazonで購入したSTM32F103C8T6評価ボードだが『Youmile ST-Link V2エミュレータプログラミングユニットダウンローダ + 40ピンSTM32F030C8T6 ARM評価ボード + FT232RL FTDIモジュール マイクロUSBケーブル デュポンケーブル ミニUSBケーブル付き』が 送料込999円
非常に安価なので心配だが商品内容は
ST-Link V2エミュレータ、STM32F103C8T6 ARM評価ボード、FT232RL FTDIモジュール、マイクロUSBケーブル、デュポンケーブル、ミニUSBケーブルとなっている。

※1:CH32V203K8T6とCH32V203C8T6のGPIOについて試しのプログラムをしていたが、両製品の特性の違い・不良か、プログラム不良なのか、GPIOの最大出力周波数に違いが出たのに原因が分からない!

2 STM32の性能確認

 2.1 STM32シリーズ

STM32の製品名には、シリーズの特性を示す文字が含まれています。
 「H」:ハイパフォーマンス
 「F」:汎用
 「L」:低消費電力
 「G」:メインストリーム
 「U」:超低消費電力
 「W」:ワイヤレス

 2.2 手持ちのSTM32

STM32の製品で手持ちなのは5種類あり、全てFシリーズの製品です。
Board Name---STM32VLDISCOVERYMy-MiniSTM32VNUCLEO-F401RENUCLEO-F446RE
MPUSTM32F030C8T6STM32F100RBT6BSTM32F103VCT6STM32F401RET6USTM32F446RET6U
動作最大周波数(MHz)48247284180
CPUARM Cortex-M0ARM Cortex-M3ARM Cortex-M3ARM Cortex-M4ARM Cortex-M4
FLASH Memory(KB)64128384512512
RAM Memory(KB)886496128
パッケージLQFP48LQFP64LFBGA100LQFP64LQFP64
ユニバーサルIO3951805050
最小動作電圧(V)2.4221.71.8
最大動作電圧(V)3.63.63.63.63.6
16bitタイマー768612
32bitタイマー------22
モータ制御用タイマ11212
12bitADC11313
12bitADCチャンネル数1216161616
12bitDACチャンネル数--22--2
SP!22334
QUADSPI--------1
I2S----223
I2C22234
高速I2C--------1
U(S)ART232+334+2
CAN----1--1
SDIO----111
USB OTG FS------11
USB OTG HS--------1
SAI--------2
SPDIFRX--------1
DCMI--------1
USBデバイス----1----

 2.3 STM32性能確認

1つの確認方法としてGPIOで信号をONーOFFできる時間を測定する。
プログラムはSTM32CubeIDEで作成する。
例としてF401REの設定を示す。
1.Clock Configuration:最大周波数 84MHz で設定

2.Pinout & Configuration:PA1の設定=最速設定
3.main.c

4.プログラム実行結果


実行No動作時間(ns)備 考
60実行 5サイクル
60
60
84 ループ戻り2サイクル+実行 5サイクル
1サイクルは 1000/84 ≒ 12 (ns)

各MPU別処理速度測定結果
Board Name---STM32VLDISCOVERYHY-MiniSTM32VNUCLEO-F401RENUCLEO-F446RE
MPUSTM32F030C8T6STM32F100RBT6BSTM32F103VCT6STM32F401RET6USTM32F446RET6U
動作周波数(MHz/ns)48 / 2124 / 4272 / 1484 / 12180 /5.5
②実行時間(ns/cycle)※1※2※360 / 533 / 6
③実行時間(ns/cycle)※1※2※360 / 533 / 6
④実行時間(ns/cycle)※1※2※360 / 533 / 6
①実行時間(ns/cycle)※1※2※384 / 738.5 / 7
※1 STM32F030C8T6:Err Project '030test' has no explicit encoding set
※2 STM32VLDISCOVERY:Err Project '100test' has no explicit encoding set
※3 HY-MiniSTM32V:Err No solution found using your Frequency 72MHz. do you want to use: 64MHz
  最大周波数で試験が出来ないので、後日KeilのMDK-ARMで確認してみたい。




































更新日 2025/11/24 19:52  管理者 平林 剛Hirabayashi Takeshi