mbedクローン
最近自分で作った基板でmbedを動かしているのですがそれについていくつか書きます。
最小構成は以下の図のようになります(画像のみで表示すすると詳細まで見えます)。
必要なのは
- 電源
回路図では12Vからレギュレーターで取っていますが、3.3Vなら何でもかまいません。ただLPC1768はちょっと繊細なようでパスコンは必須です。
3.3V側には1uFを入れています。
- クロック(12MHz)
mbedのシステム的に12MHzでないと不都合がありそう。他のクロックでも動作や書き込みは可能ですが、多分waitあたりがずれるかと。
- リセットIC
やはり繊細なようでプルアップのみでは動かなかった気がする。私は秋月で売っているTCM809Rを使っています。
- 書き込み用コネクタ
TX0(P0_2)、RX0(P0_3)がつながっている必要があります。リセット解除時にISPピン(P2_10)がHiがオープンなら通常動作、Loなら書き込みブートローダーが起動します。これらのピンも引き出しておくと便利です。引き出しているなら基板上にこれ2つを操作するスイッチをつける必要はありません。
またmbed上では例えばシリアルポートを設定するときにSerial name(p9, p10);のようにmbedで引き出されているピンしか定義できないように見えますが、拡張したときも考えているのかSerial name(P0_2, P0_3);のようにダイレクトにピンを指定しても使えます。mbedで引き出されていないピンでも使用することが出来ます(参考:https://developer.mbed.org/users/screamer/code/mbed/file/667d61c9177b/PinNames.h)。
ちなみにNCで無接続にできます。
使えるICについて
今回 mbedLPC1768(青mbed) のクローンを作製していますが、LPC1768以外にも使えるICはあります。
1768の代わりに使えるLPC176xファミリを以下に示します。
- LPC1769 機能は1768と同じだが最高クロック速度が120MHzに高速化(他は100MHz)
- LPC1768 標準のもの
- LPC1767 USBとCANが削られたもの
- LPC1766 フラッシュメモリが512→256kBに削られたもの
- LPC1765 フラッシュメモリが512→256kBに削られ、Ethernetが削られたもの
- LPC1763 フラッシュメモリが512→256kBに削られ、Ethernet、USB、CANが削られたもの
使えないものは
- LPC1764 SRAMが64→32kBに削られたいるために起動しない。
LPC1764だとプログラムの書き込みは正常に出来るのだが、プログラムが起動しない。
国内だとLPC1768で最安で1000円台です。
Aliexpressという中国の通信販売サイトを使えば1つ600円ほどで買うことが出来ます。
LPC1758という80pin版があるみたいです。データシートを見たところ引き出しているピンが間引かれているだけで中身のチップは同じもののよう。これでも動作するかも。今後動作確認をする予定。
書き込み
書き込みはhttps://developer.mbed.org/users/okini3939/notebook/flash-program/を参考にしました。
ただ手元の環境でやって見たところ自動で
RTS、DTRピンを使って自動でブートにかける機能は正常に動きませんでした。別途リセットスイッチが必要みたいです。
後日自作のUSBシリアル変換基板で書き込んだら自動リセット、自動ブートがかかりました。接続を間違えていたのかな?