STM32

ムライボックス (20) --- ソフトウェア (11)

今回は STM32F4xx シリーズのチップを搭載した Nucleo-64 ボードでの話題です。 ハードウェアとしては Arduino 用の「ムライシールド(仮)」(→こちらとこちら) を使用し、ソフトウェアとしては CubeF4 HAL ライブラリを使用しています。 デフォルトでは、Ardu…

ムライボックス (10) --- ムライシールド (2)

STMicroelectronics Nucleo シリーズ (より正確には Nucleo64 シリーズ) では、ST 独自の「Morpho」コネクタのほかに Arduino Uno R3 互換の Arduino コネクタを持ち、Arduino 用シールドが利用できます。 しかし、デフォルトではコネクタのピン D0、D1 には…

LPC1114FN28/102 (12) -- IRQLATENCY レジスタ (5)

STMicroelectronics 製の Cortex-M3 マイコン STM32F10x シリーズでは、フラッシュからの読み出しに際して挿入する必要のあるウェイト・ステート数 (WS) について、システム・クロック (SYSCLK) との間に次のような関係があります。 0 MHz 24 MHz 48 MHz 「S…

BBD コーラス (6) -- STM32VL Discovery プログラム (3)

プログラムとしては、下の図に示すように、外部から BBD クロックをトリガとして ADC / DAC それぞれに加え、ADC からは DMA を介してディレイ・メモリに書き込み、ディレイ・メモリからは DMA を介して読み出して DAC に出力しているだけです。 これは周辺…

BBD コーラス (5) -- STM32VL Discovery プログラム (2)

1024 段 BBD をエミュレートする C ソース・プログラムを下に示します。 長くなるので、プログラムの説明は後に回し、コンパイル方法だけを説明します。 まず、コンパイルには「Atollic TrueSTUDIO/STM32 Lite version 1.4.0」を使いました。 TrueSTUDIO/STM…

BBD コーラス (4) -- STM32VL Discovery 用プログラム (1)

次回の記事で示す、STM32VL Discovery 用 1024 段 BBD エミュレーション・ソース・プログラムをコンパイルした結果の hex ファイルを下に示します。 STMicro 社のフラッシュ書き込みツール「ST Visual Programmer」で書き込めば動作させることができます。 …

STM32 Value Line Discovery (3) -- 各 CPU の能力比較

各プロセッサ用のFM音源プログラムの処理能力を表にまとめてみました。 本来は、サンプリング周波数 (fs) 、同時発音数 (NPOLY) をそろえて、CPU 負荷率で比較するのが良いのですが、そうなってはいません。 現状のプログラムでは、同時発音数 16 がリミッ…

STM32 Value Line Discovery (2) -- FM 音源プログラム「TGSTMVL」

STMicroelectronics 製 STM32 Value Line Discovery 用の暫定版の FM 音源プログラム「TGSTMVL」を作りました。 (→こちら) に置いてあります。 内蔵の 12 ビット DAC による出力と、いつもの BU9480F による 16 ビット・ディジタル・オーディオ用 DAC による…

STM32 Value Line Discovery (1)

秋月で最近販売が開始された「STM32 Value Line Discovery」を買ってきました。 当然のことですが、「ST Visual Programmer (STVP)」と、「Atollic TrueSTUDIO/STM32 Lite」で、ボード上の STM32F100RBT6B チップに対し SWD モードの「ST-Link」として機能す…

3.3 V ノイズジェネレータ (13)

STM32 の SPI モジュールに内蔵されている CRC 計算回路は、CRC 計算としては 8/16 ビットに限定されますが、CRC 入力データとして「0」(または「1」) の連続として、単なる LFSR として使う場合には 8/16 ビットに限定されずに使えることが分かりました。 …

SPI ハードウェア CRC 回路の MMC/SD カードへの応用 (5)

今回は、ChaN さんの「ぷち FatFs」(→こちら) の AVR 用のサンプル・プロジェクト (アーカイブ・ファイル名は "pfsample.zip") に STM32 の SPI ハードウェア CRC 計算機能を組み込んだプログラム例を示しますが、その前に、いくつかの MMC/SD カード・コマ…

SPI ハードウェア CRC 回路の MMC/SD カードへの応用 (4)

今回は、SPI のハードウェア CRC 計算回路に 8 次の生成多項式を設定した場合には避けられない、定義よりも 1 ビット分の「0」が多く入力される影響について考えます。 まず、定義通りに入力メッセージ 40 ビット + 追加の「0」7 ビット = 47 ビット分の入力…

SPI ハードウェア CRC 回路の MMC/SD カードへの応用 (3)

前回述べたように、実際の STM32 の SPI モジュールのハードウェア CRC 計算回路で求まるのは、8 ビットの「0」を追加した入力メッセージに対する剰余ですが、それについては後に回し、まず、定義通りの場合について考えます。 40 ビットの入力メッセージに …

SPI ハードウェア CRC 回路の MMC/SD カードへの応用 (2)

CRC-7 の生成多項式に単一パリティの因子 (x + 1) を掛けて求めた 8 次の多項式を使って計算した結果から、もとの CRC-7 に対応する結果を抽出する方法を説明していきます。 まず、CRC-7 をビット・シリアルに計算する回路を下に示します。

SPI ハードウェア CRC 回路の MMC/SD カードへの応用 (1)

今回は、m-系列ノイズの話から横道にそれて、STM32 の SPI モジュールのハードウェア CRC 計算を MMC/SD カードのアクセスに応用してみます。 MMC (Multi-Media Card) / SD (Secure Digital) メモリ・カードでは、コマンド部のエラーチェックに CRC-7、デー…

3.3 V ノイズジェネレータ (12)

STM32 の SPI モジュールには CRC 計算機能が組み込まれていて、8 ビットおよび 16 ビットの SPI モードに対応して、それぞれ 8 ビット、16 ビットの CRC を自動計算することができます。 外付けの 16 ビット・シリアル入力、ディジタル・オーディオ用 DAC …

3.3 V ノイズジェネレータ (11)

FM 音源プログラムを「STBee」および「STBee Mini」に移植するにあたり、STM32F103xx の最新のリファレンス・マニュアル (RM0008 rev.11) を見ていたら、m-系列によるホワイトノイズ作成に使える内蔵モジュールが3つほどあることが分かりました。 12 ビット…

CQ-STARM/STbee/STBee Mini 用FM音源プログラム

デザインウェーブマガジン誌 2008 年 5 月号付属の CQ-STARM 基板用のFM音源プログラム「TGSTARM」を作ってから 2 年あまりが過ぎました。 C コンパイラとして Keil 社および IAR 社の無償コードサイズ制限版を使ったために、あまり機能を追加することがで…