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 |
http://tech.microbit.org/software/ |
蓝芽通讯
板子上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 |
http://tech.microbit.org/bluetooth/ |
无线通信
板子上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 |
http://tech.microbit.org/hardware/edgeconnector_ds/ |
Pitch |
1.27mm, 80 way double sided. |
Pads |
5 pads, with 4mm holes |
More Info |
http://tech.microbit.org/hardware/edgeconnector/ |
电力供应
给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 |
http://tech.microbit.org/hardware/powersupply/ |
界面
这接口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 |
http://tech.microbit.org/software/daplink-interface/ |
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 |
原文链接
https://mp.weixin.qq.com/s?__biz=MzU0MTg0ODIzNA==&mid=2247483907&idx=3&sn=bef5bb1d947ac09c6355114c78abadef&chksm=fb22e5c6cc556cd090116d3e53dcea9d99b94d27e5fd1d960bfe50399d782ad685bbc2823093#rd