posted by rerofumi
2006/9/19 火曜日 2:52:27
CPLD ボードができたので、当初の目的であったカップラーメンタイマーのロジック作成を行う。
カップラーメンタイマーと言っても、3分とかが計測できるというだけで要はスタート値固定のダウンカウンターである。
7セグメントは同時に1つしか点灯できないので、高速で表示位置を切り替えていくダイナミックドライブ方式を用いる。後は10進数カウンターを桁数だけ繋げるのと、ボタンが押されたときに規定値にセットされるような仕組みがあればよいはず。
ボタンは 3つ用意してあるのでそれぞれ「180秒」「240秒」「300秒」のスタートとする。これで大抵のカップラーメンに対応できるだろう。
ま、なんとか完成。
単純なカウンターだけなら 6桁も余裕なんだけれども、カップラーメンタイマーとして作り込んでいったら CPLD のロジックが足りなくなったので 5桁に落としている。
まあ、それでも 10ms 単位で表示できているわけだから十分かと。
オシレーターの出力が可変にできない問題の関係で分周カウンターに結構レジスタが食われているので、このへん修正すればもちょっとマクロブロックが空くかもしれない。後わりと無駄な部分も多いからなあ。
VHDL ソースコード
cpld_ramen_timer.zip
基板制作もロジック作成も適度に難しくて良いトレーニングになりました。
—–
Leave a Reply