8746浏览
查看: 8746|回复: 23

MicroPython动手做(01)——春节后入手了K210开发板

[复制链接]
Python的开放、简洁、黏合正符合了现发展阶段对人工智能、大数据分析、可视化、各种平台程序协作产生了快速的促进作用。自Python3的发布到现在已有五六年的时间,从刚发布的反对声音到慢慢被接受与喜欢经过了太漫长的时间,然而可能也与国情与发展需求有着相当的关系。总之,越来越多人开始使用Python。


MicroPython是在单片机上跑的Python。官方的开发板是PYBoard,但是这个板子比较少见,价格也比较贵。幸好MicroPython支持多种开发板,我们可以在其他开发板上很好的运行MicroPython,效果是一样的。基于32-bit的ARM处理器,比如说STM32F4和F7系列等,也支持cc3200、esp32和esp8266(常用wifi模块-以后玩可做互联网用途),树莓派,香蕉派还有BBC micro:bit开发板等。


春节新冠病毒疫情过后,我入手了一块支持MicroPython的开发板,国产自主知识产权的K210芯片,从零开始学习,尝试动手做实验。


MicroPython动手做(01)——春节后入手了K210开发板图1
MicroPython动手做(01)——春节后入手了K210开发板图2


驴友花雕  中级技神
 楼主|

发表于 2020-6-9 11:42:04

该麦克风阵列采用MSM261S4030H0高灵敏度数字硅麦芯片,组成了一个6+1麦克风阵列,很好的解决了噪声抑制、回声抑制、去混响、单或多声源定位、声源数目估计、源分离等实际问题。通过I2S接口输出,板载SK9822串联RGB LED,双线控制色彩。


MSM26S4030H0是一款具有全向端口、I2S数字输出MEMS的麦克风芯片。I2S是通用的数字音频接口,广泛使用于DSP和数字音频处理领域。传统的音频系统通常是麦克风采集音频信号并转换为模拟电压信号输出,经Codec的ADC转换为数字信号并编码后由主控芯片进行音频处理数字音频信号输入主控芯片。而MSM261S4030H0系列产品内置完整的24bit I2S音频接口,无须额外添加Codec,可实现直接与DSP或MCU的全数字化信号连接,原生的将数字音频信号输入主控芯片,大大降低了信号链设计复杂度和整体成本。在系统体积、成本、功耗和抗干扰等方面都具有极大的优势。


在消费性应用市场方面,未来将朝个人可携式的产品发展,这种采用硅材料制作具有革新意义的麦克风汲取了半导体工艺技术的种种优点,故而生产出来的麦克风集生产高度重复性、优异的声音性能和将来灵活的扩展性能于一身。所以未来低成本、高性能的MEMS取代ECM(Electret Condenser Microphone;驻极体电容式麦克风)成为必然趋势。


功能特性

  • MEMS 麦克风:6个 MSM261S4030H0 组成阵列

                声压级:140分贝

                灵敏度:-26(dB,dBFS@1KHZ 1pa)

                信噪比:57dB(20kHz bandwidth, A-weighted)

  • 输出方式:数字I2S输出
  • 灯光:12个LED组成环形灯阵列,256级颜色调节,32级亮度调节
  • 可视角度:120度
  • 双线同步选择正输出或负输出RGB三色LED输出
  • 每个LED每种颜色消耗电流20mA,全颜色最高亮度消耗电流60mA

技术规格
  • 尺寸:78.1mm×88.8mm
  • 输入电压:3.3V±0.2V(DC)
  • 输入电流:>750mA(满亮度)
  • 连接方式:支持2*5P 2.54mm端子和10P 0.5mm FPC连接器
  • 工作温度:-30℃~85℃

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2020-6-9 10:32:13

基于RISC-V开源指令集
RISC-V(读作“RISC-FIVE”)是基于精简指令集计算(RISC)原理建立的开放指令集架构(ISA),V表示为第五代RISC(精简指令集计算机),表示此前已经四代RISC处理器原型芯片。每一代RISC处理器都是在同一人带领下完成,那就是加州大学伯克利分校的David A. Patterson教授。与大多数ISA相反,RISC-V ISA可以免费地用于所有希望的设备中,允许任何人设计、制造和销售RISC-V芯片和软件。图1展示了此前的四代RISC处理器原型芯片。它虽然不是第一个开源的的指令集(ISA),但它很重要,因为它第一个被设计成可以根据具体场景可以选择适合的指令集的指令集架构。基于RISC-V指令集架构可以设计服务器CPU,家用电器cpu,工控cpu和用在比指头小的传感器中的cpu。

与大多数指令集相比,RISC-V指令集可以自由地用于任何目的,允许任何人设计、制造和销售RISC-V芯片和软件。虽然这不是第一个开源指令集,但它具有重要意义,因为其设计使其适用于现代计算设备(如仓库规模云计算机、高端移动电话和微小嵌入式系统)。设计者考虑到了这些用途中的性能与功率效率。该指令集还具有众多支持的软件,这解决了新指令集通常的弱点。该项目2010年始于加州大学伯克利分校,但许多贡献者是该大学以外的志愿者和行业工作者。RISC-V指令集的设计考虑了小型、快速、低功耗的现实情况来实做,但并没有对特定的微架构做过度的设计。截至2017年5月,RISC-V已经确立了版本2.22的用户空间的指令集(userspace ISA),而特权指令集(privileged ISA)也处在草案版本1.10。


MicroPython动手做(01)——春节后入手了K210开发板图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2020-6-9 10:36:38

勘智K210成支持RISC-V NOMMU范本
如果谈及嵌入式领域,RISC-V或许是你绝对绕不过的一个知识点。虽然ARM依旧是移动端的霸主,但RISC-V被外界赋予了太多意义,架构本身适合于颇具前景的嵌入式开发,其免费开源的特性也在当前的国际环境中备受关注,俨然成为移动端领域的新晋网红。 RISC-V大势所趋,市场上也涌现了一些基于该架构的芯片与开发模组,例如很多开发者正在使用的勘智K210。去年底,名为Jean-Luc的资深工程师分享了将Linux5.1系统部署在K210处理器上的工作。同时,他也在文中引用了西部数据的分享,勘智K210被作为支持RISC-V NOMMU的示范列入其中。


MicroPython动手做(01)——春节后入手了K210开发板图1




在AI领域,神经网络属于计算密集型场景,人脸识别等算法往往会受到边缘侧应用场景的功耗限制。嘉楠表示ARM在实际计算的过程中往往会伴随大量的能耗,并不是非常经济的架构。公开资料显示,嘉楠是RISC-V联盟中前五家使用RISC-V架构的厂商之一。在勘智系列AI芯片的研发中,嘉楠使用了RISC-V RocketChip,减少了大量相关的工作量,也节省了大量的研发人力成本,以及IP授权的成本。 目前,勘智K210及其开发模组受到不少开发者的青睐,吸引了来自百度、阿里等国内顶尖AI团队的目光。例如嘉楠为百度AI开发平台PaddlePaddle定制开发模组PaddlePi-K210,打通了PaddlePaddle 模型设备端部署解决方案。开发人员不需要硬件更改,使用公版模具就可以一直做到样品阶段。在前沿项目的探索上,勘智K210兼容阿里最新TinyML算法模型,是可用于探索TinyML科研项目的RV平台。
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2020-6-9 10:18:49

MicroPython动手做(01)——春节后入手了K210开发板图1

2018年9月6日,嘉楠科技推出自主设计研发的全球首款基于RISC-V的量产商用边缘智能计算芯片勘智K210。该芯片依托于完全自主研发的AI神经网络加速器KPU,具备自主IP、视听兼具与可编程能力三大特点,能够充分适配多个业务场景的需求。作为嘉楠科技自主研发的边缘侧AI芯片,勘智K210兼具高能耗比和灵活性。在算力方面,勘智K210可在0.3W的条件下提供1TOP的算力支持,充分适配在多数业务场景中低功耗约束下的算力需求。
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2020-6-9 10:23:29


在芯片集成度方面,勘智K210采用视听一体化设计。在机器视觉上,芯片基于自主研发的神经网络加速器KPU,可完成基于神经网络的图像分类任务,进行人脸识别与检测,以及实时获被检测目标的分类。在听觉能力上,芯片自带APU语音处理单元,最高可支持8路音频数据及16个方向,无需占用CPU即可实现声源定向、声场成像、波束形成、语音识别与唤醒等功能。


在算法定制化方面,勘智K210在可编程能力上呈现出更高的灵活性。首先,相比ARM等架构,勘智K210采用RISC-V架构,拥有更强的可定制化能力,便于开发者根据具体应用场景定制算法。其次,芯片搭载FPIOA现场可编程IO阵列,支持TensorFlow、Keras、Darknet、PaddlePaddle和Caffe等主流AI编程框架,以及全面的开发文档,对开发者十分友好。此外,芯片内置64位双核处理器架构,分为计算核与应用核,能够为开发者提供足以应对复杂业务场景的计算资源。


MicroPython动手做(01)——春节后入手了K210开发板图1

[/td][/tr]
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2020-6-9 10:27:18

K210系统架构
K210 包含 RISC-V 64 位双核 CPU,每个核心内置独立 FPU. K210 的核心功能是机器视觉与听觉,其包含用于计算卷积人工神经网络的 KPU 与用于处理麦克风阵列输入的 APU. 同时 K210 具备快速傅里叶变换加速器,可以进行高性能复数 FFT 计算。因此对于大多数机器学习算法,K210 具备高性能处理能力。K210 内嵌 AES 与 SHA256 算法加速器,为用户提供基本安全功能。K210 拥有高性能、低功耗的 SRAM,以及功能强大的 DMA,在数据吞吐能力方面性能优异。K210 具备丰富的外设单元,分别是:DVP、JTAG、OTP、FPIOA、GPIO、UART、SPI、RTC、I²S、I²C、WDT、Timer 与 PWM,可满足海量应用场景。


MicroPython动手做(01)——春节后入手了K210开发板图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2020-6-9 10:40:55

Maixduino开发板
基于MAIX模块,是用于AI + IoT应用的RISC-V 64开发板。与其他Sipeed MAIX dev不同。主板Maixduino采用Arduino Uno外形设计,板载ESP32模块和MAIX AI模块。MAIX是Sipeed专门设计的产品系列,专为在边缘运行AI而设计。将AI模型从云端移动到网络边缘的设备,在这些设备上运行速度更快,成本更低,隐私性更高。


MicroPython动手做(01)——春节后入手了K210开发板图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2020-6-9 10:48:58

MicroPython动手做(01)——春节后入手了K210开发板图1
MicroPython动手做(01)——春节后入手了K210开发板图2
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2020-6-9 10:52:37

MicroPython动手做(01)——春节后入手了K210开发板图1

MicroPython动手做(01)——春节后入手了K210开发板图2
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2020-6-9 10:58:06

MicroPython动手做(01)——春节后入手了K210开发板图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2020-6-9 11:03:05

MicroPython动手做(01)——春节后入手了K210开发板图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2020-6-9 11:06:45

MicroPython动手做(01)——春节后入手了K210开发板图1

  • CPU:带FPU的双核64位RISC-V;400MHz神经网络处理器
  • QVGA@60FPS/VGA@30FPS图像识别
  • 板载ESP32模块支持2.4G 802.11.b/g/n和蓝牙4.2
  • Arduino Uno外形,Arduino兼容接口
  • 板载全向I[size=75%]2S数字输出MEMS麦克风
  • 用于DVP相机的24P 0.5mm FPC连接器
  • 8位MCU LCD 24P 0.5mm FPC连接器
  • 基于卷积神经网络的机器视觉

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2020-6-9 11:10:35

MicroPython动手做(01)——春节后入手了K210开发板图1


    • 支持自弹式micro SD卡支架
    • 重置和启动按钮;3W DAC+PA音频输出
    • 连接USB Type-C电缆以完成下载
    • 用于机器听觉的高性能麦克风阵列处理器
    • 支持MaixPy IDE、Arduino IDE、OpenMV IDE和PlatformIO IDE
    • 支持Tiny-Yolo、Mobilenet和TensorFlow Lite,用于深度学习


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2020-6-9 11:13:40

标配Sipeed_OV2640摄像头


MicroPython动手做(01)——春节后入手了K210开发板图1




OV2640主要参数
可以支持定制FPC长度,镜头角度(70-160度)可以支持定制FPC长度,镜头角度(70-160度)
感光阵列1632x1232 最大格式UXGA
IO电压1.7V-3.3V 模拟电压2.5-3.0v(内部LDO给核供电1.2V)
功耗工作TBD 休眠<20μA
温度操作-30℃到70℃
稳定工作0℃到50℃
输出格式(8位)YUV/YCbCr4:2:2 RGB565/555/444 GRB4:2:2 Raw RGB Data
光学尺寸1/4"
视场角70度
最大贞率15fps SXGA
灵敏度1.3V/(Lux-sec)
信噪比40 dB
动态范围50 dB
浏览模式逐行
电子曝光1行到1247行
像素面积2.2μm x 2.2μm
暗电流15mV/s at 60℃
工作电流40mA



回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2020-6-9 11:18:08

MicroPython动手做(01)——春节后入手了K210开发板图1

标配ST7789驱动器芯片2.4寸LCD屏(24P 320X240)
1. 模块名称:液晶显示模块
2. 型号:KD024C-4
3. 同类型型号:
4. 兼容型号:
5. 显示模式:TFT
6. 显示色彩:65/262K
7. 分辨率: 240*320
8. 点距:0.153 (H) x 0.153 (V)
9. 视角:12:00
10. 控制IC:ST7789V
11. 显示类型:全透型,常白
12. 外形尺寸:42.72*60.26*2.6mm
13. 可视面积:38.32*50.56 mm
14. 点阵区面积:36.72*48.96mm
15. 亮度:300cd/m2
16. 对比度:500
17. 接口类型: 8/9/16/18位8080并口
                   16/18位RGB接口
                    3/4线SPI接口
18. 引脚数:24
19. 引脚距离:0.5mm
20. 连接类型: FPC插接型
21. 工作电压:3.3V
22. 背光灯颜色及类型: 白色LED背光
23. 背光电路:4 LED 并联, 共阳
If=80mA, Vf =3.2V
24. 使用寿命:100000h
25. 工作温度:-20----70°C
26. 储存温度:-30----80°C
27. 质量体系认证:ISO9001:2008
28. 产品认证:RoHS

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2020-6-9 11:31:29

MicroPython动手做(01)——春节后入手了K210开发板图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2020-6-9 11:36:55

搭配使用的6+1麦克风阵列


MicroPython动手做(01)——春节后入手了K210开发板图1
回复

使用道具 举报

gada888  版主

发表于 2020-6-11 19:04:58

介绍的很详细,不错
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2020-6-12 05:14:23

gada888 发表于 2020-6-11 19:04
介绍的很详细,不错

谢谢版主鼓励
回复

使用道具 举报

gray6666  初级技神

发表于 2020-6-22 15:19:47

羡慕,我也争取搞一块学习下
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail