86Duino EduCake ハードウェア說明

簡単なご紹介

86Duino EduCake は x86 アーキテクチャのオープンソースマイコン学習機であり、内部に高性能 32 ビット x86 互換性プロセッサを採用し、Arduino プログラミングを互換並びに執行することが可能である。その特徴は内蔵ブレッドボードであり、ユーザーは溶接プロセスを行う必要がなく、ただちに電子部品、センサー及び付属品を接続或いは交換、電子実験を行うことができる。その内蔵の特殊電気回路保護設計は、誤作動及び I/O ピンの焼けを防ぐことができる。このほか、EduCake のボディーは頑丈な金属とブレッドボードから構成されており、重要な電子部品は皆内部に収められ、周囲に常用の I/O 入出力インターフェイスが置かれ、外部損傷により容易に壊れず、Arduino 使用、マイコン及び組み込みシステム書学者、設計師、愛好家、関心のある人が、独占電子インタクラティブ装置を作成するのに適している。

ハードウェア規格

  • CPU プロセッサ:x86 アーキテクチャの 32 ビットプロセッサ Vortex86EX は、主にそのクロックは 300MHz である( SysImage ツールプログラムは最高 400MHz に達する)
  • RAM メモリ:128MB DDR3 SDRAM
  • Flash メモリ: 8MB 内蔵,出荷時 BIOS 及び 86Duino ファームウェアシステム設置済
  • 10M/100Mbps イーサネット RJ-45 インターフェイス 1 個
  • USB Host インターフェイス(Type A USB メス)2 個
  • SD カードインターフェイス 1 個
  • オーディオ出力インターフェイス 1 個,マイク入力インターフェイス(Realtek ALC262 ハイデフィニション・オーディオチップ内蔵)1 個
  • 標準 RS232 直列ポート 1 個
  • 電源入力インターフェイス 1 個( 5V 入力,Type B micro-USB メス,同時にバーンプログラムインターフェイス),電源スイッチ 1個及び電源インジケータ 1個設置
  • 26 本のデジタル入力出力ピン(GPIO)
  • TTL シリアルインターフェイス(UART) 3 個
  • Encoder インターフェイス 2 個
  • A/D 入力ピン 6 本
  • PWM 入力ピン 9 本
  • I2C インターフェイス 1 個
  • 5V 電圧入力インターフェイス 1 本, 3.3V 電圧出力ピン 1 本
  • RESET ピン 1 本 
  • 長さ:78.6mm,幅:78mm,高さ:28.3mm
  • 重量:280 g
  • 機械のブレッドボード仕様:
    EduCake の機械ブレッドボードのレイアウトと一般に販売されているブレッドボードは同じであり、穴の間隔は 2.54mm であり、下図の様になる:
    Bread_254
    ブレッドボード内部の接続方法は下図の通りであり、図中の黄線は互いの接点を表す:
    Bread_link

I/O インターフェイスレイアウト

EduCake I/O インターフェイスレイアウト位置は、その両側とブレッドボードであり(下図の通り)、その上に多くの常用する I/O インターフェイスが置かれており、後に順を追って説明したいと思う。

all_io

EduCake 正面

side1_name

EduCake 反面

side2_name

ブレッドボード

EduCake ブレッドボード左側と右側には多くの機能的な I/O インターフェイスが有り(下図の赤枠内)、中央は DIP 電子部品に接続可能な実験区域である(下図の黄枠)。

Bread_name

初学者が比較的容易に開始できるようにする為、EduCake ブレッドボードの I/O インターフェイスは Arduino と互換性を持ちながら順序だって設計されており、左下の図は Arduino Leonardo のエンティティ図であり、両図中の赤枠内の I/O インターフェイスは同じく順序立て配置されている。

educake_arduino

I/O インターフェイスの簡単なご紹介

一、電源システム

EduCake の電源システムは直接外部の 5V 電源を使用して入力し、内部はレギュレータウエハを経た後システムが必要とする電圧を発生する。
その他 ON/OFF スイッチによりユーザーが手動でシステム電源のオン・オフを行うことが出来る。電源入力端及び電源スイッチの電気回路図は下図の通り:

sch_power

EduCake の電源システムはかなり簡単だが、上図から私たちが加えたサージ保護ダイオード強化電源の保護を見ることができ、電源オン・オフ時の瞬間に発生するサージ(火花)が内部の重要な電子部品に影響を与えることを防ぐ。

電源接続方法

EduCake の電源入力は 5V であり、電源を入力し PC の USB 端に繋ぐ、或いは USB 電源(例:スマートフォン USB ポータブル電源或いは USB 充電器)に、下に示したように繋ぐことができる。

micro USB を一つ用意し、Type A USB のアダプタケーブルに繋ぎ(例:左下の図の様なスマートフォンの伝送線)、その後 EduCake をパソコンのインターフェイスに繋げばよい:

example_link_pc

或いは EduCake を USB 電源に接続し(例えばスマートフォンの充電器)、その後家庭の電源を下図の様に使用する:

example_link_plug

注意すべきなのは、EduCake が外接の如何なる装置も持ちあわせていない時(例えば USB キーボードマウス)、少なくとも 400mA の電流が通って初めて正常に作動する:一般に PC 或いはノートパソコンの USB 2.0 インターフェイスは最高 500mA の電流を提供することができ、EduCake の実作に対し十分な供給をするが、もし EduCake が外部装置に接続(USB 装置及びブレッドボードが接する 5V 及び 3.3V 出力の実験電気回路を含む)され、全体消耗電流が 500mA を超えた時、PC の USB 2.0 供給電力は不適切であり、900mA の USB 3.0 インターフェイスを供給できるように改めるか、更に高い電流を供給できる USB 電源を用い、EduCake に電力供給することを考慮すべきである。


註:旧式或いは設計不良の PC 及びノートパソコンは USB インターフェイスの設計においてあまり厳格ではなく、提供可能な電流は低くて USB 2.0 規格の 500mA であり、この様な PC が EduCake に対し電力供給するので EduCake が正常に作動しない(例えばブートしない或いはプログラムがバーニングしない)。この様なときは別のパソコンで再度試した方がよい。

電源入れる

EduCake 電源インターフェイス右側のスイッチを、切りかえて “ON” にする:

switch_power_on

電源指示ランプが光った時、電源供給が正常であることを表し、EduCake は動作を開始する:

power_led

電源出力インターフェイス

EduCake は機体のブレッドボード右半分の配置上に二つの電源出力ピンを持ち、5V と 3.3V に分けられ、ブレッドボード上の実験電気回路図の電圧源となっている。その中の 5V 出力と電源出力は共用であり、言い換えれば、両者は電界路上で一つに接続され、出力する電流量は外部の電源出力により決定される:3.3V はレギュレータ―(regulator)通じ、最大出力は 400mA である。


註:例を挙げて話せば、例えば 1000mA の USB 変圧器を使用して電源出力を行った場合、EduCake 自身が消耗する 400mA をはぶき、5V 出力ピンは最高 600mA で出力する:3.3V 出力ピンについては、外部電源がどれだけ電流を出力しても、最高出力の電流は 400mA である。

下図は 5V と 3.3V の出力ピンの位置である:

Bread_33V_5V

5V と 3.3V 出力ピンは大きすぎる電流により内部の電子部品が焼けるのを防ぐために、各自 1A の電力ヒューズを内蔵し保護している:

sch_33V_5V_protect

注意してほしいのは、もし、ブレッドボード上の実験電気回路が 1A の大電流を超過消耗必要がある場合(例えば直流モーター駆動電気回路)、追加の電源或いは電池を改め、ブレッドボード上のロードに電気供給をし(追加電源のグラウンドとブレッドボード上の GND を連接すればよい)、5V と 3.3V 出力ピンを使用し大電流の電気回路供給することを防ぐ。

二、SD 卡插槽

EduCake は最大 32GB SDHC の SD カードをサポートし、SDXC はサポートしない。
注意していただきたいのは、もし、SD カードに Windows 或いは Linux オペレーティングシステムを取り付けたいなら、SD カード自体の読み取り速度が直接オペレーティングシステムのブート時間と執行速度に影響するため、Class 10 の SD カードを使用することをお勧めする。

私たちは SysImage ツールプログラムを別に提供したので、SD カードにブート可能な 86Duino ファームウェアシステムを設置することが出来る。86Duino ファームウェアシステムは SD カード上で執行することで、利点をもたらしてくれる。更なる説明を参照されたい。

ブート順序

EduCake ブート時、BIOS は三つの場所で起動ディスクを探す:内蔵の Flash メモリ、SD カード、USBUFD。その順序は SD カードが優先され、その後 USBUFD、Flash と続く。内蔵の Flash メモリは出荷時、既に 86Duino ファームウェアシステムが取り付けれれているため、もしユーザーが EduCake 上にブート可能な SD カード或いは USBUFD に挿入することができなかったら、プリセットが Flash よりブートする。


註:注意してほしいのは、備え付けブートセクタの SD カード或いは USBUFD を差し込む時、その SD カード或いは USBUFD がすでに既に取り付けられた 86Duino ファームウェアシステム或いはその他のオペレーティングシステム(例えば Windows 或いは Linux)を確保しないと、EduCake はオペレーティングシステムを見つけることができず、ブートに失敗する。

SD カード挿入方向

右下図を参照し, SD カードを正確に EduCake に挿入する。

sd_plug_in

三、GPIO ピン(デジタル出力/入力ピン)

EduCake 上の GPIO ピンはブレッドボードの両側に位置し、0 ~ 20、31、32、42、43、44となっており、合計26本、下図の通りである。86Duino Coding 開発環境において、 digitalWrite 関数と呼ぶことのできるものがこれらピンの上で HIGH 或いは LOW を出力、或いは digitalRead 関数と呼ばれるものがピンの入力状態の読み取りを行う。

gpio_pins

各 GPIO は皆入力あるいは出力の方向を持ち、pinMode 関数を呼び出し方向を設定することができる。GPIO 設定を出力方向とする時、HIGH 出力を 3.3V、LOW を 0V、各ピンの最大電流出力を 16mA とする。GPIO 入力方向は、出力電圧を 0 ~ 5V とする。

EduCake の各 GPIO ピンは皆帯電防止剤と過電圧保護の要素と、100 オーム保護抵抗制限(下図電気回路図に示した通り)が加えられ、GPIO が操作により焼けないように防止する。

sch_gpio_protect

sch_gpio_protect2

注意してほしいのだが、保護デバイス並びに非ユニバーサルは、ユーザーが GPIO ピンを操作する時は細心の注意を払うべきであり、行き過ぎた誤操作(例えば 24V の電圧を GPIO ピンに入力してしまう)は GPIO を焼くことに繋がってしまう。

EduCake と Arduino は類似し、部分的 GPIO ピンは別の機能を持っている、例えば:ピンコードの前に~符合を持つ者は、それが PWM 信号を出力可能なことを意味する:RX 或いは TX の文字を持つものは、UART シリーズの信号を出力可能なことを意味する:EA、EB 、EZ 文字を持つ者は、Encoder 信号を入力可能なことを意味している。各ピンを読み取り、異なる機能の信号表示を、下図に示した通り説明したいと思う:

multi_function_pis

GPIO に関する更なる説明については、基礎ハードウェア概念を参考ください。

四、RESET ピン

EduCake はブレッドボード右側に RESET ピンが有り、内部には CPU モジュールのチップリセットに連接されており、RESET ピンにおいて低電圧パルスが生じ EduCake は再度ブートする。RESET ピンの位置及び電気回路図は下図に示した通り:

sch_reset

配線例

使用者は RESET ピンを利用して EduCake に新たにボタンを加えることができる;典型的な方法はブレッドボードに押しボタンスイッチを差し込み、一端を GND に繋げ、別の一端を RESET ピンに接続し、ボタン入力時、RESET ピンは低電位であり、CPU は作動せず、ボタンを離したとき、RESET ピンは高電位であり、CPU は再び起動する。ボタンを新たに設置する例は下図の通りである:

example_reset

五、A/D ピン(アナログ入力ピン)

EduCake はブレッドボードに6チャネルの A/D 入力を提供し、AD0 ~ AD5 の位置は下図に示した通り:

ad_pins

各チャネルは最高 11 bits の解析度を持ち、86Duino Coding 開発環境下で analogRead 関数を呼び出しチャンネルの電圧値を読み取ることが出来る。Arduino との互換性の為に、analogRead から読み取った analogRead 値解析度プリセットは 10 bits であり、analogReadResolution 関数を通じ解析度を最高 11 bits まで調整することが可能である。

注意してほしいのは、各 A/D チャネルが輸入可能な電圧範囲は 0V ~ 3.3V であり、使用上入力電圧は 3.3V 以下に厳格に制限されており、もし A/D チャネルが 3.3V を超過すると、全てのチャネルが読み取った数値に同時に異常が発生し、ひいては A/D ピンが焼けてしまう。

配線例

この例において、EduCake を使用し AA 電池の電圧を検出する。電池正極を AD0 ~ AD5 中の一つに繋ぎ、電池負極をGND に繋ぐと、analogRead 関数を呼び出し電池の電圧を読み取ることができる。配線は下図の通り示す:

example_ad

A/D に関する更なる説明については,基礎ハードウェアの概念を参考されたい。

六、I2C インターフェイス

EduCake ブレッドボード上に I2C インターフェイスを 1 組、SDA と SCL を提供する。86Duino Coding 開発環境において Wire 関数を使用し I2C インターフェイスを操作することが可能である。I2C インターフェイスの位置は下図の通り:

i2c_pins

EduCake は I2C 仕様の standard mode(最高 100Kbps)、fast mode(最高 400Kbps)、high-speed mode(最高 3.3Mbps)の三種類の速度のモジュールと外部設置通信をサポートする。I2C 仕様に基づき、外部設備と連接の時、SCL と SDA ピンに対しレジスタンスを引き上げる必要がある(ウィキペディアの説明参考)。引き上げたレジスタンスと I2C 速度のモジュールは関連が有り、EduCake に対し、100Kbps と 400Kbps の速度モジュールにおいて、4.7k オームの電圧を加えた引き上げたレジスタンスを推奨する:3.3Mbps 速度モジュールにおいては、1K オームのものを加えることをお勧めする。

配線例

RoBoard Module RM-G146 の 9 個の慣性センサーを例にとってみよう。以下にそれと EduCake の I2C インターフェイスと接続されるかが実証されている。下図に RM-G146 のピンの位置を示す:

example_i2c_senser

RM-G146 は既に I2C チャネルで引き上げられたレジスタを内蔵しているので、追加の引き上げられたレジスタは必要なく、EduCake の 5V 出力ピンを RM-G146 の 5V 入力に接続し、GND と I2C チャネルが相互にドッキングし、正確に EduCake と RM-G146 を I2C 相互通信へとつなげることが出来る。配線は下図に示した通り:

example_i2c_senser2

七、PWM 出力

EduCake は 9個の PWM 出力チャネル(GPIO と共用ピン)を提供し、3、5、6、9、10、11、13 、31、32 に分けられる。86Duino Coding 開発環境で analogWrite 関数を呼び出しこれらをピンに接続 PWM シグナルを出力する。
EduCake の PWM チャネルは最高 25MHz 或いは 2-bit 解析度の出力シグナルを許可するが、Arduino と互換性が有り、輸出周波数を 1KHz、解析度を 8 bits にプリセットする。PWM ピンの位置は下図の通り:

pwm_pins

analogWrite 関数出力の PWM 周波数を 1KHz に固定されており調整できないが、 analogWriteResolution 関数を呼び出してその出力する PWM シグナル解析度を 13 bits に上げることが出来る。

もし PWM ピンにその他の周波数を出力したいなら、 TimerOne ライブラリを改めて用いて PWM シグナルを出力し、最高出力周波数を 1MHz とする。

PWM に関する更なる説明については、基礎ハードウェア概念を参考してほしい。

八、TTL 直列ポート(UART TTL)

EduCake は 3 組の UART TTL インターフェイスを提供し、それぞれ TX (1) / RX (0)、TX2 (16) / RX2 (17)、TX3 (14) / RX3 (15) に分けられ、その通信速度(ボーレート)は最高 6Mbps に達する。Serial ライブラリを使用してデータの受信と送信を行うことが出来る。
UART TTL インターフェイスの位置は下図の通り:

UART_pins

注意して欲しいのは、この三組の UART シグナルはみな LVTTL 電圧レベル(0 ~ 3.3V)に属し、12V 電圧レベルの RS232 インターフェイスシグナルに直接これら UART TTL を繋ぎ、焼いてしまは無いようにすること。

九、RS232 データポート

EduCake は反面 RS232 インターフェイスを一つ持っており、外部設備通信との速度(ボードレート)は最高 1.5Mbps に達する。 Serial232 ライブラリを用いてデータの送受信を行うことが出来る。そのインターフェイスのエンティティ図とピンの名称は下記の通り:

RS232_pins

注意して欲しいのは、RS232 と UART TTL は異なる場所であり、RS232 内部電気回路は PSA ウェーハーを通じてシグナル電圧を -12V と +12V に変換するので(下図に示した通り)、外部の RS232 装置と接続できるものの、UART TTL インターフェイスとは接続できない。さもないと、UART TTL インターフェイスに焼けが生じてしまう。

sch_RS232

十、LAN ネットワークインターフェイス

EduCake は反面 LAN インターフェイスを 1 つ持ち、10/100Mbps 送信速度をサポートする。 Ethernet ライブラリを用いてデータの送受信を行うことが出来る。LAN インターフェイスにおいて、静的保護チップ及び誘導コイルを使用して内部の重要な電子部品を保護する:

sch_LAN_protect

接続例

EduCake ブート後、ネットワークケーブルを LAN インターフェイスに繋ぎ、もし、インターネット信号が正常なら、ほどなくして LAN インターフェイスの指示が点灯し、インターフェイスの右側の緑色のランプと、左側のオレンジ色のランプが、下図に示したように光りだす:

example_lan

十一、Audio インターフェイス

EduCake は HD Audio サウンドカードを内蔵しており、ハイ・デフィニション・オーディオチップ Realtek ALC262 により音声出力二つとマイク入力一つを提供します。内部電気回路図は下記の通り。音声出力とマイクソケットは EduCake の正面に位置し、口径は皆 3.5 mm である。86Duino Coding 開発環境において、Audio ライブラリを使用し立体音声を出力することもできる。

sch_audio

接続例

イヤホン或いはマイクを、下図に示した通り正確にインターフェイスに繋げばよい:

example_audio

十二、USB 2.0 インターフェイス

EduCake 正面には 2 つの USB 2.0 インターフェイスが有り、USB 装置に外接する(例えば USB キーボード及びマウス)。86Duino Coding 開発環境下において、 USB Host ライブラリを使用し USB キーボード、マウスを読み取ることが出来る。EduCake に Windows 或いは Linux システムを取り付けるとき、USB インターフェイスは USB ワイヤレスカード及び USB カメラに接続し、Wi-Fi とビデオ画像機能を拡大することが出来る。

EduCake の USB インターフェイスは静的保護チップを内蔵し内部の重要な電子部品を、下図の様に保護する:

sch_usb_protect

十三、Encoder インターフェイス

EduCake ブレッドボードは二つの Encoder インターフェイスを持ち、第一のものを EA0 (42) / EB0 (43) / EZ0 (44)、第二のものを EA1 (18) / EB1 (19) / EZ1 (20)とし、光学インクリメンタルエンコーダー及び SSI アブソリュートエンコーダ信号読み取りに用いられる。86Duino Coding 開発環境下において、 Encoder ライブラリを用いてこれらインターフェイスの数値を読み取ることができる。各 Encoder インターフェイスが許可する最大入力シグナル周波数は 25MHz であり、位置は下図の通りである:

encoder_pins

接続例

AM4096 回転エンコーダー IC を例にとると、それと EduCake の Encoder インターフェイスをどのように連接するか表示される。下図は AM4096 のピンの配置である:

AM4096_pins

上図の輸出ピンのうち、一つはエンコーダー信号出力を増やすもので、A/B Phase と呼ばれ、ピンは A、B 、Ri と標示される。ここでは EduCake の第一 Encoder インターフェイスを例にとり、AM4096 の A、B 、Ri を個別に EA0、EB0、EZ0 に連接し、その後 AM4096 の電源 Vdd を 3.3V に接続し、AM4096 の GND を EduCake の GND に接続すると、正確に EduCake と AM4096 を Encoder インターフェイスを通じ相互通信させることが可能となる。連接図は下図に示した通り:

example_encoder


付録一:EduCake 応用教学パンフレット

付録二:EduCake ピン名称と Vortex86EX GPIO Ports の対応関係

educake_gpio_to_vortex86_pins

附錄三:86Duino EduCake 硬體原始碼


デモビデオ


ハードウェア説明ホームページ

The text of the 86Duino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.