ニキシー管の駆動回路の考察3

メインのAVR側での直接表示には問題があることが判明してしまったため、更に考えを進めます。
結果的にMAX7219側で行なっている処理をそのまま置き換えれば問題がないのではないかという考えに至りました。

そこで、メインボードから表示用のデータを表示用のマイコンに渡して表示するシステムを考えてみます。
具体的にはATtiny2313を使ってAtmega644Pと通信できるようなシステムを考えます。

■前提条件
通信方式:SPI(3線) or I2C(2線)
必要ピン数:SN74141N(4線)+ドット点灯用(1線)+桁選択用(8線)=>合計(13線)
※:I2C速度は100khzを基準とする(DS1307のI2C速度は100khz)

■考察
ATtiny2313で使用可能なピン数は15線(PB0-7/PD0-6)が入出力で使用可能。
前提条件から考えると、8桁表示を行う際にはI2Cでの接続でないとピン数が不足。
7桁以下、時計なので最大6桁までと考える場合にはSPI/I2Cのどちらでも可能。(問題になるのはプログラムサイズ)

MAX7219はSPIでの接続なのでそのまま置き換えを狙ってもいいのですが3線使います。
DS1307で使用しているI2Cを使えば2線で済みますし、必要なラインがMAX7219用の3線が必要なくなるので減ります。
こんな事もあろうかと、メインボードからの出力にはI2C用のバスも渡すようにしているのでI2Cをメインで考えたほうがよさそうです。

また、AM/PM and Colon表示用のネオン管についてはメインボード側(Atmega644P)からの直接駆動とします。
わざわざSN74141Nから表示する意味が無いですし、駆動電圧も違うので回路が面倒そうなので…。(ダイナミック点灯でなくなってしまうので寿命が心配)
この場合には、全部で3線が必要になると考えられますので、I2Cにして減った分を使う計算になります。(結局プラマイゼロ)

■回路図(I2C版)

■使用部品
AVR:ATtiny2313
BCD-to-lineデコーダー:SN74141N

■参考情報

シリアル・ペリフェラル・インタフェース – Wikipedia

I2C – Wikipedia

AVR試用記-実験

Arduinoと ATtiny2313で SPI – あぁ そうだった

マイコンを使った工作 – I2C7SEG

AVR試用記-I2C

 

  1. コメントはまだありません。

  1. トラックバックはまだありません。


Warning: Undefined variable $user_ID in /home/r3087696/public_html/blog.eldhrimnir.com/wp-content/themes/monochrome/comments.php on line 172

Fatal error: Uncaught Error: Undefined constant "cs_print_smilies" in /home/r3087696/public_html/blog.eldhrimnir.com/wp-content/themes/monochrome/comments.php:185 Stack trace: #0 /home/r3087696/public_html/blog.eldhrimnir.com/wp-includes/comment-template.php(1617): require() #1 /home/r3087696/public_html/blog.eldhrimnir.com/wp-content/themes/monochrome/single.php(57): comments_template() #2 /home/r3087696/public_html/blog.eldhrimnir.com/wp-includes/template-loader.php(106): include('/home/r3087696/...') #3 /home/r3087696/public_html/blog.eldhrimnir.com/wp-blog-header.php(19): require_once('/home/r3087696/...') #4 /home/r3087696/public_html/blog.eldhrimnir.com/index.php(17): require('/home/r3087696/...') #5 {main} thrown in /home/r3087696/public_html/blog.eldhrimnir.com/wp-content/themes/monochrome/comments.php on line 185