STM32
今回は STM32F4xx シリーズのチップを搭載した Nucleo-64 ボードでの話題です。 ハードウェアとしては Arduino 用の「ムライシールド(仮)」(→こちらとこちら) を使用し、ソフトウェアとしては CubeF4 HAL ライブラリを使用しています。 デフォルトでは、Ardu…
STMicroelectronics Nucleo シリーズ (より正確には Nucleo64 シリーズ) では、ST 独自の「Morpho」コネクタのほかに Arduino Uno R3 互換の Arduino コネクタを持ち、Arduino 用シールドが利用できます。 しかし、デフォルトではコネクタのピン D0、D1 には…
STMicroelectronics 製の Cortex-M3 マイコン STM32F10x シリーズでは、フラッシュからの読み出しに際して挿入する必要のあるウェイト・ステート数 (WS) について、システム・クロック (SYSCLK) との間に次のような関係があります。 0 MHz 24 MHz 48 MHz 「S…
プログラムとしては、下の図に示すように、外部から BBD クロックをトリガとして ADC / DAC それぞれに加え、ADC からは DMA を介してディレイ・メモリに書き込み、ディレイ・メモリからは DMA を介して読み出して DAC に出力しているだけです。 これは周辺…
1024 段 BBD をエミュレートする C ソース・プログラムを下に示します。 長くなるので、プログラムの説明は後に回し、コンパイル方法だけを説明します。 まず、コンパイルには「Atollic TrueSTUDIO/STM32 Lite version 1.4.0」を使いました。 TrueSTUDIO/STM…
次回の記事で示す、STM32VL Discovery 用 1024 段 BBD エミュレーション・ソース・プログラムをコンパイルした結果の hex ファイルを下に示します。 STMicro 社のフラッシュ書き込みツール「ST Visual Programmer」で書き込めば動作させることができます。 …
各プロセッサ用のFM音源プログラムの処理能力を表にまとめてみました。 本来は、サンプリング周波数 (fs) 、同時発音数 (NPOLY) をそろえて、CPU 負荷率で比較するのが良いのですが、そうなってはいません。 現状のプログラムでは、同時発音数 16 がリミッ…
STMicroelectronics 製 STM32 Value Line Discovery 用の暫定版の FM 音源プログラム「TGSTMVL」を作りました。 (→こちら) に置いてあります。 内蔵の 12 ビット DAC による出力と、いつもの BU9480F による 16 ビット・ディジタル・オーディオ用 DAC による…
秋月で最近販売が開始された「STM32 Value Line Discovery」を買ってきました。 当然のことですが、「ST Visual Programmer (STVP)」と、「Atollic TrueSTUDIO/STM32 Lite」で、ボード上の STM32F100RBT6B チップに対し SWD モードの「ST-Link」として機能す…
STM32 の SPI モジュールに内蔵されている CRC 計算回路は、CRC 計算としては 8/16 ビットに限定されますが、CRC 入力データとして「0」(または「1」) の連続として、単なる LFSR として使う場合には 8/16 ビットに限定されずに使えることが分かりました。 …
今回は、ChaN さんの「ぷち FatFs」(→こちら) の AVR 用のサンプル・プロジェクト (アーカイブ・ファイル名は "pfsample.zip") に STM32 の SPI ハードウェア CRC 計算機能を組み込んだプログラム例を示しますが、その前に、いくつかの MMC/SD カード・コマ…
今回は、SPI のハードウェア CRC 計算回路に 8 次の生成多項式を設定した場合には避けられない、定義よりも 1 ビット分の「0」が多く入力される影響について考えます。 まず、定義通りに入力メッセージ 40 ビット + 追加の「0」7 ビット = 47 ビット分の入力…
前回述べたように、実際の STM32 の SPI モジュールのハードウェア CRC 計算回路で求まるのは、8 ビットの「0」を追加した入力メッセージに対する剰余ですが、それについては後に回し、まず、定義通りの場合について考えます。 40 ビットの入力メッセージに …
CRC-7 の生成多項式に単一パリティの因子 (x + 1) を掛けて求めた 8 次の多項式を使って計算した結果から、もとの CRC-7 に対応する結果を抽出する方法を説明していきます。 まず、CRC-7 をビット・シリアルに計算する回路を下に示します。
今回は、m-系列ノイズの話から横道にそれて、STM32 の SPI モジュールのハードウェア CRC 計算を MMC/SD カードのアクセスに応用してみます。 MMC (Multi-Media Card) / SD (Secure Digital) メモリ・カードでは、コマンド部のエラーチェックに CRC-7、デー…
STM32 の SPI モジュールには CRC 計算機能が組み込まれていて、8 ビットおよび 16 ビットの SPI モードに対応して、それぞれ 8 ビット、16 ビットの CRC を自動計算することができます。 外付けの 16 ビット・シリアル入力、ディジタル・オーディオ用 DAC …
FM 音源プログラムを「STBee」および「STBee Mini」に移植するにあたり、STM32F103xx の最新のリファレンス・マニュアル (RM0008 rev.11) を見ていたら、m-系列によるホワイトノイズ作成に使える内蔵モジュールが3つほどあることが分かりました。 12 ビット…
デザインウェーブマガジン誌 2008 年 5 月号付属の CQ-STARM 基板用のFM音源プログラム「TGSTARM」を作ってから 2 年あまりが過ぎました。 C コンパイラとして Keil 社および IAR 社の無償コードサイズ制限版を使ったために、あまり機能を追加することがで…