lynxeyedの電音鍵盤

MBDとFPGAと車載で使うデバイスの備忘録

PSoC

IMAGECRAFTで再スタート

リリースされて即DLしたもののコンパイルは週末に。 感想としては…無料版でここまでやったのはえらい(RAM配置がうまい) ただHi-TECHのフリー版より圧縮率はやはり悪い 今までのIMAGECRAFTとあまり変わらずといってところでしょうか。 有料版が気になりますが…

くだらないボヤキ

最近PSoCで気づいたことがあります。 自分の手元にあるコンパイラは次の2つです IMAGECRAFT C(PSoCトレーニングキット同梱のもの) Hi-TECH C lite(PD5.0 SP3aまで同梱されていたフリーコンパイラ) ご存知の通り、Hi-TECH C Liteの方がコードの圧縮は優秀です…

ADPCMデコーダ

解析ソフトとオシロスコープを使ってパラメータを調整してみました。 結構難しいですね…。 割り込みを使用すると再生スピードが追いつかないので使用していませんが、これは音程がぶれる大きな原因のようです。 デコードの過程で音声データ次第ではタイミン…

ADPCMエンコーダ、デコーダバグ修正

【PSoC側の修正】 ステレオ用のPSoC ADPCMデコーダ向けに書き直しました。アナロググラウンドを廃止し、全てグラウンドはVss共通になっております。 なお、ソースはIMAGECRAFTコンパイラ用です。Hi-Tech C Liteでもコンパイル可能ですが、再生速度が遅くなり…

PICの陰謀

CyFiセミナーでアナウンスされたニュース: Hi-TECH Cをすでに購入している企業や機関には暗いニュース Hi-TECHはマイクロチップ社の傘下に入ったため、他社の全てのコンパイラの開発を終了しました。 例外なくPSoC1(M8C)向けコンパイラのサポートも2010年を…

CyFiセミナー

結局悩んだ翌日にはATMにお金を振り込んでいました。笑 久しぶりだな品川。 高校のときはいつも通ってたのに。

ブレッドボートから早く卒業したいんですけど

ADPCMの再生時に音が歪むのはPSoCの駆動電流制限を超えていたためという事が判明していたのですが、ようやくこの解決に乗り出しました。出力にバッファを取り付ける あたりまえのことですけれども。秋月でBURR-BROWN OPA2353オーディオ用単電源2回路入りアン…

PSoC Open Seminar Advanced

今回はお土産は無し。 取り敢えず ICE cubeの使い方 デバッガの使い方 割り込みの記述方法(HI-TECH方式) GPIOの割り込み ダイナミックリコンフィギュレーションの使い方 説明してくれたのは自分とあまり変わらない年齢の方々でした。 結構一生懸命説明してい…

PSoC Designer Advance in Tokyo 3/13

サイプレスオープンワークショップへ行ってまいります。 ただ、PSoC Designer Basicも出たことないのに平気なのか…笑ボロクソになって帰ってきてもウハウハ帰ってきても一応報告はこのブログ上でさせて頂こうと思います。

使ってみた

いつもLiteバージョンでコンパイルしてると、英語で 「PRO版だと今のサイズの45%まで縮小できるよ」 的なむかつく自慢メッセージが出てくるので、実際に試してみました。 結果、今までと容量は半分のサイズになり、速さは2倍の速度になりました。ただ$1500.…

ADPCMステレオ化

いらねーって思われる方も多いかとw でもここまで作っちゃうとやってみたいと思うのが人情ですよ(ぇ?で、エンコーダはadpcm8s.exeとなります。 【使い方】 ステレオADPCMデータへのエンコード コマンドプロンプトにて adpcm8s.exe [入力ファイル名] [出力…

電流争奪戦

PSoCから音声を出力させ、LPFを介してイヤホンに繋げると…余裕で150mAを超えていました。音量が高くなると音声がいきなり歪んだり、CPUの動作が不安定になるのはこのあたりが原因かも。(∩へ`)やっぱFET使うか。 うーん。 パーツケースにトランジスタのスト…

PSoCのADPCMデコード高速化

32kHz,mono,ADPCMに対応しました。 ADPCMエンコードは同梱のエンコーダにてお願いいたします。32kHzに対応してももともとが8bitなので微妙な音質ですけどねorz 音質はAMラジオほどでしょうか? でもアンプしだいで改善可能とは思いますけど。http://firestor…

ADPCM Encoder for 8bitPCM

もうこのネタ何回目なんでしょうか? 自分でも覚えていません。PSoCはすぐに使わなくなると思っていたんですが。 なぜか今はバイト先の設計でも使うという顚末。 もう、2009年ですねw そろそろ巷で噂されている、ARMコアが入ってるPSoC3、出るのでしょうか…

エンコーダソフトができた

ヘッダを読み飛ばしたり、16bitデータに展開する所を無理やり8bit展開するために魑魅魍魎パラメータを作ってみたりしましたが、やっぱり、最初から8bitPCMを圧縮(エンコード)して、8bitPCMに戻して(デコード)やればいいんだなと…思いました。 ではREADME的な…

地雷のオリジナルADPCM

バイト先でプログラムを入力しているときに、迷走スイッチが入ってしまいました。(爆オレ1「やっぱ"独自規格(企画w)ADPCM”っていいんじゃね?」 オレ2『うんうん。PSoCに負荷がかかりにくいようにヘッダなしで作れるしね』オレ1「だよな。わざわざMicro$…

更新

各ADPCMファイルのEOFに対応しました。 EOF到達で自動的に次のファイルへスキップするようになりました。こちらからダウンロード http://firestorage.jp/download/36b168dac4bdcd4231dc05aa70425cfc1eca5ea3今後の目標として、 SDカード内にリニアPCMとADPCM…

応用編へ

PSoCの動作速度が体感的にわかってきました。 やはりPIC16Fシリーズと同じかそれより低い感は否めませんが、 ハードウェア乗算器やMACなどでカバーできますし、 なによりあのアナログ混載でペリフェラルがフレキシブルなデバイスは他に例を見ません。 ぷっ。…

サンプリング周波数によってブロック長は違う

友人からブロック長が違うという指摘をもらいました。 (ADPCMの1ブロック)=(チャネル数)*(サンプリング周波数)/11k*256 つまり、IMA ADPCM,22.05kHz,monoの1ブロックはこの計算式から512byteバイナリエディタでみてみると… ほんとだぁ(・∀・)笑 というわけで…

Now UPDATE

">いつもの場所にUPDATEしました。 DOWNLOAD ->[pcm_psoc.zip]Microsoft IMA ADPCMはヘッダがfactチャンクを含め全部で60バイトなので, ブロックのはじめの60バイトをSEEKしてリード*1しています あと、PWMから先のLPFはまだ完成していません。(パラメータ入…

ADPCMブロック

Microsoft IMA ADPCMでは1ブロックが モノラル 256byte ステレオ 512byte で、定義されているようです。 つまり、1ブロックごとに (16bit PCM) + (4bit ADPCM) + (4bit ADPCM) + ..... と続いているわけで、これを何も考えずにrawなADPCMデータとして変換し…

16bit分計算させるだけ時間の無駄なんじゃないかな

ADPCMのデコードが余りにも音割れするのと、計算量の多さでPSoCにかなり負担が掛かっているようなので、デコード処理を独自に作り直してみました。まあまあの音質でしょう。なお、音声の出力は8bit-PWMで行うので、8bit分の計算ですむように工夫しました。 …

微妙なFATライブラリと戯れ

のんびりPSoCを弄ってます。 コンテストは出せませんでした。笑 出す積もりすらあったのでしょうかね。ADPCMの件ですが、立ち消えになります。 理由は、どんなに頑張っても11kHz、monoral以上の音質の音源が再生出来ないから。dsPICに期待します。(ぇMP3デコ…

内部クロックの誤差?

音声をPWMで出力させてやると100Hz程は平気でずれます。 しかも変動が一定でないので対策しようがありません…。やはりオシレータ付けるべきか…

IMA ADPCMデコード

ここのサイト(恐らくIMA ADPCMライセンサー本家)http://homepages.cwi.nl/~jack/にあるコードをそっくり使ってADPCMデコードが可能です。 ちなみにIMA ADPCMだとアキュムレータも乗算器もいりません。 ちょっとした8bitマイコンでも6MIPS位あれば十分デコー…

とりあえず動くみたい

dsPICと比べてFATが仲介していることもあり、SDCardモジュールの転送速度はかなり遅いです。 音声が全く再生できないくらい。…でもない。工夫次第では。 たとえば音声再生時にFATが必要なのは 1.ファイル名からポインタ取得 2.ファイル開始アドレス取得 3.EO…

ADPCM

IMA ADPCMの情報があり得ないくらい少ない。 PSoCで作るプレーヤーはメディアプレーヤでも再生できるコーデックが使いたいです。あと積和演算はdsPICのほうが優秀*1です。あたりまえか。笑 *1:速度と演算ビット長とビット丸め込みにおいて

あっけなく

このキット、11.5k支払う価値は十分にあります。 PSoCはPALに近くGUIベースで配線、設定するので大変楽だと思います*1付録サンプルコードにある、SDカードに"Hello World"と書き込むプログラムを動かしてみました。 microSDを使う前提なのでライトプロテクト…