HaaS EDU K1是HaaS Education Kit1的缩写,是基于阿里定制的高性能MCU-HaaS1000芯片打造的、集颜值和内涵于一身的物联网开发利器。作为云钉端一体全链路解决方案的软硬件积木平台,深度集成了AliOS Things物联网操作系统、HaaS轻应用、钉钉小程序和阿里云物联网平台等技术和服务,让开发者可以轻松的学习和开发云钉端全链路实战项目,解决实际场景,或孵化创新应用,下图是其全景图:
图1 HaaS EDU K1全景图
HaaS EDU K1 六大特点:
- 高颜值 - 有别于传统的裸板开发板,HaaS EDU K1外观鲜艳靓丽,十分青春活力。
- 可移动 - 内置1200mAh锂电池支持移动场景,OLED屏幕和游戏键盘设计提高可玩性。
- 配置丰富 - 本品采用阿里专用四核(Cortex-A7双核1GHz和Cortex-M33双核300MHz)高性能MCU-HaaS1000芯片,自带16M Bytes FLASH、16M Bytes PSRAM和2.5M Bytes SRAM,内置双频Wi-Fi和BT5.0天线,板载丰富的物联网传感器(加速度、陀螺仪、惯性、磁力计、温湿度、大气压、环境光和声音等),可开发丰富的AIoT应用场景或解决方案。
- 安全性 - 内嵌的Z8IDA金融级国密芯片,为数据安全和物联网认证保驾护航。
- 方便灵活 - 各接口有明确的标注,操作顺手,仅一条Type C数据线即可完成烧录、调试和充电,非常方便。
- 可扩展 - 开发板的资源都可以灵活配置,30pin扩展接口和SD卡槽满足更多应用场景需求。
1、整机配置
1.1、硬件接口
图2 整机接口示意图
如图2所示HaaS EDU K1接口资源丰富,外形大小合理:为94.4mm * 63mm * 20 mm,充分考虑手持移动的便利效果。其接口定义如下表:
名称 |
数量 |
描述 |
OLED屏幕 |
1 |
1.3寸,分辨率128*64 |
环境光传感器 |
1 |
型号:AP3216C |
指示灯 |
4 |
白色电源指示灯 RGB单色可编程 |
按键 |
5 |
1个小孔径复位按键 4个可编程按键 |
电源开关 |
1 |
电源ON/OFF拨动开关 |
TF卡槽 |
1 |
最大支持64GB |
USB接口 |
1 |
Type C接口,可充电/烧录/调试 |
扩展卡槽 |
1 |
30pin简牛母座 |
蜂鸣器排孔 |
4 |
蜂鸣器及温湿度检测对流孔 |
1.2、扩展接口
除已有板载功能之外,扩展有30pin功能接口,释放更多HaaS1000的资源,满足开发者丰富的应用需求。主要扩展有1路ADC输入、1路USB HOST、1路SW调试、2路SPK输出、3路MIC输入、8路GPIOs等,其中GPIO_P02和GPIO_P03与主板的传感器一起复用为I2C模式,其他6个GPIOs可随便定义,并且每路GPIO的最大驱动电流是10mA,具体接口定义如图3:
图3 扩展接口示意图
1.3、电气性能
工作电压 |
3.5V~5V |
电源保护 |
具备低压保护 |
充电电流 |
600mA,可充电锂电池 |
工作温度 |
-20~85℃ |
环境湿度 |
5~85%RH(无凝结) |
2、板载资源
2.1、主板功能
图4 主板功能模块示意图
如图4,HaaS EDU K1主板功能非常丰富,最大限度的释放了HaaS1000芯片的可开发资源,一大部分以板载功能呈现,比如:蓝牙/Wi-Fi、OLED屏幕、传感器等,另外还有30pin扩展接口可以使用。外形大小为89.98mm* 49.98mm ,设计时充分考虑黄金分割比例,使外形更美观,具体板载配置如下表:
名称 |
描述 |
|
CPU |
型号 |
HaaS1000 |
架构 |
Dual Cortex-M33 Dual Cortex-A7 |
|
主频 |
Cortex-M33 to 300MHz Cortex-A7 to 1GHz |
|
片上Flash |
16MB |
|
内存 |
2.5MB SRAM 16MB PSRAM |
|
加密芯片 |
Z8IDA |
|
看门狗 |
ADM706S |
|
蓝牙 |
2.4G/BT5.0 |
|
Wi-Fi |
2.4G/5G双频 |
|
串口烧录 |
FT232RQ |
|
充电管理 |
可充电锂电池1200mAh 充电电流600mA |
|
加速度传感器 |
MPU6050 |
|
陀螺仪传感器 |
||
惯性传感器 |
||
磁力计 |
QMC5883L |
|
气压传感器 |
SPL06-007 |
|
温度传感器 |
TH06 Si7006 |
|
湿度传感器 |
||
声音传感器 |
S08OB383 |
|
光传感器 |
AP3216C |
HaaS EDU K1自带丰富的物联网传感器,包含6轴运动传感器、磁力计、温湿度传感器、环境光传感器和大气压传感器等。
2.1.1 运动传感器-MPU6050
MPU6050是InvenSense公司推出的全球首款整合性6轴(3轴陀螺仪和3轴加速度)运动处理组件,相较于多组件方案,免除了组合陀螺仪与加速器时之轴间差的问题,减少了大量的封装空。MPU-6000(6050)的角速度全格感测范围为±250、±500、±1000与±2000°/sec (dps),可准确追踪快速与慢速动作,并且用户可程式控制的加速器全格感测范围为±2g、±4g±8g与±16g。原理图设计如图5,供电电压3.3V,采用I2C通信协议,最高传输速率可到400KHz,因为AD0管脚接高电平,所以I2C地址是0x69。在智能型手机、手持型游戏产品、3D遥控器等设备上都有应用。
图5 MPU6050原理图
2.1.2 磁力计-QMC5883L
QMC5883L源于Honeywell的HMC5883L,是一款表面贴装的集成了信号处理电路的三轴磁性传感器,应用场景主要包括罗盘、导航、无人机、机器人和手持设备等一些高精度的场合。原理图设计如图6,供电电压3.3V,采用I2C接口(I2C地址是0x0D),内置16位ADC,能对磁场信号进行校正和补偿,并且包含NVM用于存储校准数据,有连续测量和待命两种模式。
图6 QMC5883L原理图
2.1.3 温湿度传感器-Si7006
Si7006是Silicon Labs出品的温度及湿度传感器,它集成了温湿度测量元件、信号处理电路及模数转换器。温度测量范围在 -10°C至+ 85°C,最大误差为±1.0℃;湿度的测量范围0~80%,最大误差是±5%。原理图设计如图7,供电电压3.3V,采用I2C通信协议,最高传输速率可到400KHz,I2C地址是0x40。在远程遥测装置、智能手机、气象站等场景有广泛应用。
图7 Si7006原理图
2.1.4 环境光传感器-AP3216C
AP3216C是敦南科技推出的一款三合一环境光传感器,集成了光强传感器(ALS:Ambient Light Sensor)、接近传感器(PS:Proximity Sensor)和一个红外LED(IR LED)。常用于检测环境光进行屏幕亮度自动补偿以及人脸检测控制屏幕量灭的场景。原理图设计如图8,供电电压3.3V,采用I2C通信协议,I2C地址是0x1E。被广泛应用于智能手机上面,用来检测光强度和接近开关控制。
图8 AP3216C原理图
2.1.5 大气压传感器-SPL06
SPL06是全球领先的MEMS厂家歌尔推出的气压传感器,定位精度可达5厘米。原理图设计如图9,供电电压3.3V,采用I2C通信协议,I2C地址是0x76。
图9 SPL06原理图
2.2、芯片资源
HaaS1000是一颗高度集成的SoC,其主要集成了如下模块:
(1)Cortex-M33双核心和Cortex-A7双核心
(2)支持内部16MB PSRAM,2.5MB SRAM,16MB NOR flash
(3)2.4G/5G双频 Wi-Fi 4(1x1 802.11 a/b/g/n)
(4)双模蓝牙5.0
(5)音频编解码模块
(6)电源管理功能
(7)远程声场的三路模拟麦克风阵列和六路数字麦克风阵列
图10 芯片特性框架图
HaaS1000的M33核心可以运行蓝牙协议栈,A7核心可以运行语音处理和AI算法任务。其中Wi-Fi和蓝牙支持共天线和双天线方案,为性能和成本提供了灵活的可选择方案。其高集成度让开发者可以用很少的外围组件来设计完成一个完整的解决方案。HaaS1000芯片CPU及蓝牙/Wi-Fi主要特性如下:
2.2.1 CPU特性
(1)集成了PMU, CODEC, RF, BB, MCU和AP子系统的CMOS 单芯片
(2)MCU 子系统采用300MHz ARM Cortex-M33 Star双核
(3)AP 子系统采用具有NEON功能的1GHz CortexA7双核
(4)片内共享2.5MB SRAM
(5)16MB片上PSRAM
(6)16MB片上QSPI NOR Flash
(7)支持硬件加密引擎
(8)支持 TrustZone
(9)支持安全启动
2.2.2 BT/Wi-Fi特性
(1)Wi-Fi® IEEE 802.11 a/b/g/n
(2)支持 2.4GHz Wi-Fi
(3)支持 20MHz, 40MHz 带宽模式
(4)Bluetooth® v5.0 双模式
(5)支持 BLE Mesh
(6)A2DP v1.3/AVRCP v1.5/HFP v1.6
(7)支持 Wi-Fi/BT共存
2.2.3 外围接口特性
(1) 支持USB2.0 HS
(2)支持3路UART,最高可到6Mbps
(3)支持2路SPI,最高可到50Mbps,支持串口LCD
(4)支持2路I2C,最高可到1.4Mbps
(5)支持4路PWM
(6)支持3路 10-bit GPADC,7 channels
(7)支持40个GPIO可编程,每路都有独立中断
2.3、GPIO分配列表
功能模块 | 特征描述 | 原理图网络名 | 管脚名称 | GPIO MAPPING | ||||||
Function 0 | Function 1 | Function 2 | Function 3 | Function 4 | Function 5 | Function 6 | ||||
OLED | 1.3寸 128*64 |
SPI1_DIO | Y11 | GPIO_P3_5 | pwm3 | SPI0_CS1 | I2S0_DI2 | SPI1_DIO | ||
SPI1_CLK | V11 | GPIO_P3_7 | pwm1 | SPI0_CS2 | I2S0_DI0 | SPI1_CLK | ||||
SPI1_DI0 | W10 | GPIO_P3_4 | pwm2 | SPI0_DI1 | I2S0_DI3 | SPI1_DI0 | CLK_OUT | SPI1_DCN | ||
OLED_RST | U10 | GPIO_P3_6 | pwm0 | SPI0_DI2 | I2S0_DI1 | SPI1_CS0 | ||||
AP3216C_INT | T5 | GPIO_P4_7 | WF_UART_RTS | |||||||
I2C_SCL1 | F11 | GPIO_P0_2 | I2S0_WS | I2C_M1_SCL | PCM_FSYNC | SPI1_CS0 | PDM1_D | SPDIF0_DI | ||
I2C_SDA1 | E12 | GPIO_P0_3 | I2S0_SCK | I2C_M1_SDA | PCM_CLK | SPI1_CLK | PDM2_D | SPDIF0_DO | ||
SPI0_CS0 | B9 | GPIO_P0_6 | SDMMC_DATA5 | SPI0_CS0 | UART2_CTS | SPI1_CS2 | PDM0_D | |||
T-FLASH | 64GB | SDMMC0_D2 | F7 | GPIO_P1_0 | SDMMC_DATA2 | SPI1_CLK | SPI0_CS1 | I2S0_DI3 | ||
SDMMC0_D3 | E6 | GPIO_P1_1 | SDMMC_DATA3 | SPI1_CS0 | SPI0_CS2 | I2S0_DI2 | ||||
SDMMC0_CMD | M12 | GPIO_P1_2 | SDMMC_CMD | SPI1_CS1 | SPI0_CS3 | I2S0_DI1 | ||||
SDMMC0_CLK | N12 | GPIO_P1_3 | SDMMC_CLK | I2S_MCLK | SPI1_DCN | CLK_OUT | I2S0_DI0 | |||
SDMMC0_D0 | D9 | GPIO_P1_4 | SDMMC_DATA0 | SPI1_DI0 | ||||||
SDMMC0_D1 | C7 | GPIO_P1_5 | SDMMC_DATA1 | SPI1_DIO | I2S_MCLK | CLK_OUT | ||||
SDMMC0_DET_L | Y6 | GPIO_P3_1 | SPI1_CS2 | SPI1_CS2 | PDM1_D | WF_UART_TX | ||||
蜂鸣器 | PWM0 | N10 | GPIO_P2_6 | pwm0 | SPI1_DI1 | UART2_CTS | SPDIF0_DI | CLK_32K_IN | ||
LED | 蓝灯L3 | LED3 | AA5 | GPIO_P4_2 | I2S0_DI1 | |||||
绿灯L2 | LED4 | AA4 | GPIO_P4_3 | I2S0_DI0 | ||||||
红灯L1 | LED5 | R4 | GPIO_P4_4 | WF_UART_RX | ||||||
KEY | K1 | KEY1 | M13 | GPIO_P2_7 | pwm1 | SPI1_CS1 | UART2_RTS | SPDIF0_DO | CLK_OUT | |
K2 | KEY2 | D7 | GPIO_P2_4 | pwm2 | CLK_REQ_OUT | SPI0_DI3 | ||||
K3 | KEY3 | E8 | GPIO_P2_5 | pwm3 | CLK_REQ_IN | SPI0_CS3 | ||||
K4 | KEY4 | W6 | GPIO_P3_2 | SPI1_CS3 | SPI1_CS3 | PDM2_D | ||||
运动传感器 MPU6050 | 0x69 | I2C_SCL1 | F11 | GPIO_P0_2 | I2S0_WS | I2C_M1_SCL | PCM_FSYNC | SPI1_CS0 | PDM1_D | SPDIF0_DI |
I2C_SDA1 | E12 | GPIO_P0_3 | I2S0_SCK | I2C_M1_SDA | PCM_CLK | SPI1_CLK | PDM2_D | SPDIF0_DO | ||
MPU6050_INT | Y9 | GPIO_P4_1 | I2S0_DI2 | UART2_RTS | ||||||
磁力传感器QMC5883L | 0x0d | I2C_SCL1 | F11 | GPIO_P0_2 | I2S0_WS | I2C_M1_SCL | PCM_FSYNC | SPI1_CS0 | PDM1_D | SPDIF0_DI |
I2C_SDA1 | E12 | GPIO_P0_3 | I2S0_SCK | I2C_M1_SDA | PCM_CLK | SPI1_CLK | PDM2_D | SPDIF0_DO | ||
QMC5883L_INT | T4 | GPIO_P4_6 | WF_UART_CTS | |||||||
气压传感器SPL06 | 0x76 | I2C_SCL1 | F11 | GPIO_P0_2 | I2S0_WS | I2C_M1_SCL | PCM_FSYNC | SPI1_CS0 | PDM1_D | SPDIF0_DI |
I2C_SDA1 | E12 | GPIO_P0_3 | I2S0_SCK | I2C_M1_SDA | PCM_CLK | SPI1_CLK | PDM2_D | SPDIF0_DO | ||
温湿度传感器TH06 | 0x40 | I2C_SCL1 | F11 | GPIO_P0_2 | I2S0_WS | I2C_M1_SCL | PCM_FSYNC | SPI1_CS0 | PDM1_D | SPDIF0_DI |
I2C_SDA1 | E12 | GPIO_P0_3 | I2S0_SCK | I2C_M1_SDA | PCM_CLK | SPI1_CLK | PDM2_D | SPDIF0_DO | ||
光线传感器AP3216C | 0x1e | I2C_SCL1 | F11 | GPIO_P0_2 | I2S0_WS | I2C_M1_SCL | PCM_FSYNC | SPI1_CS0 | PDM1_D | SPDIF0_DI |
I2C_SDA1 | E12 | GPIO_P0_3 | I2S0_SCK | I2C_M1_SDA | PCM_CLK | SPI1_CLK | PDM2_D | SPDIF0_DO | ||
AP3216C_INT | T5 | GPIO_P4_7 | WF_UART_RTS | |||||||
惯性传感器 BMI60 |
0x68 | I2C_SCL1 | F11 | GPIO_P0_2 | I2S0_WS | I2C_M1_SCL | PCM_FSYNC | SPI1_CS0 | PDM1_D | SPDIF0_DI |
I2C_SDA1 | E12 | GPIO_P0_3 | I2S0_SCK | I2C_M1_SDA | PCM_CLK | SPI1_CLK | PDM2_D | SPDIF0_DO | ||
BMI160_INT1 | W8 | GPIO_P4_0 | I2S0_DI3 | UART2_CTS | ||||||
BMI160_INT2 | V7 | GPIO_P3_3 | SPI1_DI3 | PDM2_CK | ||||||
UART串口 FT232RQ |
1.5M | UART_RX | U12 | GPIO_P1_6 | UART0_RXD | I2C_M0_SCL | BT_UART_RXD | |||
UART_TX | V13 | GPIO_P1_7 | UART0_TXD | I2C_M0_SDA | BT_UART_TXD | |||||
扩展接口 | I2C_SCL1 | F11 | GPIO_P0_2 | I2S0_WS | I2C_M1_SCL | PCM_FSYNC | SPI1_CS0 | PDM1_D | SPDIF0_DI | |
I2C_SDA1 | E12 | GPIO_P0_3 | I2S0_SCK | I2C_M1_SDA | PCM_CLK | SPI1_CLK | PDM2_D | SPDIF0_DO | ||
UART2_RXD | D11 | GPIO_P2_2 | I2C_M1_SCL | UART2_RXD | UART1_CTS | BT_UART_CTS | I2S_MCLK | |||
UART2_TXD | C12 | GPIO_P2_3 | I2C_M1_SDA | UART2_TXD | UART1_RTS | BT_UART_RTS | CLK_OUT | |||
SPI0_DI0 | B10 | GPIO_P0_4 | SDMMC_DATA7 | SPI0_DI0 | I2S_MCLK | CLK_OUT | PDM1_CK | SPI0_DCN | ||
SPI0_CLK | E10 | GPIO_P0_5 | SDMMC_DATA6 | SPI0_CLK | SPI1_CS1 | PDM1_D | ||||
SPI0_CS0 | B9 | GPIO_P0_6 | SDMMC_DATA5 | SPI0_CS0 | UART2_CTS | SPI1_CS2 | PDM0_D | |||
SPI0_DIO | C10 | GPIO_P0_7 | SDMMC_DATA4 | SPI0_DIO | UART2_RTS | SPI1_CS3 | PDM2_D | |||
SWDIO | C8 | GPIO_P0_0 | I2S0_SDI | UART2_RXD | PCM_DI | SPI1_DI0 | PDM0_CK | SPI1_DCN | ||
SWCLK | F9 | GPIO_P0_1 | I2S0_SDO | UART2_TXD | PCM_DO | SPI1_DIO | PDM0_D |
3、学习指南
为了便于开发者快速上手企业实战项目,我们还打造了一系列基于HaaS EDU K1的案例和课程,并上传到HaaS技术社区,大家可以下载学习。如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号。
更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/ 。