Micro:bit做为当红的少儿编程工具,这两年在编程教育领域越来越火。今天就从硬件架构开始,分享Micro:bit的相关主题。
Microbit 硬件设计是根据ARM mbed技术所开发的应用IC及相干周边功能所设计出来的!另外有一颗接口IC 用来处理USB 接口及拖拉式核心软件更新法.这接口IC 并未用来链接任何周边.
两部分关键信息可以一窥Microbit 的内部设计:
· 线路图(schematics,http://tech.microbit.org/hardware/schematic/ ), 可以看到主要零件的链接方式及设计.
· 参考设计及相关模块数据(referencedesign,
http://tech.microbit.org/hardware/reference-design/ ), 这部分的数据可以帮助进一步了解Microbit 的设计及变动性
硬件相关说明
nRF51 应用处理器IC
nRF51 应用处理器IC是让使用者作主要程控的处理器,完整的程序包含了用户客制及中介层(runtime) 及蓝芽协议层(Stack),(译者注:浏览器编译环境会在用户程序写完同时,将这三部分整合完成) 一旦用户将完整程序(HEX 文件)放在USB 闪存根目录上,处理器便会直接执行程序代码。使用者也可对连接在这处理器上的GPIO去做控制. 也可透过2.4GHz 无线去做相关周边的控制.
项目 | 说明 |
Model | Nordic nRF51822-QFAA-R rev 3 |
Core variant | ARM Cortex-M0 32 bit processor |
Flash ROM | 256KB |
RAM | 16KB |
Speed | 16MHz |
Debug | SWD, jlink/OB |
More Info |
蓝芽通讯
板子上2.4G无线相关设计提供了对手机平板的蓝芽通讯功能
项目 | 说明 |
Stack | Bluetooth 4.1 with Bluetooth low energy |
Band | 2.4GHz ISM (Industrial, Scientific and Medical) 2.4GHz..2.41GHz |
Channels | 50 2MHz channels, only 40 used (0 to 39), 3 advertising channels (37,38,39) |
Sensitivity | -93dBm in Bluetooth low energy mode |
Tx Power | -20dBM to 4dBm in 4 dB steps |
Role | GAP Peripheral |
Congestion avoidance | Adaptive Frequency Hopping |
Profiles | https://lancaster-university.github.io/microbit-docs/ble/profile/ |
More Info |
无线通信
板子上2.4G无线相关设计提供另外的无线通信协议(Nordic Gazell),这通讯协议已经在不同的程序语言环境可以直接使用,并且可以在多个microbit 装置中互相传递并且群组化(group code ).
项目 | 说明 |
Protocol | Nordic Gazell |
Freq band | 2.4GHz |
Channel rate | 1Mbps or 2Mbps |
Encryption | None |
Channels | 101 (0..100) |
Group codes | 255 |
Tx power | Eight user configurable settings from 0(-30dbm) to 7 (+4dbm) |
Payload size | 32 (standard) 255 (if reconfigured) |
More Info | https://lancaster-university.github.io/microbit-docs/ubit/radio/ |
按键
Microbit 正面有两个按钮,背面有一个。背面的按键连接至KL26 接口IC及 nRF51 处理器做系统重制用(reset)
正面的按键A 、 B 是可以由使用者去做程控包括了短压、长压或是A、B同时按,按键A、B 均连接至金手指(edge connector)上的GPIO ,加上电路设计可以做logic 0 或 1值的操作.
项目 | 说明 |
Type | 2 tactile user buttons, 1 tactile system button |
Debounce | (A & B) software debounced, 54ms period |
Pullup | (A & B) external 4K7, (System) 10K |
显示
在板子上有5x5 数组LEDs.做为显示屏,microbit 是以3x9 数组电路去控制它.并用很高的速度去刷新它。
项目 | 说明 |
Type | minature surface mount red LED |
Physical structure | 5x5 matrix |
Electrical structure | 3x9 |
Intensity control | 10 steps |
Intensity range | TBC |
Sensing | ambient light estimation via software algorithm |
Sensing Range | TBC, 10 levels from off to full on |
Colour sensitivity | red centric, red is 700nm |
重力传感器(加速度传感器)
重力传感器是经由I2C 跟处理器连结,并提供了三轴的感应数据并包含了手势感测的算法 (like : fall detection, logo-up, logo-down, shake)
项目 | 说明 |
Model | Freescale MMA8653FC |
Features | 3 axis, 2/4/8g ranges |
Resolution | 10 bits (0..1023) |
Max output data rate | 800Hz |
On board gestures | ‘freefall’ |
Other gestures | Other gestures are implemented by software algorithms in the runtime. |
磁力传感器
磁力传感器也是透过I2C 跟处理器连结,提供了磁力感测数值,并提供指南针功能,(The compass must be calibrated before use, and the calibrationprocess is automatically initiated by the runtime software –译者对这段有些疑虑,暂不翻译)
项目 | 说明 |
Model | Freescale MAG3110 |
Max update rate | 80Hz |
Full Scale range | 1000uT |
Sensitivity | 0.10uT |
温度感测
nRF51 处理器提供了板子上的实时温度感测(Runtime ambient temperature sensing ).
项目 | 说明 |
Type | on-core nRF51 |
Sensing range | -25C .. 75C |
Resolution | 0.25C steps |
Accuracy | +/-4C (uncalibrated) |
More Info | https://lancaster-university.github.io/microbit-docs/ubit/thermometer/ |
数字输入输出(GPIO)
金手指 (edge connector) 上有许多 GPIO 。处理器上有许多的多任务讯号针脚(pin define),有些已经设定成GPIO 功能连接至金手指,如何进一步使用这些针脚请参阅 (nRF51 data sheet)
项目 | 说明 |
Rings | 3 large IO rings and two large power rings, 4mm plug and crocodile clip compatible |
GPIO features | 19 assignable GPIO pins |
| 2 are assigned to the on board I2C interface |
| 6 are used for display or light sensing feature |
| 2 are used for on board button detection |
| 1 is reserved for an accessibility interface |
| 19 may be assigned as digital input or digital output |
| 19 may be assigned for up to 3 simultaneous PWM channels |
| 19 may be assigned for 1 serial transmit and 1 serial receive channel |
| 6 may be assigned as analog input pins |
| 3 may be assigned to an optional SPI communications interface |
| 3 may be assigned for up to 3 simultaneous touch sensing inputs |
ADC resolution | 10 bit (0..1023) |
Edge Connector | |
Pitch | 1.27mm, 80 way double sided. |
Pads | 5 pads, with 4mm holes |
More Info |
电力供应
给microbit的电力,主要是由接口IC透过USB 提供,亦可由电池盒连接器提供,在金手指上亦有电力供应的功能,需要熟悉电路设计的人操作.
项目 | 说明 |
Operating range | 1.8V .. 3.6V |
USB current | 120mA max |
Onboard Peripherals budget | 30mA |
Battery connector | JST X2B-PH-SM4-TB |
Battery current | TBC |
Max current provided via edge connector | 90mA |
More Info |
界面
这接口IC提供USB链接功能、拖拉式程序刷新(drag and drop flash program)及跟主计算机做序列通讯(serialcommunication) .
项目 | 说明 |
Model | Freescale MKL26Z128VFM4 |
Core variant: | ARM Cortex-M0+ |
Flash ROM | 32KB |
RAM | 4KB |
Speed | 16MHz |
Debug capabilities | SWD |
More info |
USB通讯
项目 | 说明 |
Connector | USB micro, MOLEX_47346-0001 |
USB version | 1.1 Full Speed device |
Speed | 12Mbit/sec |
USB classes supported | Mass Storage Class (MSC) |
| Communications Device Class (CDC) |
机构
我们有提供2D 跟3D CAD 图文件,这些资料可以用来提供3D printing 的生产制造的图文件数据.
项目 | 说明 |
Dimensions | 5cm(w) 4cm(h) |
Weight | 5g |