マイコン工作実験日記

Microcontroller を用いての工作、実験記録

解約しました

2012-12-29 11:40:32 | W-SIM
今年も残すところあとわずか。年の終わりを飾るのにふさわしいかどうかビミョーですが、しばらく前にW-SIM解約しました。契約期間の区切りもあったし、年に数回しか無いデモの機会のために契約を維持する気も失せました。メールの送信方法とか、電話帳のアクセス方法とかがわかれば、もう少し遊んでみても良かったのですが。。もっぱら電子工作目的での使用のみであり、日常での使用には供していなかったので、解約することにしました。

久しぶりにWillcom Storeを確認してみると、在庫処分していたセットも掃けてしまったようで、W-SIMは完全に姿を消していますね。来年3月一杯で販売やサービス内容も大きく変わるらしく、本家サイトには案内が出ていました。WVALUE割引もなくなるんですね。

思いかえせば、このBlogを始めたきっかけがW-SIMでした。もう5年になるんですね。ひとつの区切りをつけて、来年は新しいネタを見つけたいものです。

在庫限りとなるのか

2012-02-23 22:25:03 | W-SIM
昨年、アンプのノイズで頓挫してからというものの、W-SIMジャケットの製作は停滞を続けています。アンプはMC34119に変更したところだったのですが、いつの間にか秋月ではMC34119の取り扱いが無くなっています。古いデバイスでしたから、どうやら在庫が掃けたのにともない、取り扱いも無くなってしまったようです。違うものに置き換えを考えた方が良さそうです。

こんな事情もあって、W-SIMジャケットの製作意欲を失っていたのですが、今週はさらに追い討ちをかける情報を耳にしました。W-SIMのコネクタはALPSの製品で、わたしはMouserから購入しています。入手した情報によると、ALPSが製品カタログからW-SIMソケットを削除したとのことでした。確認してみると、同社の製品情報で検索してもたしかにW-SIMソケットを見つけることができません。Mouserを確認してみると、まだ在庫が残ってはいるようですが、ALPSにリンクを張っていたデータシートは、リンク切れになってしまっています。

こういう状況では、Mouserの在庫が無くなれば、個人でW-SIMソケットを入手する手だてが失われることになりそうです。最後のチャンスになるかもしれないので、次の機会に数個買いだめしておこうかと考えています。

大きすぎるハム音

2011-10-31 07:59:31 | W-SIM
きょうは、しばらく間のあいたSAM3ジャケットでの実験。ADCにつなげたシリコンマイクは充分口元に近づければ、外付けアンプ無しでも充分使い物になる音量がとれることがわかりました。半田不良のため動作が不安定だったマイクをつけ直し。そして震えてノイズばかりだったスピーカも交換してみました。

W-SIM無しでの動作試験はADC/DACともにうまくいったので、いよいよW-SIMと連携しての実際の通話でのADC/DAC動作確認をしてみました。こんどは8000Hzのフレーム同期信号(WSIMのPCMSYNC)に同期して、ADC/DACにトリガをかけてやる必要があります。この方法には、いくつかの方式が考えられます。
  1. ADTRG/DATRG信号を使う
    外部トリガ信号であるADTRG/DATRGにPCMSYNCを与えてやる。ハードウェア的にトリガがかかってADC/DACが動いてくれるので、ソフトは楽チン。DMAも使いやすい。ADTRG端子が32Kクリスタルの端子とだぶっているので、RTCクロックとして外部水晶が使えなくなってしまうのが痛い。
  2. PCMCLKをTC0で分周して外部トリガとして用いる
    ADTRG端子を使わずに済む方法として考えたのが、この方法。PCMCLKは384KHzのようなので、これを分周して8000Hzを作り、TIOA0をトグルさせる。TIOA0はADC/DACの外部トリガといて使えるという仕掛け。端子を使わずに済むのでうれしい方法。PCMCLKとPCMSYNCは同期しているものの、PCMSYNCがアクティブとなる位置はその時々によって変化することがこれまでの経験でわかっています。そのため、PCM信号の送受のタイミングとADC/DACの送受のタイミングにはずれが生じることになり、これを吸収するためのバッファが必要となる。
  3. PCMSYNCのタイミングでADC/DACにソフトウェアでトリガをかける
    もっとも単純な方法。PCM信号はPCMSYNCに同期して送受がおこなわれるので、送受信の完了割り込みのハンドラーにおいてADC/DACの動作開始をソフトウェアで指示する方法。8000Hzの周期で割り込み処理が必要となるため、CPUの割り込み負荷が大きくなる。DMAは使わないことになるが、バッファは不要だし遅延も最低限に抑えられる。外部トリガ端子も使用しない。

それぞれ一長一短がありますが、ゆくゆくは待ち受け画面の時刻表示のためにRTCを使いたいので、ADTRGは使いたくありません。まずは単純な方法で動作確認をしておきたいので、3の方法をとることにしました。割り込み負荷は高くなりますが、タイマもバッファも使わないので周辺機能資源の観点からは経済的ですね。ハードウェアの変更も不要なので、ソフトを作って実験。

ところが、W-SIMを動かしてみてビックリ!!

W-SIMが通信状態になり、同期信号が出始めるとものすごいハム音がのってしまいます。まるでブザーが鳴っているかのような大きさのハム音です。マイクからの音声は問題なく相手側に伝わるので、受信側だけの問題のようです。PCM信号とDAC出力の配線が重なっていたので、PCM信号をつなげ直してみても変化無し。悩んだあげくに、もしやと思ってDACからアンプへの配線をはずしてみたら、やっぱりハム音が出ます。アンプ基板あるいはその先の配線がノイズを拾っているようです。まいったなぁ。どうすりゃいいんでしょ?アンプの位置を変えてみたりするしかないのでしょうかねぇ。

マイクをつなげる

2011-09-30 22:59:49 | W-SIM
Willcomが一連の新端末を発表しましたが、やはりもうW-SIM端末は出ないんですかね。自分が構想をもっていたこともありますが、Bluetooth HFPとの両面待ちができる端末は、Willcomが生きる道を感じさせていいんじゃないでしょうか。フリスク端末ほどには小さいものは自作できませんが、少しは小型化できることを目指してSAM3ジャケットの製作も進めていこうと思います。

音声再生の方はなんとかメドがついたので、こんどは音声入力にとりかかることにします。ずいぶんと前から死蔵してあったシリコンマイクをSAM3のADCにつなげたところです。



BlueSAMで使ったシリコンマイクはデジタルマイクでしたが、こちらはアナログ出力のMEMSマイクです。アンプ内蔵ということなので、外付けのプリアンプも無しですませてSAM3Sに直結して具合をみてみるつもりです。アンプ内蔵とはいっても、AVREFが3.3VのADCでひろうには、出力の振幅は小さすぎるだろうと思われます。しかし、SAM3SのADC側にもアンプ機能が用意されており、2倍あるいは4倍のゲインを設定することができます。この機能の助けを借りれば通話に使えるんじゃないかと推測しているので、その確認が今回の目的です。



震えていただけだった

2011-09-16 20:49:55 | W-SIM
なんとも再生音のさえないSAM3Sジャケットでしたが、ようやくと原因がわかりました。

先週末の実験ではDACにアンプを直結していただけだったので、試しにRCフィルタによるLPFをアンプの前段に追加してみました。ところが、まったく何の変化もみられません。単純なRCフィルタなので急峻な周波数特性はないにしても、少しは広域ノイズが低下すると思っていたので、大きく予想がはずれました。再生を繰り返しながらスピーカの向きを変えてみたりしていた際に、スピーカをしっかりと持つと高音ノイズがきれいに消えることに気がつきました。なんのことはない、スピーカ自身が振動してしまってノイズを発生しただけでした。ちゃんと固定しないとノイズがのってしまうようです。




確認のために、スピーカをはずして、オーディオジャックを取り付け。イヤフォンで聞いてみると、高域ノイズはなくきれいに聞こえています。イヤフォンにしたので、アンプのボリュームは最低にしぼってちょうどいい音量となりました。耳元にあてて使うことを考えれば、イヤフォンやヘッドホンを鳴らすことのできる出力があればいいのでしょうから、こんなに大きな出力のアンプは不要ですね。しかし、着信音を鳴らすためには、やはりスピーカからある程度大きな音を出したいところです。通話音と着信音には別々のアンプとスピーカを用意するもんなのかなぁ?

とにかくDACで問題なく音声再生ができることを確認できたので、次はマイクをADCにつなげてみようかと思います。



音声再生できたけど、音悪し

2011-09-11 12:35:07 | W-SIM
SAM3S4BにつなげたW-SIMからの音声再生ができました。ほとんどこれまでのコードをコピペするだけで、新たに書くのはDACの部分だけだったので、ここまでは難しいことは何もありません。今回使用した回路はこんな具合↓(音声関連の信号のみ示しています)。



音声信号は、PCMSYNCに同期してSSCで受信します。受信した音声データはμ-Law圧縮されていますので、これを展開してDACに送るだけです。DACの変換は音声信号のサンプリング周期である8000Hzと同期しておこなう必要がありますので、PCMSYNCを外部トリガとして使用しています。実際の処理としては、次の処理もおこなっています。
  • 40サンプル毎のDMA転送。8000Hzでの受信の度の処理では割り込み負荷が大きくなるので、40サンプル毎にまとめて処理することにしました。5msの遅延が生じることになりますが、この程度は気にならないでしょう。40サンプル分をDMAで転送して、DMA完了を割り込みで検出します。
  • 受信したu-Lawデータを展開してDACに40サンプル毎にDMA転送して再生させています。展開されたリニアPCMデータは符号を含めて14ビットの長さがありますが、DACは12ビットです。そこで12ビットに縮める処理もおこないます

このようにハードもソフトも単純なのですが、実際にやってみると再生音が良くありません。高音部分にノイズがかぶってしまっています。音声で伝達される内容は聞き取れますけど、ノイズが耳障りです。12ビットに縮める処理として最初は14ビットのうちの上位12ビットを切りだしていたので、これを下位12ビットに変更するとともに符号反転が生じないように飽和処理を入れてみましたが、症状は改善されません。何らかの対策を施さないと実用にはならない感じ。DACの出力をアンプに直結しているだけなのがいけないのでしょうか? 試しにLPFを付け加えてみようかな。

単なる音声再生実験を実施するのにいちいち電話をかけていたのでは通話料金がもったいないので、一時的にフラッシュに試験用音声データを焼いて再生試験だけできるようにハード修正を施すことにします。

SAM3ジャケット実験ボード

2011-09-03 21:07:02 | W-SIM
しばらくBluetooth/WCA-009関連ネタばかりだったので、久しぶりにW-SIMネタも並行して進めようかと思います。



SAM3S4Bボードをいつものように秋月A基板に載せて、新たなW-SIM実験ボードを組んでいます。今回の目的は、CODECを使わないW-SIMジャケット製作を目指して、その基礎実験を積むこと。SAM3S4Bには12ビットのADCとDACが備わっているので、これらを生かしてCODECを使わないジャケットを作ってみようと思います。これは、今年の目標のひとつでもあります。もっともスピーカやマイクをつなげるのにアンプが必要となってしまうので、部品の点数や値段的には、それほど優位性はないかもしれません。それでもSAM3Sの持つ機能をできるだけ使ってみる良い経験になるはずです。

まずは第一段階として、W-SIMソケットとスピーカ、アンプを載せてみました。アンプには秋月のアンプ基板を使っています。簡単な構成ですが、これだけで、受信した音声信号の再生はできるハズです。

PCM信号選択

2011-03-28 22:55:16 | W-SIM
ドッチーモ・ジャケットを目指すべく、HFPとW-SIMの選択をおこなうためのセレクタを実験基板に追加しました。いつものように74HC157です。




下図のように74HC157で、W-SIMとWT32のどちらの音声信号をCODEC AIC3253につなぐかを選択してやります。また、W-SIMとWT32には独立したUARTを使って制御するように配線変更。


WT32のPCM設定も変更したので、W-SIMとHFPのどちらを使った場合でも音声信号は8ビットu-LawのPCM信号としてCODECに入ります。そのため、CODEC側は同一の設定で動作可能。音楽再生の時には、WT32からはI2Sフォーマットで、サンプリングも44.1Kになるので設定を変更する必要があります。すなわち、音楽再生時と音声通話時を切り替える際に、動的にCODECで走らせるminiDSPのコードをダウンロードしなおしてやるという処理が必要になります。

きょうのところは、ハードの準備ができたところまで。ソフトの方はチビチビとやっていくことにします。

ドッチーモ・ジャケットを夢想する

2011-03-24 22:42:09 | W-SIM
スペアナ機能までの動作実験ができたので、自分としてはAIC3253でやってみたかった事のほとんどは動作確認がとれたと感じています。これまでの主な動作確認事項を整理すると、次のようになります。
  1. A2DPによる音楽の再生と3D効果(miniDSPを使わない)
  2. HFPによる携帯通話(miniDSPを使わない)
  3. W-SIMとのPCM接続(miniDSPを使用)
  4. A2DPによる再生とスペアナ表示(miniDSPを使用)

1と4はどちらもA2DPでの音楽再生なので、4の方に3D機能を盛り込めれば一石2鳥なので、PurePath Studioで設定してみたところ盛り込めそうです。

2の方はI2SでHFPの音声を流して実験してみましたが、これはWT32の設定を変更することで、PCM信号で流すこともできます。おまけにu-Lawで流すことも可能です。このようにWT32の設定を変更してしまえば、CODEC側から見れば、HFPでの接続とW-SIMとの接続は通話音声に関しては同じように扱えます。

現在の実験ボードではW-SIMとWT32を同一のUARTで制御しているために両者は排他使用としていますが、これをちゃんと分けて、さらにPCM信号についてもセレクタを使って選択するようにすれば、W-SIMによる通話機能とBluetoothのHFPを介しての携帯通話機能の両方をサポートできる「ドッチーモ・ジャケット」が作れそうです。次のW-SIMジャケットではCODEC使わずにマイコンだけで済まそうかと考えていたのですが、このCODEC使ってもおもしろいんじゃないかと思えてきました。

でも自由に発信できるようにするためには、キーパッドが必要になってしまうので、単にヘッドセット側のユニットを作ろうと考えていた当初の構想から大きく方針が変わってしまうことになってしまいます。うーん、どうしようかなぁ。キーパッドやタッチパネルを使えるようにすると、サイズも大きくなってしまいますし。まだ決めかねるので、しばらくは準備のための実験を続けようかと思います。

Program Loader mode

2011-03-02 22:24:14 | W-SIM
A2DPでの再生中にI2Cでの転送がうまくできない問題がいまだに改善できずメゲていたので、気分転換にW-SIM接続で遊んでみるべく、再度WT32の代りにW-SIMをつなげてみたところ、ATコマンドへの応答が返ってきません。なんどかリターンを叩いたら、次のような表示が。。



どういうわけかW-SIMカードがプログラムローダのモードで起動してしまったようです。何度か電源を入れ直してみましたが、ほとんどの場合このモードで起動するようになってしまいました。いったい、どういう条件でこのモードで起動するのかわかりません。違うW-SIMを挿すとちゃんとATコマンドに応答するのですが。。この問題の発生したW-SIMを「携帯できる電話機」のジャケットに挿してみましたが、ちゃんとATコマンドの応答が返ってきています。

HELPの表示にしたがって、CとXコマンドを投入しても、その後何度かリターンを入力すると、再びこのモードに入ってしまうようです。ワーン、元のように普通にATコマンドで使える状態に戻したい~!! どなたか、ご存知の方がいらっしゃいましたら、教えてください!!