domae
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
[[作業日誌]]
&size(20){マイコン初心者によるマイコン挑戦記};
目次
#contents
#ref(mic004.png,,100%)
//*domae [#te6acb16]
//個人ページの下にページを作ることもできます。
//-[[./てすとぺーじ]]
*domaeへのコメント [#v7c73926]
- domaeがすごいものを作りそうな予感☆ -- [[kondo]] &new{20...
- ↑プレッシャー? -- [[akita]] &new{2008-07-01 (火) 09:10...
- ↑↑頑張ります(汗) -- [[domae]] &new{2008-07-01 (火) 18:0...
- SDのinitは、かなり時間がかかりますね。仕様ということで...
- NZeCyl http://www.vX0UUwfbV0BvG3upQKBWlc97t5wQCiD84Bdaq...
- smicx' -- [[smicx']] &new{2021-12-28 (火) 09:34:19};
#comment
記事についてのコメントは記事ごとに置いてあるコメント欄を...
//*過去の日記 [#kd76d139]
//-[[./2008年5月]]
*09/07/05(日) [#gd9cf781]
**microSDでHello World [#tf60ee81]
久々の更新です。えへ。~
***PSoCでmicroSDに何か書き込んでみるテスト [#s8e57854]
PSoC29466の中にあるSDCardモジュールを使ってmicroSDに「Hel...
(参考にさせていただいたページ)
-[[Bird-Soft Weblog(PSoCでSDカードを読み書きする):http://...
-[[dinop.com(PSoCでSDカードに書き込む):http://www.dinop.c...
最初はmicroSDのソケットを使っていたのですが、うまくmicroS...
後者の方のようにmicroSDカード→SDカードの変換アダプタを使...
あと、PSoCに与える電圧を3.3Vにしたので抵抗も少なくて済み...
#ref(microsd_001.PNG,,60%)
ちなみにmicroSDとPSoCの接続方法やPSoCのピンの設定方法はSD...
プログラムもほとんどデータシートのサンプルプログラムの丸...
(今回の場合、SD_CDを使わないのでSDCard_Present()を使う部...
↓結果はこちら~
#ref(microsd_002.PNG,,100%)
#ref(microsd_003.PNG,,100%)
これだけ書き込むのに約3秒かかりました。~
LED光らせて動作確認してみたところ、サンプルプログラムの
cardInfo = SDCard_InitCard();
のところで時間がかかるみたいです。
(これって毎回必要なのかな?→明日試してみる)
*08/10/27(月) [#gd9cf781]
**YMZ294への挑戦 03 [#tf60ee81]
中途半端なところで止まってたので今更だけど更新(汗)
***PSoC CY8C29466との出会い [#af77c452]
PSoCの29466を使ってYMZ294さんを操ってみる。
29466とYZM294を↓のようにつなぐ。
|29466|YMZ294|備考|
|P0[0]|4/6|PWM8で4MHzのクロック生成|
|P1[0]|/WR||
|P1[1]|/CS||
|P1[2]|A0||
|P1[3]|/IC||
|P2[0]|D0||
|P2[1]|D1||
|:|:||
|P2[7]|D7||
P1[0]〜P1[3]のそれぞれについて'0'か'1'を出力する関数を先...
※データシートによると/WRと/CSは同時に設定してもいいような...
void wr_low()
{
PRT1DR &= ~0x03;
}
void wr_high()
{
PRT1DR |= 0x03;
}
void a0_adr()
{
PRT1DR &= ~0x04;
}
void a0_dat()
{
PRT1DR |= 0x04;
}
void ic_rst()
{
PRT1DR &= ~0x08;
}
void ic_set()
{
PRT1DR |= 0x08;
}
(参考にしたサイト)
[[PSoC/汎用ポートを使用しよう:http://1c3.world.coocan.jp/...
次にアドレスとデータを指定してデータを送る関数を作る。
void ad_set(BYTE adr, BYTE dat)
{
// [1]address input
PRT2DR = adr;
// [2]address write enabled(/WR=0, /CS=0, A0=0)
a0_adr();
wr_low();
// [3]address write disabled(/WR=1, /CS=1, A0=0)
wr_high();
// [4]data input
PRT2DR = dat;
// [5]data write enabled(/WR=0, /CS=0, A0=1)
a0_dat();
wr_low();
// [6]data write disabled(/WR=1, /CS=1, A0=1)
wr_high();
}
あとはこの関数を使ってレジスタのアドレスを指定してデータ...
例)
ad_set(0x07, 0x38)→楽音の#A〜#Cを出力。
ad_set(0x08, 0x0F)→#Aの音量を設定。
***ノートオン/ノートオフ [#wbf92ece]
楽音の周波数を設定して出力する関数
void tone(BYTE ch, BYTE pit, BYTE oct, BYTE vel)
を作る。
chで楽音のチャンネルを、
pitとoctで音程を(例えばC4とかD#5とか)、
velでベロシティをそれぞれ設定できる。
例)
tone(1,tnC,4,0x0F)→#AでC4を音量最大で出力。
※pitは#defineでそれぞれ数値に割り当ててある。
(音程の設定で参考にしたサイト)
[[PSGへの道:http://homepage2.nifty.com/sampodo/craft/psg....
ついでにノートオフ(鳴ってた音を止める)の関数
void noff(BYTE ch)
も作る。中身はそのチャンネルの音量を0にしているだけ。
**タイマを使って演奏する [#iad04a6e]
Tick(分解能)を48に設定して、タイマ割り込みで変数ticの値を...
BPMはタイマ割り込みの周期Periodの値を変えることで設定でき...
あとはticごとに↑で作ったtoneとnoffを置いていけばMMLのよう...
**ピコピコ音楽 [#k2480f08]
早速某ヒゲの人の音楽を打ち込んで演奏してみました♪
おおお!これだ!これが聞きたかったんだ!!(T▽T)
演奏の仕方など人それぞれのやり方があるみたいですが、
僕はこんな感じで自分の聞きたかった音楽を自分で作って聞く...
PSoC君ともだいぶ仲良くなれた、と思います(^^;
興味のある方は是非挑戦してみては?
*08/07/23(水) [#veedb1e0]
**PSoC First Touch 03 [#c483918e]
***タイマ割り込み [#e32dbcd8]
タイマーを使うときの流れ
��Timerを設置
��Clockの設定(使いやすい周波数にしておく)
��Periodの設定(割り込みが発生する間隔を決める)
�ぅ廛蹈哀薀爐鮟颪�(Timerの割り込み許可とスタート、割り込み...
定期的にLEDの明るさを変えることに成功。
またTimer_PeriodWrite()を用いれば途中で割り込みの間隔を変...
**YMZ294への挑戦 02 [#t400d1ff]
***レジスタ機能 [#g648250d]
全機能は内臓されるレジスタによって制御されます。
よって各々のレジスタの値を変えることによって音を発生させ...
データシートがボロボロになってきたので、、、以下、自分用...
1. 楽音周波数の設定($00〜$05)
#ref(ymz004.jpg,,100%)
3チャンネル(#A、#B、#C)の楽音発生器で作られる矩形波の...
ft=fst÷16TP (fst=2MHz)
TP=TP11×2^12+TP10×2^11+TP9×2^10+…+TP2×2^2+TP1×2^1...
2. ノイズ音周波数の設定($06)
#ref(ymz005.jpg,,100%)
ノイズ発生器で作られるノイズ音の周波数fnを決める。
fn=fst÷16NP
NP=NP4×2^4+NP3×2^3+NP2×2^2+NP1×2^1+NP0
3. ミキサーの設定($07)
#ref(ymz006.jpg,,100%)
各チャンネル(#A、#B、#C)毎に楽音およびノイズ音を出力す...
レジスタに0を書き込むと音を出力する。
楽音とノイズ音がともに0の時はミキシングされて出力する。
4. 音量コントロールとDAC($08〜$0A)
#ref(ymz007.jpg,,100%)
各チャンネル(#A、#B、#C)の音量を設定する。
M=0の時:L3〜L0によって16通りのレベルから音量を設定。
M=1の時:エンベロープ発生器で作られるデータ(5bit)に...
(まだエンベロープを使用したことがないのでとりあえずここ...
**08/07/23(水)の記事へのコメント [#j2ca1077]
- この表はなにで描いているんでしょう?まさかペイント? --...
- エクセルで書いた表があったのでそれをキャプチャして使い...
- smicx' -- [[smicx']] &new{2021-12-28 (火) 09:34:41};
#comment
*08/06/27(金) [#t1238e24]
**PSoC First Touch 02 [#t400d1ff]
前回からかなりたってしまったけどいつも心はPSoC君とともに。
***CapSenseで遊ぶ [#eea4f5a3]
チュートリアル通りやってみたところ問題なくできました。
今後スライダは入力の1つとして使えそうですね。面白いです。
とりあえず応用編としてスライダの左側(CSB7)にいくほど青、...
しかし、スライダから指を離すと青色に戻ってしまったので次...
#ref(psoc003.png,,100%)
するとこの通り指を離しても好きな色で光らせることができま...
#ref(psoc004.jpg,,50%)
MEMO:
今回使用したCSDの関数たち
-CSD_Start()
-CSD_InitializeBaselines()
-CSD_SetDefaultFingerThresholds()
初めに呼び出しておく。やってることはこれから使う値の初期...
-CSD_ScanAllSensors()
-CSD_UpdateAllBaselines()
while()文中の初めに呼び出すことで、毎回センサをスキャンし...
-CSD_bIsSensorActive(BYTE bSensor)
-CSD_bIsAnySensorActive()
タッチセンサがアクティブ(触ってる)かを調べる。
上のは何番目のセンサがアクティブかどうかを調べる。
下のはいくつかあるセンサの中でどれか1つのセンサがアクテ...
-CSD_wGetCentroidPos(BYTE bSnsGroup)
触ってる位置(重心)を調べる。スライダのときのみ使用可。
**YMZ294への挑戦 01 [#t400d1ff]
***マイYMZ294とご対面 [#j62f99d5]
#ref(ymz001.jpg,,50%)
(上からオシレータ(4MHz)、YMZ294、ソケット)
秋月にてYMZ294を購入してみました。
やはりマイYMZ294が手元にあると俄然やる気が出ます!!
***YMZ294について [#n21d7844]
-YAMAHAのPSG(Programmable Sound Generator)音源。
-YM2149相当の音源LSI。
-3系列の矩形波発生器と1系列のノイズ発生器、エンベロープ...
-CS、WR制御信号と8bitデータバスによる汎用CPUインターフェ...
-8オクターブの発音域。
-マスタークロックは4MHzまたは6MHzから選択できる。
-5V単一電源。
***端子配置と端子機能 [#n65a7137]
↓外見(18pin) 太く描きすぎました(^^;
#ref(ymz002.jpg,,100%)
↓各ピンの説明
#ref(ymz003.jpg,,100%)
+φM
マスタークロック入力。入力周波数は4Mhzか6Mhzのどちらかを...
今はとりあえず4MHzとします(一緒についてきたオシレータも4M...
+4/6
マスタークロックの周波数を選択します。
4MHzとするため"H"にします。
+D0〜D7
8bitのデータバス。
+/CS、/WR、A0
8bitのデータバスからのアドレスとデータの書き込みをコント...
(/CS、/WR、A0)
(0,0,0)→SSGLPにアドレスを書き込む。
(0,0,1)→SSGLPにデータを書き込む。
+/IC
"L"の時システムリセットになり、レジスタアレーの内容が全て...
+SO
音声信号のアナログ出力。
+/TEST
テスト用端子。無接続でOK。
+VDD、GND
VDDは+5Vの電源端子、GNDは接地端子。
さて、困ったことにデータバスや制御信号用のために最低12本...
PSoC First Touchでは…。ちょっと厳しそうです。。。
そこでこのYMZ294さんのパートナーを探してます。
今のところ目をつけているのはこのCY8C29466です。
[[CY8C29466(Products - Cypress Semiconductor):http://ww...
28PinでディジタルI/Oとして使用できるピンが8bit×3グループ...
1グループ分を8bitのデータバス用として、他のピンを制御信...
また、PSoCのモジュールも有効利用できないか検討中。
-PWMを使って4MHz出せんじゃね?オシレータ必要ないんじゃね?
→マスタークロックは楽音やノイズの音程を決めるのに使われる...
聞くところによるとPWMから出せる周波数には多少誤差があると...
ちなみにおまけとして付いてきたオシレータには4.0000MHz(テ...
-AMP使えるんじゃね?
→調査中…。
とりあえずここまで。レジスタ機能の説明については次回に。
**08/06/27(金)の記事へのコメント [#sd1add91]
- 29466は、去年の自主課題でも使っていましたし、機能ブロッ...
- PSoCの内蔵発振回路は、なかなか精度がよいので、基準クロ...
- ではPWMのクロックを使ってみることにします。 -- [[domae]...
- smicx' -- [[smicx']] &new{2021-12-28 (火) 09:35:04};
#comment
*08/05/29(木) [#t1238e24]
**PSoC First Touch 01 [#t400d1ff]
[[PSoC入門:PSoC First Touch編]] をやりつつ、PSoC君との距...
***LEDと光センサ [#n4b9691b]
今のところ例題1まで。ここまで特に問題なし。
1つのPWM8で赤と青のLEDを点灯してみました。
#ref(psoc002.jpg,,50%)
明→赤、暗→青。部屋の中では赤:青=3:7くらいでしょうか。...
次はCapSenseで遊ぶつもり。→のちのち使えそうなのでしっかり...
***書き込み器からの独立 [#gb2e7a9b]
今流行っている(?)PSoC君の書き込み器からの独立を試みる。
#ref(psoc001.jpg,,50%)
-片面ユニバーサル基板(×基盤)←訂正
-2.1mm標準DCジャック
-ピンソケット(メス)20P(2×10)L字タイプ←akita先...
-パスコン(0.1uF)
写真の通りうまく独立できました。
欲をいうならsenda君みたいに電源のスイッチつければよかった...
MEMO:
[[パスコンって何?(電子のおたすけMEMO):http://www.geo...
**今後のこと(チャレンジしたいこと) [#y1ab0cee]
&size(24){僕はゲームミュージックが大好きだ!};
とはいうものの、
ゲームミュージックの基礎の基礎といえるファミコン音源につ...
(ガキの頃はほとんどスーファミかプレステでした)
そこで、実際にその"音"を聞いてみたい!(特にノイズ音)
さらには実際に演奏してみたい!!
というのがささやかな願いだったりします。(100%趣味ですが)
とりあえず今はマイコンのお勉強と以前akita先生に教えてもら...
MEMO:
実際に遊んでいる方もいるみたいで・・・
-[[YMZ294で楽しむPSG音源(それはそれ、これはこれで・・・。):h...
-[[YMZ294 - SSG音源ボード(mattic):http://www.mbin.jp/~mas...
-[[音源IC YMZ294 � 屮謄好函�(You Tube):http://jp.youtube....
**08/05/29(木)の記事へのコメント [#s2553b61]
- 「基盤」ではなく「基板」ですね。よくある誤字ですので気...
- 気をつけます(汗) -- [[domae]] &new{2008-07-23 (水) 12:4...
- smicx' -- [[smicx']] &new{2021-12-28 (火) 09:35:25};
#comment
終了行:
[[作業日誌]]
&size(20){マイコン初心者によるマイコン挑戦記};
目次
#contents
#ref(mic004.png,,100%)
//*domae [#te6acb16]
//個人ページの下にページを作ることもできます。
//-[[./てすとぺーじ]]
*domaeへのコメント [#v7c73926]
- domaeがすごいものを作りそうな予感☆ -- [[kondo]] &new{20...
- ↑プレッシャー? -- [[akita]] &new{2008-07-01 (火) 09:10...
- ↑↑頑張ります(汗) -- [[domae]] &new{2008-07-01 (火) 18:0...
- SDのinitは、かなり時間がかかりますね。仕様ということで...
- NZeCyl http://www.vX0UUwfbV0BvG3upQKBWlc97t5wQCiD84Bdaq...
- smicx' -- [[smicx']] &new{2021-12-28 (火) 09:34:19};
#comment
記事についてのコメントは記事ごとに置いてあるコメント欄を...
//*過去の日記 [#kd76d139]
//-[[./2008年5月]]
*09/07/05(日) [#gd9cf781]
**microSDでHello World [#tf60ee81]
久々の更新です。えへ。~
***PSoCでmicroSDに何か書き込んでみるテスト [#s8e57854]
PSoC29466の中にあるSDCardモジュールを使ってmicroSDに「Hel...
(参考にさせていただいたページ)
-[[Bird-Soft Weblog(PSoCでSDカードを読み書きする):http://...
-[[dinop.com(PSoCでSDカードに書き込む):http://www.dinop.c...
最初はmicroSDのソケットを使っていたのですが、うまくmicroS...
後者の方のようにmicroSDカード→SDカードの変換アダプタを使...
あと、PSoCに与える電圧を3.3Vにしたので抵抗も少なくて済み...
#ref(microsd_001.PNG,,60%)
ちなみにmicroSDとPSoCの接続方法やPSoCのピンの設定方法はSD...
プログラムもほとんどデータシートのサンプルプログラムの丸...
(今回の場合、SD_CDを使わないのでSDCard_Present()を使う部...
↓結果はこちら~
#ref(microsd_002.PNG,,100%)
#ref(microsd_003.PNG,,100%)
これだけ書き込むのに約3秒かかりました。~
LED光らせて動作確認してみたところ、サンプルプログラムの
cardInfo = SDCard_InitCard();
のところで時間がかかるみたいです。
(これって毎回必要なのかな?→明日試してみる)
*08/10/27(月) [#gd9cf781]
**YMZ294への挑戦 03 [#tf60ee81]
中途半端なところで止まってたので今更だけど更新(汗)
***PSoC CY8C29466との出会い [#af77c452]
PSoCの29466を使ってYMZ294さんを操ってみる。
29466とYZM294を↓のようにつなぐ。
|29466|YMZ294|備考|
|P0[0]|4/6|PWM8で4MHzのクロック生成|
|P1[0]|/WR||
|P1[1]|/CS||
|P1[2]|A0||
|P1[3]|/IC||
|P2[0]|D0||
|P2[1]|D1||
|:|:||
|P2[7]|D7||
P1[0]〜P1[3]のそれぞれについて'0'か'1'を出力する関数を先...
※データシートによると/WRと/CSは同時に設定してもいいような...
void wr_low()
{
PRT1DR &= ~0x03;
}
void wr_high()
{
PRT1DR |= 0x03;
}
void a0_adr()
{
PRT1DR &= ~0x04;
}
void a0_dat()
{
PRT1DR |= 0x04;
}
void ic_rst()
{
PRT1DR &= ~0x08;
}
void ic_set()
{
PRT1DR |= 0x08;
}
(参考にしたサイト)
[[PSoC/汎用ポートを使用しよう:http://1c3.world.coocan.jp/...
次にアドレスとデータを指定してデータを送る関数を作る。
void ad_set(BYTE adr, BYTE dat)
{
// [1]address input
PRT2DR = adr;
// [2]address write enabled(/WR=0, /CS=0, A0=0)
a0_adr();
wr_low();
// [3]address write disabled(/WR=1, /CS=1, A0=0)
wr_high();
// [4]data input
PRT2DR = dat;
// [5]data write enabled(/WR=0, /CS=0, A0=1)
a0_dat();
wr_low();
// [6]data write disabled(/WR=1, /CS=1, A0=1)
wr_high();
}
あとはこの関数を使ってレジスタのアドレスを指定してデータ...
例)
ad_set(0x07, 0x38)→楽音の#A〜#Cを出力。
ad_set(0x08, 0x0F)→#Aの音量を設定。
***ノートオン/ノートオフ [#wbf92ece]
楽音の周波数を設定して出力する関数
void tone(BYTE ch, BYTE pit, BYTE oct, BYTE vel)
を作る。
chで楽音のチャンネルを、
pitとoctで音程を(例えばC4とかD#5とか)、
velでベロシティをそれぞれ設定できる。
例)
tone(1,tnC,4,0x0F)→#AでC4を音量最大で出力。
※pitは#defineでそれぞれ数値に割り当ててある。
(音程の設定で参考にしたサイト)
[[PSGへの道:http://homepage2.nifty.com/sampodo/craft/psg....
ついでにノートオフ(鳴ってた音を止める)の関数
void noff(BYTE ch)
も作る。中身はそのチャンネルの音量を0にしているだけ。
**タイマを使って演奏する [#iad04a6e]
Tick(分解能)を48に設定して、タイマ割り込みで変数ticの値を...
BPMはタイマ割り込みの周期Periodの値を変えることで設定でき...
あとはticごとに↑で作ったtoneとnoffを置いていけばMMLのよう...
**ピコピコ音楽 [#k2480f08]
早速某ヒゲの人の音楽を打ち込んで演奏してみました♪
おおお!これだ!これが聞きたかったんだ!!(T▽T)
演奏の仕方など人それぞれのやり方があるみたいですが、
僕はこんな感じで自分の聞きたかった音楽を自分で作って聞く...
PSoC君ともだいぶ仲良くなれた、と思います(^^;
興味のある方は是非挑戦してみては?
*08/07/23(水) [#veedb1e0]
**PSoC First Touch 03 [#c483918e]
***タイマ割り込み [#e32dbcd8]
タイマーを使うときの流れ
��Timerを設置
��Clockの設定(使いやすい周波数にしておく)
��Periodの設定(割り込みが発生する間隔を決める)
�ぅ廛蹈哀薀爐鮟颪�(Timerの割り込み許可とスタート、割り込み...
定期的にLEDの明るさを変えることに成功。
またTimer_PeriodWrite()を用いれば途中で割り込みの間隔を変...
**YMZ294への挑戦 02 [#t400d1ff]
***レジスタ機能 [#g648250d]
全機能は内臓されるレジスタによって制御されます。
よって各々のレジスタの値を変えることによって音を発生させ...
データシートがボロボロになってきたので、、、以下、自分用...
1. 楽音周波数の設定($00〜$05)
#ref(ymz004.jpg,,100%)
3チャンネル(#A、#B、#C)の楽音発生器で作られる矩形波の...
ft=fst÷16TP (fst=2MHz)
TP=TP11×2^12+TP10×2^11+TP9×2^10+…+TP2×2^2+TP1×2^1...
2. ノイズ音周波数の設定($06)
#ref(ymz005.jpg,,100%)
ノイズ発生器で作られるノイズ音の周波数fnを決める。
fn=fst÷16NP
NP=NP4×2^4+NP3×2^3+NP2×2^2+NP1×2^1+NP0
3. ミキサーの設定($07)
#ref(ymz006.jpg,,100%)
各チャンネル(#A、#B、#C)毎に楽音およびノイズ音を出力す...
レジスタに0を書き込むと音を出力する。
楽音とノイズ音がともに0の時はミキシングされて出力する。
4. 音量コントロールとDAC($08〜$0A)
#ref(ymz007.jpg,,100%)
各チャンネル(#A、#B、#C)の音量を設定する。
M=0の時:L3〜L0によって16通りのレベルから音量を設定。
M=1の時:エンベロープ発生器で作られるデータ(5bit)に...
(まだエンベロープを使用したことがないのでとりあえずここ...
**08/07/23(水)の記事へのコメント [#j2ca1077]
- この表はなにで描いているんでしょう?まさかペイント? --...
- エクセルで書いた表があったのでそれをキャプチャして使い...
- smicx' -- [[smicx']] &new{2021-12-28 (火) 09:34:41};
#comment
*08/06/27(金) [#t1238e24]
**PSoC First Touch 02 [#t400d1ff]
前回からかなりたってしまったけどいつも心はPSoC君とともに。
***CapSenseで遊ぶ [#eea4f5a3]
チュートリアル通りやってみたところ問題なくできました。
今後スライダは入力の1つとして使えそうですね。面白いです。
とりあえず応用編としてスライダの左側(CSB7)にいくほど青、...
しかし、スライダから指を離すと青色に戻ってしまったので次...
#ref(psoc003.png,,100%)
するとこの通り指を離しても好きな色で光らせることができま...
#ref(psoc004.jpg,,50%)
MEMO:
今回使用したCSDの関数たち
-CSD_Start()
-CSD_InitializeBaselines()
-CSD_SetDefaultFingerThresholds()
初めに呼び出しておく。やってることはこれから使う値の初期...
-CSD_ScanAllSensors()
-CSD_UpdateAllBaselines()
while()文中の初めに呼び出すことで、毎回センサをスキャンし...
-CSD_bIsSensorActive(BYTE bSensor)
-CSD_bIsAnySensorActive()
タッチセンサがアクティブ(触ってる)かを調べる。
上のは何番目のセンサがアクティブかどうかを調べる。
下のはいくつかあるセンサの中でどれか1つのセンサがアクテ...
-CSD_wGetCentroidPos(BYTE bSnsGroup)
触ってる位置(重心)を調べる。スライダのときのみ使用可。
**YMZ294への挑戦 01 [#t400d1ff]
***マイYMZ294とご対面 [#j62f99d5]
#ref(ymz001.jpg,,50%)
(上からオシレータ(4MHz)、YMZ294、ソケット)
秋月にてYMZ294を購入してみました。
やはりマイYMZ294が手元にあると俄然やる気が出ます!!
***YMZ294について [#n21d7844]
-YAMAHAのPSG(Programmable Sound Generator)音源。
-YM2149相当の音源LSI。
-3系列の矩形波発生器と1系列のノイズ発生器、エンベロープ...
-CS、WR制御信号と8bitデータバスによる汎用CPUインターフェ...
-8オクターブの発音域。
-マスタークロックは4MHzまたは6MHzから選択できる。
-5V単一電源。
***端子配置と端子機能 [#n65a7137]
↓外見(18pin) 太く描きすぎました(^^;
#ref(ymz002.jpg,,100%)
↓各ピンの説明
#ref(ymz003.jpg,,100%)
+φM
マスタークロック入力。入力周波数は4Mhzか6Mhzのどちらかを...
今はとりあえず4MHzとします(一緒についてきたオシレータも4M...
+4/6
マスタークロックの周波数を選択します。
4MHzとするため"H"にします。
+D0〜D7
8bitのデータバス。
+/CS、/WR、A0
8bitのデータバスからのアドレスとデータの書き込みをコント...
(/CS、/WR、A0)
(0,0,0)→SSGLPにアドレスを書き込む。
(0,0,1)→SSGLPにデータを書き込む。
+/IC
"L"の時システムリセットになり、レジスタアレーの内容が全て...
+SO
音声信号のアナログ出力。
+/TEST
テスト用端子。無接続でOK。
+VDD、GND
VDDは+5Vの電源端子、GNDは接地端子。
さて、困ったことにデータバスや制御信号用のために最低12本...
PSoC First Touchでは…。ちょっと厳しそうです。。。
そこでこのYMZ294さんのパートナーを探してます。
今のところ目をつけているのはこのCY8C29466です。
[[CY8C29466(Products - Cypress Semiconductor):http://ww...
28PinでディジタルI/Oとして使用できるピンが8bit×3グループ...
1グループ分を8bitのデータバス用として、他のピンを制御信...
また、PSoCのモジュールも有効利用できないか検討中。
-PWMを使って4MHz出せんじゃね?オシレータ必要ないんじゃね?
→マスタークロックは楽音やノイズの音程を決めるのに使われる...
聞くところによるとPWMから出せる周波数には多少誤差があると...
ちなみにおまけとして付いてきたオシレータには4.0000MHz(テ...
-AMP使えるんじゃね?
→調査中…。
とりあえずここまで。レジスタ機能の説明については次回に。
**08/06/27(金)の記事へのコメント [#sd1add91]
- 29466は、去年の自主課題でも使っていましたし、機能ブロッ...
- PSoCの内蔵発振回路は、なかなか精度がよいので、基準クロ...
- ではPWMのクロックを使ってみることにします。 -- [[domae]...
- smicx' -- [[smicx']] &new{2021-12-28 (火) 09:35:04};
#comment
*08/05/29(木) [#t1238e24]
**PSoC First Touch 01 [#t400d1ff]
[[PSoC入門:PSoC First Touch編]] をやりつつ、PSoC君との距...
***LEDと光センサ [#n4b9691b]
今のところ例題1まで。ここまで特に問題なし。
1つのPWM8で赤と青のLEDを点灯してみました。
#ref(psoc002.jpg,,50%)
明→赤、暗→青。部屋の中では赤:青=3:7くらいでしょうか。...
次はCapSenseで遊ぶつもり。→のちのち使えそうなのでしっかり...
***書き込み器からの独立 [#gb2e7a9b]
今流行っている(?)PSoC君の書き込み器からの独立を試みる。
#ref(psoc001.jpg,,50%)
-片面ユニバーサル基板(×基盤)←訂正
-2.1mm標準DCジャック
-ピンソケット(メス)20P(2×10)L字タイプ←akita先...
-パスコン(0.1uF)
写真の通りうまく独立できました。
欲をいうならsenda君みたいに電源のスイッチつければよかった...
MEMO:
[[パスコンって何?(電子のおたすけMEMO):http://www.geo...
**今後のこと(チャレンジしたいこと) [#y1ab0cee]
&size(24){僕はゲームミュージックが大好きだ!};
とはいうものの、
ゲームミュージックの基礎の基礎といえるファミコン音源につ...
(ガキの頃はほとんどスーファミかプレステでした)
そこで、実際にその"音"を聞いてみたい!(特にノイズ音)
さらには実際に演奏してみたい!!
というのがささやかな願いだったりします。(100%趣味ですが)
とりあえず今はマイコンのお勉強と以前akita先生に教えてもら...
MEMO:
実際に遊んでいる方もいるみたいで・・・
-[[YMZ294で楽しむPSG音源(それはそれ、これはこれで・・・。):h...
-[[YMZ294 - SSG音源ボード(mattic):http://www.mbin.jp/~mas...
-[[音源IC YMZ294 � 屮謄好函�(You Tube):http://jp.youtube....
**08/05/29(木)の記事へのコメント [#s2553b61]
- 「基盤」ではなく「基板」ですね。よくある誤字ですので気...
- 気をつけます(汗) -- [[domae]] &new{2008-07-23 (水) 12:4...
- smicx' -- [[smicx']] &new{2021-12-28 (火) 09:35:25};
#comment
ページ名: