[TOP] [about] [日記] [掲示板] [リンク] - [お絵かき] [電子工作] [PC関連] [写真] [1][1][5][2][8][0][0]
 にっき板
いわゆる「日記」ですが、毎日は更新してません。

● 日付はそのにっきを書いたときのものですので、文章の内容とはそぐわない場合があります。28時間表記です。
● 最近のものが上に来ます。下へいくほど古いにっきです。
● なるべく画像を入れられたらいいなぁ。
● 「コメントをつける」をクリックするとコメントつけられます。遠慮なくどうぞ。
● お探しの日記が見つからないときはダイジェストもどうぞ。


コメント記入欄はページの下の方にあります。

▼ 308 : 2009年9月5日(土) 20:33:43 カテゴリ: 設定なし
>>>307 のその後。使っているチップは同じだけどコードを見直して機能的に大きく発展。

ATMega88にはATTiny2313が担当していたオーディオデータの処理を移行して、その隙間にレベルメータやチャンネル選択の処理を割り込ませる感じで実装。>>>307に書いた通り、けっこうnopが多かったのでそこに実装できたわけです。
DAIからのクロックでDAIと同調して動くので、32kHz〜48kHzのサンプリングレートだと、クロックは8.192MHz〜12.288MHzの可変。96kHzだとクロックが24.576MHzになってATMega88の許容範囲を超えるので、どうなるか不明。

ATTiny2313のほうはそのデータを受け取って液晶に表示したり、WM8805と通信して状態を液晶に表示したり、ユーザのボタン入力に応じて入力やチャンネルを切り替える機能を実装。液晶は毎秒16回更新してるのでけっこうぐりぐり動きます。クロックは4.19MHz。

DAIをユーザがコントロールしてオーディオデータをDACに送るまでの処理がすべて実装できたわけで、旧DACでは同じことをするのにチップが6個あったのが、これで一気に2個に。

すごいのはやはりAVRの処理能力で、レジスタが32個もあるので複数の処理を同時並行的に書いても問題ないのですな。PICはワーキングレジスタ1個だけなのでとても無理。加えて、内蔵されている周辺回路が多いので通信が多重化できる。

今回の実装だと、オーディオデータの処理には3つの通信系統が必要で、それぞれ (1)DAIからのデータ入力、(2)DACへのデータ出力、(3)レベルメータとユーザコントロールのデータの入出力。
これをそれぞれソフトウエアでパタパタやっているととても間に合わないので、シリアル通信モジュールが都合2個使えるATMega88はとても好都合。上記のうち(2)と(3)はそれぞれUSARTとSPIに任せてしまったので少ないコードで間に合った。

ちなみに、ATMega88に入っているプログラムコードはたったの640バイト程度。これならATTiny2313で済ませたいなと思ったのだけど、ATTiny2313のシリアル通信モジュールはATMega88のモジュールに比べて機能が少ないので、ATMega88を使わざるを得ないのでした。ATMega48とか売ってないしな。

一方液晶をぐりぐり動かしているATTiny2313はプログラムコードが2000バイトくらいになっていて、とてもギリギリ。とはいえ必要な機能はさしあたり実装したので、むしろぴったりといったほうがいいかもしれない。

あとはこれを基板に実装すれば完成。さしあたり今のDACのDAI基板とユーザコントロール基板を入れ替える予定。
 [Permalink]


お名前
E-mail ←省略可
ホームページ http:// ←省略可
コメントをつけます
本文: 

■ 一覧へ戻る ■

-- じゃんぷ --
最近の10件
2009年9月
* * 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 * * *
<< 8月

-- 変化のあった順 --
[308] 9月5日 (2009/9/5)
[307] 8月2日 (2009/8/2)
[306] 7月2日 (2008/11/30)
[305] 4月28日 (2008/4/28)
[304] 4月19日 (2008/4/19)
[302] 3月26日 (2008/4/16)
[303] 4月13日 (2008/4/13)
[301] 3月25日 (2008/3/25)
[300] 2月25日 (2008/2/25)
[299] 1月30日 (2008/1/30)



[1つ上へ戻る]
 ©masa-u 2003-2006 (webmaster(at)mbin.jp), 無断転載厳禁。リンクはご自由に。 2010年1月1日 0時00分 更新