先週基板ができたので、今日はジャンパを通しました。 およそ30本。 面倒ですが、全部手配線に比べたら圧倒的に楽です。 ちなみにUEWを使って半田面に配線したので、部品面は未だにスッカスカです。 ISP用に背の高いコネクタをつけたくらい。 プログラミングはCPLD、tiny2313、mega88の3種...
AVRに関するブログ記事
AVR Tiny2313をROMとして動作させられるかどうか、ここのところ試行しているわけですが。 どうも、20MHz動作でも必ずアクセスが成功するというわけではないようです。 ごく稀にですが、誤動作することがあります。 ...
AVRで音声を出すことができたので、今度は映像信号に挑戦中です。 映像信号の詳細についてはこのへんに詳細な説明があるので、いろいろ調べながらトライしてますが、まだきちんと理解しているわけではありません。 基本的には、PWMを使って正確なタイミングで同期信号を出して、それに映像信号を載せればいいみた...
ATtiny2313の実験回路を作ったので、ちょいと回路を変更してPWM出力をしてみました。 変更はきわめて簡単で、実験回路のPB2/OC0A(14番ピン)をD2から外し、RCAコネクタの信号線(内側)に入れます。 RCAコネクタのもう片方はGNDに接続します。 本体からの入力が1ビット使えなくな...
一応同時再生ができるようになったので、例によりニコニコ動画からムービーを適当に拾ってきて録画してみました。 <a href="http://www.nicovideo.jp/watch/sm6446981">【ニコニコ動画】PC-6001で再生してみた「もじぴったん」</a>...
現在、AVRは内蔵の8MHzクロックで動作させています。 もともと手持ちのものが古い(2世代目)ATmega8Lで、2.7V~5.5Vでの駆動が可能な代わりに8MHzまでの動作となっているためです。 姉妹品のATmega8は最高16MHzですが、4.5V~5.5Vでないと動作しません。 3.3V動...
SDカードインタフェースはほぼ期待通りに動作しています。 ハードを設計して、作って、ソフトを設計して、作ってというのは結構長い道のりですが、動いたときはうれしいものですね。 いつもはソフトしか作らないので、またこれも格別なものがあります。 とはいっても、今回は西田さんにもかなり助けられていますが。 ...
なかなか苦しんでいたAVR版SDカードインタフェースですが、ファイルのデータ読み込みまで動作させることに成功しました。 結局outの割り込み(INT1)の最後でペンディングしているin割り込み(INT0)を解除し、かつステータスデータをINT0割り込みで出すようにすることでタイミングが取れるようにな...
AVRでは、割り込み処理中にも割り込み"要求"自体が禁止されていなければ、外部からの割り込みに対して要求が発生するようです。 コメントにもあるように、その割り込みは保留(pending)され、現在処理中の割り込み処理が終了した後で処理されるようなのです。 このあたりが情報源です。 概念として、「割...
SDカードインタフェースのハードウェアが出来上がったので、早速実際のSDカード入出力を作り始めています。 まずは、試しにディレクトリ情報を読み出しています。 今回は、AVR側にFATシステムを入れることにより、高速化を狙っていますが、1ポートのインタフェースで通信するのはなかなか難しいことがわかり...
西田さんからのコメントがあったので、ROMレスシステムについて考えてみました。 基本的な考えは、 SRAMをROM領域(0x4000-0x7fff)に確保しておく (実際には32kB分のSRAMを0x4000-0xbfffに配置してRAM拡張を兼ねる) 起動時にSRAMにブートアップ用のプログラムを...
とりあえず、前回のテストは期待通りの動作をさせることができました。 原因はあちらこちらの断線でした。 UEWを使っていて、しょっちゅう回路を変更するものだから、そのたびに線をいじったりしているうちに断線してしまっているのでした。 直しては他の箇所が断線するいたちごっこ状態。 こんなんじゃ先が思いや...
AVRの実デバイスを使った実験を始めたので、メモ。 なお、ATmega8/AVR Studio 4.14/WinAVR 20080610を使っています。 リセットポートを使う場合の注意 リセットポートに値を出力設定しないように注意。 たとえば、mega8の場合、PC6(RESETを兼ねる)の値を出...