MSP430のメモリに関する提案


9

TI MSP430を使用して測定アプリケーションを開発していますが、使用できるメモリのタイプに関する提案を聞きたいのですが。

これは、一定時間のログに使用して、デバイスがUSB経由で接続されているときにPCにデータをダウンロードするという考え方です。推定では、最大5MBのデータを保持し、各サンプルは約25バイトのデータです。

単純なEEPROMチップで十分でしょうか、それとももっと良いものがありますか?


1
有効なデータを持っているほとんどの時間、デバイスに電力が供給されているようです。では、バッテリバックアップ式のSRAMは、EEPROM(またはフラッシュ)よりも適切ではないでしょうか。
フェデリコルッソ

回答:


7

AT45Dシリーズのシリアルフラッシュチップを使用しました。消去/プログラミング用のページをセットアップするための内部SRAMバッファがあります。データを読み書きするためのSPIインターフェース。


5

5MByteは、保存する大量のデータです。USB経由で読み取ることは、USBデバイスインターフェイスが組み込まれた新しいパーツの1つを使用していることを意味します。そうでない場合は、USBシリアルコンバーター(FTDIなど)を使用し、非同期シリアルに限定されます。データを読み取るためのデータレート。

SDメモリーカードをMSPに接続し、そこにデータを保存してから、カードをPCに移動して、保存されたデータを読み取ることを検討しましたか?私はこのデバイスへのインターフェースを書いていませんが、インターフェースはたくさんあります。


はい、USBが組み込まれたパーツの1つを使用します。理想はMSCプロトコルを使用することですが、それは私のプロジェクトに多くの複雑さを追加します。おそらく、HIDデータ転送速度で十分です。私はSDカードについて考えましたが、それは水の飛散防止でなければならないので、エンクロージャーにさらに複雑さを追加します。
パドゥメルロッティ

2
SDカードが最大のストレージ容量を提供するため、この方法をお勧めします。今は5MBと言いますが、後でもっと必要な場合は、シリアルフラッシュの限界を超えています(そして、EEPROMの限界をはるかに上回っています)。防水が問題である場合(そして適切なUSBオプションがある場合はそうです)、SDカードをUSB経由で読み取り、エンクロージャー内に永久的に置くことができます。SDカードをボードにはんだ付けしたデザインをいくつか見ました(注:これは機能しましたが、お勧めしません)。
ケビンフェルメール2010

了解しました。そのオプションを検討します。ありがとう
パドゥメルロッティ2010

SDインターフェイスを処理してファイルシステムを実装する特殊なチップはありますか、それともMSP430を使用してファイルシステムとMSCクラスを実装する必要がありますか?
パドゥメルロッティ2010

@Padu-これにはコメントよりも少しスペースとフォーマットが必要だと感じたので、自分の応答を回答として追加しました。
ケビンフェルメール

3

このアプリケーションでは、シリアルフラッシュがEEPROMより優れています。Atmelは素晴らしいラインナップになります。どちらを選択するかは、主に次の2つの要素に依存します。(1)マイクロでログを編集/セクター化する必要性、および(2)MSP430でのRAMの可用性。

フラッシュは、EEPROMとは異なり、1から0にのみ書き込むことができます。データを0から1に変更するには、パーツのセクションを消去する必要があります。これは、通常、データのページまたはブロックでのみ使用できます。このページをRAMにバッファーし、ページを消去し、RAMで編集を行い、何か変更したい場合は書き戻す必要があります。

AT45Dシリーズは、すでに指摘したように、マイクロコントローラーでRAMを使用せずにこのプロセスを容易にするために、チップにRAMバッファーを備えた多数の部品を提供します。

結局、シリーズ全体はピン互換なので、8-SOIC(150mil)のフットプリントを置くだけで、後で別のオプションが必要になった場合にパーツを交換できます。


私はあなたが言っていることに同意しますが、ソースを消去する前に変更したいバイトを変更しながら、ソースフラッシュページから宛先フラッシュページにデータをコピーすることができます。
mjh2007 08/10/11

@mjh-ソースと宛先が同じである場合、および/またはフリーページがない場合はどうなりますか?また、これは遅いです:読み取りコマンドの送信、アドレスの送信、バイトの読み取り、必要に応じた変更、消去、書き込みコマンドの送信、アドレスの送信、バイトの書き込み、x256、x512、またはx4kの繰り返し。他のオプションは、読み取りコマンドを送信し、読み取りアドレスを送信し、Nサイクルの間クロックし、変更したいバイトを変更し、消去し、書き込みコマンドを送信し、書き込みアドレスを送信し、Nサイクルの間クロックします。これには、RAMバッファの約3分の1の時間がかかります。
ケビンフェルメール

データロガーがマイクロのログを編集する必要があるのはなぜですか?
davidcary 2010

@davidcary-データロガーが1つの長いバイトストリームを記録するだけの場合は、そのとおりです。変更を加える必要はありません。複数の構成またはログファイルがあり、ページ/ブロックの境界を越える可能性がある場合、またはファイルのヘッダーを最後に変更したい場合は、既存のデータを消去せずにメモリを編集する必要があります。
ケビンフェルメール

この時点で、ユーザーがデバイスをUSBに接続してダウンロードした場合を除いて、いくつかのログファイルを作成する必要があります。ただし、変更する必要はありません。その後、古いログを消去(またはその領域を再度利用可能にする)する必要があります。
Padu Merloti

2

AT25Dシリーズは、AT45Dより少し使いやすいように見えるので、お勧めします。ただし、処理速度はやや遅く、データ転送オプションやSRAMバッファの数は多くありません。これには、安価であるという利点があり、データロギングなどのほとんどのアプリケーションで十分高速です。

5MBのデータが必要な場合、通常1Mビット未満のパッケージで提供されるため、EEPROMが機能することはほとんどありません。Atmelのフラッシュチップは、最大64メガビットまたは8 MBをサポートします。


1
同意しません。AT25Dの最小の消去可能なセクションは4kBページであり、いくつかのマイクロは、それだけ多くのスペアRAMを利用できます。私は、小さな(256バイト)ページ消去機能を備えたAT25FSシリーズのチップを使用しましたが、それらは5MB未満です。バッファリングされたシステムを使用すると、RAM管理についてそれほど心配する必要がなくなります。もちろん、ログを編集する必要がない場合、AT25シリーズは問題​​なく動作します。
ケビンフェルメール2010

はい、アプリケーションが一部のバイトを書き込んで、後でそのバイトを変更する必要がある場合、大きな消去ページは煩わしいものです。しかし、なぜデータロガーがこれを行う必要があるのでしょうか?データロギングアプリケーションアプリケーションの場合、最小の消去可能なセクションが256バイトまたは1メガバイトの場合、違いはないように思えます。
davidcary 2010

1

[これはイアンの答えに続くコメントへの応答です]。
SDカードは単なるSPIデバイスなので、チップ/インターフェイスは必要ありません。他のプロトコルには、2線式インターフェース(I2Cなど)と4線式インターフェース(複雑なCRC付き)が含まれますが、最も一般的に使用されるのはSPIです。

ここに TIからMSP430用のSDカードアプリケーションノートがあります。簡単ですが、サンプルコードが含まれています。SDカードのさまざまなセクターの読み取りと書き込みを処理します。SDカードをPCに接続しない場合は、これで十分です。また、Fustt(推奨)またはMSUのEvansによるこれらの実装も確認してください。

セクターを読み書きするための基本的な関数を取得したら、USB経由でシンプルなカスタムファイルシステムを抽象化するか、既存のファイルシステムライブラリを使用できます。 FatFSEFSL、またはDOSFはすべて後者のオプションです。必要なすべての機能を実装するのが難しいと思われる場合は、一部を除いてすべてがスタブになる可能性があることを覚えておいてください。

ただし、ファイルシステムはUSBインターフェイスを介してある程度抽象化されます。実際のファイルシステムライブラリがあり、カードが読み取り可能なファイルシステムにある場合、これは簡単ですが、作業が必要です。独自の「ファイルシステム」を作成し、USB実装の作業/時間/メモリを節約したい場合は、ログ1が0x0で始まり、ログ2が0x10 0000で始まり、ログ3が0x20 0000であるため、定義を単純で柔軟性のないものにすることができます。 、ログ4を0x30 0000に記録します。その後、このデータをUSB経由で送信できます。

USBインターフェイスは、シリアルインターフェイスから大容量記憶装置まで、好きなだけ複雑にすることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.