実は、先月いっぱいいっぱい、VS1053bという
MP3デコーダICをいじってたんですが。
このIC,巷の情報を総合すると、
「データを転送し続ければ勝手に判断して再生してくれる」といわれるくらい
使い方は単純・・・らしいです。
・・・・が。
ハマりまくったわけです。
今頃、こうして記事書いてるってことは。
回路図の時点で、いくつか躓いてたんですが・・・
1.VS10xxシリーズは種類がいっぱいある。
電源なんて3.3Vonlyの単電源だとおもいこんでたのですが
このVS1053bは1.8Vと3.3Vを要求してくる。
2.とりあえず、で選んだCPUがATmega128
ほんと、手近にあったのを選んだのよ。
ソフトの資産もあったし、使いこなれてるし。
そしたら、Romが128KByteあるんだけど、コンパイラがどうにも。
サンプルで鳴らすデータを抱えなきゃならないのに、
あるサイズを超えるとデータ配列をコンパイルできない。
3.デバイスの電源電圧がマチマチだった
CPUは5Vで20MHzでフル回転したかったのに
VS1053bは3.3Vが限界電圧。
というか、その辺の仕様を斜め読みしかしてなかったので
恐らくVS1053bをひとつ、壊した(T_T)
そんなこんなで、ソフトを書いてたんですが。
CPUはとりあえず3.3V対応版を以前買って余らせてたのでそれを使う。
内臓の発振器つかって8MHzで動かす。
再生データはPCにあった適当なWAVファイルを変換して使う。
オシロスコープの波形も問題ない。
なのに、おかしな音しかならない。
かと思えば、電源投入直後だけは再生に成功(それでも再生速度がおかしい)するが
リセットや再投入するとまたおかしな音になる。
どうにもこうにも、煮詰まったまま年越し。
いろいろとソースファイルを探して回ったが、どれも処理自体は同じ。
原因が分からない。
どうすっぺえか。
思い余ってグレードを下げてVS1011Eで再度、ユニバーサル基板を組むことに。。。
作ったはいいが、実装する部品が揃っていないので
動作確認できるはずもないのですが。
とりあえず、工作のいらないものだけ先に。
一番左が、秋月で売ってるもの。
真ん中は前回作った基板。台湾製。
右の赤い基板が、今回の新作。
ぱっとみ、基板が赤い以外に・・・・気づく人は気づくと思いますが
ベタとランド間のクリアランスが、広がっています。
というか、前回のは狭すぎると思います(笑
穴の精度も、今回は問題なかったみたいなので
実用に耐えうるものになったと思うのですが。
と、いうことで。
基板が来ました。
本当は、基板が来る前に他のユニバーサル基板の製作をしようと思ってたんだけど
基板が来ると分かったら秋葉原で調達する部品のリスト化やらdigi-keyへの注文やら
いろいろとやっておかなきゃいけない雑多なことに追われて
ついには、blogの投稿も時間切れで後回しに。
まずは、PCBCARTの時短出荷に感謝することにしよう。
手ぇ抜いた基板を出荷してきたらどうしてくれようかとおもったけど
そんなこともなかったみたい。
細かく見ていくと・・・
線に関しては問題ないけど、シルクが・・・
もちろん、ルーペ使わないと分からないレベルだけど
まあ、ちょっと滲んでるかな、ぐらい。
とりあえず、digi-keyの発注してしまわないと・・・
とりあえず、続き。
8日に発送されたら、9~11日は日本のFedExが配送しないじゃん(T_T)
って、気づいてはいたんだけど。
ダメもとで、PCBCARTと交渉中。
「7日に出荷できない?土曜から月曜まで日本人はHolidayなんだよね!FedExも!」
↑ こんな書き方はしないけど(笑)
そしたら
「最善を尽くして、6日か7日に出荷できるようにする」って返事がきた。
「でも、受け取るのは9日になるかもね。土曜に配達するサービスがあるけど、それ付ける?」・・・・って。
う、う~ん。FedExで聞いたら、そのサービスはアメリカと中国だけだってさ(T_T)
「8日中に入関してれば、土曜日に配達してくれるって!だから7日に出荷して!」
そしたら、今日の朝、
「6日の発送は無理っぽいわ。7日にDHLで出すね。DHLの方が速いことが分かったから。」
そうですか。。。DHLの方が速いと。
でも、休み明けだから通関に時間が掛かるかもしれない。。。
「時間が掛からなければ8日、もし入関が遅れたら、12日になるかもね!」
一応、こっちでもDHLに聞いたら、土曜日の午前中は配達するって。
集積所に取りに行くことも可能らしい。
駅からはそんなに離れていないようだ。
「土曜日になったら、DHLに取りに行くよ。だから心配しないで7日に出荷して!」
・・・・・・・・・・って返した10分後。
出荷しましたのメールがorz
なんか、あっけなく出荷されちゃったw
英語なのはやっぱりシンドイけど
とりあえず、言ってみるもんだね。
2層基板のネタが4つほどたまったので、こいつを何とか1面に面付けできないかといろいろ検討して
PCBCARTへ出稿。
OpenOCD用ツールと、MicroSD,FT232RL、あとは・・・ユニバーサル基板の改版。
一応、無理の無い(?)V-CUTとルーターの配置でなんとかうまく行くレイアウトを。
結構無駄が出るけど、それはまあ、目をつぶろう。
最後まで、JETPCBとPCBCARTのどっちに出すかは悩みました。
JETPCBなら何の問題もなくできることはわかってるのですが、
ルーターが2000円、V-CUTが2000円、
税金の立替手数料が数百円、と
実際に自動見積もり外で掛かる金額を踏まえたうえでさらにリピートのことを考えると
多少面倒でもPCBCARTへ出すのがいいという判断だったのですが。。。
案の定、詰まりました(ぐはぁ
V-CUTがどうのこうのと言ってきたので、
V-CUT用にあけた0.5mmじゃ足りないのか?とか、もしかして必要ないのか?とか
やりとりしたら、結局は
「V-CUTの溝幅は実際には0.25mmより大きくなったり小さくなったりするけどいいか?」という確認だったらしい。
・・・・・要するに、精度が出ないけどいいか、ってこと・・・なのかな。
まあ、精度は気にするけど、とりあえずそれでいいよ、でも努力はしてね、って返しておいた。
あと、PCBCARTの面付けの数え方がわからなくて。
この場合、パネライズの金額が取られるのか、それとも1枚として扱ってくれるのか。
今のところ追加請求は来てない。
一応、無事スケジューリングまで済んで、予定では1月8日出荷になってる。
とりあえず、この程度で済んだのは無事だった部類で
今までなんて、よくわからないことで1週間ぐらい潰れてたからね。
まあ、こちらのデータもよくないけど、gmailでやってたら、届いたり届かなかったりしてたみたいで。
今回は、メインのメールアドレスに変えたからかなりスムーズに事は運んだ。
JETPCBが、ぜめて税金立替手数料がなければなぁ。。。
あとは、PCBCARTの精度に期待するして待つしかないかな。
けっこういろんなところで話題になっている、
OpenOCD用JTAGツールを
今更ながら、基板化してみました。
と、いうか。
私がLPC2468の基板を起こした当初、OpenOCDを使ってる日本語のページなんて
ほとんどなかったんですけどね。
某C級出版の雑誌付録にCortexM-3やらLPC2388やらが付いてきてからですかね。
ぼちぼちと情報がそろい始めて、そのツールの回路図なんかも紙面で紹介されたりしてました。
今回参考にしたのは、OpenOCD用ツールでも結構有名どころの出してる資料。
原理的には、XilinxやAlteraと何も変わってないんですけど、その制御がUSBになってるってところが
これからの時代にマッチしてるわけです。
FT2232のJTAGモードとレベルシフトの素子が乗ってるだけの回路なんですけどね。
ピンの接続仕様まで同じになっていれば、OpenOCDからは互換品として扱ってもらえるので
それ以上のアレンジはできないのですが。せいぜいレベル変換の素子をトランジスタでやるとか
74xx125でやるとかぐらい。
ごたぶんにもれず、私もワンゲートロジックを駆使して回路をでっち上げたのですが
使った素子が5Vで動いてると、入力のHレベルがVCCx0.7Vになってしまうことがわかったので
最後の最後に動作電圧を3.3Vに変更しました。
これなら5Vトレラントの入力で取れるので、問題にはならないかと。
とはいえ。
しばらくOpenOCDやARM系に戻るつもりが余りないので。
いろいろ調べると、最近は汎用的なJTAGツールとして、いろんなソフトから使えるようなので
当面はAVRで使えるようにATMEL仕様のコネクタも付けられるようにはしておこう。
そんな感じで。
2層板のタイミング待ちですな。
FTDIのFT232RLを使ってUSB経由でマイコンとシリアル通信をしようとすると
基板に乗せるか、簡単に済ませるなら秋月か何かでモジュールを買ってくるしかないのですが。
変換基板以上の機能なんか載ってないのに、
ソレを使うためにユニバーサル基板が他に必要になるっていうのは
どうにも納得いかない気がしてきた。
なんでTX,RX,GNDが並んでてそこにコネクタ付ければ使えるようなものがないんだろう。
いつもは、ユニバーサル基板にMAX232を乗せてしまうのだが
今回はちょっと場所がないので
なんか他の方法を・・・なんてやってたら。
勢い余って、基板引いちゃいました(てへっ
というか、気の長い話になってしまった(笑
とりあえず、某氏の進言どおり、電源端子追加で4ピン仕様に。
マイコン側の電源レベルが5Vでも使えるように、レベルシフタを入れてある。
USBのGNDがどうにもつながらなくなっちゃったので
脇にあるピンヘッダ用の穴を使ってしまいました(ぐはっ
一応、MicroSD Unitと同じサイズにしてあります。
まあ、どうせ面付けして作ることになるので、同じサイズなら面倒も少なくて済むし。
つーことで、タイミング待ち~なんだけど
既に待ち状態の物件とうまく面付けできればいいな~ぐらいな勢いで。
MicroSDを簡単に使えないのがどうにも我慢ならないので
思い余って変換基板を起こすことにしました。
なるべく小さくて、ユニバーサル基板に載るように2.54ピッチで
必要最低限の機能のもの。
基板サイズは 27mm x 23mm。
3.3V系で使うことを前提として、レベル変換は他でやってもらう。
最低限、カードの検出と電源の切り離しはやりたいので
いつも使ってるTPS2051B辺りを搭載・・・・・したらかなりギチギチに。
本当はバスバッファで切り離したかったんだけど、それは外でやってもらうことにして。
電源のON/OFFだって、やろうと思えばずっとONにだって出来るわけだし。
そんな感じで。
まあ、実績のある回路そのまんまだから
余り心配はしてません。
・・・基板屋次第かな。
先日のPSP液晶用の基板と一緒に、ユニバーサル基板をつくりました。
そんなもん、何すんねんって言われるかもしれませんが。
普通のものと、ちょっと違うのを作ったので。
見ての通り、片面にベタが入っています。当然スルーホールの両面版ですよ。
一番左は、秋月通商で普通に売ってるものです。
真ん中と右側が、今回作ったユニバーサル基板の裏表です。
昔から、こーいう基板はあったのですがあ、まり一般に売れるわけではなく
一部の高周波回路を組むときに使われるだけでした。
なので、値段も高いし扱ってる店も少ない。
その上いまだと、幻に近いってことで、もしかしたら需要があるのかしら、と。
別に、高周波回路のためではなく、単純にラクするために使ったっていいと思いますけどね。
実際、会社ではデジタル回路でも何でもこんなユニバーサル基板使ってますし。
GNDの配線を表のベタで済ませちゃうと、かなりラクですw
売ってるものが普通の半田メッキなのに比べれば
金フラッシュはかなりインパクトあるねー。
まあ、もう一回ぐらい作り直すかもしれないけど・・・
どうも、かなり前から
情報と「絵に描いた餅」なデータシートは存在していたようですが
最近になってやっと日本でもdigi-key経由で買える様になったみたいですね。
で、仕様をみてると、なんか・・・「ちょっとすごいAVR」な訳ですよ。
当然クロックは上がってるんですけど、それ以外には
ペリフェラルがやたらとてんこ盛りだったり
SDRAMのコントローラが載ってたりと、「AVRを進化させても、こうはならんだろう」って感じ。
まあ、勢いで周辺巻き込んで買ってみたんですけどね。
現段階で買えるハイエンド、XMEGA128A1を。
使うにあたり、資料をよーく精査してったんです。
外部メモリを使うためのピンを調べてくと、どうにも割り当てられてる信号が足りてない。
個別の使い方を書いたpdfをみて分かったのは
SDRAMが使える、とはいえ、このCPUでは4bit幅でしか使えない。
え?4bit?
・・・・いまどき、そんな幅のSDRAM,誰が使うんだよ。メーカーだって製造中止方向だろうが。
ついでに、SDRAMを8bitでつなぐにはPort-Lが必要。
現段階で存在する100ピンデバイスには「Port-L」を持ったデバイスが
実は存在していない。
なんじゃそりゃ~~
まさに「絵に描いた餅」状態。
以前、ボスと社長にAVRを紹介したときに、二人の口から同じ言葉が出てきたときの衝撃は
今でも忘れられない。
「アトメル?ああ、あのいい加減な会社ね」