「MC11U35」CPUボード

取り扱い説明書


 ■はじめに

本品は、NXP社、USB対応のARMプロセッサを搭載したCPUボードです。

AVR、H8等の8bit、16bitボードの置き換え用として作成しました。

ちょっとした処理に重宝すると思います。

 

 ■お断り

本品はハードウエアを提供するもので、ソフトウエアのサポートは対価に含まれていません。
ここでのプログラム等の記述内容は、一切無保証となります。
CPU上での動作は、ソフトとの関係で成立するため、記載の動作を含め、保証する事はできません。
また、本基板の動作不良等によって発生する損害は、保障いたしません。

本基板の構成部品及び回路構成は、予告なく変更する場合があります。
 


 ■概要
MC11U35ボードに搭載しているCPUはLPC11U35の48pinのQFPタイプです。
コアはARMのcortex-M0で48MHz駆動です。

H8/3048に比べると、
不利な点、
・ROM容量が半分です。
・CPUのピン数が半分です。
・外部バス構成は取れません。

有利な点
・処理bit数が二倍です。
・クロック速度が二倍以上高速です。
・RAM容量が大きいです。
・USBのホスト機能を持っています。
・ARMコアのため、処理速度でアドバンテージがあります。

そして、最大の特徴として、mbedのクラウド環境でソフトを制作できる点があります。
詳細は、解説ページを参照して頂くとして、mbedクラウドを簡単に説明します。
ソフトの開発では、CやC++のコンパイラの入手から開始しなければなりません。
コンパイラが無償で入手可能?、使用期限、制限事項は?、製品版を購入なら価格は?とか色々考えなければなりません。
そして、コンパイラを入手すれば、インストールと環境設定が待っています。

mbedのクラウド環境は、ちょっと変わったアプローチをします。
PC側にコンパイラソフトをインストールする必要はありません。コンパイラはmbed.orgのクラウド上にあります。
その代り、コンパイルには、ブラウザとインターネットの接続環境が必要になります。
ブラウザでmbedクラウドのページにアクセスし、プログラムを作成します。
コンパイルボタンを押せば、即時コンパイルが行われ、エラーが無ければ、バイナリコードが自分のPCにダウンロードされます。
後はこのプログラムをCPUに書き込むだけです。
そして、二番目の特徴として、mbed対応のCPUボードでは、書き込みにライターを必要としません。
このために、mbed対応のCPUボードにはUSBインターフェースが実装されています。
ボード上のUSBコネクタとPCを接続すると、マスストレージとして認識され、新しいドライブが出現します。
このドライブにmbedクラウドでコンパイルしたプログラムをコピーする事で、書き込みが完了します。
MC11U35 CPUボードもこの手法でプログラムを作成できます。
 

 ■仕様

搭載CPU仕様:
   NXP LPC11U35 MCU
Low power ARM Cortex?-M0
48MHz, 10KB RAM, 64KB FLASH, 2KB E2PROM
USB Device, 2xSPI, I2C, UART, 8xADC, GPIO
ボード仕様:
クロック:12MHz水晶(CPU内部発振器も利用できます)
電源入力:5V(端子またはUSBから供給)
押しボタン:ISP起動ボタン、リセットボタン
表示: ステータスLED×2
IO端子:USB-miniコネクタ、 22pin 2列ヘッダー×2

形状:ネジ固定ボード型 4.5cm×4.1cm
その他:ドラッグアンドドロップでのプログラム書き込み

*GPIO端子は、SPIとかI2Cの機能が多重になっていますが、単純なIOとして使用する場合、35本の信号入出力が利用できます
⇒2つの端子がI2Cのため、出力時はオープンドレイン専用になります(真のオープンドレインが提供されます)
⇒2つの端子がLEDに接続されていますので、L信号入力時には約1mAの引き込み電流を必要とします。
⇒1つの端子がISP用スイッチに接続されています。衝突を避けるため、入力方向で使用される事をお勧めします。
 


 ■使用形態
本基板は、22pinのコネクタ2組に、CPUの信号を引き出しています。
付属のヘッダーピンを基板の使用方法に合わせてはんだ付けしてご利用ください。

1、ヘッダーピンにコネクタを接続する場合。
写真のように、基板の部品面(上面)にヘッダーピンを取り付けます。
必要な信号は、ヘッダーピンにプラグ形式のコネクタを接続して引き出します。



2、マザーボード形式の実装
本基板を、さらに、別な基板(マザーボード)に取り付けて利用する形態です。
この場合は、ヘッダーピンを裏面に実装します。


3、直接接続
基板のハンダ端子に直接電線を取り付けます。
一番、実装する体積が少なくなります。
この接続方法の場合、端子に電線を挿入せずに、部品面にだけハンダ付する事で、裏面に出っ張りが出ません。
少し厚い目の両面テープで基板を取り付ける事ができます。
 ■動作用電源
動作用電源はUSBコネクタから供給する方法とCN2の5Vin、GNDに接続する方法があります。
本基板で、USBのターゲットデバイスを作成する場合はUSB信号と電源は一緒に供給されます。
また、バッテリーで動作する装置を制作する場合等には、USB接続のモバイルバッテリーを利用する事もできます。
一方、装置内に5V系の電源が存在する場合は、CN2コネクタへ接続してください。


 ■回路と注意点

・電源
動作電源は、USB端子からの5VまたはCN2コネクタからの5Vをダイオードで合流させた後、3.3Vにレギュレートさせて、CPUに供給しています。
また、3.3Vに安定化された電源は、CN2、CN3コネクタにも出力しています。
3.3V用のレギュレータの供給能力は最大200mAです。
CPUの消費電流を含め、コネクタから引き出す場合は、200mA以内としてください。
レギュレータの入力となる5V電源の最大値は6Vです。
・リセットおよびISP
リセット端子は、外部からCPUをリセットさせるための入力です。
外部にRESETを引き出す場合、意図しないリセットに対するマージンを確保するように、非リセット状態(通常3.3Vレベル)でも、低いインピーダンスでドライブする事をお勧めします。
ISPを起動させるブート線はCPUの4番端子を、リセットはCPUの3番端子を直接押しボタンスイッチでGNDに接続しています。
同信号はコネクタCN2にも引き出されていますが、外部から駆動させる場合、スイッチを押した際に直接GNDと接続される点を考慮してください。
・デバッグ端子
SWD用の二本の端子は、直接コネクタCN3に接続しています。
・USB端子
CPUの19番端子、20番端子を抵抗を通して、USB-miniコネクタに引き出しています。
また、USBの接続指示を出すため、CPUの22番端子(PIO0の6番)からFETを使ったスイッチを操作しています。
USBに接続を伝える場合は、上記端子を論理Lにする事で、USBのDM+に規定の接続信号が出ます。
・ステータス表示
汎用に使用できるように、LEDを二個搭載しています。
CPUの9番端子及び17番端子からLEDを駆動させています。
回路的には、3.3Vの電源->抵抗->LED->信号線となるため、L論理で点灯となります。
点灯に、約1mAの電流を必要とします。
・GPIO
CPUからコネクタCN2、CN3への直接接続です。
I2C、SPI、UART等の機能GPIOに多重化されています。

回路図、信号表、寸法図 (PDF)


 


 ■mbedクラウドプログラミング

MC11U35 CPUボードに搭載されているLPC 11U35はARM CORETEX-M0 アーキテクチャのCPUです。
mbedクラウドを使ったプログラミングで手軽にソフト作成を開始できます。
mbedクラウドでのプログラム作成はこちらのページを参照してください。

NXP11UシリーズのCPUはUSBのターゲットコントローラを内蔵しています。またUSBのサポートプログラムがROM内に含まれています。
ISPでのドラッグアンドドロップでの書き込みには、内蔵されたUSB機能が使われます。
また、USBの機能を司る基本のファームウエアは、ユーザプログラムから呼び出して利用できるようになっています。

購入直後のMC11U35 CPUボードには、出荷試験用として、搭載LEDを交互に点滅させながら、それ以外の端子に約1KHzの方形波を出力するプログラムが書かれています。
PCのUSB端子とminiBタイプのUSBケーブルで接続する事により、出荷時に書かれたプログラムが動作します。

 


 ■mbedクラウドで作成したプログラムのデバッグ

mbedクラウドは簡単に利用でき、ネット(とPC)があれば手軽にプログラミングをはじめられる便利な環境です。
しかし、泣き所もあります。
それはデバッグです。
MC11U35ボード用にmbedで作成したプログラムをデバッグする際のヒントはこちらをご覧ください
 



 ■オフラインのプログラミングとデバッグ

最近のCPUには、デバッグ用インターフェースとして、JTAG端子が用意される事が多くなりました。NXP 11U35 CPU にもSWDと呼ばれる、JTAG信号を2本の信号線に乗せるインタフェースが用意されています。
またARMのCORETEXシリーズには、COMSIS-DAPと呼ばれる、デバッグの仕組みが組み込まれています。

SWDの接続は二本の信号線、SWD DIOとSWD CLOCKです。これに、reset線を加えて、デバッグ用IFを提供します。
mbed対応のCPUボードの構成は、デバッグに使用する信号を、もう一つ管理用のチップを用意してコントロールしています。
このため、mbed対応ボードには、デバッグ用のCPUとターゲット用のCPUが搭載されています(このため、高価になってしまう事と、動き始めるとこの部分は不要な事が多い)
一方、MC11U35 CPUボードにはデバッグコントロール用のCPUは搭載していません。このため、外部にデバッグ用のインタフェースが必要です。
この用途として「LPC-LINK2」が比較的安価です。LPC-LINK2は本CPU以外のCPUもデバッグする事ができます。
(外部にデバッグ専用チップを持たないMC11U35 CPUボードで、ドラグアンドドロップよるプログラムの書き込みが可能なのは、CPUにUSBからの書き込み機能が含まれているためです)

また、本基板を含め、LPC11U35のCPUチップを搭載した基板を、デバッグインタフェースにしてしまう方法もあります。
(一方のLPC11U35のCPUチップをデバッガにして、他方のLPC11U35のCPUチップをデバッグします)

デバッグ関係ですが、MC11U35 CPUボードのCN3、18番ピン〜22番ピンに必要な信号線が集まっています。
mbedクラウドをメインと考えているため、デバッグ専用の10Pin端子は搭載しておりません。SWD関係の信号を端子から引き出して、デバッガと接続する必要があります。

写真はLPC-Link2をCMSIS-DAPデバッガとして使用し、本基板と接続しているところです。
10pin端子をバラ線に分解して、接続しました。

10Pin Targetコネクタ  MC11U35のCN3
SWDIO Pin2 <--> Pin20 SWDIO/P0_15/AD4/CT32B1_MAT2
SWCLK Pin4 <--> Pin19 SWCLK/P0_10/SCK0/CT16B0_MAT2
nSRST Pin10 <--> Pin18 RESET
GND Pin3,5,9 <--> Pin22 GND
(VREF Pin1 <--> Pin21 3.3Vout) *1

*1:写真では、MC11U35基板のみの動作で消費が少ないため、本来は3.3V出力であるCN3の21Pinにデバッガから電源を供給して動作させています。

デバッグには、MDK-ARMのようなオフラインで動作するコンパイラ環境(PC上にインストールされたコンパイラ)の構築が必要です。
下記をご参照ください。
https://mbed.org/users/MACRUM/notebook/uvision4_debug/

オフラインでのコンパイルは下記ページも参考になります。
https://mbed.org/users/okini3939/notebook/offline-toolchains_jp/
*mbedクラウドで作成した、LPC11U35用プログラムは、Keil uVisionでのexportには対応していません。
 


信号表カード
オンラインプログラミング、mbed_pgm.htmlへのリンク
オンラインで作成したプログラムのデバッグヒント、debug.htmlへのリンク

お問い合わせは、moritaアットiccraft.comまでお願いします。アットの部分を@に入れ替えて送信お願いします。