Micro:bit 硬件架构介绍
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
Micro:bit 硬件架构介绍的更多相关文章
- 多核CPU硬件架构介绍
转自:http://book.51cto.com/art/201004/197196.htm SISD.MIMD.SIMD.MISD计算机的体系结构 1. 计算平台介绍 Flynn于1972年提出了计 ...
- MindSpore Lite整体架构介绍
MindSpore Lite整体架构介绍 MindSpore Lite框架的总体架构如下所示: 前端(Frontend): 负责模型生成,用户可以通过模型构建接口构建模型,将第三方模型和MindSpo ...
- MemSQL分布式架构介绍(一)
最近在了解MemSQL架构,看了些官方文档,在这里做个记录,原文在这里:http://docs.memsql.com/latest/concepts/distributed_architecture/ ...
- 微控制器(MCU)架构介绍
微控制器(MicroController)又可简称MCU或μC,也有人称为单芯片微控制器(Single Chip Microcontroller),将ROM.RAM.CPU.I/O集合在同一个芯片中, ...
- python网络编程之C/S架构介绍
标签(空格分隔): c/s架构介绍 什么是C/S架构 C指的是client(客户端软件),S指的是Server(服务端软件),后续我们可以试着写个c/s软件实现服务器软件与客户端软件基于网络通信: 计 ...
- 深入GPU硬件架构及运行机制
目录 一.导言 1.1 为何要了解GPU? 1.2 内容要点 1.3 带着问题阅读 二.GPU概述 2.1 GPU是什么? 2.2 GPU历史 2.2.1 NV GPU发展史 2.2.2 NV GPU ...
- MindSpore整体架构介绍
MindSpore整体架构介绍 MindSpore框架架构总体分为MindSpore前端表示层.MindSpore计算图引擎和MindSpore后端运行时三层. MindSpore前端表示层(Mind ...
- A100 GPU硬件架构
A100 GPU硬件架构 NVIDIA GA100 GPU由多个GPU处理群集(GPC),纹理处理群集(TPC),流式多处理器(SM)和HBM2内存控制器组成. GA100 GPU的完整实现包括以下单 ...
- CUDA01 - 硬件架构、warp调度、指令流水线和cuda并发流
这一部分打算从头记录一下CUDA的编程方法和一些物理架构上的特点:从硬件入手,写一下包括线程束的划分.流水线的调度等等微结构的问题,以及这些物理设备是如何与软件对应的.下一部分会写一下cuda中的几种 ...
随机推荐
- layUI不同页面传参数
//页面一的方法 function modifyHotSearch(id){ layer.open({ type:2, title:"修改热门搜索", area: ['600px' ...
- HDU 1290 献给杭电五十周年校庆的礼物(面分割空间 求得到的最大空间数目)
传送门: 献给杭电五十周年校庆的礼物 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- NopCommerce 3.4中移动端访问抛弃响应式布局
在Nop3.4中,他抛弃了原来的xxx.Mobile.cshtml的这种写法,而是采用了响应式布局,并且把规则也给改了,你在后台配置不启用响应式布局,在前台你仍然不能写xxx.Mobile.cshtm ...
- css百分比问题——`top`、`left`、'translate'的百分比参照谁?
比如 top.left.transform属性的translate方法,他们的百分比都是相较谁而言的? top.left是基于父元素的: .parent { position: relative; b ...
- 大数据框架-Hbase
大规模结构化集群存储数据库.Table中的所有行都按照row key的字典序排列. 主键:row Key.访问行只能通过rowKey访问(范围或者准确值),或者全表扫描: 列族:cloumn fami ...
- Spring整合Mybatis SQL语句的输出
[1.修改Spring-Mybatis] <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSes ...
- input和div模仿select,带输入提示
有时候我们需要select和input的结合体,即可以使用下拉框,同时也可以用来输入,输入的同时显示可选的下拉选项 先上html代码 <div class="input-group i ...
- ABAP术语-Transaction
Transaction 原文:http://www.cnblogs.com/qiangsheng/archive/2008/03/19/1112804.html Logical process in ...
- 笔记: js构造函数与原型
目录 构造函数与原型介绍 涉及三种引用的操作 有关原型及原型链的一些相关方法总结 @ 构造函数与原型介绍 1.函数与函数的原型对象(prototype object): 在JavaScript中,创建 ...
- jQuery的简单函数
1. jQuery函数的基本语法: $(document).ready(function(){ //代码块: }) 2.window.onload()和$(document).ready()的区分: ...