無線電子工学および電気工学の百科事典 STM32 マイクロコントローラーとそのデバッグ ボード。 無線エレクトロニクスと電気工学の百科事典 長年にわたり、アマチュア無線家は PIC および AVR ファミリの XNUMX ビット マイクロコントローラーを使用してきました。 これらは、低価格、詳細なドキュメント、プログラミングとインストールの容易さにより人気があります。 ただし、このようなマイクロコントローラーの能力ではタスクを解決するには十分ではない場合がよくあります。 最も単純な例は、マイクロコントローラー上の周波数メーターまたは信号発生器であり、測定または生成される最大周波数は、情報の処理または出力の速度に直接依存します。 速度に加えて、32 ビット マイクロコントローラには他の制限もあります。たとえば、多くの AVR モデルにはハードウェア シリアル ポートが XNUMX つしかなく、外部デバイスから情報を受信し、同時にその処理結果を消費者に送信することはできません。 グラフィックインジケーターに情報を表示するなどの「平凡な」ことは言うまでもありませんが、これには速度とメモリの両方で大きなリソースが必要です。 このような多くの制限を分析した後、著者は STMXNUMX ファミリのマイクロコントローラーに切り替えるというアイデアを思いつきました。 たとえば、同じ価格カテゴリの 32 つのマイクロコントローラ、STM103F6C328 と ATmegaXNUMXP について考えてみましょう。 表1
それらの比較パラメータを表に示します。 1. 比較結果はいくぶん驚くべきものですらあります。 32 ビット マイクロコントローラーは、ほぼすべての点で 0,5 ビット マイクロコントローラーよりも強力であるだけでなく、安価でもあります。 もちろん、ピンピッチ32mmのマイコンを家庭ではんだ付けするのはそう簡単ではありません。 幸いなことに、ほとんどの場合、これは必要ありません。市場には、STMXNUMX ファミリのマイクロコントローラを搭載したさまざまなデバッグ ボードがあり、さまざまなアプリケーションに十分対応できます。 それらをさらに詳しく考えてみましょう。 STM32F4-ディスカバリー このボード (図 1 に示されています) は、初心者が STM マイクロコントローラーを学習するのにおそらく最も便利です。 まず、周辺機器が豊富に揃っています。 マイクロコントローラーに加えて、ボードにはマイクロ電気機械加速度計、マイク、オーディオ DAC、XNUMX つの USB コネクタ、ボタン、および XNUMX つの LED が搭載されています。
マイクロコントローラーの出力は、ボードの左右の端にあるピン コネクタを取り付けるためのコンタクト パッドに接続されるため、必要なすべての外部デバイスをピン コネクタに簡単に接続できます。 ボードにインストールされている STM32F407VGT6 マイクロコントローラは、1 MB のフラッシュ メモリ、192 KB の RAM、および 168 MHz のクロック周波数という非常に優れたパラメータを備えています。 最後に、ボードには ST-LINK/V2 デバッガが内蔵されており、ボード上のマイクロコントローラだけでなく、他のボードにある同じファミリのマイクロコントローラのプログラムもデバッグするために使用できます。 それらへの切り替えは、取り外し可能なジャンパと SWD コネクタを使用して実行されます。 ボードの価格は約800ルーブルで、かなり許容できると考えられます。 STM32F103RBT6 開発ボード 次に興味深いオプションは、STM32F103RBT6 マイクロコントローラーを搭載したデバッグ ボードです (図 2)。
以前のボードに搭載されていたものよりも若干劣りますが、クロック速度 72 MHz、フラッシュ メモリ 128 KB、RAM 20 KB ですが、ペリフェラルは非常に興味深いものです。 320x240px 2.8 インチ TFT タッチスクリーン、PC 通信用の内蔵 USB ポート、SD メモリ カード スロット、32768Hz クロック クォーツ、リアルタイム クロック バッテリー コンパートメント、プログラムのデバッグ用 ST-LINK コネクタ。 このボードの価格も約800ルーブルですが、デバッガが内蔵されていないことに注意してください。 プログラムをダウンロードするには、別の ST-LINK デバッガを購入するか、代わりに上記で説明した STM32F4-DISCOVERY ボードを使用する必要があります。 メープルミニ このボード (図 3) とよく知られた Arduino モジュールの外観の類似性は驚くべきものです。 そしてこれは偶然ではありません。
Maple Mini ボードは、Arduino Nano の代替として設計されました。 AVRファミリーのArduino搭載マイコンのプログラミング言語と開発環境をSTMファミリーに適合させました。 Maple IDE プログラミング言語と開発環境の詳細については、http://leaflabs.com/docs/maple-q uickstart.html を参照してください。 開発ボードには、32 MHz で動作する STM103F6CBT72 マイクロコントローラーが搭載されており、128 KB の FLASH と 20 KB の RAM を搭載しています。これは間違いなく他の Arduino モジュールよりも多くなっています。 さらに大きな利点は、開発環境があまり変わっていないことです。 これとは別に、Maple Mini は小型サイズにもかかわらず、34 個の I/O ライン、2 つの SPI インターフェイス チャネルと XNUMX つの IXNUMXC、XNUMX つのシリアル ポートという非常に多様なペリフェラルを提供していることに注意してください。 これにより、さまざまなアマチュア開発にうまく適用できます。 Maple Mini はサイズが小さいため、開発中のデバイスに直接組み込むことができます。 オリジナルの Maple Mini ボードは、オリジナルの Maple Mini Web サイトで 35 ドルで購入できます。 さらに5ドルかかると送料がかかります。 中国製の基板のコピーの価格は半額になります。 ソフトウェア STM32 ファミリのマイクロコントローラ用のプログラムを準備するために使用できる開発環境には、いくつかのオプションがあります。 - 商用の IAR Embedded Workbench、AtollicTrueSTUDIO、Keil など。これらのフル機能の製品は、ライセンス価格が 1000 ユーロと非常に高価ですが、開発されるプログラムの量に制限がある無料のデモ バージョンもあります。ほとんどの単純なプロジェクトには十分です。 - ARM-GCC コンパイラを備えた無料の Eclipse では、使用前にコンパイラのセットアップが非常に必要です。 現在の唯一の利点は、Windows だけでなく Linux でも動作できることです。 - 同じ Eclipse エディタに基づく無料の CooCox IDE (CoIDE)。 ST-LINK経由でプログラムのロードとデバッグを実行します。 以前のバージョンとは異なり、CoIDE は特別な設定を必要とせず、インストール後すぐに動作します。 このオプションは最も便利なので、使用する必要があります。 CooCox IDE を使用して、LED を点滅させるマイクロコントローラーの最初のプログラムとして古典的なものを実装する STM32F4-DISCOVERY ボード用のサンプル プログラムを作成してみましょう。 STM32F4-DIS-COVERY ボードには 12 つの LED があり、マイクロコントローラーの PD15 ~ PDXNUMX ピンに接続されています。 交互に点滅させてみましょう。 1ステップ。 CoIDE 開発環境を起動し、プロジェクトを作成します。 図に示すドロップダウン リストから、 4、STM32F407VG マイクロコントローラーを選択します。
2ステップ。 図に示すように。 5、プロジェクトで使用するコンポーネントを選択します。 主なものは、GPIO (入出力)、C ライブラリ (基本的な C 言語関数)、および M4 コア (プロセッサ コア関数) です。 コンポーネントを起動すると、CoIDE が自動的に必要なファイルをプロジェクトフォルダにコピーしてくれるのでとても便利です。
3ステップ。 プログラムのテキストを入力します。 非常に短いので表に示します。 2. ご覧のとおり、すべてがシンプルかつ明白です。 AVRマイクロコントローラ用のプログラムを書いたことがある人なら、方向(入力または出力)を示すポートの初期化、必要なアクションが実行されるメインループなど、よく知られた構造を必ず目にするでしょう。 一般に、プログラムの構文は C 言語と完全に一致しており、C 言語に関する文献は十分にあります。 インターネット上には、STM32 のプログラミングに関する記事もたくさんあります。 多くのサンプルが開発ボードに付属しており、サンプルとしても使用できます。 画面上の「フラッシュにダウンロード」ボタンを押してプログラムのテキストを入力すると、プログラムがマイクロコントローラーにロードされます。 ボード上の LED が点滅し始めます。 これとは別に、デバッグ機能に注目する価値があります。ブレークポイントはプログラム内のどこにでも設定でき、変数の値を確認しながらプログラムを段階的に実行できます。 もちろん、この例は完璧ではありません。 たとえば、LED の点滅を制御するには、タイマー割り込みを使用します。これにより、メイン プログラム ループが解放され、他のタスクに使用できるようになります。 ご希望の方はご自身で対処していただけます。 まとめ 一般に、最初に知った後、STM32 ファミリのマイクロコントローラは非常に楽しい印象を残しました。 すべてはそれほど難しくないことが判明し、開発環境、デバッグプロセス、および多数の標準機能の利便性は、どういうわけかMs DOSからWindowsへの移行を思い出させました - 一般的なポイントは同じように見えますが、すべてがはるかに便利で機能的です。 しかし、アマチュア開発にとってこのファミリーの主な欠点は、まだ結論の一歩が小さすぎることです。 リードピッチ 0,5 mm の基板を家庭で設計してはんだ付けするのは、非常に簡単な作業ではありません。 しかし、現在の価格では、すでにマイクロコントローラーが搭載されているデバッグ ボードは、あらゆるアマチュア無線家にとって非常に入手しやすいものです。 STM と 32 ビット アーキテクチャをすべてやり直す価値はありますか? もちろん違います。 ATtiny で十分なタスクもあります。 しかし、たとえば、自作の SDR 受信機でスペクトルを分析したり、ネットワーク上で大量の情報を送受信したりするには、メモリやパフォーマンスの不足に陥らないように、強力なマイクロコントローラーをすぐに使用する方がはるかに効率的です。装置を改良するとき。 著者: D. エリュセエフ 他の記事も見る セクション アマチュア無線技術. 読み書き 有用な この記事へのコメント. 科学技術の最新ニュース、新しい電子機器: タッチエミュレーション用人工皮革
15.04.2024 Petgugu グローバル猫砂
15.04.2024 思いやりのある男性の魅力
14.04.2024
その他の興味深いニュース: ▪ 拡張ダイナミックレンジを備えたグローバルシャッターCMOSイメージセンサー ▪ GPS モジュールを搭載した Nokia CDMA 電話
無料の技術ライブラリの興味深い資料: ▪ 記事「マイクロコントローラーの LED のフェードアウト効果」。 無線エレクトロニクスと電気工学の百科事典 このページのすべての言語 ホームページ | 図書館 | 物品 | サイトマップ | サイトレビュー www.diagram.com.ua |