#ポケットミクというかYMW820 (NSX1)のデジタル出力を試みたい
学研「大人の科学」付録の「歌うキーボード・ポケットミク」をイヤフォン出力からPCで録音するとノイズが乗ります(グラウンドループノイズと指摘している方々もいます)。ポケットミクから直接、デジタル録音できるようにしたらノイズは気にしなくてよくなるのではないか?という動機の下、どこからデジタル出力がでているか調べてみた。
##YMW820のマニュアルを探す
以前はYAHAMAのサイトに置かれていたYMW820(LSI) のマニュアル(3MW820A20)には下のような記述があります。このデジタルオーディオ出力2系統の両方またはいずれかが該当するだろう、と想像。
##デジタルオーディオ#2
ポケットミクを調べると、デジタルオーディオ#2の三つの信号(BCLK2, LRCK2, SDO2)が該当し、マイコンに接続されて内部でDA変換してスピーカーを鳴らす、という構成の様。ちなみにこれらの信号は IOVDD2=3.0V (3.3Vではない)で動いているようす。
##信号の引き出し
YMW820は0.5mmピッチのQFPなので、φ0.25mmポリウレタン線で隣とショートしないように注意深く半田付け。熟練の技が必要ですな。(二度とやりたくないレベル)。普通の銅線・撚り線では絶対に無理だ。
写真右にはPCM5102AのDA変換ボード。フォーマットは後述。GNDとVcc(5V)はポケットミクの基板から拝借。5102の基板上のLDOで5V→3.3V変換しているようだ。
##オーディオデータフォーマット
ロジアナでBCLK2, LRCK2, SDO2 (Pin No. 33,34,35)を観察するとこのようになっている。
これを見るにI2Sではなく、次のフォーマットと予想:
Sampling Frequency | 44.1KHz |
Bit clock Frequency | 2.1168MHz (48fs) |
Channel | 2 |
Bit | 16bit (2's complement) |
Format | Left-justified |
他のADコンバータから、相当するタイミングチャートを拝借。ポケットミクは☆が該当しそう。
サンプリング周波数(fs)は 44.1KHz なので、ビットクロックは2chx24bit分だから 2x24 = 48fs。すなわち 2116.8KHzがビットクロックとなる。
Left-justified = 左詰め。MSBが上位ビット、LSBは下位ビットで16bit並んだ後に0が8bit続いている。16+8=24bit。
2's complement=2の補数。正数は 32767~0 (0x7fff~0x0000)、負数は -32768~-1 (0x8000~0xffff)。上のロジアナの画像はちょう正→負に値が変わるところかなと思う。
##ノイズ
上の写真の接続(PCM5102のフォーマットはLJ = left-justifiedにする)で、ちゃんと音が鳴ることも確認。ただし、たまに片チャンネルだけ大きなクリックノイズ(ボツ!という音)が入る。YMW820が3.0V信号に対してPCM5102が3.3V駆動のため、信号を拾うタイミングがずれたか、拾えなかったことがあるのではないかと推測。手持ちの測定器では測れないので原因特定までには至らず。(オシロスコープほしい...)
##まとめ
YMW820のBCLK2, LRCK2, SDO2 (Pin No. 33,34,35)を電圧変換などすればうまく外に取り出せそうということが分かった。
I2Sであれば1チップでUSB-audioとして取り出せるが(cf. CP2104)、残念ながら 16bit, 48fs, left-justifiedなので、今後は何か変換するマイコンを組み込むことで実現できないか検討してみる。
USB-audio で吸い上げるにしても、USBで48MHz使用、デジタルオーディオデータで 44.1KHz使用とちょっと複雑な構成になりそうな予感...。