ZY-FGD1442701V1(3)

2010 年 2 月 11 日 コメントはありません

まずは、予定通りバックライトのPWM制御を。

適当にタイマー割り込みにPWM動作の設定をして、カウントアウト時に
割り込み処理内で次のPWM時間の値を更新する。

メインループ側では、とりあえず一定時間経過ごとにカウンタを更新してみる。

・・・・動画もあるのだが、昔のデジカメで取ったのでは小さすぎて
何がなんだか分からないので割愛。
挙句の果てに携帯電話のカメラの方が解像度も高いし焦点距離も短いので
ここ最近の接写は全部携帯電話ですわ。

次。
フェードイン/フェードアウトをソフトウェアで。

データに演算をして輝度が変わったように見せかける。

さすがにリアルタイムで全画面書き換えるほどの能力はないらしい。
まあ、これはCPUの問題なので、クロックとI/Oポートの性能によってしまう。
したがって、今のATmega128では限界ということで。

・・・・動画は(以下略 なので省略。

最後に、表示コマンドの仕様について。

他では、だれも何も書いてくれないようなんだけど。

内部バッファに於けるカレントのRow Address と Column Address を設定するコマンドと
メモリーに書き込むコマンドがあるけど、
この3つって、よくよく仕様を見ると、そんなに自由じゃないのね。

というか、カレントのアドレスを設定する、っていうより
転送先の矩形を設定するって感じかな。

アドレスといってるけど、実際は座標だし
要は左上座標と右下座標を設定するコマンドなわけ。

その上で書き込みコマンドは
「設定された矩形にデータを書き込む」感じ。
だから、矩形を満たすだけのデータを送らないと
次の書き込みコマンドを受け付けない。

最初に自分が書いたコードが動かないのは、ここに理由があって
毎回 コマンド→データ のセットで書いてた。
サンプル見ると、バースト転送してるわけだから
そりゃ気づくよな。

こんな仕様になってるメリットを考えてるんだけど・・・・

文字とかアニメーションのように、決まった矩形領域を書くときには、
こっちのほうが有利なのか?ぐらい・・・かな。

イメージは、カーソルのある位置に文字を書く、って感じ。

うーん。

カテゴリー: Project, 電子工作 タグ:

ZY-FGD1442701V1(2)

とりあえず、他の記事を参考にしつつ(横着)
必要最低限のコマンドを。。。

・・・・・・・・・・・・・動かんw

じゃあ、aitendoにあったサンプルを・・・
・・・なんでこんなに設定が必要なんだ??
まあいい。あとで削ってみよう。

動いた。
ハード的には問題なさそう。
データ形式は16bitカラーで。

みんな、あっさり動いたみたいに書いてるけど、
実際は違うね。
コマンドの出すタイミングで、描けたり描けなかったりする。
でも、誰もそれに触れてない。

とりあえず、画像を転送する余裕はないので
カウントまわして書いたBOXでしばらく実験しよう。

カテゴリー: Project, 電子工作 タグ:

ZY-FGD1442701V1(1)

いろんなところで記事になっているので、
今更の気もするけど、とりあえず、やらなきゃならんので。

LCDはaitendoにあったZY-FGD1442701V1。
いろいろ探し回ったが、単一電源で厚さが3mm前後のモジュールがなかなかなくて。
OLEDもいいんだけど、小さいし、電圧いるしで今回は見送り。
LCDのバックライトはいづれPWM制御するつもりで、いつも使ってるスイッチICで切り離し。

CPUがATmega128なので、外部メモリにぶら下げる気満々で考えてたんだけど、
最終的にはXMEGA64A4あたりにするつもりなので
そこまで想定してI/Oポート経由の接続に直してある。

このモジュールの動作電圧について、いろいろ情報があるけど
中に載ってるコントローラーが3.3Vで平気なんだから、その外側から3Vしか入れちゃいけないなんていう
理由がどこにもないと思うがね。
追加部品はコンデンサぐらいしか必要ないんだから。

MicroSDも、画像データ用に搭載。
VS10xxの時に苦労したので。
いづれは、フォントファイルを背負い込むことになるだろうから
今のうちに大容量を確保。

あとは、ALPSのジョグスイッチ。
思い切って電即納で買ってみた。
面実装用なので、運良く手元にあったシール基板で貼り付けてある。

最終的なシステム全体で必要な要素はこれで全部。。。かな。

正直、表示装置でここまでマトモに試作してるのって、かなり久々。

もともとVGAやビデオ信号で遊んでたのだが、
その辺のって表示装置が汎用で、デカくて
基板単独じゃ完結できないモノだったけど
これはユニバーサル基板で収まっちゃった。
というか、CPUのバスインターフェースで直接扱える表示装置って
はじめてかも。

・・・・・・・・今回はバス接続ぢゃないですけどね。

さて。
つらつらとコントローラの資料読みでもしますかね。。。

カテゴリー: Project, 電子工作 タグ:

プロトタイプ

このところの試作数点は、CPUから何まで、
基本的にはワンーオフ。
目的ごとに同じような回路を、何度も配線することになって
かなり、時間が掛かっている。

もちろん、以前ほどの一日あたりの時間が取れないのと、体力的なものもあるが。

この状況って、私の手法からすると、退化してる。
「なんか、前より時間掛かってない?」って。

昔は
基本となるCPUボードと、規格化した接続仕様を確立してたハズなのに。
BugさんのKaban – Hobbyist

毎回作るのは追加の機能ボードと
モニタープログラムに対するテストプログラムの追加で済んでいたので
非常に効率的に回ってた。

もちろん、その規格は今も廃れることなく継続しているけど
CPUがちょっと古くなってきてる。
シリアル系の機能(SPI,I2C)は想定外。
内蔵RAM512byteのAT90S8515ではちょっとね。

そう思って、何度かCPUを変えて基板化しようとおもって回路図引いてるけど
満足いくデキにならない。

そんなことを考えながらも、今回の試作。
VS10xxもバッテリーモジュールも
いづれは基板化を目標にしているが、
あまりにも不特定要素が多いので、先にソフト的な検証をしたくて
ユニバーサル基板で試作してるわけ。

結果的には、やっといてよかったけど。

もう少し、効率よくやるには
やはりCPUボードの更新が必要かな。

あと、古い記事を、こっちのシステムに持ってくるのも
やらなくちゃね。

カテゴリー: JUNK, 電子工作 タグ:

雪降ってる~

2010 年 2 月 1 日 コメント 2 件

今回は、気象庁の予想が当たったなーw
めったにないぞ、こんなこと。

・・・・・あ、だから雪降ってんのか(ぉ

ワイパー上げとけよー

カテゴリー: JUNK タグ:

VS10xx(7)

2010 年 1 月 30 日 コメントはありません

一応、まとめておこう。

1.データを送りつけるだけではだめだ、ということ。
2.データのビットレートにあわせて、転送タイミング、転送サイズを調整する必要がある。
3.VS10xx側のバッファは32byte程度しかない。
4.ストリームモードも、あまり使いやすくはない。
5.RC発振器の校正はちゃんとやろう(爆

・・・・・5.は冗談としても、思ったよりいろいろ考えないといけないようだ。
誰だよ、転送すりゃ鳴るなんて言ったのは!(笑

カテゴリー: Project, 電子工作 タグ:

のだめカンタービレ(映画)

2010 年 1 月 26 日 コメントはありません

終わってしまう前に見てきました。
のだめカンタービレ 最終楽章(前編)

・・・・っていうのは、じつは1週間前の話。

原作を一通り読んでいたので、ストーリーもセリフも
だいたい想定内。
ドラマはまったく見てなかったけど、配役は・・・。

お話は、原作どおりで面白いのはいいとして。

昨今のドラマってのは、日本人に平気でカツラかぶせて外人の役やらすのか???
音声が日本語なのはいいとして、
カツラがカツラと分かるぐらい違和感ありまくりの格好ってのは
一体どーなのよ。

みんな、これを受け入れちゃったわけ?
・・・それとも、それすら笑う場所なのか?

あと、何箇所かモロに人形使ってるってのが分かるシーンが・・・・
VFXつかってんなら、ごまかすなり
カメラアングルをもう少し考えて撮れよ・・・

せっかくいい原作なのに
絵的に損してる。
安っぽく見える。

後編は一応見るつもりではいるけどさ・・・

カテゴリー: 映画 タグ:

VS10xx(6)

2010 年 1 月 23 日 コメントはありません

ひとやま、越えました。

ずーっと長いこと・・・・最初にMMCを使った頃から・・・
課題だったマイコンからファイルシステムをアクセスする件。

・・・・・っていう導入は、前に書きましたね。ゑゑ。

この一週間の大部分を、シリアル通信の文字化け解消に費やしてしまった件。

AVRマイコンを内蔵のRC発振器で使うとき、
校正用の値を校正用のレジスタにセットすると
校正されるという・・・極当たり前のことなんですが。

その値がプログラムからは読めない場所にあって、
それを読める機能のあるライタソフトで読み出してプログラム内に埋め込むか
EEPROMにでも書いてそこから設定するか、なんですけど。

いつもなら、AVRStudioあたりのプログラマで
読み出して、その値をEEPROMの何番地に書く、という機能を使うのですが
以前作ったライタがいつの間にか古くなってて
ファームのアップデートも出来ず、結果的にはAVRStudioにおいてけぼり喰らってるので
えるむ/Chan さんのところのシリアルポート用のライタとそのソフト、
あとは、それをGUIで扱えるようにしたavrdude-GUIを使っています。
残念ながら、校正用の値をGUIで読むことも設定することもできないようで。。。

都合よく、手元にAVRDragonというJTAGICE-MkII互換機能をもった基板と
動作不良を疑われてペンディングになったVS1053bのユニバーサル基板が
なぜかJTAG仕様で作成されてたので、これにCPU変換基板を差し替えて
8MHz用の校正値を読んでプログラムに埋め込めばいいはず。

・・・・というのが、話の枕なんですね(ぉぃぉぃ

ことの始まりは、おそらく音が鳴り始めた頃に遡る。
転送速度とCPUクロックは依存関係にあるので、その辺の調整で、
とりあえず音が鳴ることが分かったとき辺りから、
シリアル通信によるデバックはほとんど必要なく、
設定値を変えてコンパイル→書き込み のシーケンスで作業は進められました。

ただ、ふとみると、文字化けしてるんです。
でも、まあ、デバックに使わないから放置してたんです。

FatFsを組み込むにあたって、まずはテストプログラムで様子を見ようと思い
サンプルをコンパイルして実行。
main関数から何まで、サンプルであれば文字化けもなく動いてる。
まあ、多少は文字化けしてましたけど。読めないほどではなかったので。

いざ再生プログラムに組み込んで動かすと、
案の定、動かない。
とりあえず、戻り値くらいは表示させないとダメかと思い、
メッセージを埋め込む。

そういえば、文字化けしてたね・・・・・。

実験段階では、ご丁寧に4MHz用の校正値を校正レジスタに入れてた。
実際には、当然最高速である8MHzで動かしたい。
8MHzも4MHzも、値にそんなに差はなかったから、そのままでもいいだろう・・・ぐらいに思ってたんですが

まさか、これが原因だとは・・・○| ̄|_

いろいろ試した挙句、「校正が何か悪さを?」と思い、コメントアウト。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・直った・・

なんじゃそりゃ!!

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
ちなみに、8MHz用の校正値を読み出して書いたら、また文字化け。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

なんばしよっとか!!

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

正直、疲れました。ゑゑ。

カテゴリー: Project, 電子工作 タグ:

VS10xx(5) ....デファクトスタンダードの功罪(?)

2010 年 1 月 23 日 コメントはありません

ひとやま、越えました。

ずーっと長いこと・・・・最初にMMCを使った頃から・・・
課題だったマイコンからファイルシステムをアクセスする件。

自作するほどの体力も気力もなくなりつつあるので、
この際、他人様の公開しているソースファイルを使ってでも、越えてしまいたかった。

とはいえ、最初にMMCを使った頃にはまだフリーでマイコンに組み込めるような
ファイルシステムは皆無だったことを考えれば、なんと恵まれた時代だろうか。

現実問題
ディスクフォーマットについて調べ始めると、かなり泥臭い部分が多いし
その解釈も拡張も各々が好き勝手にやった挙句、
「なんとなく、デファクトスタンダード(事実上の標準)?」という感じで広まっているだけに過ぎない。

HDDのフォーマットも、FDの記録密度も、なんら指針はないわけで。
あるのは、それこそ慣例のレベルでしかない。

※確かにISOでの規格化はあったかもしれないが、そんな表記よりも
「DOS/Vフォーマット済み」とか書くほうが分かりやすいことを考えると、
規格化されたこと自体あまり意味がない。

先頭セクタの値の意味も、FATの記録位置も、なにもかも。
ほとんどは、Microsoftが作ったFileAllocationTableという仕組みと
おそらくはIBM/MicrosoftがPC/AT用に書いたOSが、最初そうなっていた、というだけの
ブートセクタ、パーテーションテーブル、ソレにまつわる容量の限界。

よくもまあ、これだけ世の中的にMicrosoftに引きづられてるよなぁ・・・

昨今、FATでは限界があるので新たなフォーマットへ移行しつつあるわけで
逆に資料がどんどんなくなっていってしまうような仕組みなわけ。

だからこそ、今のうちに何とかしておきたかった。

今回のこの企画自体、FATが扱えなきゃなんともならないわけで。

フリーのFATファイルシステムとしては有名どころの、「FatFS」を
えるむ/Chanさんの所から持ってきて組み込んでみた。
その組み込みに実はこの1週間を費やしてしまった。

まあ、実際の作業時間は1日1~2時間しか取れなかったのだが
その大部分はFatFSとは無関係な、シリアル通信の文字化けと戦っていたというダメっぷり。

・・・・・ということで。とりあえず、愚痴終わり(え?えぇぇっ?

カテゴリー: Project, 電子工作 タグ:

バッテリーモジュール計画(1)

2010 年 1 月 19 日 コメントはありません

VS1011Eをちょっと脇において
ボタン電池を複数使ってこんなものを。

当初の予定では、
ボタン電池・・・正確には二酸化マンガンリチウム電池・・・を
並列にして3Vで容量を取れるようにしようと思ってたんですが

・・・・人に言うと
「リチウム電池を並列接続にはしない。というか、するな」

理由もいろいろ説明されて、そういうもんだと分かったので

4つをとりあえず直列にして、12V。それをステップダウンDC/DCコンバータで
目的の3V・・・入手の都合で3.3V・・・を精製。

使ってみた感じ、VS1011Eは普通に鳴らすぐらいは出来るようだ。
鳴らし続けて、どのくらい持つかな・・

まあ、実際にVS1101Eがどのくらい消費するのか調べるのが先かな。

カテゴリー: Project, 電子工作 タグ: