Lynx-EyEDの電音鍵盤 新館

制御とか数学とか駄文とか

PIC

Avalon-MM Master Bridgeを探す

USB付きで簡単に使えるBridge Qsysを使ってAvalonバスにモジュールをぶら下げて使えるシステムを開発中です。 Alteraのデバイスの以下のシリーズで検討しています。 Cyclone IV E / GX Cyclone V E MAX V CPLD Nios IIは規模が500LE未満と軽量なソフトマクロ…

PIC32MXでLチカ

この間のエントリの続きです。Mac OS Xでも書き込みできる事は確認できたので、LED点滅でもして動作確認しようと思います。 MPLAB X IDEを立ち上げ、メニューの File -> New Project...を選択すると、 新規プロジェクトのウィザードが出現するので、ウィンド…

秋月200円MIPSの試食

PICネタは4年ぶりでしょうか。 MIPS32 M4Kコアが載ってるPIC32MXシリーズですが、 これの300mil DIPが秋月で200円前後で扱われ始めました。 I2SやUSBデバイスも搭載しているので興味津々です。 http://akizukidenshi.com/catalog/g/gI-05852/自分も流行に乗…

また散財

PIC

買ってしまいました。 dsPIC基板で始めるディジタル信号処理dsPIC基板で始めるディジタル信号処理―パソコンとこの1冊で実体験! (ディジタル信号処理シリーズ)作者: 岩田利王出版社/メーカー: CQ出版発売日: 2009/07メディア: 単行本 クリック: 5回この商品を…

あ。思い出した。

22kHzステレオのADPCMのヘッダは…1024バイトごとだな。 512バイト毎にヘッダの読み飛ばしやってた。 それだと、 2回に1回はヘッダじゃなくてデータだからねorz 相変わらずボケが多いな。

何か根本的に間違ってる

PSoCでやってるADPCMデコーダですが、dsPICに移植してみたところ、音量がグヮングヮンorz なんじゃこりゃー

dsPICのC言語を使った掛け算と割り算

PIC

掛け算 long __builtin_mulss(const int p0, const int p1); long __builtin_mulsu(const int p0, const unsigned p1); long __builtin_mulus(const unsigned p0, const int p1); unsigned long __builtin_muluu(const unsigned p0, const unsigned p1); 割…

IMDCT

PIC

http://www.ee.cooper.edu/sprocom/files/ICEEE_07.pdf ↑この記事に触発され、データシートとにらめっこしながらMP3のデコーダを積めないかと模索してました。今のところ、ハフマン符号のテーブルと逆離散コサイン変換テーブルを作ったところで、メモリオー…

ソースコード更新

PIC

「トラック送り」と「トラック戻し」に対応 いままではSW1(PORTD,9)をhighにするとトラック送りでした。 「トラック戻し」はSW2(PORTD,8)をLD側(Low)にしながらSW1(PORTD,9)をhighにすると「トラック戻し」ができます。 なお、このブログをお読みの方はお気…

そして

PIC

SDに15kHz,正弦波のwaveデータを記録し再生させたのですがめちゃくちゃな波形を出力してきました*1コードとアナログLPFの両方からカットアンドトライで原因を追求してみます。 *1:SoftOscillo2による測定,耳でも変な音に聞こえる

リニアPCMの規格

PIC

waveファイルの規格で 8bit→符号無し(無音時状態は128) 16bit→符号付き、リトルエンディアン(無音時状態は0) でした

DSPならば

PIC

ここまで製作してきて、知り合いから言われたこと「で、なんでDSP使う必要があるの?」 「ぶっちゃけH8でもいいよね」 「ころころとCPU替えやがって」 「てかお前のソース、キタナイ」 …あうううorz 仰る通りです。ごめんなさい。 だってトラ技のおまけだよ…

というわけで

PIC

無事あっさり解決したので(本当か?笑)ソースを公開いたします。 MPLABのプロジェクトごとUPします。なので(プロジェクトが 自身の構成するファイルを見失う可能性があるため)フォルダの名前変更などはしないほうがいいかもしれません。なおトラックスキップ…

512バイトの壁=クラスタ

先日、 waveファイルのヘッダにある 'data(固定文字列)'+DataSize(4バイト)+waveデータ…… からデータサイズを取得し、 次のデータのおおよその位置を特定しようとしましたが、 読み込みを失敗することが多々ありました。 と書いたのですが、原因が特定できま…

FAT

しばらくトラックスキップの機能を搭載するためFATの規格書を読んでいましたが、 無理…。 はじめ、waveファイルのヘッダにある 'data(固定文字列)'+DataSize(4バイト)+waveデータ…… からデータサイズを取得し、次のデータのおおよその位置を特定しようとしま…

WAVEファイルのヘッダ

PIC

せっかくここまでできているので(SDの8bitのRIFF WAVEファイル再生) CDプレーヤのトラック変更(?)的な機能をつけようと、調査をした結果、 waveファイル(*.wav)は 'RIFF'+(ファイルサイズ)+'WAVE'+'fmt '(←スペース含む4文字)+(チャンクサイズ)…… というデ…

トラ技の付録はよくできてる

pic

MSP430F2013のPWMが今までのプロセッサに比べてムズカシすぎて使えていません。というわけで久しぶりにPICを買ってみたのでした。(いや、トラ技に付いていた)うーん。高校時代PICの8bitでマイコンなるものを学習したわけですが、正直好きじゃありませんでし…

R8Cでやりたいこと

でーん。ブレッドボードで失礼いたします。と、こんな、SD用音声レコーダをPIC16F877で作っていました。(中央にある緑色のボード。秋月のスタンプIC)左側のぐちゃぐちゃしたのがLPF、右側のカードがSDメモリーです。 構造の概略は 録音:音声→AD変換→SDへ8…