86Duino EduCake 硬件说明

简介

86Duino EduCake 是一款 x86 架构的开源微电脑学习机,内部采用高性能 32 位 x86 相容的处理器 Vortex86EX,可以相容并执行 Arduino 的程式,特点是内建面包板,使用者不需经由焊接过程,即可快速将许多电子元件、感测器及周边配件加以连接或置换并进行电子实验。其内建的特殊电路保护设计,能防止错误操作而导致烧毁 I/O 接脚。除此之外,EduCake 外壳是由坚固的金属和面包板组合而成,重要的电子零件皆被包覆其内,周围留下常用的 I/O 接口,使得 EduCake 不容易受到外力破坏,适合让使用 Arduino 、微电脑及嵌入式系统的初学者、设计师、业余爱好者、任何有兴趣的人,打造自己专属的电子互动装置。

硬体规格

  • CPU 处理器:x86 架构 32 位元处理器 Vortex86EX,主要时脉为 300MHz(可用 SysImage 工具软体超频至最高 500MHz)
  • RAM 记忆体:128MB 工规 DDR3 SDRAM
  • Flash 记忆体:内建 8MB,出厂已安装 BIOS 及 86Duino 韧体系统
  • 1 个 10M/100Mbps 乙太网路 RJ-45 接口
  • 2 个 USB Host 接口(Type A USB 母座)
  • 1 个 SD 卡接口
  • 1 个音效输出接口,1 个麦克风输入接口(内建 Realtek ALC262 高传真音效晶片)
  • 1 个标准 RS232 串列埠
  • 1 个电源输入接口( 5V输入,Type B micro-USB 母座,同时也是烧录程式接口),具有 1 个电源开关和 1 个电源指示灯
  • 26 根数位输出/输入接脚(GPIO)
  • 3 个 TTL 序列接口(UART)
  • 2 个 Encoder 接口
  • 6 根 A/D 输入接脚
  • 9 根 PWM 输出接脚
  • 1 个 I2C 接口
  • 1 根 5V 电压输出接脚, 1 根 3.3V 电压输出接脚
  • 1 根 RESET 接脚
  • 长:78.6mm,宽:78mm,高:28.3mm
  • 重量:280 g
  • 机上面包板规格:
    EduCake 机上面包板布局与一般市售面包板相同,孔位间距为 2.54mm,如下图:
    Bread_254
    面包板内部的连接方式如下图,图中黄线代表彼此相连的接点:
    Bread_link

I/O 接口布局

EduCake I/O 接口分布于两侧与面包板(如下图),其上安排了多种常用的 I/O 接口,我们将在后面依序说明。

zh_all_io

EduCake 正面

zh_side1_name

EduCake 反面

zh_side2_name

面包板

EduCake 面包板左侧与右侧是具有多功能的 I/O 接口(如下图红框),而中央则是可以接上 DIP 电子零件的实验区域(如下图黄框)。

zh_Bread_name

为了让初学者比较容易上手,我们将 EduCake 面包板上的 I/O 接口排列顺序设计成 Arduino 相容,左下图是 Arduino Leonardo 实体图,两图中红框内的 I/O 接口排列顺序相同。

educake_arduino

I/O 接口功能简介

一、电源系统

EduCake 的电源系统直接使用外部的 5V 电源输入,内部再经过稳压晶片后产生系统需要的电压。另外有一个 ON/OFF 开关可让使用者手动开关系统电源。电源输入端和电源开关的电路图如下:

zh_sch_power

虽然 EduCake 的电源系统相当简单,但由上图可看到我们仍加入了一个突波保护二极体强化电源的保护,可防止电源开关打开瞬间产生的突波(火花)影响内部重要电子零件。

电源的连接方法

EduCake 的电源输入为 5V,您可以将电源输入接到 PC 的 USB 端,或者接到 USB 电源供应器(例如:智慧型手机的 USB 行动电源或是 USB 充电器),如下所示。

准备一条 micro USB 转 Type A USB 的转接线(例如:智慧型手机的传输线,如左下图),然后将 EduCake 连接到电脑的 USB 接口即可:

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 输出接脚通过太大的电流而烧毁内部电子零件,它们也各自内建了 1 安培的保险丝做保护:

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 卡、USB 随身碟。搜寻顺序是 SD 卡优先,然后是 USB 随身碟,最后才是 Flash。内建的 Flash 记忆体在出厂时,已经预设安装了 86Duino 韧体系统,如果使用者在 EduCake 上没有插上可开机的 SD 卡或 USB 随身碟,预设就会从 Flash 开机。

注:请注意,当您插上具有开机磁区的 SD 卡或 USB 随身碟,请确保该 SD 卡或 USB 随身碟上已安装 86Duino 韧体系统或其它作业系统(例如 Windows 或 Linux),否则 EduCake 将因找不到作业系统而开机失败。

SD 卡插入方向

请参考右下图,将 SD 卡正确的插入 EduCake。

sd_plug_in

三、GPIO 接脚(数位输出/输入接脚)

EduCake 上的 GPIO 接脚位于面包板两侧,为 0 ~ 20、31、32、42、43、44,共 26 支脚,如下图。在 86Duino Coding 开发环境内,您可以呼叫 digitalWrite 函式在这些脚位上输出 HIGHLOW,或呼叫 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 信号。我们各取一组脚位来说明不同功能的符号标示,如下图所示:

zh_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 函式读取的 A/D 值解析度预设是 10 bits,您可以透过 analogReadResolution 函式将解析度调整至最高 11 bits。

请注意,每一个 A/D 通道能输入的电压范围为 0V ~ 3.3V,使用上应严格限制输入电压低于 3.3V,若任一 A/D 通道输入超过 3.3V,将使所有通道读到的数值同时发生异常,更严重者甚至将烧毁 A/D 接脚。

接线范例

这个范例中,我们使用 EduCake 侦测 AA 电池电压。将电池正极接到 AD0 ~ AD5 其中一个,电池负极接到 GND,即可呼叫 analogRead 函式读取电池电压。接线如下所示:

zh_example_ad

有关 A/D 的更多说明,可参考基础硬体观念

六、I2C 接口

EduCake 面包板上提供 1 组 I2C 接口,为 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 脚位加上提升电阻(参考 Wiki 百科上的说明)。提升电阻的阻值与 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 或 32-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 内部电路有经过一个变压晶片(transformer)将信号电压转换至 -12V 和 +12V(如下图所示),所以只能与外部的 RS232 装置连接,不能接到 UART TTL 接口,否则将导致 UART TTL 接口烧毁。

zh_sch_RS232

十、LAN 网路接口

EduCake 反面提供一组 LAN 接口,支援 10/100Mbps 传输速度。您可以使用 Ethernet 函式库来接收和传送资料。在 LAN 接口上,使用了静电保护晶片以及感应式线圈来保护内部重要的电子零件:

zh_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 正面有两组 USB 2.0 接口,可外接 USB 装置(如 USB 键盘及滑鼠)。在 86Duino Coding 开发环境下,可使用 USB Host 函式库来存取 USB 键盘、滑鼠。当您在 EduCake 上安装 Windows 或 Linux 作业系统时,USB 接口亦可接上 USB 无线网卡及 USB 摄影机,来扩充无线网路与视讯影像功能。

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,接口位置如下图:

zh_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.