スキップしてメイン コンテンツに移動

投稿

Energia(IDE)でMSP430/Stellaris LM4F開発

MSP430向けに開発されたArduinoAPI互換IDE  Energia 。  最近MSP430LaunchPadを買ったついで最新版を確認したら、 Stellaris LaunchPad と MSP-EXP430FR5739 がサポートされていた。 (追記)Stellarisは名前が変わって Tiva™ C となった。 開発ボードはTM4C123G LaunchPadとなる模様。 ・・・・ MSP430LaunchPadは、Texas Instruments(TI)社の16bitマイコン MSP430 シリーズの開発用ボード。MSP430のバリューラインという石を開発できる。 Stellaris LaunchPad(通称StellarPad)は LM4F120H5QRというCortex-M4FコアのARMマイコン開発ボード。 MSP430は結構前に 購入していた が、先日もう一つ追加で買った(千石電商)。  今のロットでは同梱される石がピン数が多く周辺回路が豊富なものに変更されている。 以前ついていたものはバリューラインの中でも下位モデルだった。 もう一つ、StellarPad のほうは届いて以来積み基板と化していた…。 準備 Energiaをダウンロードして解凍するのとは別に、デバッガのドライバをインストールする。 ドライバの在り処はTIのWikiを参照。 (EnergiaにはMSP430のドライバが付属するけど、32bit用のみだった)  Windowsでは、MSP430は実行ファイルを一つ実行するだけだが、Stellarisはデバイス管理画面から、Stellarisのデバッガについて複数の項目(仮想UART、パラレルポートドライバ等)を一つ一つ当てる。 あとは、Energia上でマイコン種別と、仮想UARTポートを指定するだけ。 デバッガ経由なので、書き込みがとてもスピーディ。 ハードウェアまわり ・各ボードの ピン配置図 ・MSP430LaunchPadはボードRevによって若干仕様が違うので、要確認。 ・MSP430はIDE/Hardware にある boards.txtのボード定義を編集するだけで動作周波数を変更可能。 ...

SDLoggerを試す

OpenLog  シリアル-SDロガーといえば、2年ほど前から OpenLog というプロジェクトの製品版を使っている。 オリジナルのOpenLogはATmega328Pベースだけど、最近ふと思ったのが、もうちょっと余裕のあるATmega644Pを使えば、RXバッファ用のRAMも増えるし、ロガーと言いつつソースにJPEGカメラのコマンド操作を追加すれば、SparkfunのJPEGトリガーみたいに使えるんじゃないかという点。  その観点でググってみると、同じコンセプトのSDLoggerというプロジェクトが2年前からあって、SeedStudioから販売されていたことを知った…。  (人は見たいものしか見えないんだなあ…)  SDLogger   http://www.seeedstudio.com/wiki/SDLogger_-_Open_Hardware_Data_Logger  github        https://github.com/magnuskarlsson/SDLogger  ATmega328Pで取りうるRXバッファ量が少ないという懸念は、2年前の使用感を引きずっていただけで、本家OpenLogの最新のファームウェア(v3.1)を見たらだいぶチューンナップされていて、昔みたいに連続書き込みで問題が起きることは無さそうだ。   RAMもROMもギリギリまで使い込まれている上に、Arduino1.0環境で互換機として書き込みができる。 もし古いファームウェア(コマンドで確認できる)を持っているなら、本家のサイトの説明を読んで最新のものを書き込んでみるとよいだろう。    ということで、お手軽なOpenLogと比較すると、SDLoggerはそのままOpenLogのスケッチが走る上位互換機として、余ったROM/RAMとI/Oを使って何か特化したロガーを作ってみるのに向いてそうだ。  とりあえず、手持ちの部品でSDLoggerを組み立ててみた。 ・ATmega644P(DIPなら秋月で入手できる) ・14.7456MHzの水晶...

RPN電卓(WP-34S)

 設計のお供に関数電卓。  昔から気になっていたHPのRPN電卓に手を出してみた。  HPの電卓は逆ポーランド記法(RPN)というので有名で、宇宙開発とも縁が深いという話がある。 RPNを試してみたいなら、スマートフォン用に、RealCalc(Android)やPCalc Lite(iOS)といった、RPNにも対応したアプリがある。 少額で直感的なバイナリ計算などに対応するので便利だ。   現在入手できるRPN電卓は、過去の製品を復刻したものや、ビジネス向けモデル、グラフィック表示の科学計算用などのラインナップがある。 HP-35Sにも食指が伸びたけど、他にも候補を調べていたところ、WP-34Sというプロジェクトがあるのを知った。  WP-34Sは、HPの関数電卓のエミュレータとして開発され、実際にHP-20b/30bというビジネス用電卓のROMを書き換えて、科学計算ができる独自ファームウェアを載せるというプロジェクト。 自分はコミュニティーベースのハードウェアに弱い。 WP-34S   http://sourceforge.net/projects/wp34s/   ダウンロードからエミュレータ、バイナリ、充実したドキュメントが手に入る。 書き換え手段などはドキュメントに全部書いてあった。実機が無くても遊べる。  追記) iOSだと、Appストアからも入手できた。 HP-30b 書き換え前 HP-20bと30bという機種は回路図と開発環境が公開されていて、搭載されているAtmelのAT91SAM(ARM7)のプログラミングも可能となっている。 HP-10シリーズの復刻版の機種はこれで過去のバイナリをエミュレートしているとか。 WP-34S化した状態  ROM書き換えをするとキーの機能も変更になるが、耐久性のあるシールが配布されていて、HP-30bをeBayで買うのと同時に購入した。 HP-20bなら日本のAmazonでも取り扱いがあるし、ソフトウェア的には違いは無い。 30bを輸入したのは、キーがしっかりした作りであるという情報による。 30bはフロントが金属仕...

ギブスンのトリロジー

1972年のNewsweek誌 (押入れから発見されたもの) The  future is already here  — it's just not very evenly distributed. ウィリアム・ギブスンの言葉。  ギブスンの作品を初めて読んだのは高校3年の頃、模試の途中で立ち寄った本屋で買った「ニューロマンサー」 だった。 サイバーパンクの最高峰、独特な言い回しでカルト的な人気がある。 とはいえ、書かれたのは自分が生まれる4年前で、 サイバースペースはすでに古典と化していた。  短編ほか、代表的な3部作が3つあるが、 ニューロマンサーの後に書かれた2つの三部作はあまり噂を聞かなかった。 訳書も絶版で、中古本しかなく入手性がよくない。なので原書(Kindle版)を読破した。  この3つのシリーズを通してみると、ギブスンの作品はその当時の時代が色濃く反映されているのだと思う。技術好きなのでガジェット描写に注目してしまうけど、あくまで主役はそのガジェットが偏在する世界で暮らす人間達の物語だ。  橋三部作と、SF要素の無くなった新三部作についても、現在のネットや技術文化で起こっている現象を先取りしているようで、とても興味深い。 もっと入手性が良いとおすすめしやすいのだが…。 ということで、原書で読んだシリーズのあらすじを適当に整理しておこう。 スプロール三部作  「ニューロマンサー」、 「カウント・ゼロ」、「モナ・リザ・オーヴァドライブ」 80年代を1世紀くらい続けた先の近未来世界で、サイバースペースのハッカー、サイボーグの殺し屋といったヤバい仕事人たちがAIにこき使われるお話(超意訳)。  膨大な情報を解釈するために用意された仮想現実とネット。ソフトウェアとして流通する技能、レンタルビデオのように氾濫する五感メディアと人格ROM構造物。 ヒトがガジェットと化した未来世界で、混沌から生まれようとしている新たな知性…  復刊もされているため、たいていの人がニューロマンサーから入門すると思うけれど、入門が一番の難関だったりする。 自分の耳の後ろには早い段階でSF用ソケットが埋設されていたので、それほど困難は無かった...

人工網膜LSIで星を撮る

ちょっと変わった製品もみつけた。 右:ポケットカメラ(M64282FP入り)  : 左 コナミ製PS2用のモーションセンサ(センサの型番不明) 中古屋でみつかる ポケットカメラ(任天堂) 。この"ゲーム用ソフト"の人工網膜LSIは128x123の解像度を持つモノクロイメージセンサで、低速マイコンでもインターフェース可能だ。  製品自体も登場して14年くらい経つため、だいぶ話題から周回遅れだが…  今回このセンサを使ってみて、普通ならロボットの視覚として高フレームレートを目指すところだけど、シャッター速度をかなり遅くできたので、逆の方向、長時間露光をテーマに撮影実験を行った。  はたして、105円(税込)の視覚センサとArduinoで星は写せるのか。 M64282FP 自作の C基板Arduino互換機 にシールドをつけて、カメラを配線している。 コードは、このサイトのものを参考にしている。   http://www.bot-thoughts.com/2010/04/gameboy-camera-prototyping.html シリアルで出てきた8ビットのグレースケール画像をBMP変換するという流れ。 人工網膜チップのPDF資料で、レジスタ設定などをひと通り確認できる。 レジスタ一覧 (Excel) 作って3年くらい経つ基板 普通に撮影した画像 露光時間を延ばす  データシートには設定可能な露光時間が記載されていて、 C1レジスタを操作することで、最大1秒まで露光できるとある。  ただし、これはクロックに500kHzを入力した場合の秒数らしいので、供給するクロックを下げると延びてゆく。 まだ50秒程(18kHz程度?)までしかテストしていないけど、もっと伸ばせるらしい。 一つ問題として、先ほどのコードでは逆に直射日光下での撮影は厳しい。 レジスタの設定も、露光時間を減らすと、ある時点で同期が取れていないような絵が撮れる。 ロジアナで測定してみた。 A/D変換にかかる遅延により、読み出し時はクロックがかなり間延びしているが、これ自体はあまり問題ないらしい。 てっきりどこも同じクロックを入力す...

LANケーブルを外に引く

USBデバイスサーバ+FunCubeDonglePro+ をタッパに収めたお手軽受信局を作り、現在運用実験中。 屋外に設置して3日目だが、雨天続きでもトラブルもなく使用できている。 アンテナは秋月の130/430Mモービルアンテナ(モノポール)だが、いろいろな周波数を聞く には調度良かった。 見晴らしの聞くベランダの金属の台の上に設置。北と東側に高さ15度くらいの障害物があるほかは、地平線が見わたせるロケーション。  屋外のUSBデバイスサーバまでLANケーブルを延ばすのは、それほど困難を伴わなかった。 使ったケーブルはフラットタイプのケーブル。自宅に関しては、窓サッシに沿って折り曲げることができて、かつ窓が閉まる選択肢だった。室内を5m、屋外へは15mのケーブルを伸ばしている。 避雷針があるので直撃はしないけど、雷対策として、窓のすぐ下で中継コネクタを挟んで切り離せるようにしてある。  むしろ電源の確保が難しいかもしれない。 たまたま屋外コンセントがいくつかあって、それを使うことができた。 モノポールでAPTを受信してみたのデコード結果。 パスによってはこのくらいデコードできる。 これでFMを聴いたり、ACARSパケットをデコードしたり、NOAA衛星の気象画像(APT)をデコードしたりしている。モノポールながら、衛星も仰角と偏波で感度が落ちるけど聞くことは可能。  使い勝手としては、ネットワーク内のどのマシンからでもアクセスできるので、受信時を逃しにくくなって便利になった。 なにより自分の机のデスクトップで運用しつつ、受信機自体は屋上におけるというのが便利。 あとは小型ローテータとマシなアンテナのみ…

Arduino Pocket Geiger Radio

ARTSATのブースの店番の合間を縫って、MFT2012の会場で組み込み版ポケットガイガーType5を入手。 http://www.radiation-watch.org/2012/11/type5.html    単純にガンマ線を検出したらパルスが出てきて、さらに3V~9Vの単電源で動作するのでとても使いやすい。 これなら小型のブザーと電池のみで動かす最小構成を試したり、いろいろな物に組み込むことが簡単になりそうだ。 ということで、1日目の夜に早速音声テレメトリ基板に組み込んでみた。 組み込み先の音声テレメトリ基板 以前作った 音声テレメトリ基板 にバッテリの過放電保護回路をつけたもので、18650セルを使う。電池には発火しないとされるLiFePO4( リン酸鉄リチウム )電池を使っている。 管理しやすく交換しやすいので、最近制作物の電源には乾電池タイプの生セルを使っている。 充電は外部の充電器で行うため、過放電対策のみを施した。 信号を見てみたところ(線源にはランタンのマントルを使用) 組み込みポケガからは、パルス検出ピンとノイズ検出ピンの2つが出ていて、ある程度ノイズと思われる信号はフィルタ可能になっている。 オープンコレクタ出力なので、プルアップする。 検出信号は負論理、ノイズ検知出力は正論理。   サンプルコードを参考に、信号を検出したらTone関数で短い音を出し、FMトランスミッタ経由で出力させる。 雰囲気はガイガーカウンターと一緒になった。  せっかく音声合成ICがついているので、1分毎のカウント値(CPM)をしゃべってくれるようにした。1分毎にノイズ値を引いたシグナル検出回数(CPM)を読み上げるようにしている。  これにはAquesTalk Picoのライブラリ http://blog-yama.a-quest.com/  を使わせてもらっている。 数値読み上げも簡単にできてわかりやすい。 FMトランスミッタは微弱な電波で模擬実験に使うためについているので、半径30cm~1m程度しか飛ばない。実用性を追求するならスピーカーなどへ出力すると良いだろう。  あえてガンマ線のカウントをブザー回路を経由せず、MCUで計数させること...

FunCube Dongle Pro+

FunCubeDongle Pro+ が届きました。  技術詳細は本家 http://www.funcubedongle.com/ で。 FunCube-1もフライトモデルが振動試験をパスして、打ち上げ準備が整ってきてるようです。 http://www.funcubedongle.com/?p=1323 使い勝手向上 先代と見かけは変わらず。  FunCubeDongle Proの改良版で、帯域が192kHzになり、受信できる周波数が広がった(150kHz~240MHz、  420MHz to 1.9GHz ) SDR#でも、すでにプルダウンメニューから選ぶ事ができるようになっていた。 I/Q信号のSwapとCprrect IQにチェックを入れた。 81MHzのFM放送 ACARSパケット (131MHz) 帯域幅が広がったので、WFMを綺麗に復調できるようになった。   I・O・データのnet.USBデバイスサーバーにつなげて、問題なく動作することを確認。 先代同様、アンテナタワーの防水ボックスに組み込むことができそうだ。 先代の記事 http://blog.kemushicomputer.com/2012/11/usbsdr.html

USBデバイスサーバーとSDR

SDRのためにUSBデバイスサーバーを導入してみた。 すでに試している人がいるので、いま設置中の地上局に応用できると便利だと思い実験してみた。 今回導入したのは、Amazonで取り扱っていたI-O DATAのTRG-DS/US-HSという機種。安定してそうということで選択。 http://www.iodata.jp/product/lan/option/etg-dsus-hs/ これにFunCubeを接続し、何の問題もなく受信できることを確認した。 残念ながら、密かに期待していたRTLSDRはそのままでは使えなかった。 ドライバレベルでは認識しているのに、ソフトからは認識できない状態。 サーバ自体は、USB機器の設置の自由度を増すので、応用例はたくさん考えられる。 USBシリアル系(Arduino等)も普通に動作した。 受信機をアンテナから離す必要がなくなるので、同軸ケーブル延長に伴うロスを減らせるだろう。  大学などでは、運用のための立派なアンテナは建物の屋上に設置されることが多いので、そこから無線機まで伸ばすケーブルは部屋の場所によってはかなり長くなる。 このシステムなら、直接アンテナ直下にくくりつけて、LANだけ伸ばすか、Wifiコンバータを経由するだけで良くなる。  サーバー、ドングル、カメラ一式をセットで防水ケースに納め、アンテナ付近に設置すれば、重たいケーブルを引かずとも稼働する受信設備が完成する。  自宅は屋外に防水コンセントがあるけど、アンテナ引き込みの隙間が無いので、余っていた無線LANルーターを使おうと思う。 追記 無線LAN経由で接続してみた結果。 ひとまず屋外設置用の装備をこしらえて実験してみた。  ・Wifiコンバータとして動かす無線LANルーター ・監視用カメラ(QCAM orbit AF) ・FUNCube Dongle Pro & QFH(430MHz) ・密閉型ケースとヒューズをつけた電気コード 実際のところ、この構成だとFunCubeのストリーミングすら止まるので実用的ではなかった。 最初に使ったルーターがFonelaにDD-WRTを入れたものだったので、次にBuffaloの新...

Arduino DUEを使う

Arduino DUEを早めに入手できたのでいろいろ触ってみた。 ("DUE"って伊語でいう"2"ってことで合ってるのかな…) 本家のページ http://arduino.cc/en/Main/ArduinoBoardDue   Atmel社のCortex-M3(AT91SAM8X3E)を搭載している。20mm角の144ピンパッケージなので、MEGA互換の基板の中でけっこう存在感がある。   I/O ADC、GPIOのほか、UARTが4ch、SPI1つ、I2Cバスが2ch、DACが2ch、CAN(まだライブラリなし)と、MEGAと比べてもだいぶ増えた。  注意として、I/Oは3.3レベルなので、従来のシールド資産とはあまり互換性が無いらしい。 個人的にはほとんどシールドを持っていないのと、使う部品の多くが3.3V系なのであまり影響ないけれど…。  将来出るシールドでは、Leonardあたりから追加された IOREFピンを使うことで、シールド側で電圧を自動的に切替えられるようにする計画のようだ。 2電源レベルシフタを使うんだろうな。 消費電力 クロックが最初から84MHzなので、気になる消費電流を測ってみると、0.67Wほどだった。 結構大喰い。   とある計画でMEGA互換機を製作しているので、その代替候補になるか見る目的もあって購入した。電力的にはそのまま載せるにはちと厳しいので、ダウンクロックできるかどうか、ちょっと遊んでみよう…。 USBまわり  2つあるMicroUSBポートのうち、片方は従来と同じUSBシリアル変換ポート、もう片方はSAM3X8Eが持つホスト機能もあるUSBポート。どちらからもスケッチの書き込みは可能。  スケッチをアップロードするために一旦ROMが完全に消去される必要があるらしく、そのためのEraseという信号線がある。  プログラム専用のUSBシリアル変換用IC(AVR 16U4)につながっている。おそらく過去の8U4とはまた違うのだろう。  このErase信号線にはハードウェアスイッチも用意されていて、電源投入時に長押しでROMを消去することが可能。 マイコン自体のUSBポートで書き込む場合は、...