ここから本文です
Dr.Kikkie (KIKI) : 不許無断天才|免責:本稿を真に受けて損害があっても知らん。

書庫日記

記事検索
検索

全15ページ

[10] [11] [12] [13] [14] [15]

[ 前のページ | 次のページ ]

DTMFっぽい音が出た

公式エミュをターゲットにした「DTMF通信」。やっと若干前進しました。タイプした文字が入る BUF(F55EH)をターゲットにエンコーダーの本体部分を作りました。文字を入力してエンターを押すとピポパポと発声します。4bitで一音ですので、8bitの文字ではポピッと鳴ります。
これで果たしてDTMFでデコードできるのかは、これからの調整となります。
※アセンブラソース全文を載せようとしたら、蹴られてしまった(;;)
あれ?文字化けしてるよ。
 
イメージ 1

これを試しているBASICのプログラムです。
こんな感じで入力すると「ピポパポポピポ」と発声します。まるで、スターウォーズのR2-D2みたいですw

イメージ 2

※BASICソースを載せようとしたら、また蹴られてしまった(;;)
まだ受信側のハードとソフトを作らないといけないのですが、公式エミュが語り始める日も遠くないと信じています。
ちなみに、LINE INPUT文に目を付けたのは、公式エミュ内に保存されたテキストやアスキー形式で保存されたBASICプログラムをカセットを経由しないで外部に取り出すためです。そういう作業は結構めんどくさいし、2DDフロッピーも生産中止とか言いますからね。通信手段はいくつもあったほうが安心です。

さあ、果たしてDTMF通信はうまくいくことやら?
そのあとは、公式エミュにデータを渡す難問が控えております。


DTMF異聞

あいかわらずDTMFの勉強中。インターネットって便利ですなあ。ガセもあるけど。そんな中で目に留まった一枚の回路図。
これ、いいのか? LEDの電流制限抵抗が付いてないぞ?

イメージ 1

実際に組み立てちゃったらしい。LEDがすんごい輝いている!画像が小さくて恐縮だが本当に抵抗はついていない。「断続的に光るから気にしなくていいアルネ!」という中華ノリか?

イメージ 2

実際、百均で(好きやなあw)クリスマス電飾用のLEDを買ったとき、電池ボックスを開けてみると抵抗が入っていなかった。その代わり、黒い樹脂で固められた回路があって、どうやら高速でON・OFFを切り替えているらしい。だから抵抗が要らないという理屈か?でも抵抗ひとつと回路とどっちが安いのだろうか?

さて、今回のDTMFを使った回路を作った方がこちら。「私は計装エンジニアリングの三年生Mayuresh女子です」。女子学生さんか、じゃ、許す(~◡◝ღ)…ちょと待て!写真はどうみても男だぞ!

イメージ 3

グーグル・クロームが勝手に「女子」と訳しただけで、正しくは「 I am Mayuresh Joshi 」だそうだ。「ヴェーダ数学」とか出てくるのでインド人なのでしょう。インド人にはびっくりしました。LEDに電流制限抵抗が必要だと直感的に考えたぼくは正しいよね。中華思想とインド思想の洗礼を受けて、だんだん自信がなくなってきた。

女子さんのブログ

DTMFデコーダCM8870PI について、大事なことを忘れていたので、もう一度チップの図を掲げる。18ピンのうち、大事なのは StD と Q1〜Q4 の5つだけである。タイミングチャートを示したいところだが、「トーンが途切れた場合」とか余計な?ことが書いてあるので割愛した。
StD が Hi になったとき、Q1〜Q4を読み出す。StD が Low になると Q1〜Q4 は信用できなくなる。

イメージ 2

つまり、StD をクロックにして Q1〜Q4 を読み出す。その読み出した際の動作表が下の図だ。

イメージ 1

LowとHigh各4種類の周波数の組み合わせで、16通りの信号を表現しているのは前述のとおり。信号は「KEY」の欄に示されている。この表はデータシートから引用したが、日本では「*」とされている部分が「・」になっておるな。「TOW」って何の略かデータシートにも書いていなかったが、知らなくてもいいのだろう(ホントかね?)。
気持ち悪く感じるのは、せっかく Q1〜Q4 が2進数的に動いているのに、KEYの数字とは対応していないことだ。「…890・#AB…」とは何事か!まあいい、ソフトで変換すれば済むことだ。

それにしても、どうも情報屋と電話屋は仲が悪いのかね?テンキーの配置にしてもまごついて仕方がない。黒電話の名残りで、1と0をなるべく離すようにボタン式電話のレイアウトが決まったというハナシを聞いたことがあるが、ホントかね?
確かに「110」は、黒電話よりは早く押せるものの、やはりパソコンのテンキーよりは時間がかかる。落ち着いて電話しろよ!ということかもしれん。

実は救急車呼ぶつもりで110番かけたことあります。相手と話しているうちに、「間違った!」と気づきました。相手は苦笑してました。落ち着いて電話しようね。機械で「ピポパ」と電話かけてると落ち着くヒマがないな。

というわけで、 DTMF の発信側のプログラムも書きかけているところである。いあいあ、BASICではありません。アセンブラですがな。送信すべきデータをどう渡すか、その仕様は後回しで、ピポパ音の発声部分を書いているところであります(・∀・)

哀愁のGT

資料を整理していると「FS-A1 GT」のカタログが出てきた。折り目はついているものの、資料に挟まっていたおかげで発色は概ね良好。つくづくとカタログを眺めていると「哀愁のGT」という言葉が浮かんできた。
カタログの感想を書いた駄文があった。その頃のブログに掲載したのかもしれない。
夕陽のシルエットに浮かぶGTを想像して読むのも一興かもねw

イメージ 1

哀愁のGT

カタログの表紙曰く、MSX View内蔵、MIDI端子搭載、16ビットの本格派MSXターボR。中を開くと「16ビットの技がそろった」「音で遊ぶ、文書を作る、ゲームを体感する−これがMSXワールド!」。具体的には、MIDI端子、デジトーク、カラーワープロ、グラフィックツール、ゲーム。さらにページをめくると話題のGUIをMSXで体験できるMSX View。
…訳が分からない。このカタログを渡されて、営業マンは深く嘆息する。暗澹たる気持ちで店頭のやりとりを想像する。

客 「MSX Viewってなんですか?」
営業「MSXでGUIが体験できるのです。」
客 「GUIって何ですか?」
営業「グラフィカル・ユーザー・インターフェースの略で、
  今までDOSプロンプトからコマンドを打ち込んでいたのが、
  マウスで簡単に操作できるのです。」
客 「カセット・ポン!でゲームしかやったことありません。」
営業「MIDI対応のゲームなら迫力満点です。」
客 「意味が分かりません。」
営業「今までのチープな音源ではなくMIDI音源が使えます!」
客 「MIDI音源を内蔵しているのですね。」
営業「別売です。SX-KN1000をお奨めします。198千円です。」
客 「他には何ができるのですか?」
営業「デジトーク、カラーワープロ、グラフィックツール。
  従来のゲームもできます。」
客 「昔のゲームも持っていますが、全てできるのですか?」
営業「中にはできないのもあります。」
客 「その他は、旧機種のSTとどこが違うのですか?」
営業「同じです。STは87,800円、GTは99,800円です。」

営業は一人つぶやいた。
…このカタログはモノを売る気があるのだろうか?
自分ですら意味が分からない。製品の魅力も分からない。MIDIをMMLで扱える特徴から言えば、YAMAHAから売ったほうがマシかもしれない。
これはダメだ…コンシューマー相手の機種はこれが最後だろう。思えばFS-A1の時代はよかった。アシュギーネが懐かしい…。
重い脚を引き摺りながら、営業は家路をたどるのであった。

イメージ 2

こんなに魅力のないカタログでモノを売るのは無理ぽ!(・∀・)

DTMFの仕組みもうろ覚えとなってしまいました。
もっかい念のため復讐しておきます。復習ですた。
トーン式の電話で採用された方式です。ふたつの波長の音の掛け合わせで16通りの信号を表現します。

イメージ 1

たまにTV番組で、ふたりの音大の人が受話器に向かって2声を発声することで電話をかけてビックリさせますね。一人が1209Hz、もう一人が697Hzを発声すると、「1」のボタンが押されたと認識するようです。

普通、電話機には「0〜9」と「#」「*」の12種類のボタンがありますが、実際にはさらに「A〜D」が定義されています。つまり、16種類のキャラクターを送出できるわけです。
しかし、受話器の前で無茶な信号を発声するとヘンなところに電話がかかったり、「A〜D」を含む信号が入ると交換機が混乱したりして電電公社から怒られたりするので無茶しないようにね。

なお、適合認証を受けていない機器を電話線に接続したり、電話機に装着することは禁じられています。ご留意を。受話器を上げて記憶させたピポパ音を再生して電話かける製品は市販されてるので、セーフなのでしょう。iPhone のアプリにもあったんじゃなかったかな?

さて、ここまではいいとして、ではMSXでどうやってDTMFのトーンを発声させるのか。もう何度もやってきましたが、もっかいプログラム発掘です。

イメージ 2

あああああ、画像でしか残っていない。イヤになるほど何度も入力してきたのに、プログラムが残ってない(;;)
ま、とにかくこのプログラムで発声させて、例のDTMFデコーダで元の信号に戻せばいいのです。ただし、元の記号には「#」「*」といった余計なものが含まれているので、16進数にしやすいように「0〜F」に修正します。この修正は受信したMSX側で行います。よく見ると送信側も修正したほうがよさそうですね。

送信側で、送信データの1バイト、例えば「AB」について、まず「A」と「B」に分けて送信、受信側で「AB」とくっつければ、1バイト受信できます。最初の「A」を左に8ビットシフトして「B」をくっつければいいですね。

これで、DTMF通信の第一歩は踏み出せるはずです。でも、公式エミュのスタンドアロンからの脱出は、まだまだ道が長いのだ。
きっとスタンドアロン・コンプレックス(一人ぼっちの劣等感)に苛まれていることでしょう。「攻殻機動隊」の「S・A・C」とは関係ないですよ(・∀・)

全15ページ

[10] [11] [12] [13] [14] [15]

[ 前のページ | 次のページ ]

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

過去の記事一覧

最新のコメント最新のコメント

すべて表示

kik**41010
kik**41010
非公開 / 非公開
人気度
Yahoo!ブログヘルプ - ブログ人気度について

よしもとブログランキング

もっと見る
本文はここまでですこのページの先頭へ

[PR]お得情報

ふるさと納税サイト≪さとふる≫
実質2000円で好きなお礼品を選べる
毎日人気ランキング更新中!
数量限定!イオンおまとめ企画
「無料お試しクーポン」か
「値引きクーポン」が必ず当たる!

その他のキャンペーン

みんなの更新記事