2009年09月27日

mega88系ボードの設計

SRT162 に合わせた TLV320AIC23/DAC23 用ボード(DAC23)は設計したものの、AT90USB162 には乗算命令がないので音源ソフトで遊んでみるには向いていない。それで、mega88系ボードも設計してみた。



FMmelody で遊んでみたいので、「FMmelody」ハードウェア解説の回路をベースにして、One-Chip Arduino ver. 2.0 で知った、USBaspLoaderの回路を追加。
ちなみに、USB は電源供給とブートローダのために付けている。割り込みが重いので、FMmelody を改造しても使えない。

リセットボタンを付け、ブートローダ用スイッチは、スライドSW にする。あと自分仕様ISP コネクタも付ける。シリアルも一応。

IDLE LED は CPUの負荷を知るのに重要。付け忘れるところだった。

そのうえで、DAC23 固有の MCLK, や ADC 用の DIN,LRCIN をアサインし、TWI(I2C) と共に配線。あまったピンには、ADC0-3 を割り当てる。

なんかピンがちょうど埋まった。

クロックは、16MHz 。3.3V レギュレータを入れて、3.3V 専用で動かす。データシートによると安定動作を保証できるのは、3.3V で 13.3 MHz までらしいが、まぁ大丈夫だろう。

回路図は、つぎのようになった。



EAGLE データは、halfc-dac23-007.zip

    注意:このデータで起こした DAC23-MEGA 基板の 動作は確認できた。が、いくつか注意点がある。

    (1) USB D- の 1.5k プルアップ
    これをVCC に直結してしまうと、ホストが 常にUSB を接続しようとしてしまう。それでは、USB を使いたくないときに困るので、
    1.5k を PC3(ADC3) に接続することにした。

    専用のブートローダ(+ mega328p 専用)を作成中なのだが、この変更を前提にしている。

    (2) LEDの電流制限抵抗
    マネして 1k Ωとしたが、3.3V 専用なので 赤は 470 Ωが良い。黄色などは、220 Ωでも少々暗目。

    追記:修正版を作成した → 後ろに追記

これで、47mm x 35mm の 1/2 C 基板サイズが、2種類。28mm x 15.24mm の小基板が 2種できた。9月末までの【キャンペーン】ワークサイズパッケージ に間に合うし発注しようかな。

120mm x 120mm だと、面付け入れて 約 7500 円。1/2 C 基板サイズが 6 枚。余白に小基板が ... 1mm 足りなくて 3 枚か ...

ぎりぎりなので修正は無理。

結局発注した。 データは、dac23-out.zip

  • シルク間違い
    SDA の横の SDK → SCL (表、裏)
    LED D1 → PWR


ピンアサイン



チェックを兼ねて、ピンアサイン表作成。



CONN3/4 RESET 1 28 PC5/SCL CONN1/3
CONN4/2 RXD/PD0 2 27 PC4/SDA CONN1/2
CONN4/3 TXD/PD1 3 26 PC3/ADC3 CONN2/6
D+ PD2 4 25 PC2/ADC2 CONN2/7
CONN1/5 LR OC2B/PD3 5 24 PC1/ADC1 CONN2/8
D- PD4 6 23 PC0/ADC0 CONN2/9
VCC 7 22 GND
GND 8 21 AREF
XTAL1 9 20 AVCC
XTAL2 10 19 PB5/SCK PWR LED/BCK CONN1/4
CONN1/8(LRIN) PD5 11 18 PB4/MISO (DIN) CONN1/7
CONN1/9 MCK OC0A/PD6 12 17 PB3/MOSI DOUT CONN1/6
BOOTLOADER PD7 13 16 PB2/SS CONN3/4
IDLE LED PB0 14 15 PB1/OC1A PWM CONN2/4

XTAL: 16MHz
AREF --- 0.1uF --- GND

CONN1/1
CONN1/2 PC4/SDA
CONN1/3 PC5/SCL
CONN1/4 PB5/SCK BCK
CONN1/5 PD3/OC2B LR
CONN1/6 PB3/MOSI DOUT
CONN1/7 PB4/MISO (DIN)
CONN1/8 PD5 (LRIN)
CONN1/9 PD6/OC0A MCK
CONN1/10 GND

CONN2/1 3V3(OUT)
CONN2/2 GND
CONN2/3
CONN2/4 PB1/OC1A PWM
CONN2/5
CONN2/6 PC3/ADC3
CONN2/7 PC2/ADC2
CONN2/8 PC1/ADC1
CONN2/9 PC0/ADC0
CONN2/10 GND

CONN3/1 PB4/MISO
CONN3/2 PB5/SCK
CONN3/3 PB3/MOSI
CONN3/4 RESET@PGM , PB2/SS
CONN3/6 GND

CONN4/1 3V3(OUT)
CONN4/2 PD0/RXD
CONN4/3 PD1/TXD
CONN4/4 GND

MINI-B/1 5V(IN)
MINI-B/2 D- ... PD4
MINI-B/3 D+ ... PD2
MINI-B/4 GND
MINI-B/5 GND


コメントとかメモとか:

AREF に 0.1 uF を接続している。基準電圧に AVCC を 使う場合でも、1.1V 内部基準電圧を使う場合でも デカップリング コンデンサになる。

DAC23 を使う場合、LR と MCK 用に OC2B と OC0A を使う。PWM 用は OC1A で全部別のタイマーを割り当てている。

FMmelody を使う場合、CPUCLOCK が 16Mhz なので、CLKPK を設定して 8MHz にする改造がまず必要。DAC23 を使うには、I2C を使って DAC23 の レジスタを初期化する必要がある。PWM の場合も LINEIN を 使えるように初期化しないといけない。それに先立ち MCLK を PWM で出力しておく必要もある。

Arduino として使う場合 Metaboardのページによると hardware/boards.txt を編集しないといけないらしい。

    例:
    ##############################################################

    metaboard.name=Metaboard

    metaboard.upload.protocol=usbasp
    metaboard.upload.maximum_size=14336
    metaboard.upload.speed=19200

    metaboard.build.mcu=atmega168
    metaboard.build.f_cpu=16000000L
    metaboard.build.core=arduino

    ##############################################################


FMmelody の回路と違い LR をプルアップして「いない」のは、ISP は基本使わない or DAC23 を初期化して なおかつ MCLK を供給しなければ DAC から異音が出力されないというのが理由。

追記:修正版 DAC23-MEGA-R2
eagle データ: dac23-mega2-04.zip
Fusion PCB 提出用 dac23-mega2-04-fusion.zip
(スルーホールまで レジストしないよう修正)

eagle データ: dac23-mega2-03.zip
    変更点
  • ?

eagle データ: dac23-mega2-02.zip

    変更点
  • USB D- の 1.5k プルアップ
    1.5k を PC3(ADC3) に接続して、CONN2/6 は NC に。
  • LED パターン
    SEC2004 シリーズが付くように変更。
  • レギュレータを TAR5SB33 に変更
  • シルク
    SCL が SCK になっていたので修正



    R1,R2 22 (2012) : USB用
    R3 1.5K (2012) : USB プルアップ
    R4 33K (2012) : HWB 用
    R5 3.3K (2012) : HWB 用
    R6 470 (2012) : LED 左用 (SEC2764: 高輝度赤)
    R7 150 (2012) : LED 右用 (SEC2764: 黄)

    C1 10u (2012) : レギュレータ入力用
    C2 10u (2012) : レギュレータ出力用
    C3,C4 18p (2012) : 水晶用
    C5 0.1u (2012) : AVCC パスコン
    C6 0.1u (2012) : AREF 用
    C7 1u (1608-2012) : VCC 出力用
    C8 0.01u (2012) : レギュレータノイズ用

  • X1 FA238-16MHz
  • SW1 LS6J2M-T or TSKB-2JL
  • SW2 IS-2235
  • D1 SEC2764C
  • FUSE MICROSMD010
  • USB-MINI UX60A-MB-5ST
  • U2 TAR5SB33
  • ATmega328P-PU

チップ抵抗・コンデンサ以外は 秋月で揃うようになった。
posted by すz at 00:34| Comment(10) | TrackBack(0) | DAC23
この記事へのコメント
ボケ防止にマイコンでアセンブラーから
Cに書き換えるというリハビリをしています。しかし、なかなか難しいですね・・・
Posted by ジョー at 2009年09月28日 10:52
ここに書くのもどうかと思ったんですが…

BG999076AやCOG-C144MVGS-04の液晶とピン配置がほぼ一緒でTFTな液晶がaitendoで980円で増えてました。

私はOLED買ってテスト終わったところに、こんな安いTFT出されて(´・ω・`)ショボーン
Posted by n at 2009年10月03日 01:21
BG999076A と 8bit で使う分にはピン互換みたいですね。おっ SRT162B で使えるかも ... と思ったのですが、電源が 2.8V (Max 3.0V)で、レギュレータを変えるだけで使えるかどうか、いまひとつ不安。まぁ BG999076A を確保してるので使うとしても先の話ですが。

TFT に期待するのは、画面の綺麗さではなく視野角の広さ。6 °→ 12°と 2 倍になっています。でも、たかが12°ですから OLED とは比較できないような気がします。

Posted by すz at 2009年10月03日 05:18
とりあえずポチってみました(笑)

ドライバICのデータシートではTyp2.75V(Max3.3V)って書いてあるんですよね…。
他のデータシートでもこの手の微妙な違いが多い気がします。
とりあえず抵抗でも挟んで試そうかと思っています。

私の場合、視野角よりSTNのように文字表示した時に輝度が他に影響されてしまうのをどうにかならないかなと思って色々な種類を試している所です。
Posted by n at 2009年10月03日 09:23
書いてありますね。絶対定格は、4.6V もあるし 3.3V で行けそう。LED は、3.0V 〜 3.3V (Typ. 3.2V) で、こちらは 3.0V だと微妙に低いかも。

つれづれ日記のゆきさんも使う気まんまんだし、私もポチろうかな。
Posted by すz at 2009年10月03日 11:36
ここで続けるのもどうかと思うのですが、いろいろチェックしてたところ、BG999076A は、ST7637 で間違いないらしい。( ちなみに COG-C144MVGS-04 も ST7637 )。いままで書いてきた SPI 系の話は大間違いで、8 bit パラレル専用かも。

あと、ST7637 の方が TFT より電圧の条件が厳しく、MAX が 3.0V 絶対定格 も 3.0V。SRT162 は、Tr のスイッチがあるので -0.2V して 3.1V ぐらい電圧がかかります。あと入力レンジ。 絶対定格 は VDD+0.5V と書いてあり、一見 OK そうにも思えますが、抵抗をいれた方が良さそうな感じ。

もとの回路にも抵抗は入っていないし、電源もTr のスイッチがある程度なので、とりあえずは動くと思いますが、なんかマズそう。

Posted by すz at 2009年10月03日 23:35
>8 bit パラレル専用かも
あらら…

>MAX が 3.0V 絶対定格 も 3.0V
アマチュアなら多少は問題ない気はしますし、MCUのポート出力電圧もVCCよりは必ず低いでしょうから大丈夫かも知れませんね。
Posted by n at 2009年10月04日 00:07
件の液晶届いたので動かしてみました。
VDD 3.3Vで問題なく動作しました。
とりあえず報告ですん。
Posted by n at 2009年10月07日 22:14
作業が早いですね。3.3Vで問題ないなら、関連商品の [AE-SOP56]で組んで、LED も 直 PWM で OK そうだし、使いやすそう。

私も結局ポチりました。でも、今回は多種の基板を作ったので、後回しになりそう。
こちらは、ぼちぼちやっていきます。
Posted by すz at 2009年10月08日 08:23
関連のAE-SOP56も買ったんですが、ホールが小さくて片側にピンヘッダが入りませんでしたorz
参考ですがバックライトはテスター(秋月P-10)で測った限りでは3.3V直結で15〜16mAくらいでした。
単電源な上、小電力で使えるのは便利ですね。
Posted by n at 2009年10月08日 10:28
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/32441373
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック