2010年5月3日月曜日
AVR244 Application Examples
I ported AVR244 application note to B037 LEDMTX CLOCK.
AVR244 provides practical console application for debugging and user use.
In this video demonstrate the application example.
And I'll show you my board.
[埋込みオブジェクト:http://www.youtube.com/v/_doha8lSlrI&hl=en_US&fs=1&]
The operating system is FreeRTOS.
AVR244 provides practical console application for debugging and user use.
In this video demonstrate the application example.
And I'll show you my board.
[埋込みオブジェクト:http://www.youtube.com/v/_doha8lSlrI&hl=en_US&fs=1&]
The operating system is FreeRTOS.
2009年10月12日月曜日
B037 : System tasks
2009年9月19日土曜日
ATmega64採用基板のファームウェア検討(仕様検討)
ファームウェア設計にあたって仕様を練る。
今回の設計は色んなテストを兼ねているので機能仕様と技術仕様の境界は曖昧で良い。
■仕様
・日付と時刻を設定できる。
・日付と時刻を表示できる。
・メッセージを表示できる。
・リモコンの受信ができる。
・メッセージをパソコンに接続して編集できる。
・メッセージをネットワークに接続して編集できる。
・リモコンの送信ができる。
・アラームを鳴らせる。
・メッセージを保存できる。
・日付と時刻を設定できる。
・日付と時刻を表示できる。
・メッセージを表示できる。
・リモコンの受信ができる。
・メッセージをパソコンに接続して編集できる。
・メッセージをネットワークに接続して編集できる。
・リモコンの送信ができる。
・アラームを鳴らせる。
・メッセージを保存できる。
一部の仕様は回路の都合上削ることになるだろう。
内蔵ペリフェラルを使う設計にしていなかったためだ。
RTOSを載せる以上、ペリフェラルの使用は必須だ。
いちいちタイマーでゴリゴリ書かない。
RTCなんかもその一つ。
好きなタイミングで読んでも正しい時刻が得られるのは当たり前だけど当たり前じゃない。
ホビー用途ではタイマーを使って時計を実現したりする。
RTOSを使う場合、通常異なるアプローチとなる。
その1つがRTCだ。
2009年9月17日木曜日
ATmega64採用基板のファームウェア検討(FreeRTOSのポーティング)
ハードウェアについては一通りの確認が終了。
ハードウェア確認用ファームウェアをそのまま使うのは正直あまり面白くない。
そこでちょうど興味のあった小さなOSを載せる事を検討。
今回は内蔵ペリフェラルを使うべきところを通常のポートに接続してしまった所もあった。
OSでタイマーを消費してしまうと力技での対処は難しくなる。
そこでちょうど興味のあった小さなOSを載せる事を検討。
今回は内蔵ペリフェラルを使うべきところを通常のポートに接続してしまった所もあった。
OSでタイマーを消費してしまうと力技での対処は難しくなる。
でもいずれハードウェアは改修するのだから、力技は捨てた。
方針が決まればやるだけ。
以前から目をつけていたFreeRTOSをポーティングすることにした。
ポーティングと言ってもATmega323への移植があるのでそれを流用。
同じATmegaなのでほとんど修正いらずだった。
ディスプレイとシリアルのタスクを立てて並列動作のテスト。
第1段階としては良さそう。
タイミングジッタと精度を測っておきたいなぁ。
2009年9月14日月曜日
ATmega64採用基板のデバッグ(XPort動作確認編)
3.3Vレギュレータを先に取り付け出力電圧を確認。
XPortを取り付け動作確認。
実はこの基板、最終工程で容量の大きなCを追加する予定がそのまま発注してしまったもの。
案の定XPortが起動するかしないかで電源が発振している様子。
マイコンがリセットを繰り返す。
電源系にCを後付け。
マイコンが正常に起動することを確認した。
今度はLANTRONIX社のDeviceInstallerでXPortの設定。
MACアドレスを入力するとデバイスの設定ができる。
デバイスの設定をしてWEB設定を開いてみる。
ところどころのページが「ない」と言われる。
先ほどの電源が発振した時にフラッシュの内容が壊れたかもと思う。
LANTRONIX社のホームページからファームウェアのromファイルとWEBセットアップのcobファイルをダウンロード。書き込んで全てのページで正しく表示が行われることを確認した。
2009年9月13日日曜日
ATmega64採用基板のデバッグ(クロック選択編)
2009年9月12日土曜日
ATmega64採用基板のデバッグ(どうすんの解決編)
2009年9月11日金曜日
ATmega64採用基板のデバッグ(どうすんの編)
2009年9月10日木曜日
2009年9月6日日曜日
ATmega64採用基板のデバッグ(FT232RL動作確認編)
昨日発覚したSPI経路のバグ。
ATmega64のTXD/PDO, RXD/PDIには既にFT232RLが直接接続されていた。
MISO, MOSIをそれぞれPDO, PDIに接続し直し、FT232RLはアイソレーションパターンカット。
冷静に考えたらFT232RL側のパターンカットをする前に一度SPIを動作させてしまっていた。
出力段が衝突して回路が死んでいるかもと思う。
幸いエコーバックするプログラムを書き込んで動作しているので問題なさそうだ。
でもこれは運がいいだけ。普通なら壊れているもんだ。
最近のデバイスは耐性を高めるために出力段も色々工夫されている。
もしかしたらそういった恩恵を知らずに受けているのかもしれない。
買ったばかりのAVRISP mkIIも無事のようだ。
まったく何やってんだか。
次はI2C ROMを見ていこうと思う。
2009年9月5日土曜日
ATmega64採用基板のデバッグ(バグ大量編)
- SPIのデータはMOSI, MISOでない。正しくはPDI, PDO。これはATmega8とは異なる。ついついひょいひょいと繋いでしまった。
→2本のジャンパ追加。
- SPIコネクタのVccはターゲットのVccとアイソレーションすることにし「解放」にしていたが、AVRISP mkIIではプログラミングできない。
→1本のジャンパ追加。
- バグ1の関係でTXD/PDO, RXD/PDIに接続しているFT232RLがSPI動作に影響を与えている。
→アイソレーションが必要。FT232RLの~RESETを使えば良いか?
ミスはミス。
起こってしまったことは仕方ない。
こうやってどんどん過ちを繰り返して成長して行くものだ。
でも、データシートは確認しようね。
今日中にISPとUSB-SERIAL周りを確認する予定だった。
FT232RLのISPとのアイソレーションを再考したいので今日はここまでとした。
登録:
コメント (Atom)