January 01, 2012

あけましておめでとうございます

E256あけましておめでとうございます。

イラストは、成層圏を飛ぶ龍です。
参考になるようなものを何も見ずに、記憶だけで描いたら、こんな龍になりました。
まあ、個性的と言うことで・・

今年も、よろしくお願いします。

| | Comments (1) | TrackBack (0)

December 24, 2011

STM32入門 互換性

E255_2今回は、STM32の互換性の話。
データシートだけでは、本当のところが判らないので、実際に買って試してみた。
さすがに、全品目買うわけにはいかないので、左の写真のように適当に選んで購入して、テストしてみた。写真の上段左から STM32F100VET6B STM32F101C4T6A STM32F103RGT6 STM32F105R8T6、下段左から STM32L152C8T6 STM32F205RBT6 STM32F405RGT6 である。
結論から言うと、
・シリーズ内では、ハード/ソフト共に極めて互換性が高い
・シリーズ間では、ハード/ソフト共に、やや互換性が落ちる
である。

詳しく説明する。
まず、どのようなテストをしたかだが、全ての CPU には、最低限の外部部品を配線した。概ねパスコン及びリセット用のコンデンサーと電源としてのは単三電池2本、それとプログラム書き込み用の JTAG 端子だけである。CPU内蔵のクロックを使ったので、水晶も使っていない。
動作確認用として、全ての機種に存在する Bポートの 11ビットに抵抗を介して LED を配線している。
プログラムは、JTAGkeyクローンと ST-LINK で書き込んだ。もちろん、LEDチカチカするプログラムである。

【ハードウエア互換性】
F1シリーズ内とL1シリーズ内は、完全な上位ピンコンパチだ。
パッケージのピン数が同じなら、ピンの配置は同一だし、ピン数が増えても増えた部分は主にパッケージの四隅に集中しており、そのまま存在するピンの配置は同じようになっている。
もちろん、機種ごとに周辺機器が違うので、低位のCPUには無いピンの機能もある。例えば、F100やF101にはUSB用のピンが無いが、F102より上位のCPUにはUSBがある。上位CPUでUSBに割り当てられているピンは、下位CPUでは単純なI/Oポートになっている。これらのピンは、上位CPUでも起動時デフォルト状態では、下位CPUと同じ単純なI/Oポートとして使える設定になっている。プログラム上で、USBとして使用するように設定すれば、USBピンになる。このように、上位互換性が取れている。

同じようにF2シリーズ内とF4シリーズ内も、上位ピンコンパチだ。つまり、ピン配置的に言うと STM32は「F1シリーズとL1シリーズ」のグループと「F2シリーズとF4シリーズ」のグループの2グループに分かれていて、それぞれのグループ内では、上位コンパチブルになっている。

では、「F1/L1グループ」と「F2/F4グループ」で、全くピン配置が違うと言うとそうでも無い。
実は、違いは電源周りだけだ。「F2/F4グループ」には、VCAP/PDR_ON/REFGOFFが新設されている(PDR_ONは100ピン以上のパッケージにしかない。REFGOFFは現状持っている品種が無い)。
VCAPは、CPUに内蔵された定電圧レギュレータの平滑コンデンサー用のピンだ。あって当然というか、むしろ「F1/L1グループ」が平滑コンデンサー無しで動作している方が驚きとも言える。PDR_ONは、入力電源の下限値と動作可能温度範囲を変更するためのピンである。VCAP/PDR_ON共に「F1/L1グループ」では、VSSのピンに割り当てられている。その他、「F1/L1グループ」と「F2/F4グループ」で、VDDとVSSが逆転しているところもある。もし、「F1/L1グループ」と「F2/F4グループ」で共通して使うプリント基板を作る場合、上記のように電源周りだけは、気を付けなければならない。マニュアルにも書いてあるが、数カ所ジャンパーを設けるだけで対処できる。

【プログラムの書き込み】
最新版のファームウエアにアップデートした ST-LINK なら、全てのCPUに書き込みができる。
JTAGkey クローンの場合、OpenOCDのバージョンによって異なる。リリース版の OpenOCD 0.5.0 の場合、STM32F100VET6B と STM32L152C8T6 には書き込めなかった。GITで拾った最新ソースで構築した OpenOCD 0.6.0 だと、全ての CPU に書き込めた。この違いは、CPUのIDが OpenOCD に登録してあるかによる。
なお、STM32F405RGT6 に関しては、「F205のIDになっている」とのエラッタが出ているので、それで、古いバージョンの OpenOCD 0.5.0 でも書き込めたのかも知れない。エラッタが修正されると、OpenOCD 0.5.0 で書き込めなくなる可能性がある。

【ソフトウエア互換性】
プログラムが書き込めるからと言って、必ずしも正常に動作するわけではない。
最も下位レベルのCPUである STM32F101C4T6A (全STM32ファミリー中、価格が最も安い)に合わせて作った LED チカチカプログラムのバイナリを全てのCPUに書き込んだところ、F1シリーズは全機種、何の問題もなく動作した。しかし、L1/F2/F4シリーズは動作しなかった。
元々のプログラムはF1シリーズ用のヘッダ・ライブラリを使っていたので、これらをごっそり F4シリーズ用に交換しコンパイルしたら、F4シリーズで動作した。しかし、このバイナリを他のシリーズに書き込んでも動作しなかった。L1とF2もヘッダ・ライブラリを交換したら動作すると思うのだが、まだやっていない。
結論としては、シリーズ内は、バイナリーレベルのソフトウエア互換性がある。しかし、シリーズをまたぐと、シリーズ専用のヘッダ・ライブラリを使ってコンパイルしなおす必要があると言う事になる。

とまあ、こんなところ。
・シリーズ内は極めて互換性が高いから、シリーズ中一番低いレベルのCPUから始めてステップアップしても、一番高いCPUから始めても構わない。
・シリーズ間のハードウェア互換性は、電源周りが違うだけ。プリント基板を作るなら、数カ所のジャンパーで済むから、「F1/L1グループ」と「F2/F4グループ」で共通して使えるようにしておくと良いかも。
・シリーズ間のソフトウエア互換性は、シリーズ専用のヘッダ・ライブラリを使った再コンパイルが必要になる。これが面倒と思うか、どうかは、個人の考え。

と言うわけで、私は安いものから始めた方が良いと思うので、184円の STM32F101C4T6A から始めた。高機能高性能が良いなら、1243円のSTM32F405RGT6 から始めるのも一つの手ではある。(価格は、2011.12.24現在、Digi-key調べ)

| | Comments (0) | TrackBack (0)

December 15, 2011

STM32入門 STM32のファミリー構成

E254さて、実際にSTM32を買おうと思って、Digi-key 等を見ても、在庫しているだけで、200近い品種があるので、どれを買おうか迷ってしまうだろう。だが、STM32の型番には規則性があり、型番を見れば大体どういう中身か想像が付く。
今回は、STM32の型番の見方だ。

イラストのように型番には幾つかの要素がある。
(ア) シリーズ/ライン
シリーズ/ラインは、CPUの速度や周辺機器など、マイコンを大きく特徴付ける部分を示す。現状、STM32には F1シリーズ、L1シリーズ、F2シリーズ、F4シリーズの4つがあり、各シリーズ内では互換性が高い。

・F1シリーズ
最も古くからあるシリーズで、現在の主力。さらに細かく細分化される。(シリーズを細分化したのが、ラインなのだが、F1シリーズがデビューした当時は良く使われたが、最近はラインと言う言葉をメーカーでも使っていないようなので、無視して良いと思われる)
 F100:クロック 24MHzでUSART/SPI/I2C/ADCとタイマー。
 F101:クロック 36MHzでUSART/SPI/I2C/ADC。
 F102:クロック 48MHzでUSART/SPI/I2C/ADC/USB(クライアント)。
 F103:クロック 72MHzでF102に追加して、CAN/I2Sとタイマー。
 F105:クロック 72MHzでF103に追加して、SDIO/DAC/USB(ホスト)。
 F107:クロック 72MHzでF105に追加して、イーサネット。

・L1シリーズ
昨年出たシリーズで、低消費電力バージョン。
 L151:クロック 32MHzでUSART/SPI/I2C/ADCとタイマー。
 L152:クロック 36MHzでL151に追加して、LCDコントローラー。

・F2シリーズ
今年初めに出たシリーズで、高性能バージョン。
 F205:クロック 120MHzでUSART/SPI/I2C/ADC/USB/CAN/I2S/DAC/SDIO/タイマー。
 F207:クロック 120MHzでF205に追加して、イーサネット。

・F4シリーズ
今年秋に出たばかりのシリーズで、浮動小数点プロセッサ付きの高性能バージョン。
 F405:クロック 168MHzでUSART/SPI/I2C/ADC/USB/CAN/I2S/DAC/SDIO/タイマー。
 F407:クロック 168MHzでF405に追加して、イーサネット。

(イ)パッケージピン数
・T: 36
・C: 48
・R: 64
・V: 100
・Z: 144
・I: 176

(ウ)メモリ容量(RAMメモリの方は多少上下するので注意)
・4: ROM:16K RAM:6K程度
・6: ROM:32K RAM:10K程度
・8: ROM:64K RAM:20K程度
・B: ROM:128K RAM:20K程度
・C: ROM:256K RAM:48K程度
・D: ROM:384K RAM:64K程度
・E: ROM:512K RAM:64K程度
・F: ROM:768K RAM:96K程度
・G: ROM:1M RAM:96K 程度

(エ)パッケージ
・U:VFQFPN
・Y:WLCSP
・H:LFBGA
・T:LQFP

(オ)温度範囲
・6:-40度〜85度
・7:-40度〜105度

(カ)バージョン
・無い場合もある。
・A,B,C

と言う具合。ただし、周辺機器に付いては、数が多過ぎて網羅しきれないので、主要なものだけあげてある。また、同じシリーズでもピン数の多いものだけあるとか、メモリの多いものだけ設定のある周辺機器もあるから注意が必要だ。
また、全ての組合せがあるわけではなく、高速クロックのCPUに小容量メモリの組合せやピン数の少ないパッケージの組合せなどは無い。一般的に、高速なCPUで多機能な周辺機器なほど、メモリ容量が大きいほど、パッケージのピン数が多いほど、高価だが、多少、順番が異なっている事もあるので、購入の時には注意しよう。

では、クロック速度や周辺機器、メモリ容量やパッケージのピン数、浮動小数点プロセッサの有無が適切でさえあれば、どれでも購入して良いのか?
次に、気になるのは、互換性だ。ピン配置やプログラムに互換性があるのか?
と言うわけで、次回は、STM32ファミリー同士での互換性の話。

| | Comments (0) | TrackBack (0)

December 11, 2011

皆既月食をコンデジで撮った

E253これは、昨日の皆既月食を撮ったもの。
ブレているし、ピントも甘いけど、コンデジで撮った上、手持ちなのだから、これだけ撮れれば十分。逆に、これだけ撮れて驚いたくらいだ。
時間的には、ほとんど、皆既月食になった瞬間くらいだ。
いい月夜であった。

| | Comments (0) | TrackBack (0)

December 08, 2011

STM32入門 JTAGkey クローンを作る

E2521今回は前回に続いて、STM32にプログラムを書き込むために必要な JTAGkey クローンの話。
左の写真は、私が作ったJTAGkey クローン達。作った順に左から 1号機 2号機 3号機である。1号機は最初に作ったので、余裕をもった大きさに作っている。1号機で動作確認できた後、2号機と3号機は本格的に使うためにケースに入れ、小型化している。なお、2号機は最も丁寧に作ったのだが、他の人に貰われて行って、既に手元には無い。

JTAGkey クローンに付いてはJTAGkey cloneなどに詳しく説明があるが、これが私が作った回路図である。意外と簡単だ。
Jtag_keyポイントは、秋月で買った FT2232モジュール(1450円)と言う USB−シリアルインターフェースを中心に作っている事と、ロジック電圧の変換に 74VHC125 を使っている事、コンフィギュレーションを記録するためにシリアルROMのAT93C46/56/96を使っている事だ。なお、シリアルROMが回路図に載っていないのは、FT2232モジュールの上に直付けするパターンがあるためだ。
実は、このROMが曲者で、FT2232モジュールのパターンは、8ピンSOP(ピン間ピッチ1.27 mm パッケージ幅3.90mm)用なのだが、これが秋葉原の部品街で手に入らない。ROMを除く全ての部品は、秋葉原で手に入るのに・・・

E2522ただ、秋月では、DIPサイズのAT93C46が40円で売っている。冒頭の写真を見ると判ると思うが、私の JTAGkey クローン 1号機は、秋月で買った DIPのAT93C46を無理やり配線して使っている。
これに対し、2号機と3号機は、digi-keyで買った SOPサイズのAT93C56を使っている。11月29日付のブログで、「AT93C56A-10SU-2.7-ND」を買っておいた方が良いと言っているのが、これだ。
その他、74VHC125 は鈴商で 5個セットで 300円で売っている。ただ、SOPなので、DIPへの変換基板は千石で同じく5個セットで450円だ(ICより変換基板の方が高いのもなんだが・・)。 2号機 3号機で使っているケースも TB-55 と言う千石で180円で売っているものだ。2号機の内部写真も載せておくが、小型化のためにFT2232モジュールのピンも外している。ちょっと無理して小型化した感があり、ここまで小さくする必要は無いだろう。

E2523配線が終わったら、JTAGkey クローンには、コンフィギュレーションが必要だが、この作業は、Windowsパソコンで行う。JTAGkey クローンのコンフィギュレーションは一度やってしまえば、二度とやる必要が無いが、Linuxユーザーも、この作業の時だけ Windowsパソコンを使うなり借りるなりする必要がある。

JTAGkey クローンのコンフィギュレーションには、次の3つのファイルが必要だ。
・CDM20814_WHQL_Certified.zip
 ドライバからダウンロード
・CDM20814_WHQL_Certified_JTAGKey.zip
 おきばから、たどっていく。
・MProg3.5.zip
 MProg よりダウンロード
 現在では、FT_Prog の方が新しいようだが、今回はMProgを使って説明する。

以上のファイルは、ダウンロードの上、解凍しておく。

JTAGkeyクローン を WindowsパソコンのUSBに挿し込むと新しいハードウェアを見つけたと言うので、「CDM20814_WHQL_Certified.zip」の解凍したディレクトリを指定してドライバをインストールする。なお、回路図通りに作ったら、FT2232モジュール上のジャンパーは必要ない。

E2524MProg.exe を起動し、「File」メニュー「New」を選択し、左図の赤線で囲ったところのように値を変更する。(赤線で囲った内、幾つかは変更しなくて良い箇所もある)
その後、「File」メニューの「Save as」で適当な名前でセーブする。
「Device」メニューの「Scan」で、MProgの一番下に「Number Of Blank Device = 1」が表示される事を確認する。もし、そうでなければ、「Device」メニューの「Erase」で、ROMを消去する。
最後に「Device」メニューの「Program」でコンフィギュレーションを書き込む。

MProg を終わらせた後、JTAGkeyクローン を一度抜き、USBに再度挿し込むと新しいハードウェアを見つけたと言うので、CDM20814_WHQL_Certified_JTAGKey.zip」(さっきと違うので注意) の解凍したディレクトリを指定してドライバをインストールする。
この時、なんか知らんが、四回くらい新しいドライバーをインストする。

デバイスマネージャーで確認すると
・USB(Universal Serial Bus)コントローラの中に
 ・Amontec JTAGKey A
 ・Amontec JTAGKey B
・ポート(COMとLPT)の中に
 ・Amontec JTAGKey (COM25) <= COM番号は異なる
 ・Amontec JTAGKey (COM26) <= COM番号は異なる
があることを確認する。

これで、JTAGkeyクローンの準備ができた。後は実際にSTM32にプログラムを書き込んで動作確認するだけだ。

| | Comments (1) | TrackBack (0)

December 04, 2011

STM32入門 プログラムを書き込む方法

E251写真は STM32 にプログラムを書き込んだりオンボード・デバッグをするために、パソコンと接続するインタフェースだ。写真の左が自作したJTAGkey クローンで、右が秋月で買ったST-LINK。今回は、どっちを買えば、もしくは作れば良いかって話。

PICやH8、SH-2と同じように STM32 もフラッシュROMを内蔵していて、そこにプログラムを書き込んで使う。もちろん、プログラムは母艦となるパソコン上でコンパイルやアセンブル・リンクを行なって作る。

ここで問題となるのは、作ったプログラムをどうやって STM32内のフラッシュROMに書きこむかと言う事だ。STM32の場合、フラッシュROMに書き込む方法の情報がなくて悩むのではなく、逆に情報が多すぎて、何だか判らなくなる。STM32に関して書かれた書籍や雑誌に記事などは、コンパイラ・アセンブラ・リンカーやデバッガー、統合環境、プログラム書き込み・オンボードデバッガーなどを一度に説明しようとするが、それらの組み合わせは星の数ほどある。
しかし、パソコン上でプログラムを作るためのコンパイラやアセンブラ・リンカなどに関しては、無料で使える良いものがあって、パソコンとインターネットが使える環境さえあれば、数時間もあればセッティングできるので、ひとまず後回しにしよう。今回は「作ったプログラムをSTM32に書き込む方法」に絞って話を進める。

まず、物理的にSTM32のフラッシュROMへのプログラム書き込む方法は、以下の4つである。
 1: USB経由 (DFU)
 2: シリアルインターフェース
 3: SWD
 4: JTAG
この内、1は USB ケーブルで母艦パソコンと接続するだけと言う極めて簡単なインターフェースで良い反面、「USB I/F を持つ STM32にしか使えない」事と「最初に DFU と呼ばれるローダープログラムを、他の方法で書き込む必要がある」事と言う二つの欠点をもつので、以降の説明から除外する。
また、2もインターフェースは簡単だが、デバックができないなどの欠点がある事と、私自身が未だ動作確認していないので、これも以降の説明から除外する。

残りの3と4だが、これを実際に母艦パソコンに接続するインターフェースと、母艦パソコンでプログラム書き込みに使うアプリケーションソフトも幾つかあって、その組み合わせも多い。主な組み合わせを以下に示すが、表記上「」を物理的にSTM32と直接つながる部分、『』をSTM32とパソコンと接続するインターフェース、【】を母艦パソコンでプログラム書き込みに使うアプリケーションソフトとさせてもらう。

組合せ 1:「SWD」『ST-LINK』【ST-LINK Utility】
組合せ 2:「SWD」『ST-LINK』【TrueSTUDIO (Lite)】
組合せ 3:「SWD」『Versaloon』【OpenOCD】
組合せ 4:「JTAG」『JTAGkey』【OpenOCD】

組合せ 1 は、Windows上のみのサポート。私のところでも動作確認できている。
組合せ 2 も、Windows上のみのサポート。最も一般的なはずなのだが、私のところでは動かない。
組合せ 3 は、Windowsおよび Linux 両方のサポート。残念ながら、私のところでは動いていない。
組合せ 4 も、Windowsおよび Linux 両方のサポート。私のところでは、WindowsでもLinuxでも正常に動いている。

私が言うのもなんだが、私すら手こずって動作確認できないのは、お勧めできない。動作確認さえできれば、組合せ 2や 3も良いのだが、やはり止めておく。特に、組合せ 3は、これが動けば理想的なんだが、そうもいかない。

さて、残った組合せ 1と4では、それぞれ『ST-LINK』と『JTAGkey』と言うインターフェースが必要で、これはハードウエアだから、買うなり作るなりする必要がある。

ST-LINKは、秋月やストロベリー・リナックスで 2500円程度で売っているので、入手は楽だ。難点は、STMicroelectronics の純正なのは良いんだが、ガードが固くて中がどうなっているか判らない事。そのため、アプリケーションも STMicroelectronics の純正か、TrueSTUDIO (Lite)のような製品もしくは体験版だけとなる。書き込み用の ST-LINK Utility は、それなりに使えるのだが、私の場合、TrueSTUDIO (Lite)が動かいないので、デバックができない。もし、ST-LINKの中身が判れば、オープンソースのアプリケーションが作られるのだろうが、そうはいかない状態だ。

それに対し、JTAGkey は本物は1万円以上と高いし、どこで買えば良いのかも良く判らない。しかし、中身は良く知られているので、同等品(JTAGkeyクローン)を自作するのは簡単で 3000円程度で作れる。また、中身が知られているのでオープンソースのアプリケーションもあり、Windowsだけでなく、Linuxでも使える。JTAGkey は、JTAGインターフェースのデファクトスタンダードなので、STM32だけでなく、各社・各種のCPUマイコンやFPGAにも書き込める。それに対し、ST-LINK は、STMicroelectronics の STM8 と STM32 だけしか対応していない。

主に、LINUXを使っていて、余りお金をかけられない私としては、JTAGkey クローンが唯一の解だ。

と言うわけで、ここでの結論は「JTAGkey クローンを使ってSTM32にプログラムを書き込もう」って訳。
作り方は、また次回・・・

| | Comments (0) | TrackBack (0)

November 29, 2011

STM32入門 何から買うか?

E250STM32に限らないが、新しいCPUを使い始める時に最初に悩むのは何から手に入れたら良いかだ。まあ、大概の場合、雑誌の付録になっているCPUボードとか、CPUメーカーが体験用に出しているボードから始める事になっている。
STM32の場合、DesignWave 2008年5月号に付いていた付録CPUボードや「STM32 value line Discovery」と言うボード、その他、ストロベリー・リナックスで扱っているCPUボードがコストパフォーマンスが良いと言われている。私自身、写真の右側にあるように DesignWave 2008年5月号の付録CPUボードと「STM32 value line Discovery」を持っている。だが、本当に、それがベストだろうか?

私の独断と偏見で言わせてもらうと、こう言った体験ボードは余り役に立たない。STM32をチップ単体で購入してスクラッチから回路を作った方が良い。(写真の左側の4つ参照)
STM32を本格的に組み込み用に使おうと思えば、いずれは嫌でもチップ単体から組み上げなきゃいけない。どうせ、チップ単体から組み上げる事になるなら、早い方が良い。体験ボードは本当に体験版でしかない。私は、DesignWave 2008年5月号の付録CPUボードと「STM32 value line Discovery」を、ほとんど使っていない。本格的に使い出したのは、CPUをチップ単体で購入してからだ。

もう一つの理由は、STM32が比較的簡単に最小構成回路を作れる事にある。
例えば、PICに入門する時、誰も体験用ボードから入れとは言わないよね。
これは、PICを動作させるには、外部に部品として抵抗一本あれば動かせる事もあると思う。
一方、H8とかSHに入門する時は、雑誌付録のCPUボードとか秋月で売ってるCPUボードから入った方が良い。これは、H8とかSHのクロックとかリセット回路が比較的難しい事と、特にSHの場合は電源電圧の変動に弱いからだ。スクラッチから作ると必ずしも上手くは行かない。だから、体験用ボードから入門すべきと言う事になる。

STM32は、PICほど簡単とは言わないが、外部に僅かコンデンサー数個を付けるだけで動作する。また、レギュレーターを内蔵しているので、単三電池2本で動作することが可能だ。

STM32をチップ単体から作る時の最大の問題は、半田付けしなきゃいけないことだろう。それも最低でも0.5mmピッチのQFPを半田付けする必要がある。

「いきなり0.5mmピッチのQFPを半田付けしろなんて、『入門』と名乗っておいて無茶を言う」と言われそうだ。でも、私は「STM32への入門」はうたっても「マイコン初心者の」とは言っていない。私自身、35年近く前に、8080Aをチップ単体で購入してオリジナル回路を組んだわけだから、とてもじゃないが「初心者」じゃない。この題名は「半田付けなどで腕に覚えのある人のための『STM32入門』」なのである。まあ、私の場合、8080Aをチップ単体から作った時は、完全初心者だったんだけどね。

さて、じゃあ STM32 を何処から買うかと言うと、秋葉原の部品屋では扱っていないようだから、ネット通販と言う事になる。私の場合、Digi-keyで買ったのだが、まず、Digi-keyのホームページで、STM32で商品検索し「組み込み - マイクロコントローラ、MCU」で絞り込むと、在庫部品だけで、183種ある(2011年11月29日現在)。価格順に並べると、なんと一番安いのは、STM32F101C4T6Aで単価180円だ。パッケージも48ピンLQFPだから、半田付けできるし。同じ単価180円で、STM32F101T4U6Aもあるけど、パッケージが36ピンVFQFNなので止めておいた方が良いだろう。

「わけが判らんけど、STM32F101C4T6A 買っちゃえ〜〜」と買ってから、動作させるために、結局、合計で5000円ほどかかった。何に、どうかかったかは追々説明するつもり。
まあ、『5000円で始めるSTM32』って言う訳。

ちなみに Digi-key で買うなら、今すぐ買うのは、ちょっと待ってね。
意外と送料が高い(と言っても2000円だけど)ので、他にも幾つか一緒に部品購入した方が良いので。
(具体的に言うと「AT93C56A-10SU-2.7-ND」単価20円を一緒に注文した方が良いのだが、これを何に使うのかは、いずれまた・・・)

| | Comments (1) | TrackBack (0)

November 27, 2011

手を動かしながら、ものを作る

E249先週、今週と色々な人と接する機会があった。
特に、創造性のある人たちと話をしていて、同じような「新しい物を創造する」プロセス一つとっても、業種によって千差万別だなあ・・と感じた。

私の場合、つまり宇宙開発においては、システムズ・エンジニアリングと言う名前の元に、まず、用途から考えて、トップダウン的に分割していくと言う方式が使われる。

しかし、アートの世界では、まず、色々作って、こねくり回して、新しい面を出すって言うやり方もあるようだ。
幾つかのアート的作品を見せてもらったが、確かに、それらは実際に作って、こねくり回さないと生まれないようなものだった。いくら、頭の中で考えても、そう言った形状や動きは、想像できない類のものだったからだ。

システムズ・エンジニアリングとかトップダウンとか格好を付けて言うけど、所詮、頭の中で考えるだけのこと。
多少は、コンピュータによるシミュレーションも入るが、ほとんどが、頭の中で想像できる範疇に収まってしまう。
しかし、人間は、複雑な三次元構造を頭の中で想像することができない。ましてや、複雑な三次元的な動き等、想像できるわけがない。
人工衛星が単なる直方体になるのは、それが原因じゃないかな? 直方体は2次元の形状の組み合わせで、頭の中でも容易に想像できるからね。同じ理由で衛星の動きが単純な運動に限られるのも複雑な三次元的な動きが頭の中で想像できないためだと思う。

試作品を作るとか言うと「コストがかかる」とか言って、省略する一方だけど、やはり実際に「手を動かして、物を作っていく」作業も必要なんだよなあ。
「システムズ・エンジニアリング」の中に、ちゃんと「手を動かして、物を作っていく」プロセスを入れ込むべきだと思うけど、これら2つは水と油なんだよなあ・・・

| | Comments (0) | TrackBack (0)

November 26, 2011

STM32入門

E248最近、STM32と言う組込み用マイコンに凝っている。
元々、この用途には、PICとかH8とかSH-2を使っていたのだが、これらにも限界を感じていた。PICはメモリとかが小さすぎだし、H8は性能不足、SH-2は消費電力大きい割には性能高くない。SH-2は、高速化し浮動小数点演算ユニット(FPU)の付いた発展型のSH-2Aがあるにはあるのだが、SH-2とアーキテクチャがガラッと変わって、今までの資産が使いようがない・・・ようだ。
そもそも、ルネサスはH8とSH-2をどうする気なんだか判らないところもあって行く末も不安だ。ルネサスは国内の色々なCPUメーカーの寄り集まりと言うかゴミ溜め(失礼!)状態で、ホームページを見ても、CPUの種類が多すぎて、何が何やら判らん状態だ。ルネサスとしても、きっと一度整理しなおす必要があって、それが多分RX62だと思うんだが、これも本命かどうか良く判らん。全くアーキテクチャに手を出すとなると、それなりに手間だから、将来性がないと意味がない。

国産のCPUに拘らずに、海外にも目を向けると、Cortex-Mがある。これは、ARMの流れを引くCPUで、凄いのは同じアーキテクチャのCPUを複数のメーカーが生産していることだ。仮に一つのメーカーが生産を止めても、他のメーカーから同じアーキテクチャのCPUが買える。また、シリーズ内での整理も良くできており、周辺機器アドレスなどが統一されているので、上位機種への乗り換えも容易だそうだ。つまり、将来性が保証されているってこと。
H8やSH-2を使っていて困るのが、同じH8やSH-2の中でもちょっとシリーズが違うと、周辺機器のアドレスとかが異なり、RTOSの移植からやり直さなければならないこと。これが無ければ、もう少しSH-2を続けていても良かったんだがねえ・・・

さて、Cortex-Mの中でも、Cortex-M3は中庸で使いやすいらしい。また、FPUが追加されたCortex-M4もリリースされたばかりで、将来性もある。そのCortex-M3/4の中で比較的入手しやすいSTM32を始めようという訳だ。

STM32のスペックの数字を読むと「SH-2以上のパフォーマンスをH8並みの消費電力と使い易さで、PIC並みの低コストで実現」という事になる。まあ、こう言うカタログを、そのまま信じるほどお人好しではないので、実際に試してみようって事だね。

さて、実際にSTM32の情報を集めると、書籍とかネット上にイッパイある。ありすぎると言っても良い。
ざっと紹介すると
・トラ技 2011年 3月号(これは、STM32と言うよりCortex-M3全体の話ね。)
STM32マイコン徹底入門 CQ出版
STMicroelectronics
ねむいさんのぶろぐ
が充実。STM32の情報は、上記に網羅されているので、私的には実際に使う時のコツと言うか、具体例を説明しようかな?
追々ね。

| | Comments (2) | TrackBack (0)

November 20, 2011

狭軌に乗ったよ

E2471土曜の夜に仕事があったので、そのまま松阪駅前のホテルで一泊した。その帰り道で、近鉄内部線に乗った。
鉄道マニアでは常識だと思うけど、三重県には現存する数少ない狭軌の軽便鉄道がある。狭軌とは一般と比べて線路幅の狭い鉄道を言うのだが、遊園地などの遊具や保存鉄道は別として、営業路線で残っている狭軌は、三重県四日市を起点とした近鉄内部線、同じく三重県桑名を起点とした三岐鉄道北勢線、残りは黒部渓谷のトロッコ列車の3路線しかない。トロッコ列車は一般的な鉄道路線と言いがたいので、事実上、狭軌の軽便鉄道は三重県にしかないことになる。

世界的なスタンダードで言うと、新幹線や一部の私鉄が使っている線路幅1435mmが標準軌であり、日本のほとんどの鉄道で採用している1067mmも狭軌だと言うのが厳密な言い方なのだが、このコンテンツでは1067mmに満たない線路幅:具体的
には762mmや610mmを『狭軌』と呼び、その線路幅を採用していた鉄道路線を『軽便鉄道』と呼んでいる。

とまあ、以上は鉄道マニアに対する言い訳的な説明だが、一般の人には、昔は線路の幅が狭く、列車自体が小さい『軽便鉄道』が全国に沢山あったと言う事が判ってもらえれば、それで十分である。名前からも判るように「自動車なら軽乗用車」「オートバイなら原付」のように、普通の鉄道よりも小さく安く作れるのが『軽便鉄道』だった。時代の波により、全国の軽便鉄道は、いつの間にか線路の幅を普通の鉄道と同じに広げて列車も普通と同じに変えてしまったか、もしくは、線路の幅を広く列車を大きくする余裕のない路線は廃止されてバスに置き換えられた。そうして、時代から取り残されて残った軽便鉄道は内部線と北勢線だけになってしまったのである。

松阪からの帰りなので、新幹線に乗る名古屋の駅までの間の内部線と北勢線のどちらでも良かったのだが、距離が短くて簡単に乗れる内部線に乗ってみた。

近鉄四日市駅の片隅の自転車置き場のさらに片隅に内部線のホームがあった。当たり前だが、線路の幅はとても狭い。入って来る電車は淡い黄緑色とかオレンジ色のパステルカラーの可愛い電車で、三両編成のワンマンカーである。内部駅から来た列車は思いの外混雑していて、乗客の大半が座れないほどだ。乗客がほとんどいないような廃線寸前のローカル線を予想したいたのだが、どうも違うようだ。
内部駅に向かう下り列車に乗り込むと座り切らないほどの乗客が居るわけではないが、一両あたりに7〜8人乗っており、やはりガラガラのローカル線の雰囲気ではない。
E2472四日市駅を出ると、ど田舎をトコトコと走りだした・・・と言いたいところだが、行けども行けども住宅地の間だ。そもそも起点の四日市自体が大都市だし、営業距離で、たった7キロの内部線では、ど田舎になるわけがない。
う〜〜ん、千葉の いすみ線とか茨城の鹿島鉄道線(鹿島鉄道線は2007年に廃止)のような田舎のローカル線を予想していたんだけど、全然違うな。むしろ、江ノ電とか流鉄流山線の方が近いな。

いまだに軽便鉄道の時代から狭軌のままで続けているのだから、よほど人が乗らない赤字線だと思っていたんだけど、狭軌のままでいる理由は人が乗らないからじゃないな。
人は、それなりに乗るけど、住宅地の間で土地買収ができないから、線路幅を広げるわけには行かない・・ってのが理由だと見たね。
とにかく狭い線路と小さい列車を活かして、狭くて曲がりくねって住宅地の間を縫って上下左右する線路を内部線は、自転車と同じくらいじゃないかってくらいの速度で走っているわけだ。

走っている電車は、いつ作られたか判らないくらい古い電車。たぶん昭和の時代、それもだいぶ古い時代から走っているだろうな。内部線と三岐線でしか狭軌電車は走っていない(トロッコは普通の電車じゃないので)から、いまじゃ新規に作られる事はないんだろうね。日本中にあった軽便鉄道で使われた中古電車が集まってきているんだろうけど、それすらも古くて使えなくなった時、内部線は、線路を広くするんだろうか? その場合、土地買収だけじゃなくて、橋の架け替えとか大変だろうなあ。それとも廃線になって、バスに置き換わるのだろうか?
北勢線は見てないけど、どちらにしても日本から狭軌が無くなるのも、そんなに遠い将来じゃないように思える。

内部線は単線だから、途中の日永駅と泊駅の二箇所で、すれ違うようになっている。それは良いんだけど、泊駅でビックリした。何と右側通行ですれ違っている。
日本の場合、鉄道も車と同じで、複線では左側通行だ。単線の場合も、それに倣ってか、左側に避けてすれ違うのがほとんど。内部線でも日永駅は左側だった。
それが泊駅だと右側に避けてすれ違うので、ちょっと驚いた。なかなか他には無いと思うんだけど、どうだろう?
E2473トコトコと揺られて20分弱、電車は内部駅に着いた。
四日市に比べると少しは田舎になったけど、想像していたほどではない。やはり田舎というよりは住宅地だ。内部駅で降りるも何もすることも無いので、乗ってきた電車に乗って、そのまま帰った。この文章は帰りの新幹線のぞみN700の中で書いているのだけど、同じ「電車」でカテゴライズしても良いのかと思うほどの高速で走っている。

今回は、内部線に乗ったけど、田舎のローカル線と言う意味では、より長い距離を山の中へ向かって走る北勢線に乗った方が良かったかな?
次回、また機会があれば、北勢線に乗ってみようと思う。
それまで、狭軌鉄道が日本に残っていれば良いんだけど。

| | Comments (0) | TrackBack (0)

«コンデジを買った