posted by rerofumi
2008/5/27 火曜日 23:37:20
∞ぷちぷち、ぷち萌え「ヤンデレ編」
∞ぷちぷちの押しスイッチと内部スピーカーを利用、それ以外を外部のPSoCとROMで構成している。
とにかく小さくまとめるのが目的なので 8pin の CY8C27143 を利用。音声データをまとめたら 44KB ほどになってしまったので 1Mbit 容量のATMEL 24C1024 を利用。1Mだとアドレスが 9bit になるんだけれども、そこはI2Cアドレスを1bit割り当てるらしい。なので感覚的には512kbit(64KB)が2バンクある感じ。今回必要なのは44KBなので、片方のバンクのみで収まる。
∞ぷちぷちのボタン電池3VだとシリアルROMが駆動しないので、電源は外から供給。ちょっと残念な点。(最近低電圧版のシリアルROMが秋月で売られているのでそれを利用するといけるのかも)
回路図はこんな。
ハンダが汚いとなぜか評判なのだけれども、フラックスが目立つから?
まあ、結構試行錯誤で作った試験基板的な作品なのと、このあたりから全て無鉛ハンダに切り替えたあたりも理由かと。無鉛ハンダだとユニバーサル基板をハンダブリッジさせようと思ってもなかなかできないのよね。というか、避けたほうが無難。
内部ブロックは簡単に書くとこんな。
カウンターで 8khz の割り込みを発生させて、そのたびにDACに 1byte 渡すことで発声。バッファに32byteとってあって、I2C受信バッファから32byteをコピーし、次の32byteをくれとI2Cに要求。ROMからの読み出しは 8khz×32byte の間で十分間合うのでタイミングはシビアでもない。
ソースコード: putiputi.zip
Leave a Reply