2011年5月28日土曜日

G24i launches Energy Harvesting Products with Texas Instruments

今週に入って、ソフトバンクの孫氏や各地方自治体の間で、太陽電池を用いた発電に関する話題が賑やかになっていますが、他方で英国のG24iという企業が半導体大手のTIと提携して、同社の色素増感型薄膜フィルム太陽電池を用いたエナジーハーベスティングデバイスの開発に乗り出すそうです。

G24i launches Energy Harvesting Products with Texas Instruments

G24i社の太陽電池製品は、孫氏や各地方自治体が導入を検討している大電力を発電するものではなく、TIと共同開発するデバイスを用いて、キーボードやマウスなどの低消費電力の製品の電源として使うことを目的とするもののようです。

以前、M.E.S.M技報: 圧電素子による発電について思うこと、という記事を書きましたが、乾電池に代わるものを目指す製品が色々と出てきており、中々興味深いものです。

現在、筆者はMSP430をエネループ2本で動作させる装置をいくつか検討していますが、エナジーハーベスティングデバイスが入手しやすくなったら、そういったデバイスで動作するマイコンシステムを考えてみたいものです。

2011年5月21日土曜日

Gartner Says Android to Become No. 2 Worldwide Mobile Operating System in 2010 and Challenge Symbian for No. 1 Position by 2014

調査会社のガートナーの予測ではWindows Mobileが2014年には2010年の3倍近いシェアになるとのこと。Gartner Says Android to Become No. 2 Worldwide Mobile Operating System in 2010 and Challenge Symbian for No. 1 Position by 2014

ガートナーの記事は有料なので購入する必要がありますが、とりあえず私が今使っている製品(シャープ HYBRID WZERO3)ではシステムがクラッシュすることが多く、電源を再投入するとユーザーインタフェースが表示されるまでに10分近くかかるという、すさまじい重さと信頼性の低さを兼ね備えたOSであるという印象があるのですが、果たしてWindows Mobile 7シリーズでこれまでの実績で失われつづけてきた信頼を取り戻せるのか?

多分、この予想は外れると思います。少なくとも、私は次期の機種選定からはWindows Mobile搭載製品を排除した上で検討する事に決めていますので。

2011年5月17日火曜日

ハードウェア記述言語 - 回路設計とプログラミングの狭間

私の本業は、ハードウェア記述言語を使用した回路設計なのですが、慣れるまでが大変だったりします。

コンピュータのプログラム言語のように、ハードウェア記述言語と呼ばれる言語を用いて回路を組んで行きます。

現在主に使われている言語はVHDLとVerilog-HDLですが、Verilog-HDLの方は記述の仕方がC言語とよく似ており、噂によるとC言語のプログラマーにも回路設計ができるというセールストークで処理ツールを売り込んでいたようです。

Verilog-HDL自体は原型が1983年から1984年の冬に作られたそうですが、標準規格として最初にまとめられたのが「IEEE Standard. 1364-1995」です。

一方、VHDLは米国国防総省向けのLSI設計に用いるために「IEEE Standard. 1076-1987」として標準規格としてまとめられました。

いずれの言語も規格がアップデートされていますが、旧版との互換性が保たれています。

ハードウェア記述言語は、特別なCADツールを使わずにテキストエディタで回路設計が出来たり、複雑な組み合わせ論理回路を論理式で記述する事で実装できたり、ステートマシンも容易に作れるという利点があります。

また、ハードウェア記述言語はそれぞれの言語に対応したシミュレータを用いて、容易にシミュレーションを行うことが出来ますので、LSIのように莫大な試作コストを必要とする製品の回路設計に最適です。

上述のような利点もありますが、深刻な問題も抱えています。


深刻な問題点とは、ハードウェア設計であるにもかかわらず、設計者自身がソフトウェアの開発をしているような錯覚に陥る。あるいは、周囲の人間がソフトウェア開発だと錯誤してしまうという点です。

特に、ハードウェア記述言語による回路設計を、プログラミング言語によるソフトウェア設計であると意識して設計された回路は正常に動きません。

恥の上塗りではないですが、そのように設計された回路を正常に動かそうとして、色々と小手先の修正を加えてゆくと最終的には手の施しようの無い、いわゆる「スパゲッティコード」と呼ばれる状態になります。それでも一応動いていそうな回路にすることも出来てしまいますので、品質の悪い設計が代々受け継がれてゆくという、上記で挙げたハードウェア記述言語の利点を打ち消して余りあるほどの「負の設計資産」を作り出すリスクもあります。


そのような点を考慮しますと、ハードウェア記述言語を用いた設計の担当者に求められる資質は、まず第一に電子回路、特に論理回路設計ができること、第二にはプログラミング言語を扱える事があるといえます。

電子回路設計の技術が必要である事は、ハードウェア設計者として当然必要な技術ですが、プログラミング言語を扱える事とは何でしょうか?

簡単に言いますと、シミュレーションのための入力データを生成するプログラムが作れる技能と、シミュレーションそのものを効率的に行うためのハードウェア記述言語を用いたソフトウェア的なプログラミングの技能という事になります。

一見、ソフトウェア開発のように見えるハードウェア記述言語による回路設計ですが、それはあくまでも見かけだけの話で、実際にはハードウェアを作っているという意識を持つことが大切だといえます。

2011年5月5日木曜日

LaunchPadを入れる箱

LaunchPadを用いた実験用に製作した「箱」を紹介します。

この「箱」は中にLaunchPadの基板を収納し、LaunchPad上のターゲットデバイスの汎用ポートからLEDの点滅、またはプッシュスイッチによる入力のテストを簡単に行えるようにしたものです。

ベースとなるユニバーサル基板上にLaunchPad他、基板実装部品を取り付けてあり、さらにICE用ケーブルを接続するピンヘッダをベース基板端部に取り付けてあるので、間にアダプタとなる回路を挿入する事で、ターゲットデバイスをターゲットシステム基板に搭載した状態でデバッグできるようにもしています。

回路図は以下の通りです。


基本的にピンヘッダとプルアップ及び電流制限抵抗の塊と言ってよい回路構成です。また、LEDとスイッチはケースの上面に取り付けてあります。


ベース基板とケース上面の間はフラットケーブルを用いて接続してあり、ケース上面のLEDやスイッチは空中配線としています。

ちなみに、ケースとベース基板はタカチの製品を使用しています。

  • ケース:YX-150A
  • 基板:TNF128-136

2011年5月3日火曜日

EAGLEのライブラリエディタ

現在、TIのLaunchPadをMSP430G2xシリーズのICEとして使う計画を進めておりますが、図面を引くのに少々てこずっております。

CADとしては回路図とボードレイアウトの両方が作成できるEAGLE CADのフリーウェア版を使用しておりますが、ライブラリに入っていないデバイスや未定義の回路シンボルが非常に多いので、ライブラリ編集は必須なのですが、その中でも面実装ICのライブラリ作成に威力を発揮するマクロmake-symbol-device-package-bsdl.ulpのモデル作成ウィンドウが、我が家の14インチディスプレイの縦方向のサイズよりも大きく、縮小も出来ないため実質的に操作できない状態となっております。

選択肢は3つあります。

  • ディスプレイを大きいものに買い換える
  • 使用するCADソフトを変える
  • マクロを改造する

ディスプレイを大きいものに買い換えるのは出費を伴いますが、他のソフトも使いやすくなるという相乗効果が得られます。

使用するCADソフトを変えるのは使用方法に慣れる必要がありますが、比較的簡単な対処法です。

マクロを改造するには、マクロプログラムの作成方法に慣れる必要があり、そのための学習書を入手するといった、費用と手間を要するわりに得られる効果が少ないというリスクがあります。

そういったわけで、ICE本来とはあまり関係ないところで現在悩んでいるところでもあります。

フォロワー