放課後の電子工作 HOME > 超小型MP3プレーヤー [ Timpy ] > Rev3.0 【VS1011タイプ】

2008年10月26日 更新

超小型MP3プレーヤー [ Timpy ]
 
Rev3.0 【VS1011タイプ】

Timpy シリーズ・ラインナップ

Rev2.1 【ヘッドフォン内蔵タイプ】

Rev3.1 【ATH-EM7タイプ】


Timpy Rev3.0

VS1011タイプ

超小型MP3プレーヤ [Timpy] Rev3.0

2004年9月 完成

【おまけ】
VS1011e和文データシート

MP3デコーダチップを新製品のVS1011に変更したタイプです。

VS1011はデコーダ部の性能が向上しているらしく、安定して曲中レジュームができるようになりました。
併せて部品点数の削減も可能となったので、基板を設計しなおしました。回路はとってもシンプルです。
機能的にもいろいろと改善、追加して、より実用的になっています。

松下、SONY、Audio Technicaと3種類のヘッドフォンに組み込んでみました。特に理由があったわけではなくて・・・、ちょっと作ってみたかっただけ。(^^)

--

》特徴

*耳かけ式ヘッドフォン型のMP3プレーヤです。かばんの中でもかさばりません。
*巻き取り式なので、コードが絡まってイライラすることはありません。
*miniSDカード対応です。
*前回停止したところから再生します(曲中レジューム)。
*早送り系の操作として、曲ごとの送り/戻し、フォルダごとの送り/戻し、曲やフォルダをまたいだ早送り/巻き戻し(送り中のプレビュー付き)ができます。
*好きなところにマーカを1箇所設定して、ジャンプできます。
*1曲リピート、全曲リピートができます。
*ラウドネス機能を持っています。12種類の周波数特性からお好みで選べます。
*充電式バッテリ(リチウム・ポリマ電池)を内蔵しています。
*バッテリの電圧が低下すると、自動的に省電力モードになります。
*カード込みで約45gと軽量です。

--

》VS1011採用のメリット
  1. 電源ON/OFF時のポップノイズが低減されている
    アプリケーションノートの手順どおりにやってみました。確かに、密閉式のヘッドフォンでもノイズはほとんど聞こえません。
    開放型のヘッドフォンなら全然問題にならないでしょう。
    これで外付けのアナログスイッチを省略することができます。

  2. MP3データの途中からでも安定して再生できる
    VLSI Solutionのテクニカルサポートによれば、VS1001はMP3データの途中からの再生に対応していません。
    Rev2.1までで実際にやってみた感じだと、9割以上の確率で途中からの再生はできるのですが、早送り/巻戻し操作となるとやはりすぐにミュートしたまま無反応になってしまいます。

    VS1011ではこの不具合は確かに改善されていて、ようやく本当の早送り/巻戻しができるようになりました
    なお、サポートからの同メールにあったのですが、データ途中からの再生をする場合にはデータに先立って2048バイトの0を送っておく必要があるとのことでした。
    これはデータシートやアプリケーションノートには書いてありませんので要注意です。

    ひとつ気になったこと。VS1011は確かに安定はしているのですが、データ途中からの再生の開始直後に出てくる音が一瞬ですが変になります。
    これも後でテクニカルサポートに問い合わせてみようと思っています。

  3. VS1001で必要だったBSYNC信号が要らない
    VS1011はVS1001と同様のインターフェースで制御できるVS1001 Compatibility Modeを持っており、ほぼそのままで置き換えが可能なようになっています。
    ですが、VS1002 Native Mode (New Mode)という新しい機能を持っています。
    これはVS1001で必要だったBSYNCの代わりにxDCS信号を使うことで、データ送出も通常のSPIポートとして扱えるようになるものです。
    BSYNCは生成がちょっと面倒なので、これが不要になるとソフトウェアの簡単化ができます。

    Native Modeでは仕様上このような利点があるのですが、私が試したところ、そんなことより大きなメリットがあることに気が付きました。
    原因はわからないのですが、Compatibility ModeよりもNative Modeを使ったほうが格段に『音がいい』のです。
    明らかに違います。VS1011ではNative Modeを強くお勧めします。


    マスカットさんが試されたところによると、Compatibility ModeとNative Modeで音質に違いは無いとのことでした。(2005年11月18日 追記)

詳しい説明はこちらのデータシートをご参照ください。

VS1011に変更したことで、回路をさらにシンプルにすることができました。
Rev2.1まではRev1.0の基板を無理やり流用していたので、この機会に基板を設計しなおしました。

--

》回路図

超小型MP3プレーヤ [Timpy] Rev3.0 - 回路図VS1011のおかげで、Rev3.0はとてもシンプルな回路になっています。

【回路図・基板データ】timpy30-eagle.zip (347KB)
新しいパーツライブラリ、デザインルールファイルも一緒に入っています。

--

》プリント基板

基板イメージ 回路がシンプルになったので、Rev3.0では操作スイッチと電源スイッチも一枚に詰め込んでみました。
上半分の基板だけで動作します。
Rev1.0と同様の操作スイッチが4つ、上下左右に配置されています。
右上が電源スイッチ、左上が開発環境との接続用コネクタです。
裏面にminiSDカードコネクタが実装されます。
Rev1.0の時よりもC8051F330のパッドのはみ出し量を0.2mm多くしたので、手はんだが楽になっています。

下半分の基板は、開発環境とつなぐ際に必要となるアダプタ基板です。
Cygnal純正のシリアルアダプタEC2から出ているフラットケーブル圧接の10Pコネクタと、
Timpyへの接続で使用している0.5mmピッチ4芯FFCとを変換します。

今までは手配線の基板を使っていたので、今回一緒にプリント基板にしてみました。

・・・しかし、10Pのフラットケーブル用コネクタの大きいこと。
見たときに思わず『おおっ』と驚いてしまいました。

実装済み基板全部実装した様子です。

基板単体での動作確認のために、電源スイッチ、操作スイッチもすべて載せてあります。
ヘッドフォンに組み込む時は、スイッチ類は基板に実装せず、ヘッドフォンに直接取り付けます。

--

》部品表

No.

Reference

Name

Qty.

Manufacturer

購入先

1

IC1

C8051F330

1

Silicon Laboratories Inc.

マイクロテックその他でも入手可能です。

2

IC2

VS1011-L

1

VLSI Solution Oy

JELU Web-Shop、またはegnite

【2006年7月】なんと、あの秋月電子通商が取り扱いを始めました!それも驚きの秋月価格です。
秋月のものはVS1011eですが使用できます(ハズ)。"e"は、それ以前の"b"バージョンの改良品を意味します。違いはVS1011のデータシートの46ページを参照してください。

3

IC4

LP3988IMF-3.0

1

National Semiconductor

Digi-Key

4

R1

10K (1005)

1

any

シーアール(秋葉原)

5

R2, R3, R4, R5

100K (1005)

4

any

シーアール(秋葉原)

6

R6, R7

1M (1005) 1%

2

any

シーアール(秋葉原)

7

C1, C2

C2012X5R0J475M

2

TDK

mouser

8

C3, C4, C5

0.1u (1005)

3

any

シーアール(秋葉原)

9

CN1, CNA

XF2L-0425-1

2

OMRON

Digi-Key

10

CN2

SCJB2B0101

1

ALPS

mouser

11

CNB

HIF3FC-10PA-2.54DSA

1

HIROSE

秋葉原

12

SWD, SWF, SWR, SWU

SKRKAHE010

4

ALPS

電即納
このスイッチは基板に実装するときのものです。
ヘッドフォンに組み込むときは、基板にスイッチは実装しません。
代わりに,ALPSのSKQGAFE010というスイッチをケース内側に取り付け、配線で基板と接続します。

13

SW1

SSAD120100

1

ALPS

電即納
このスイッチも基板に実装するときのものです。
ヘッドフォンに組み込むときは、基板にスイッチは実装せず、常時ONとなるようにパッドをショートしておきます。
SW1の代わりには,ALPSのSSSS810701というスイッチを別途ケースに取り付けています。

14

基板

Timpy Rev3.0

1

--

P板.com

15

バッテリ

ET-0210
WOR-170
ET-0210

1

E-Tec
Worley

E-Tec

以前からお世話になっていたEFlight Designsは、Balsa Productsに吸収合併されたようです。
同時に、ちょうど良い寸法のリチウム・ポリマ電池ET-0210が、再度入手可能となっています。
(ショップからは製造中止と聞いていたのですが・・・)
まあクレジットカードが使えるようにもなりましたので、許してあげることにします(^^)。
 ・・・と思ってよく見たら、「現在、USとカナダのみ発送」とありますね。許せません。
あとでメールしてみます。問い合わせたところ、やはり日本への発送はしないとのことでした。残念。

なお、容量の大きいET-0250は、残念ながら厚さの関係でヘッドフォンに収まりません。
【ご注意】リチウム・ポリマ電池の充電には必ずリチウム・ポリマ専用の充電器を使ってください。
ニッケル水素やNi-Cd用の充電器を使うことは非常に危険です。

【2006年7月】新たに3つ、ショップを見つけました。次の機会に発注してみようと思います。

16

DCプラグ・ジャック

調査中

各1

千石電商(秋葉原)
ヘッドフォンに組み込む際に必要となります。
プラグの方はリチウム・ポリマ充電器に取り付けます。

17

開発環境
(開発キット)

C8051F330DK-J

1

Silicon Laboratories Inc.

マイクロテックその他でも入手可能です。
マイクロテックさんの場合、価格は、$99×為替レート+消費税でした。
USから送ってもらうよりお得です。
ちなみに末尾の"-J"は、日本向けのACアダプタが付属、という意味です。
これが付いていない型番(C8051F330DK)は、US向けACアダプタ付属を意味しますので要注意です。

【2006年7月】最近、ワイド入力(100V/200V兼用)のACアダプタに切り替わりつつあります。
C8051と開発キットについてはこちらにも情報があります。

18

FFC

P=0.5-K1-6-149 3/5(UL20624)

1

富士電工

4芯に切ったFFCELISshop
これは開発環境とTimpyの基板を接続する時に必要となります。
本当は4芯が欲しいのですが、残念ながら売ってるところが見つかりませんでした。
仕方がないので、この6芯のFFCを、カッターで4芯に切って使っています。
こんな感じ→

--

》ファームウェア

timpy30-src-20041030.zip (30KB)

【2004年10月30日】

カード内のディレクトリ構造例★ようやく階層ディレクトリをサポートしました。
 ディレクトリツリーを深さ優先で探索します。

 miniSDカードにデータを入れる際に、例えばアルバムのディレクトリごとコピーとかできますので、 容量の大きいカードでも曲の管理がとっても楽になります。

★ディレクトリジャンプ機能を追加しました。
 各ディレクトリ内の1曲目の間を前方/後方にジャンプする機能です。

 左の図の例で、【次のディレクトリへジャンプ】すると、再生中の曲を基点として順次[1]、[2]、[3]、[4]・・・とジャンプします。
 【前のディレクトリへジャンプ】もできます。(逆順に[4]、[3]、[2]、[1]・・・となります)

 聞きたいアルバムの1曲目をすばやく探せます。
 (逆に、聞きたくないアルバムをスキップするときにも便利です)

【2004年10月12日】
ラウドネス機能を追加しました。
12種類の周波数特性から好みのものを、聞きながら選択できます。

*この圧縮ファイルに同梱されているファイル "loud_sa.inc" は、VS1011の製造元であるVLSI Solution Oyが公開している機能拡張プログラム "VS1011/VS1002 Loudness Extension Rev.1.41" に含まれているプログラムファイル "loud_sa.cmd" ファイルをTimpyのソースプログラムにインクルードできるようフォーマットしなおしたものです。
*このラウドネスの12種類の周波数特性グラフを含む機能の詳細については、VLSI Solution Oyの上記のページをご参照ください。

○スイッチ操作と動作 2004年10月30日版

モード

SWF(>)スイッチ操作

SWR(■)スイッチ操作

SWU(∧)スイッチ操作

SWD(∨)スイッチ操作

停止

再生モードへ(プレイ) (*1)

バッテリチェック (*9)

マーカ位置から再生開始

現在の停止位置にマーカを設定 (*8)

再生

次の曲/前の曲モードへ (*2)

停止モードへ(ストップ)

ボリュームアップ

ボリュームダウン

次の曲/前の曲

ディレクトリジャンプモードへ (*12)

再生モードへ (*5)

次の曲へジャンプ

前の曲へジャンプ

ディレクトリジャンプ

早送り/巻戻しモードへ (*4)

次のディレクトリへジャンプ

前のディレクトリへジャンプ

早送り/巻戻し

ラウドネス設定モードへ (*10)

早送り

巻戻し

ラウドネス設定

リピート再生モードへ (*3)

フィルタ番号を+1する (*11)

フィルタ番号を-1する (*11)

リピート再生設定

再生モードへ

全曲リピート再生のON/OFF (*6)

現在の曲リピート再生のON/OFF (*7)

操作は4つのスイッチ(>■∧∨)で行い、それに対するレスポンスがビープ音で返ってきます。
ビープ音には3つの音程「高音(ピ)・中音(ポ)・低音(ブ)」があります。
ほとんどの操作によるレスポンスは「ピ」ですが、以下のように状態によって音程が変わります。

(*1)再生開始時、全曲リピートが設定されていれば「ピ」、現在の曲リピート再生が設定されていれば「ポ」、リピート設定されていなければ「ブ」です。
(*2)「ポポピ」と鳴ります。
(*3)「ブピブ」と鳴ります。
(*4)「ピピピ」と鳴ります。
(*5)次の曲/前の曲モード、ディレクトリジャンプモード、早送り/巻戻しモード、ラウドネス設定モード、リピート再生設定モードでは、10秒間操作がないと自動的に再生モードに移行します。
(*6)スイッチを押すたびにON/OFFが切り替わります。全曲リピート設定ONなら「ピ」、OFFなら「ブ」です。
(*7)スイッチを押すたびにON/OFFが切り替わります。現在の曲リピート設定ONなら「ポ」、OFFなら「ブ」です。
(*8)「ピポピ」と鳴ります。
(*9)バッテリの電圧をビープ音で知らせます。たとえば3.7Vだったとき、これを2進数に直すと"0011 0111"です。"0"を「ポ」、"1"を「ピ」に対応させて、「ポポピピ ポピピピ」と鳴ります。
(*10)「ブブポ」と鳴ります。
(*11)スイッチ操作により、ラウドネスの周波数特性を変更します。"VS1011/VS1002 Loudness Extension Rev.1.41" にある12種類のフィルタ番号を、+1と-1操作によって変更、設定します。上記文書にはフィルタ番号が1から12までしかありませんが、その他に0も設定できます。フィルタ番号0はラウドネス機能OFFです。このとき、番号0を表すために「ポ」と鳴ります。0以外ではビープ音は鳴りません。
(*12)「ブピピ」と鳴ります。

○その他の機能

【シャットダウンモード】
 停止モードが60秒間続くと、シャットダウンモードに移行します。再度再生するときは、電源スイッチを入れなおしてください。
 シャットダウンモードでも消費電力は0ではありませんので、バッテリの過放電を防ぐため電源スイッチは必ず切るようにしてください。

【バッテリ電圧監視】
 過放電を防ぐため、バッテリの電圧が3.0V以下になると自動的にシャットダウンモードへ移行します。

【レジューム再生】
 再生は前回の停止位置から開始されます。

【不揮発メモリへの状態保存】
 上記の前回停止位置や、カード識別情報、マーカ設定、リピート設定、ボリューム値は電源を切っても保存されています。
 SWR(■)スイッチを押しながら電源を入れることで保存値を無視することもできます。

【カード交換検出】
 電源ON時にカードが交換されているかどうかの簡単なチェックを行います。交換されている場合、再生は1曲目の先頭からとなり、マーカ情報はクリアされます。

【早送り/巻戻し中のボリュームダウン】
 早送り/巻戻し中は音飛びによるノイズが出るため、自動的に音量が小さくなります。

【省電力動作】
 消費電力を抑えるため、CPUがアイドル状態(miniSDカード・VS1011へのアクセスおよび操作スイッチ処理を除いた期間)の間は、CPUコアを省電力モードにするようにしています。

○ご注意

*最初の1回目の起動時、何も鳴らなくてあせります。これは初期状態でVS1011のボリューム値が最小になっているためですので、SWRを押しながら起動して不揮発メモリを無視するようにしてください。

*デバッグ中にシャットダウンモードに入ってしまうと、CPUが無応答となるため強制的にターゲットが切断されてしまいます。デバッグ中は1088行目のコメントアウトを解除すると作業効率がよくなります。デバッグ終了時に再度コメントアウトすることをお忘れなく。

*現在サポートしているのはFAT16のみです。新しいminiSDカードを使用する際には念のためにFATでフォーマットしてください。

図3

》写真

動作チェック中シリアルアダプタEC2と接続して、ファームウェアをダウンロード。
動作確認中の様子です。

松下 RP-HS102

SONY MDR-Q66

Audio-technica ATH-EQ77

説明

全体 全体 全体
完成しました

松下のはRev2.1と同じRP-HS102です。今回はマットブラックにしてみました。

3種類とも、ネックコード巻き取り機能付きです。

miniSDカード挿入口 miniSDカード挿入口 miniSDカード挿入口
miniSDカード挿入口

miniSDカードはここから入れます。

miniSDカードを挿入したところ miniSDカードを挿入したところ miniSDカードを挿入したところ
miniSDカードをセットしたところ

カードをセットするとこんな感じになります。
カード全体が中に収まってしまうため、
ちょっと見ただけではわかりません。

指の先でカードを少し押し込むとイジェクトできます。

充電の様子 充電中の様子 充電中の様子
内蔵バッテリの充電

内蔵のリチウム・ポリマ電池への充電の様子です。
専用の充電器を使っています。

内部の様子 内部の様子 内部の様子
内部の様子

今回松下のケースの内側はRev2.1のときほど削らなくても納まりました。
基板やバッテリの位置がとても重要です。ちょっとでもずれているとふたが閉まりません。

Rev3.0そろい踏み
・・・というわけで、完成です

今後はさらにファームウェアを改良していく予定です。

--

》生基板、お譲りします:第3回

Timpyに興味を持ってくださった方が、もし仮に作ってみようと思ったときに、費用面で一番障害になるのは基板だと思います。
たとえばRev3.0の基板を、P板さんで1枚だけ作ると、27,000円近くもかかってしまいます。
それではあまりに敷居が高いですよね。

その基板ですが、先日3回目のリピート製造をしました。
今回も数枚余裕を持って作りましたので、ご希望の方にお譲りします。
手順などは第2回と同じです。下記をご覧ください。

1枚5,000円(普通郵便の送料込み)です。
お送りするのは生基板のみです。部品類は一切含まれません。ご了承ください。

お申し込みはとりあえずBBSへお願いします。
その際に連絡先のメールアドレスをお忘れなくご記入ください。
直接ご連絡いただいてもかまいません。 chi[at]chiaki.ccまでどうぞ。
よろしくお願いします。

【ご注意】
完成させるには、
 ○実装部品類のほかに、C8051F330の開発環境やその他もろもろが必要になります。
 ○面実装の手はんだのワザが必要です。
  1005の抵抗やコンデンサ、QFP、MLPなどの部品を使っていますので、実装にはある程度のスキルが必要です。
  自信がないという方はご相談ください。お手伝いします。
よくご検討の上お申し込みください。


Timpy シリーズ・ラインナップ

ページの先頭へ戻る

Rev2.1 【ヘッドフォン内蔵タイプ】

Rev3.1 【ATH-EM7タイプ】

HOME