2010-10-01から1ヶ月間の記事一覧

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 …