1、概述
HaaS EDU K1 作为一款专用于教育的开发套件,整体配置的的资源非常丰富。其内置了高性能MCU-HaaS1000,集成了超大大容量的存储,高达18MB的RAM以及16M的flash,并且支持扩展卡,配备了丰富的外设以及传感器。关于整体硬件介绍,有兴趣可参考HaaS EDU K1硬件介绍。
HaaS1000 是一颗专为IoT智能硬件打造的SoC。如图1所示,HaaS1000 集成了 Wi-Fi 802.11 b/g/n 和蓝牙5.0的MAC、PHY和射频单元,也集成了音频编解码器,以及双核Cortex-M33 Star的MCU子系统和双核Cortex-A7的AP子系统,另外还支持 OPI PSRAM 和 QSPI NOR Flash。具体可参考HaaS1000 芯片手册。
图1 HaaS1000 架构图
2、内存以及存储
板子集成了boot ROM, SRAM, 片上PSRAM 和片上 NOR flash.
64KB boot ROM
2.5MB SRAM, MCU和AP可以通过以下组合共享SRAM,以支持多种应用场景(MCU/AP)
256KB/2.25MB
512KB/2MB
1MB/1.5MB
1.5MB/1MB
2MB/512KB
2.5MB/0KB
16MB 片上 16位 PSRAM
16MB 片上 NOR flash
分区表
16M的flash共分为十一个分区,每个分区均可读写。具体信息如下:
3、外设资源
板卡 集成了各种外围接口。
1路USB 2.0 高速接口
1路eMMC4.41/SD3.0/SDIO3.0 主机接口, 单数据速率高达50MHz
3路UART接口,支持流控和波特率可配置,最高6Mbps
2路 SPI主模式接口,支持串行LCD,速率最高50MHz
2路I2C主模式接口,速率最高1.4M bps
4通道I2S或8通道TDM接口
4路I2S或者 8路 TDM 接口
1路SPDIF 接口 (包含发送和接收)
4个PWM
40个带有独立中断的GPIO(有些和外设共用相同的pin脚)
3路10 bit GPADC
3.1、GPIO
HaaS1000共有P0~P4共5组,每组8个,共40个GPIO,每根GPIO都可以通过PUNMAX自由配置,每个GPIO包含6个可选function。具体可选功能列表如下所示:
绝大多数IO都进行了分配,可供外部扩展直接使用的只有直接有6个;
3.2、KEY
HaaS EDU k1板载了四个可编程按键,分别是K1,k2, K3,K4。
四个按键对应的GPIO分别是:
3.3、LED
HaaS EDU k1板载了三个可编程led,分别是L1,L2,L3,分别为红、绿、蓝三个单色灯。
对应的GPIO分别是:
3.4、Watchdog
看门狗用到的是外置的,芯片用到的是ADM706S。
图 2 ADM706S引脚图
默认的超时周期为1.6s, WDI管脚有电平转换就会重置定时器(喂狗成功,否则就会重启主MCU)。
3.5、ADC
HaaS EDK K1的ADC有3路,分别是GPADC0,GPADC1,GPADC2。
其中两路已经分配,GADC0用于测量模拟麦克风音量,如下图:
图 3 GADC0连接示意图
GADC1用于检测电池电压,如下图:
图 4 GADC1连接示意图
GADC2外接备用,如下图:
图 5 GADC2连接示意图
三路ADC 均为7通道 10bit。精度为1/1024。
3.6、PWM
HaaS1000芯片内内置了4个PWM管脚,分别是:
其中只有PWM0配成了PWM模式,其他均作为普通GPIO,如下图所示:
图 6 PWM0接口示意图
3.7、SPI
HaaS EDU k1 包含了两路主模式SPI接口,支持串行LCD,速率最高50MHz。
其中一路SPI1接到了OLED屏幕上,另一路SPI0接到扩展口备用。
原理图如下:
SPI1 接口示意图
SPI0 接口示意图
3.8、I2C
HaaS100包含2路I2C主模式接口,速率最高1.4M bps,但是HaaS EDU k1 只接出来1路I2C1,遇板子上的I2C器件相连,具体请参考个原理图,为了方便扩展,并且30pin扩展口也已经引出来。
从地址占用:
注:如果通过扩展口接入新的I2C器件是,请注意I2C从地址不要冲突。
3.9、SD卡
HaaS EDU k1 包含了一个SD卡接口,位于设备正面左侧。最大支持64GB,依托于芯片的eMMC4.41/SD3.0/SDIO3.0 主机接口, 单数据速率高达可50MHz。
3.10、timer
系统定时器分为两种,一种是硬件定时器,一种是软件定时器。
本产品只提供软件定时器供开发者使用,每个软件定时器都保存着自己的到期时间即时间超时处理函数。软件定时器管理模块会需要扫描所有的软件定时器设定,每个timer到期之后呼叫其预设的时间超时处理函数。
3.11、中断
程序运行过程中,系统外部、系统内部或者现行程序本身若出现紧急事件,CPU暂停当前程序的运行,自动转入预先设定好的的中断服务程序,处理完后,再返回原来的程序继续运行,这整个过程称为中断。
HaaS EDU K1系统中用到的中断很多,比如UART的接收中断、GPIO输入中断、DMA传输中断等等。
3.12、WIFI
HaaS EDU K1的Haas1000芯片自带的WIFI功能,支持2.4G/5G,WIFI天线巧妙的隐藏在壳体内部。
Wi-Fi支持如下特性:
Wi-Fi® IEEE 802.11 a/b/g/n
支持 2.4GHz Wi-Fi
支持 20MHz, 40MHz 带宽模式
支持Wi-Fi 和Bluetooth 共存
3.13、OLED
HaaS EDU K1 自带了一块1.3寸132*64的OLED屏幕,黑底白字。芯片采用SH1106,使用SPI驱动。