2009年10月31日土曜日

B045 : LEDMTX CLOCK 2

先日のデザインフェスタのフィードバック作業。
予想したとおりLEDMTX CLOCKの方向性に近い。
ということでLEDMTX CLOCK 2を設計することにした。

要望リスト
  1. メッセージで漢字を表示したい。
  2. キャラクタも表示したい。
  3. 自分で編集したい。
  4. メッセージのテンプレートが欲しい。
  5. 表示領域はもう少し広いほうが良い。
  6. 時計としても使いたい。

B045はLEDMTX CLOCKのバグ修正と10x10 LED MATRIXのフィードバックを兼ねたものになりそう。

でも、そのままじゃあ面白くないなぁ~。



とカラーLCDを付けることを考えてみる。
こうなってくるとmp3プレイヤーだよなぁ。
そしたらLEDMTXじゃないよなぁ。

2009年10月24日土曜日

オシロスコープ購入検討

以前から波形を観測したい事が多々あったのですが、今回具体的に購入を検討。

メーカ
  • Lecroy
  • Tektronix
  • Agilent
  • OWON
  • INSTEK
  • RIGOL
  • Yokogawa
  • IWATSU
用途
  • マイコン搭載ボードのデバッグ
  • プロトコルの解析
今のところ帯域は100M[Hz]で考えています。

2009年10月23日金曜日

B041 : Tiny SD card module+スピーカの動作確認

通常のルーチンでSDカードから読み出したデータをFIFOに入れ、8K[Hz]の割り込みルーチン内でFIFOから読み出してPWM設定する。


オーディオ周りの回路は寄せ集めなのでなんとも評価しづらい。
そういえばこの増幅回路基板はもう4年も前に作ったもの。
あの頃よりも設計を洗練させられるようになった気がする。
でもそれは多分気のせいだろう。もっとできるはずだ。

この回路、こんなにオーディオオーディオするならそういう設計にすれば良かったなぁ。
ついでにやっぱりmp3デコーダなんかも搭載したくなるだろう。

2009年10月21日水曜日

B041 : Tiny SD card moduleにスピーカーを付ける

元々B041はSDカードとMPUが載って、USBでPCに接続できる。
SDカードでのFATファイルシステム実験用を意図したもの。

だが、それだけでは正直面白さにかける。
というか、この基板を使ったときの目標を設定しづらい。


そこで考えたのがスピーカーを付けてSDカード内のWAVファイルを再生できるというもの。
オマケ機能を設定することでこの基板を面白い応用領域に持っていくことができる。



今日はFIFOでデータをやり取りするところまでを確認。
後は出力の部分を処理してあげるだけ。

2009年10月20日火曜日

B041 : Tiny SD card module改良したら良さそうなところ

ついつい欲が出てしまうところ。
基本的には現状の設計でも十分に活用可能。
でも改版するとしたら以下を考えたいところ。

・スイッチでなくIRにしたらどうか。
・MPUに外部クロックが欲しい。現状、OSCCALによる校正が必要。
・SDカードの電源を制御したい。
・MPUのROMが8KBだときつい。もう少し上のクラスのMPUが欲しい。ATmega328が候補。
・リセットスイッチが欲しい。
・SDカードアクセスLED。
・FIFO状態表示LED(EMPTY, FULL)
・AMP付けたい。
・スピーカ端子付けたい。

どうせなら・・・
・mp3デコーダを載せたい。
・AMPを付けたい。
・表示器も欲しい。(カラーグラフィックスLCDを使ってみたい。)
・スイッチが欲しい。
という方向になってしまう。



B041は当初の方向性に従い小さくてSDカードの実験ができるボードということに留めておこう。
だから、まとめると
X ・スイッチでなくIRにしたらどうか。
O ・MPUに外部クロックが欲しい。現状、OSCCALによる校正が必要。
O ・SDカードの電源を制御したい。
O ・MPUのROMが8KBだときつい。もう少し上のクラスのMPUが欲しい。ATmega328が候補。
O ・リセットスイッチが欲しい。
O ・SDカードアクセスLED。
X ・FIFO状態表示LED(EMPTY, FULL)
X ・AMP付けたい。
X ・mp3デコーダを載せたい。
X ・AMPを付けたい。
X ・表示器も欲しい。(カラーグラフィックスLCDを使ってみたい。)
X ・スイッチが欲しい。
X ・スピーカ端子付けたい。
O ・AUX端子を付けてユーザ拡張に備える。
ということになる。

2009年10月19日月曜日

B041 : Tiny SD card moduleのISPではまる

順調に見えるB041。


写真に写っているATmega8、実は2つ目。

1つ目のATmega8は回路の安定性を確認しないままFUSEのコンフィギュレーションした結果、書けなくなった。
クロックの設定をする操作で、実際の回路と異なるクロック設定になってしまった様子。
まったくISPできなくなり、やむなくデバイス交換。


2つ目は慎重になり、シグネチャを何度か読む操作を実行。
案の定読むたびに出てくるシグネチャが異なる始末。

やったことは2つ。
・そもそもキャパシタが小さいだろうということで増量。(SDカードを使うことも含めて総合的に判断)
・ISP周波数を500K[Hz]から125K[Hz]に変更。

今回の回路、ATmega8の電源電圧は3.3[V]だが、500K[Hz]でISP動作が安定しなかった。
125K[Hz]に変更したところ10回立て続けにシグネチャを読んでも安定して読める。

この状態でFUSE設定を実行し、問題なく8M[Hz]動作にできた。
今度から新しい基板のAVRのコンフィギュレーションは、
シグネチャ読み込みを何度かやって安定性を確かめてから行おうと思う。

電源ももっと気を配ろう。
こういう時にオシロがあったらと思ってしまう。

B041 : Tiny SD card module基板到着

10/06に「送ったよ」とメールが来た。
10/17に郵便が届いたのだから約10日と見ておけば良さそう。
相変わらず基板エッジの処理は適当だが別に良い。
実験用としては十分な品質。
早速半田付け。
microSDカードもきちんと挿入できることを確認。

2009年10月17日土曜日

PSpice

OPアンプ周辺回路の設計検証のためにPSpiceをセットアップ。


昔と比べて今の時代のエンジニアは贅沢な環境にいると思う。

2009年10月16日金曜日

B028 : LEDMTX 100 dotsのファームウェア

100文字の英数字を10個まで出荷時に書き込める仕様にしました。
デザインフェスタ会場では御購入頂く前にメッセージを決めて頂き、その場で書き込んでお渡しします。


このシャツを着たスタッフが目印。


今回はCuBeatSystems初の筐体外注品です。
今後もこの方向で進めたいと思います。

B039 : 特注品の設計再開

後はSRAMを繋いで仕様書との詰めを行うだけのところでほったらかしだった。
少しほったらかしておく期間があっても良いと今朝図面を開いて思った。

「こうで良いのかな?」、「ここはもっとこうしたほうが」なんて思う。
この図面も更に良いものになるだろう。

2009年10月14日水曜日

ATmega8でFreeRTOSを動かしてみる

さすがに8[KB]のフラッシュには載りきらない。
OSを載せてタスクを2つも立てれば領域を使い切ってしまう。
ちょっと実用的とは言えない。


でも逆に言うとこのくらいのサイズでも動くということ。

2009年10月12日月曜日

B037 : System tasks

システムのサービスを下にタスクアーキテクチャの概要を練って。
サービスを再度見直す。
サービスを見直したら再度タスクアーキテクチャを見て・・・

手直しをしながらサービスのどこをどのタスクが担うのか整理する。
FreeRTOSはシンプルな内部タスク通信と排他制御で開発者をサポートしてくれる。
デザインして純粋に楽しい。


2009年10月10日土曜日

TOPPERS/ASPカーネル開発環境構築

■ダウンロード

 ▼TOPPERS/ASPカーネル ターゲット非依存部パッケージ(担当:名古屋大学)
asp-1.4.0.tar.gz (2009-05-11)
 ▼H8/300Hアーキテクチャ・GCC依存部パッケー ジ(担当:宮城県産業技術総合センター)
asp_arch_h8300h_gcc-1.4.0.tar.gz (2009-05-13)

■展開

 asp-1.4.0.tar.gzとasp_arch_h8300h_gcc-1.4.0.tar.gzを展開。

■環境

 ▼cygwinのインストール。
 developパッケージは全てインストール。
 PATHにcygwin\binを追加する。

 ▼configureでdllエラーが発生する問題
cd cygwin\bin
ash rebaseall

■コンパイル

 ▼configure
./configureとするとコンフィグ可能なターゲットが表示される。
./configure -T akih8_3069f_gccとする。

 ▼Executable file of the configurator (cfg) is not found.と言われる。
「実行可能なコンフィギュレータが見つからない。」
→そのままの意味。

Arduino

随分前から巷で話題になっていたフィジカルコンピューティング。
自分は基板を設計してゴリゴリファームウェアを書くというのが結構好き。

でも、ここで全然違うアプローチも試してみたくなった。
これを使って楽しんでいる人たちがどういう考えで触れているのか知りたかったので書籍も購入。


このプロジェクトの始まりにも触れている。
こういうのも結構好きだ。

TOPPERS/ASPカーネル

またまた興味が湧いてきた。
今使っているプロセッサ上で動かしてみたい。

2009年10月8日木曜日

Inter-task Communicationの続き

xSemaphoreHandleを使った排他制御、同期メカニズムのテストを実施。
うーん。これも良い感じ。素敵です。

次の作業としては・・・
  • タスクの関係を本番用に整理して図式化する。
  • インチキなUSARTドライバを廃止してFreeRTOSのserialドライバを拡張するようにする。
ということにしたい。

ところで、最近ジッタなどを計測するためにオシロの購入を検討しています。
LeCroyのWaveAceが素敵!と思ったら日本国内は一カ月で販売終了となっていました。
うーん。

http://www.lecroy.com/tm/products/scopes/WaveAce/

2009年10月7日水曜日

Inter-task Communication


FreeRTOSのInter-task Communicationを試す。

xQueueHandleに対してxQueueSendToBackでキューイング。
xQueueReceiveでキューから取り出せばいい。

なかなか良い感じ。


2009年10月6日火曜日

B039 : 特注品


特注品の設計。
あるプロトコルのデコード結果を記録して表示もできるようにするというもの。
特注品と言っても適当に頼まれているだけで仕事でもなんでもない。

コンセプト(というよりこの設計でやってみること)
・ブートローダを使う。
・SD CARDを使う。
・Graphic LCDを使う。
・External SRAMを使う。
・FreeRTOSを使う。
・Flash ROMで漢字フォントを構成する。

上記を試してみたいだけだったりする。
ゴールは小さくて小回りの利く使えるプラットフォームを構築することにある。

ベースとなる設計はB037。
B037は沢山失敗したので色々勉強になった。
特にペリフェラルの勘所を掴んだ気がする。

B044 : uIRKIT

IRの実験ができるボードとして企画中。

・送信ができる。
・受信ができる。
・USBでパソコンに接続して操作できる。
・小型軽量。
・安価。(ってどのくらい?)


とりあえず過去の不良在庫基板を使って実験。


勢いあまって近所の家電量販店でSONYのリモコンまで購入してしまう。千円ちょっとで安かった。
これは優れ物で設定を変えることで各種フォーマット(NEC, AEHA, SONY, JVCなど)の信号を出せる。
実験にはもってこい。

B045 : LEDMTX CLOCK 2

B037 : LEDMTX CLOCKのバグフィックス+コンセプト変更バージョン。

コンセプトの変更
・小さくする。
・組み立てやすくする。
・安く仕上げる。

思い返せばB037は手元にある部品を消化しつつ高機能を目指すという意味のわからないコンセプトだった。結局色々部品は買うわ、中途半端なデザインで筺体も考えてないわで実験用にしかならない。今度はちゃんと筺体まで考えよう。

ということで写真上側がB037。
大量に載った5mmのLEDが大量在庫品。
これを処分しようと思ったのがそもそも間違い。
組み立てるのがとても面倒。

で、高機能はやめよう。
そもそもちょこっとスクロールさせるだけの時計にLAN経由での設定はいらないだろう。
ということで冷静になってLAN経由での制御機能は削除。
何考えているのかわからない。