« iTAX-irDAで「お父さんってしゃべるんだー!ストラップ」を作ってみた(その1) | トップページ | iTAX-irDAで「お父さんってしゃべるんだー!ストラップ」を作ってみた(最終回) »

2009年2月 5日 (木曜日)

iTAX-irDAで「お父さんってしゃべるんだー!ストラップ」を作ってみた(その2)

はい、前回の続きです。まずは完成品の動画を見ていただきましょう。

いかがなもんでしょうか?人によっては「全然聞こえねー」と言う場合もあるかもしれません。ご了承ください。ちなみに私の場合は作成の過程で死ぬほど音声を聞いたのですっかり脳内補間されちゃってたりします。

ここに至るまでは意外と色々ありました。ざっと挙げると

  1. gcc環境がうまく作れない
  2. 割り込みハンドラの書き方がイマイチわからない
  3. HEWのプロジェクト設定がよく分からない
  4. HEWのシミュレータデバッガがよく分からない
  5. フラッシュROMへの書き込み時に通信エラー頻発
  6. 圧電ブザー直結ゆえのキャリアノイズとの戦い

ってな感じでしょうか。

1はWebサイトに色々情報があったのですが、自前でcygwinやらbinutilsやらをインストールするものの、configureとかmakeで何故かエラーが出て上手く行きませんでした。バージョンとかもWebサイトのものに極力あわせたりとかもしたんですがねー。結局コンパイル済みバイナリをGetしてそれでお茶を濁す事にしました。

2はその後、割り込み処理で音声データを処理しようと思ったものの、正しく書いているつもりでも上手く動かず、フラッシュROMの書き込み回数も考えると闇雲にやる訳にも行かない(FRマイコンの時は最初の頃はそれこそ「ちょこっと修正しては書き込み」をやってたので・・・)と言う事で、3にあるHEWの出番となりました。いやーやっぱ統合環境っていいもんですね。

と思ったのもつかの間、3、4にもあるようにHEWの圧倒的な多機能にやられっぱなしでした。gccのサンプルプロジェクトのメモリ配置とか、FRマイコンのSOFTUNEでの経験を基に、なんとかデバッグできるようにはなりましたが、シミュレータデバッグでは8ビットタイマは非対応・・・って事でメモリマップを直に書き換えて擬似的にタイマフラグをOn/Offさせたりとかで大変でした。

あと、結局割り込み処理は断念。メインループ内の無限ループ内でフラグ監視の手法にしました。Web上で見かけるH8のサンプルは意外とこのパターンが多いような気がします。まぁ、お手軽ですもんねー。でも最初はプライドが許しませんでした(結局折れましたが)。

え、トラ技の78K0基板のトラ技BIOSみたいにモニタがあったでしょって?そーなんですよ、フラッシュROM書き込み回数の制限と戦うより効率的と思ったんですが、これはなんかメモリ設定が悪いのか、5にもあるように書き込み用のハードが悪いのか上手く行かず断念しました。

5は今回一番深刻だったかも。書き込みには結局FlashSimpleを使ったんですが、今ルネサステクノロジさんのサイトで配布されている書き込みツールではROM消去の後100%通信エラーになってしまっていました。原因はUSB-シリアル変換ケーブルか、あるいは自前の回路の問題だとは思いますが詳細は不明です。とりあえず、USB-シリアル変換ケーブルのドライバ設定でバッファサイズを小さくしたら若干改善はして、FlashSimpleで8割程度の勝率となりました(FlashSimpleでのエラーはベリファイ時のもので、大抵は上手く書き込めているので実質は9割くらいか)。

6はタイマのクロック設定がなかなかしっくり来ず、8ビットタイマをカスケードしたりした結果、サンプリング周波数8kHzのデータをそのまま8kHzでPWMする形になって4kHzあたりのノイズがえらいことに。その後設定を見直して、2倍オーバーサンプリングによる実現でノイズを8kHz帯にシフトして誤魔化しました(LPFかませればもっと改善するはず)。

という事でこれにて一旦終了。本当は待機中に省電力モードに移行させて電池の持ちを良くしたりとかもやってみたい(現行は無限ループでボタン押下待ちなんで、電池の持ちは悪いんだろうな多分)のですが他にも色々と詰まってますので。

|

« iTAX-irDAで「お父さんってしゃべるんだー!ストラップ」を作ってみた(その1) | トップページ | iTAX-irDAで「お父さんってしゃべるんだー!ストラップ」を作ってみた(最終回) »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/2790/43959014

この記事へのトラックバック一覧です: iTAX-irDAで「お父さんってしゃべるんだー!ストラップ」を作ってみた(その2):

« iTAX-irDAで「お父さんってしゃべるんだー!ストラップ」を作ってみた(その1) | トップページ | iTAX-irDAで「お父さんってしゃべるんだー!ストラップ」を作ってみた(最終回) »