highlightjs– tag –
-
AVRのIOピンに押しボタンスイッチで入力する
電子工作スイッチが押されると、LEDがON/OFFとトグルする簡単なコードを書きました。 スイッチはPC5, LEDはPD4に接続してあります。 PC5はプルアップしてあり、スイッチによりGNDに短絡されると、割り込み(PCINT1_vect)が入り、PD4の出力がXOR演算でトグルされます。 初期化では、ポートのIN/OUT、1/0の設定、割り込み関係のレジスタの設定がなされます。 ポイントは、スイッチのチャタリングをソフトウェアで吸収することです。 スイッチを押したり/離したりするときのバタつきが納まるまで10ms待ちます。さらに、押して... -
SDカードにFT245RL経由でようやく書き込みができました。
電子工作ロジアナで見たらFT245RLの信号が汚いのでAVRでやろうかと思ったけれど、これ以上SDカードに時間をかけるのも嫌と思って、FT245RLの制御をもうちょっと頑張ってみた。 まず、クロックが汚いので、ウェイトを入れることにした。time.sleep()の精度は4 msなんでしたっけ。クロックの変化の間に、4 msよりも小さいwaitをかけてみたら、6 msくらいの間が入っていい感じになった。綺麗になったクロックがこちら。 それで次の問題を探したら、どうもリセットコマンドCMD0の後に電源が落ちてるぽい。ので、リセットを二回... -
PCからFT245RL経由でSDメモリーカードにSPIでアクセスしてみる(初期化まで)
電子工作AVRやCPLDから大容量のデータを扱いたい場合は,EEPROMだと秋月でI2C接続で最大2MB程度のものが売っていますが,それでは足りない場合,SDカードをSPI接続で使うと良さそうです.2GBを超えるものはSDHCとなり仕様が公開されていない?(->公式に簡易仕様書がありましたがVer.2では初期化方法、ブロック指定方法が違うようです)ので,2GBまでのものを考えます. まずはSDカードへのアクセスの仕方を学ぶために,パソコンからSDカードへの信号を生成していじってみることにしました.USB接続で,8bitポートを好きに扱... -
「CPUの創りかた」掲載の4bit CPU TD4のMAX II CPLDへの実装方法
電子工作「CPUの創りかた」購入から9年を経て,ようやくCPLDにTD4(4bit CPU的なもの)を実装したのでメモしておきます. 経過 本が出版された当初に最後まで読んで,ディスクリートで組むぞーとICを買ってきたのは良いものの,配線する元気が出ずそのままになっていました.4年くらいして,CPLDで組むぞーと,MAX IIマイクロ開発キット(~8k円)を輸入してみたものの,Quartus IIをダウンロードするのに時間がかかりすぎて飽きる.先日,そろそろやるかとQuartus IIをインストールし,Verilog HDLの書き方を覚える(週末の一日...