きょうのかんぱぱ

デジモノが大好きなかんぱぱの日記です。

NXPさんからクリスマスプレゼントが届きました

  • 投稿日:
  • by
  • Category:

@nxpfanさんがLPCXpresso-LPC812プレゼントというクリスマス企画をやっていたので、何気なくRetweetして応募したらなんとLPCXpresso-LPC812が当たってしまいました。当選してビックリしましたが、@nxpfanさんもビックリしていたようです。

というわけで本日到着しました。LPCXpresso LPC812です。

LPCXpresso_lpc812.jpg

ターゲットボードにLPC812がちょこんと載っています。ターゲットボードにはカラーLEDとボリュームも載っていて、予め書き込まれている動作確認用のプログラムで、ボリュームを回すとカラーLEDの点滅パターンがいろいろ変わってまるでクリスマスツリーのLEDのようです。

LPCXpresso_LPC812_2.jpg

LPCXpresso LPC812プレゼントをクリスマス企画にしたのはそういう理由かもしれません。
本当にありがとうございました。>@nxpfanさん

トラ技Jr.の音声合成マシンをDIP ARMで作ってみました

  • 投稿日:
  • by
  • Category:

トラ技Jr.に載っていた「音声合成マシンで彼女GETだぜ」という記事を楽しく拝見しました。そういえばこのキーパッドはお正月に購入したaitendoの福袋に入っていたような気がするなぁ。あ、この音声合成チップも発売したばかりの頃に購入していたなあと思いだしました。LPCXpressoのLPC1114は持っていないのですが、ちょうどDIP ARMがトラ技に付いていたこともあり、なんとなくパーツは揃っているようです。

いざ手持ちのパーツを並べたところ、音声合成チップが記事で扱われた型番とは異なり、ATP3010F4-PUという少し古いタイプで電源が3.8V〜5.5Vのため3.3V系のマイコンには直接接続できません。そこで5V系と3.3V系の電源を用意することにして、5V外部電源から3端子レギュレーターXC6202P332TBで3.3Vを用意して、3.3V-5Vのロジック変換にFXMA108変換モジュールを使うという、トラ技Jr.の記事の内容とは異なりややシンプルでない構成になってしまいました。

とはいえすべて手持ちのパーツでなんとかなりそうだったのでブレッドボードに組み込みました。実装したボードはこんな感じです。

nxp_dip_arm_aquestalk.jpg

記事の内容ではアンプを接続していましたが、これはさすがに手持ちがなかったので2SC945を使っています。

プログラムはGPIOのポートだけDIP ARMに合わせて修正しただけで動作しました。DIP ARMの書き込みには手持ちのLPC-Linkを使いました。

動作中の動画をYouTubeにアップしておきました。音質が良く有りませんが、トラ技Jr.の記事のようにアンプを使用すれば大幅に改善されると思います。

NXP DIP ARMでPOVをつくってみました

  • 投稿日:
  • by
  • Category:

学研の大人の科学のJapanino付録のPOVユニットをNXP DIP ARMにつないで表示させてみました。

しばらくPOVユニットを使っていなかったためか、ハンドルを回しても滑らかに左右に動かなかったので今回はユニット自体を動かして表示しています。

グリスを見つけてPOVユニットを復活させなくては。

プログラムはこちらです。systick.cと入れ替えてます。適当なのでご参考で。

NXP DIP ARMでLED点滅ができました

  • 投稿日:
  • by
  • Category:

秋月電子などで販売を開始したDIPのARM LPCマイコン LPC1114FN28を使ってLチカを行ってみました。

お手軽にブレッドボードが使えるのが良いですね。しかもお安いですし。32bit CPUなのに・・・。

私の場合は秋月電子の通販で購入したのですが、パッケージに同封されている1枚の紙に役立つ情報が書かれていたので、これを参考にして実験しました。この紙は秋月電子の販売ページにもLPC1114FN28説明書としてPDFで公開されています。
1. 開発環境の準備
開発環境のLPCXpressoをダウンロードしました。最新のものはMac版もあるようなので、Mac版をダウンロードしました。説明書にあるようにアクティベーションをしました。(何度目だろう・・・)
2. LPC-Linkの準備
手持ちのLPCXpresso LPC1768の出番です。先ほどの説明書にもありますが、私の場合は、LPC-Link側とターゲットCPUをつないでいるパターンはすでにカッターで切断済みで、ピンヘッダをつけています。普通に使うときはジャンパーピンで全ピンを接続し、今回のようなときはジャンパーピンを外して必要な信号線を取り出しています。
3. LEDの接続
ブレッドボードにLPC1114FN28を取り付けて、LPCXpresso LPC1114と同じように、PIO0_7 (28番ピン)に330Ωの抵抗を入れてLEDを接続し、GNDにつなぎました。
4. LPC-Linkとの接続
LPC-LinkとLPC1114FN28の接続は説明書とおりにジャンパー線で結線すればOKです。
dip_arm_lpclink.jpg
5. LPCXpressoでサンプルコードをコンパイル
LPCXpressoをインストールすると、インストールされたディレクトリの中にサンプルプログラムが入っています。
Mac版の場合ですと、
/Applications/lpcxpresso_4.2.4_267/lpcxpresso/Examples/NXP/
LPC1000/LPC11xx/LPCXpresso1114_cmsis2.zip
になります。
LPCXpressoを立ち上げて、左下のQuickstartのメニューにあるImport and ExportのImport archived projects (zip)で上記のZIPファイルを取り込みます。取り込みが完了するといくつかのプロジェクトができますが、LチカはLPCX1114_cmsis2_systickが該当します。
説明書の裏面にあるLPCXpressoでデバックするときのTipsに従って、ターゲットマイコンをLPC1114FN/102にして、ClockソースをIRCにします。説明書に書かれているsystem_LPC11xx.cはCMSISv2p00_LPC11xxのプロジェクトのsrcにありますので、このファイルを修正します。
修正後にLPCX1114_cmsis2_systickのプロジェクトをビルドするとバイナリができあがります。
6. LPC-Linkデバッカで動かす。
ビルドができたら、左下のQuickstartのメニューにあるDebug and RunのDebug 'LPC1114_cmsis_systick' [debug]をクリックすると、LPC-Link経由でプログラムがマイコンに書き込まれます。あとはRunメニューでステップ実行をするもよし、動かしてみてください。
動作中の画像はこちらです。ゆっくり点滅していますが、systick.cを修正して点滅速度を変えることもできます。

LPC-LinkとLPCXpressoという強力な開発環境がありますので、今後様々な活用事例がでてくると思います。

12月のMakeが楽しみですね。

第18回 IT基礎技術勉強会に参加してきました

  • 投稿日:
  • by
  • Category:
この勉強会はKOZOSという学習向け自作組み込みOSを開発されている@kozossakaiさんが開催しているものです。
前回はFreeBSD(x86)を使って「Hello World」を追ってみましたが、今回はARMというマイコンが題材です。
ARMはmbedMARYでなじみがありますが、ARMのアセンブラを直接書いたことはありませんのでぜひ体験したいと考えました。
Interface誌とかトラ技増刊などでARMの基板も付録でついてきますし、秋月電子等でも1000円ぐらいでARMの評価ボードが買える時代です。ARMは知っておくべきでしょう。
準備としては前回同様にノートPC上のFreeBSD-8.3を使いましたが、今回はクロスコンパイル環境ですので、ARM用のgccやgdbなどを事前にビルドしておきました。
勉強会は前回同様な流れで進みましたが、前回とは違って説明資料は無く、ついていくのが精一杯だったのでなるべくメモを取ることに重点をおきました。
今回おもしろかったのはRISCプロセッサならではの1命令が4バイトの固定長のため、レジスタに定数を設定するだけでも工夫が必要なこと、startup.Sの役割、ゼロから標準ライブラリをどのように作っていくか、ARMは奇数アドレスにコードがあると16ビットコードと認識していることなど、新鮮な内容でした。
今回もかなりスピードが速かったので、メモを見ながらもう一度復習して、大筋は理解できたかなと思います。
次回はどんなテーマでしょうか。楽しみです。

LPCXpresso LPC1768にVFDを接続してみました

  • 投稿日:
  • by
  • Category:

mbedにVFDを接続して遊んでいましたが、mbedと同じマイコンが載っているLPCXpresso LPC1768 にVFDを接続してみました。
プログラムはmbedサイトでコンパイルしたバイナリをLPCXpresso-IDEを使って、LPCXpresso LPC1768に書き込みました。
microSDカードはSparkFunのマイクロSDカードスロット・ピッチ変換基板を使って接続しています。
LPCXpressoは基板に少し幅があるので、少し大きめのブレッドボードを使うしかありません。もう少し小さいと良いのですが。
とりあえずVFDとの接続はmbedと同様にして、内蔵LEDのポートだけLPCXpressoに合わせたところ問題なく動作しました。
microSDカードからBMPを読み込んで表示するだけであればこれで十分ですし、ブレッドホードの空きスペースには+70VのDC-DCコンバータを組むことができそうです。
mbed + StarBoard Orangeはネットワークに接続して使うことにしましょう。

VFD_LPCXpresso.jpg

これでMTM07のネタが1つできました。

NuTiny-SDK-NUC120でLEDを点滅させる

  • 投稿日:
  • by
  • Category:

秋月で買ってきたNuTiny-SDK-NUC120を動かしてみました。
DVD-ROMがついています。付属品はそれだけです。紙の説明書はありません。
DVD-ROMをWindows PCに入れると、次のような画面が出てきます。

NuTiny-SDK-NUC120 Keil EV.jpg

開発環境をインストールした後にサンプルプログラムを動かしますが、この説明がアニメーションになっていて、分かりやすいです。なお、開発環境は評価版なので32KBまでですが。
また、動作中のビデオ画像も入っています。このあたり親切にできていると思います。
私も早速動かしてみました。


MARYシステムで交互にLEDを点灯させる(MB4個と音付き)

  • 投稿日:
  • by
  • Category:

先週作ったLEDを交互に光らせるプログラムを4枚のMCUを使って動かしてみました。

今回はすでに購入しているUB基板も使って音もつけてみました。
相変わらずOB基板にはデバック情報を表示させています。
画像では見えにくいですが、OB基板の裏のLEDも交互に点滅しています。
これでMCUが何枚になっても問題なく動きそうです。

この週末はあまりMARYをいじる時間が無かったのでこの程度ですが、今度の週末はXB基板もいじってみたいと思います。

超小型ARMマイコン基板でマルチMCUを試す

  • 投稿日:
  • by
  • Category:

昨日に引き続きトラ技増刊の付録である超小型ARMマイコン基板(MARY)を触っています。
MARYシステムの特徴である、複数のMCUの協調を行ってみました。
MB基板にもプログラムを書き込むためにもう1枚のMB基板をUSBに接続するとCOM6として認識されました。これで書き込みます。ちなみにもう1枚はCOM5で認識されています。
CQ出版の特設ページからダウンロードしたサンプルプログラムを動かしてみたところ、見事に同期しています。

これを実験するためにはMB基板の接続ケーブルが必要になります。私は事前にマルツパーツ館から購入していたので良いのですが、雑誌を買ったたけではすぐ試すことができません。雑誌の付録にMB基板直結ケーブルが1本入っているとすぐ楽しめるのですが。

このサンプルプログラムを参考にして、MB基板間で通信を行い、交互に点滅するようにしてみました。
さきほどのサンプルプログラムはtickを同期することで、各MB基板が同じタイミングで同じ動作になるようにしていますが、今回はtickは使わないでON/OFFのデータ(uint32)を送受して制御してみました。
1wireで行われている通信プロトコルはAPIでラッピングされているので、思ったより簡単に使えます。

プログラムが動くことは確認できましたが、せっかくOB基板を持っているので、そちらにデバック情報を表示させてみました。

これもAPIが準備されているのでprintf感覚で手軽に文字が表示できます。OLEDはデバッグにも活躍しそうです。

MARYシステムは手軽に使えるということが分かったので、XB基板を追加注文してしまいました。実はXBeeを使うのは目的ではなく、microSDカードとシリアルUSBが使えるとおもしろいかなと。到着が楽しみです。

トラ技増刊超小型ARMマイコン基板を試す

  • 投稿日:
  • by
  • Category:

昨日発売されたトランジスタ技術増刊「2枚入り!組み合わせ自在!超小型ARMマイコン基板」を買ってきました。付録として超小型ARMマイコン基板が2枚ついてきます。
その前に先日マルツパーツ館にてこのマイコン基板の拡張基板を予約注文したものが、前日に到着していました。購入したのはOB(カラー有機ELディスプレイ基板) 1枚、UB(アナログ入出力&スイッチ基板) 1枚、CB(ユニバーサル基板) 2枚、連結ケーブル2本です。

MARY_exboard.jpg

増刊号には32ビットARMマイコンLPC1114FHN33/301が載った基板が2枚ついてきます。

MARY_book1.jpg

複数のマイコン基板を接続して連携して動かせるのがこのマイコン基板の特徴なので最初から2枚ついているのはありがたいです。(これをMARYシステムと呼びます。)

雑誌から取り外すとこんな感じです。2枚の基板がくっついています。折って2枚にする必要があります。

MARY_MB_1.jpg

力を余りかけずにゆっくり折れ目に沿って折るとこのように2枚になります。

MARY_MB_2.jpg

増刊号の記事の通り、CP210x USB to UART Bridge VCP Driversのインストールと、FlashMagicのインストールを行い、サンプルプログラムを動かしてみました。
MBボードの本体についているLEDは非常に明るくて、直視すると残像が残ってしまうぐらいです。

マルツパーツで購入した拡張基板を接続するためには、手持ちのピンヘッダをハンダ付けするのですが、2×2のピンソケットも2つ必要なようです。とりあえず、OB基板への接続はピンヘッダだけでいいようなので、ピンソケットは今度秋葉原に行ったときに調達することにします。

OB基板を取り付けて、サンプルプログラムを動かしたところ無事画像が表示されました。非常に奇麗です。

MARY_OB.jpg
他のサンプルプログラムも動かしてみましたが、サンプルプログラムの出来がすごく良いので大変参考になりそうです。

開発環境のLPCExpressoの設定も終わり、ビルドもできました。少し環境周りを理解する必要がありますが、面白い素材なのでじっくり取り組んでみたいと思います。次は2枚のMBボードを接続して試してみます。

※Amazonではすでに売り切れのようです・・・・。