--/--/--  --:--    スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
今日の昼間からテストみたいです。
学年末テストですから、まじめにやらないと・・・。
といいつつBLOG書いてるのはどうかと思いますが。

ふと、ATMEGA128がバス接続可能なことを思い出したのでいろいろ調べてみた。
もしかしたら、外部にSRAMを増設して、液晶の領域を確保できるかもという試みからです。
とりあえず分ったことを箇条書きにすると・・・

・外部にSRAMを接続する場合、ポートAとポートCとポートG(一部)が必要
・ATMEGA128のバスはポートAがアドレスバス兼データバスになっている
・ポートAがデータとアドレスを兼用しているので、アドレスバスの間に74xx573が必要になる
・ATMEGA128のメモリ領域は最大が$FFFF(64KB)である
・すでに内臓メモリでIOポートやRAMなどの予約領域が$10FF存在する
・よって外部に64KBのSRAMを接続しても予約領域の分は増設RAMが使えない。
・内部のレジスタ操作をすることによって、外部SRAM64KBをフルに使うことができる。

とりあえずこんなところ。
もし、あの液晶の配列を作って、データを格納してみたとして、
解像度400*96、各色6bit(合計18bitだが、各色1byteで計算したいので3byteで仮定)
すると、400*96*3=112.5KBとなる。
これじゃあもし外部SRAMを増設してもオーバーは目に見える。
もし、R:G:Bを5bit:6bit:5bitにして2byteに抑えたとしても、
400*96*2=75KBとなり、これでもやはりオーバーしてしまう。
更に色を絞っていくのもよいが、どんどん色が劣化してしまうのは目に見えるので
それはやめておくことにする。
要するに・・・
AVRじゃどんなにがんばっても
RAMに液晶(400*96*3byte)バッファを構築するのは無理そうってことです。
まぁ人によっては解像度200*48の画像を拡大して表示している方もいますが、
せっかくの解像度ですから、400*96で表示したいですしね。
あと周波数とかの問題もありますし、
AVRじゃ液晶ドライバには無理があるってことがわかります。
まぁ前から私のやりたいのは、画像の表示ですし、
(できるなら0.5秒間隔ぐらいのGIFアニメーションみたいな紙芝居的動作ぐらいはしてみたい)
とりあえず、画像を表示することが目標です。
某FPGA使いさん達のように動画を再生したいとかなら、
素直に、ハイパフォーマンスなマイコンを使うか、PLDを使うしかないと思います。

バスについてまさか調べるとは、私のAVRの使用範囲では夢にも思ってなかったですが、
まぁこんなこともあるんだなぁと。
来年度ちゃんと進級できていると、授業でH8を使ってバス接続とかするそうです。
話に聞くと、マイコンの授業の先生がバス大好きな人だとか。
「うちの部の人は質問攻めにあったりするから気をつけろよ」と先輩が言っていたので、
注意はしたいと思ってます。
AVR
Secret

TrackBackURL
→http://amenotiyukizora.blog76.fc2.com/tb.php/257-b37e9633
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。