STM32のメモ

STM32について

STM32とは、STマイクロエレクトロニクス社が製造するARM Cortex M3アーキテクチャに基づいた32bitマイクロコントローラの事です。小型、安価、3.3V系低消費電力ながらコード密度に優れたThumb2命令を実装し非常に高速に動作します。

入手可能なARM Cortex M3ボード

ARM Cortex M3を実装したマイクロコントローラ、及び実装ボードは各社から出ています。

このWikiではこれらの評価、実装済みボードから量産化され供給に安定性があるStrawberry Linux社のSTBee、及び小型版のSTBee Miniに焦点を当てて、メモを残していこうと思います。このSTBeeシリーズに採用されているマイクロコントローラがSTM32シリーズです。 Strawberry Linux社単独の情報で開発を行うのは非常に困難ですが、STM32シリーズには無償で豊富なファームウェア関数群が用意されています。また詳細な開発環境の構築方法の解説本、サイトが存在します。これらSTBeeシリーズも、その情報を活用できます。しかしながら本格的な開発を行おうと思うと、マイコン素人には敷居が高いのも事実で、検索を掛けてサクっと関数の利用法が出てくる状態でもありません。そこで、

  1. ハードウェアに関しては十分な知識がある(電子工作は普通に出来る)
  2. C言語に関しては基本的な知識があるが、本格的な開発はしたことが無い

管理人が32bitマイコン開発に挑戦し、疑問に思ったこと失敗したことをメモしていきます。

管理人はハードウェア開発業務が本業ですので普通にオシロやロジアナやらは普通に駆使してデバッグしますので視点はハード屋がチャレンジする組み込みソフト開発です。ソフト屋視点で見るとプッな点が多々あるかと思いますが、その場合は指摘して頂けると幸いです。

STBee

STBee.jpg

CPU

STM32F103VET6
12MHz×6倍で72MHz動作が基本です。

Flash

512KB

SRAM

64KB

RTC

RTC用32.768KHzクリスタルが付属。バックアップ用電池の接続端子も出ているためバックアップレジスタ・RTCレジスタを使用したプログラムが組めます。STBeeMiniでは工夫が必要です。

JTAG

安価なST-LINKを使ったデバッグが出来ます。引き出し済みなのでヘッダーピンをつけるだけ。

I2C

最大2ch

SPI

最大3ch

USART

最大5ch。内USART1はピンヘッダをつけられます。

GPIO

PORTA-Ex16で最大80本。5Vトレラント機能が一部端子を除いてあります。出力レベルは3.3Vです。

タイマー

高機能タイマが2個、汎用タイマが8個使えます。このWikiで使っている開発環境でdelay関数を使うとTIM2は使えません。

ADC

12bit精度、最短変換時間1us。基準電圧は3.3Vです。分解能約0.8mV。

DAC

12bit精度

その他

STBeeMini

STBeeMini.jpg

CPU

STM32F103CBT6

Flash

128KB

SRAM

20KB

RTC

機能としてはありますが専用クリスタルは無いのでクロック配分に工夫が必要だと思います。バックアップ用電池の接続端子も別口で出ているためバックアップレジスタ・RTCレジスタを使用したプログラムは工夫が必要です。

JTAG

ピン数が少ないため標準では利用出来ません。工夫すれば可能とのこと。

I2C

最大1ch

SPI

最大2h

USART

最大2ch。

GPIO

PORTA-Bx2で最大32本。5Vトレラント機能が一部端子を除いてあります。出力レベルは3.3Vです。 タイマー 高機能タイマが1個、汎用タイマが3個使えます。このWikiで使っている開発環境でdelay関数を使うとTIM2は使えません。

ADC

12bit精度、最短変換時間1us。基準電圧は3.3Vです。分解能約0.8mV。

DAC

12bit精度

関数


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS