PIC32MX270購入

151026a5このところ、ずっとPIC32MX250を使ったシステムを開発中。なかなか終わらない。結構、飽きてきた。やばい…

余っているメモリを使えば、もうすこし大きい構成のものでも動かせるかもと思いつき、RAMの残り容量を調べると、少しだけ足りない。残念。上位品種に換えたらRAM容量は増えるのかとPIC32MX300台のデータシートを見るが200台と違いが無い。データシートも古いから、何か新しいChipが出ているのではないかとMicrochipのサイトを調べて PIC32MX270を発見! PIC32MX250からROM/RAMともに容量が倍! ROM 256Kbyte, RAM64Kbyte. すごい。
続きを読む… »

PIC32の状態変化割込みにハマる

PIC32MXにもデジタル入力端子の状態が変化した時に割込みをかける機能がある。他のCPUのものと同じようなものだろうと思っていたら、今回、ひどくハマってしまった。

PIC32の状態変化割込み機能の変わっている点は、外部端子と比較するためのレジスタをPORTレジスタ(GPIOの端子の値)を読み出すタイミングで更新する点。例えばPB4ポートで状態変化割込みが起きるように設定したとする。状態変化割込み後、PORTBを読み出せば、比較用のレジスタと端子の状態が同じになって割込み信号はクリアされる。割込み処理ルーチンでPORTBを読み出さないと、永遠に割込みということになる。通常は、状態変化を確認する必要があるのでPORTBを読み出すので、この点は問題無い。
続きを読む… »

PIC32雑感

140522b2PIC32MXを使い始めて1年ぐらい(?)。USBとgccが使える安いCPUを探し、DIP品があるPIC32MX220を使い始めた。その後、DIP品は使わない用途でもUSBのProduct-IDを提供してくれるのでMicroChipから離れられない。
続きを読む… »

LEDコントローラ基板改版

sc14514-01LEDコントローラは、まだまだ、ソフトウェアの開発中なのだが、基板のバグ出しは終わったように思えるので、製品版にできることを祈りつつ、基板の改版を行った。主な変更点はバグの修正なのだが、電源関係も考え方を変えてゴッソリ変更した。
続きを読む… »

64x64dot LEDで動画表示

64x64dot LEDで動画表示できるようになった。smith.lさんのMMD Bad Apple!! Now in 3D with more Colorを専用のフォーマットに変換し microSDカードに書き込み、コントローラ側で読み出しながら再生。20frame/secで表示している。音は出ない。動画編集時に音声データを貼り付けた。音楽の力は偉大だ。音楽がついていれば、長い表示でも見ていることができる。コントローラに音声出力機能を追加することを真剣に考える。

オシロスコープに表示しているのは電源電流の波形。撮影用に表示を若干暗くしているので、電流が流れていない時間がある。コントラストが悪いのは、光っていないLEDが白く見えるから。前面にグレースモークのアクリル板などを置けば改善されるはず。

動画を再生させているとスムーズに表示されることに我ながら驚く。もっと大きなサイズ、モジュール4×3枚で128x96dotとか作ってみたくなる。でも作るには、またいろんな問題を解決しなければいけない。

64x64dotフルカラー表示

140412a7風邪が長引いたり、別のもの作ってたりで遅くなったが、32x32dotフルカラーLEDモジュールを4個接続した64x64dotのパネルにフルカラー画像の表示ができた。パネルは40cm角ぐらいで大きいので、数メートル離れたほうが鮮明に見える。

まだバグが、いろいろと残っているようで操作していると、ちょくちょく不具合が出る。気長に直して行こう。
続きを読む… »

LEDコントローラ進捗

140328a3先週インフルエンザに罹っていたりしたこともあり、LEDコントローラの開発があまり進んでいない。それでも、Sparkfunの32×16フルカラーLEDパネルに7色表示できるようになったので、写真を載せておく。

ところでフルカラーLEDパネルは、さすがにストロベリーリナックスでも32×16,32×32,ともに売り切れ、入荷待ち状態になった。早く安定して買えるようになるといいなぁ…といいつつ、sparkfunの方には在庫があるのか。少ないけど。

2014/04/01追記 と、思ったら既に今日、入荷してました。

LEDコントローラ動作

140313a5試作機のプログラムをLEDコントローラ用に変更し書き込んだところ、大体動作するが一部動作がおかしい。散々調べてもわからなったのでerrataを確認したところモロに「When the Parallel Master Port (PMP) module is enabled,address pins cannot be used as GPIO output pins.」がヒットしていた。提示されていたWork aroundを施したところ動くようになった。

その後も、設計(結線)ミスや出力ピンが何故かGndとショートしているというような現象にみまわれながらも、なんとか試作機と同じ動作ができるところまで来た。今後は、その先のプログラムを行う。

LEDコントローラ基板到着

140312a6注文していたLEDコントローラの基板が到着。さっそく組み立ててみる。幸い、大きなミスは無く組み上がる。電源のショートが無いことだけ確認し、電源を繋いでみる。特に大きな電流は流れない。ホッとした。各部の電源レギュレータの出力とプログラマでCPUが認識されることを確認して今日は終了。
続きを読む… »

USB/HIDが使えるようになった

140124a0PIC32MXでmicrochipのライブラリを使用せずUSBの機能を使えるように作業していたのだが、苦労の末、使えるようになった。

USB共通の処理、enunerationへの対応はスムーズにできたのだけど、そこから先はPC側のプログラムも必要になる。CDCクラスでシリアルデバイスのふりをすればPC側はputty等の端末ソフトで実験できるのでCDCクラスの機能の機能を実装してみると、これも比較的スムーズにできた。しかし、CDCクラスでは、PC側でCOMポートを選択してやる必要がある。HID(Human Interface Device)クラスならその必要がないので、HIDクラスで通信できるようになりたい。
続きを読む… »

PIC32 USB Starter Kit II を修理

140105a1digikeyに注文したPIC32 USB Starter Kit IIが年末に届く。自宅で少しいじってみようと、MPLAB X IDEをダウンロードしmicrochip_solutions_v2013-06-15にあるHID Custum Demoをコンパイル。プログラムを書き込むところまではすぐに出来たが、USBケーブルでPCにつないでもウンともスンとも言わない。
続きを読む… »

Pinguino 基板のページ

MFT2013は無事終了。Pinguino基板のページを作成できていなかったので、取り急ぎ作成しました。

あわせてPinguino基板用のwikiも作成しました。今後の情報共有はwiki側でやっていきたいと考えています。ご意見ご質問とうありましたらkick4 BBSの方にお願いします。足りない情報は多いと思いますが、皆様の意見など聞きながら内容を足して行きたいと思ってます。

Pinguino基板組み立て

131008a5PIC32MX220F032B/Pinguino基板を組み立てた。組み立て説明図を作成するため、部品の高さを確認しつつ作業したのでちょっと時間がかかった。完成後、USBケーブルをつなぎ、電源レギュレータの出力が3.3Vであることを確認後、PIC32MXを挿入。PICKit2をつなぎ、pic32progでPinguinoファームウェアを書き込もうとするが上手くいかない。調べるとPICKit2のつなぎ方が逆だった。ちゃんとつなぐと、無事Pinguinoからもプログラムを書き込めるようになった。

続きを読む… »

PIC32MX220F032B/Pinguino基板到着

Pinguino基板

Pinguino基板

MFT2013向けにpcbcartに注文したDIP版PIC32MX用基板が到着した。今回は赤レジストにしてみた。手持ちの基板が緑色ばかりというのが理由。100枚作って$221.38かかったので、250円/枚で販売し、費用を回収したい。

まずは、試作しなければいけない。


100枚製造

100枚製造

Maker Faire Tokyo 2013 出展承認

今年も九州プログラミング研究会で11月3日と4日に開催されるMaker Faire Tokyo に出展します。YMMF後、すこし念を入れて出展申請の準備をし、申請を行ったところ、先週無事申請通り出展承認メールが来た。
続きを読む… »