ISD4002

aqv on July 11th, 2010

本日は午前中に時間がとれたので、CQマシーンのソフト部分の作業をしました。18F2620からISD4002をコントロールする部分で、音声の録音再生を確認しました。ISD4002のメモリーを4分割し、押しボタンを押すとISD4002にSPIインターフェイスを通して録音を開始します。録音終了のタイミングは、ISD4002のRAC信号をカウントし150に達するか、押しボタンを押されるか、ISD4002から割り込み信号がだされたときにしました。SPIを通してSTOPコマンドを出すと、ISD4002で自動でEOMを付加してくれるようで、再生時はEOMを検出して停止してくれます。 少し気になるのが、再生時のノイズレベルが高い感じがします。録音時に既にノイズが混入しているのかそれともアナログのアンプ系から発生しているのかを次のステップとして調査する予定です。

Continue reading about 18F2620でISD4002をコントロール

aqv on July 3rd, 2010

製作中のCQマシーンのAFアンプ部分を確認するためにコンデンサマイクが必要なので下の写真のヘッドセットを購入しました。 PC用の安価なもので700円くらいで購入できます。 ヘッドセットのマイク部分をCQマシーンのマイク入力にインプット。 オーディオ部分のアンプは低電圧動作可能なNJM2073Dを使っています。3.3Vで動作させると、入力部分には自動的に電源電圧の半分の電圧のオフセットがかかるようになります。3.3V動作と、コンデンサマイクの感度が不明なのでchipcorder ISD4002の入力とコンデンサマイクの間に2073Dを入れてあります。 NJM2073Dの出力側にはVRをいれてあり、アナログレベルを調整できるようにしてあります。 下の写真はDSO Nanoを使ってマイクアンプ部分の信号を確認しているところです。 今回は、コンデンサマイクからの音声に対して飽和しない程度に調整しています。 次のステップとしては、マイク信号をISD4002へ録音することです。 120秒のメモリーを4つのチャンネルにわけて、1チャンネルあたり30秒の割り当てにする予定です。4分割した音声メモリにうまく録音できるか? PIC側のソフトの作業になります。

Continue reading about NJM2073Dのマイクアンプ部分の確認

aqv on June 28th, 2010

PIC18F2620とISD4002をSPI通信部分で接続し、mikroCでソフトウエアの確認をしました。 SPIライブラリの初期化部分は以下のようにすると動作するようになりました。 SPI1_Init_Advanced(_SPI_MASTER_OSC_DIV4, _SPI_DATA_SAMPLE_MIDDLE, _SPI_CLK_IDLE_LOW, _SPI_LOW_2_HIGH); うまく動作しないと、基本部分からチェックしなおしたので初期化部分にたどり着くのに結構時間がかかってしまいました。 ISD4002のデータシート、PIC18F2620のデータシート、mikroCのヘルプを行ったり来たりしながらやっと初期化部分にたどり着きました。 ISD4002側ではSPI通信でLSBから順にデータを受け取る必要があるので、送り側のPICで気をつける必要があります。 SPI1_WriteでPICからISD4002へ1バイトデータを送るとMSBビットから順番に送信されてしまいます。従って、SPI1_Writeに与える引数はあらかじめビット並びを逆にしておく必要があります。

Continue reading about ISD4002をSPIでコントロール(18F2620)

aqv on June 28th, 2010

以下は、SPI通信部分の備忘録です。     18F2620のMSSPモジュール(SPI)を使ってISD4002をコントロールするには、mikroC Pro 3.8のSPI関連のライブラリを使う 。SPIの初期化は、 SPI1_Init_Advanced(_SPI_MASTER_OSC_DIV4, _SPI_DATA_SAMPLE_MIDDLE, _SPI_CLK_IDLE_LOW, _SPI_LOW_2_HIGH);  // セラロック20MHz とする。SPI1_Init();ではうまく動作しない。 ISD4002はSPI受信部分で、1バイトまたは2バイトのデータを受信するが、SPIシリアル通信でLSBが最初に受信されなければならない。 mikroCのSPI1_Write(bytedata)では、bytedataのMSBビットから順に送信してしまうので送信するデータはあらかじめビット並びを逆にしておく必要がある。 PIC18F2620とISD4002のSPI通信部分は3.3Vでプルアップしておく。(プルアップなしでも動作する)

Continue reading about ISD4002 を mikroC Pro 3.8でコントロール

aqv on June 20th, 2010

今週末は、現在進行中のISD4002を使ったボイスメモリーのハードウエア部分を製作しました。 コントローラは28ピンのPIC18F2620の予定です。オーディオ部分のアンプは低電圧動作が可能な2073Dを使用します。 これからソフトコーディングになりますが、心配していることは、 1:基板全体が3.3V動作なので、想定外のトラブルや見落としがないか?(これまで3.3Vの経験がない) 2:アナログとデジタルが混在していることによる不都合が生じないか? AF部分のアンプはほぼアプリケーションノートと同等なので問題ないとおもいますが、無線で使うにはカップリングコンデンサの容量が大きすぎる(過剰スペック)可能性もあります。

Continue reading about ISD4002を使った電子工作

aqv on May 25th, 2010

先週末は、雑用と外出で電子工作の進展はありませんでしたが外出時にISD4002のデータシートを持っていき電車の中で読んでいました。そのときに取ったメモ書きを以下のリンクに備忘録として残しました。 http://aqv.dxvacation.net/?page_id=297 ISD4002は音声の記録と再生をするためのICで外付け部品も少なくてすみます。またコントロールするためのインターフェイスはSPIで、PICから制御しやすくなっています。 最終的にはCQマシーンを製作する予定です。

Continue reading about ISD4002のデータシート

aqv on May 25th, 2010

音声記録、再生用ICであるISD4002のデータシートから使い方を備忘録として記録してあります。間違った解釈も含まれている可能性があるので、元のデータシートを参照することをお勧めします。ISD4002 -120pをPICからコントロールする際の覚書です。データシートから判断したもので、ハードウエアでは未確認のものも含まれています。将来ハードウエアを組んだときにまとめて確認しようと思っています。 PICとISD4002間の通信は、4つの信号によって行われる。(SPIインターフェイス) SS:(PIC->ISD4002):Low active. デバイス選択信号 MOSI(PIC->ISD4002):SPIインターフェイス MISO(ISD4002->PIC):SPIインターフェイス SCLK:(PIC->ISD4002):クロック ISD4002からは、RAC信号が出力sあれる。 内部の音声メモリを600分割し、各分割ごとにRAC端子がON/OFFする。 RAC(Row address clock) オープンドレイン出力 200ms周期でON/OFFする このON/OFFをカウントすれば、どこまで再生、書き込みしているかがわかる Message cueing(読み飛ばし)時は高速でON/OFFする INT端子からは、メッセージ終端信号が出力される。 INT:オープンドレイン出力 オーバーフロー、メッセージ終端でLOになる SPIインターフェイスでのコマンド一覧 16ビットからなるコマンドで、 POWERUP SETPLAY PLAY SETREC REC SETMC MC STOP STOPPWRDN RINT の10種類がある。 指定アドレスから再生する場合の手順は以下の通り 1:POWERUPコマンドの送信 2:25ms待つ 3:SETPLAYコマンド+開始アドレスの送信 4:PLAYコマンドの送信 再生アドレスがEOMに達すると再生が終了し、INT端子がLOになる 確認1 再生中にRAC端子のON/OFFをカウントして特定アドレスでSTOPコマンドを送信したら再生が停止するか? 指定アドレスからメッセージを記録する手順は以下の通り 1:POWERUPコマンドを送信する 2:25ms待つ 3:POWERUPコマンドを送信する 4:50ms待つ 5:SETRECコマンド+アドレスを送信する 6:RECコマンドを送信する ISD4002は指定アドレスから録音を開始する。 メモリー終端に達するとINTがLoになる。 録音開始後、STOPコマンドを送信することによって、コマンド送信後50ms後に録音を終了することができる。 確認1 STOPコマンドで録音終了したときに、EOMが付加されるか?(EOMはISD4002が自動的に付加してくれるのか?) SPIインターフェイスでの回路例 RAC,INTはプルアップする。 MikroC PRO for PIC Ver.3.8のSPI関連ライブラリー 初期化関数 void SPIx_Init();で以下のように初期化される master mode 8 bit data transfer most significant bit sent first serial clock low when idle data sampled on leading edge serial clock = fosc/4 (ISD4002データシートではSPIクロック周波数がでていない) データ送信 void SPIx_Write(unsigned short data_);で8ビットのデータを送信する。 2回つ続けて使うことによって16ビットを送信する。 SS:デバイス選択信号は別途PIC上に1つの出力を割り当てる ChipCorder(ISD)の種類 ChipCorderには調べてみるといろいろな種類があります。インターフェイスがSPIが多いようです。 ISD1100 Series:   ISD1110、ISD1112 ISD1600B Series:   ISD1610B、ISD1612B、ISD1616B、ISD1620B ISD1700 Series:   ISD1730、ISD1740、ISD1750、ISD1760、ISD1790、ISD17120 ISD1800 […]

Continue reading about ISD4002使い方のメモ

ボイスレコーダ用のICを購入しました。ISD4002、ISD5008の2つです。このICを使ってボイスメモリー(CQマシーン)を製作しようとしています。 周辺回路はこれから考える予定です。コンデンサマイクを組み込んでスタンドマイク風にするか?マイクは別接続にするか?構想を検討中です。

Continue reading about 音声メモリISD4002、ISD5008

7 visitors online now
1 guests, 6 bots, 0 members
Max visitors today: 11 at 05:42 am UTC
This month: 20 at 12-08-2017 09:20 pm UTC
This year: 42 at 01-23-2017 11:11 am UTC
All time: 133 at 05-04-2015 11:06 pm UTC