Python的開放、簡潔、黏合正符合了現(xiàn)發(fā)展階段對人工智能、大數(shù)據(jù)分析、可視化、各種平臺程序協(xié)作產(chǎn)生了快速的促進作用。自Python3的發(fā)布到現(xiàn)在已有五六年的時間,從剛發(fā)布的反對聲音到慢慢被接受與喜歡經(jīng)過了太漫長的時間,然而可能也與國情與發(fā)展需求有著相當?shù)年P系。總之,越來越多人開始使用Python。
MicroPython是在單片機上跑的Python。官方的開發(fā)板是PYBoard,但是這個板子比較少見,價格也比較貴。幸好MicroPython支持多種開發(fā)板,我們可以在其他開發(fā)板上很好的運行MicroPython,效果是一樣的。基于32-bit的ARM處理器,比如說STM32F4和F7系列等,也支持cc3200、esp32和esp8266(常用wifi模塊-以后玩可做互聯(lián)網(wǎng)用途),樹莓派,香蕉派還有BBC Micro:bit開發(fā)板等。
春節(jié)新冠病毒疫情過后,我入手了一塊支持MicroPython的開發(fā)板,國產(chǎn)自主知識產(chǎn)權的K210芯片,從零開始學習,嘗試動手做實驗。



2018年9月6日,嘉楠科技推出自主設計研發(fā)的全球首款基于RISC-V的量產(chǎn)商用邊緣智能計算芯片勘智K210。該芯片依托于完全自主研發(fā)的AI神經(jīng)網(wǎng)絡加速器KPU,具備自主IP、視聽兼具與可編程能力三大特點,能夠充分適配多個業(yè)務場景的需求。作為嘉楠科技自主研發(fā)的邊緣側(cè)AI芯片,勘智K210兼具高能耗比和靈活性。在算力方面,勘智K210可在0.3W的條件下提供1TOP的算力支持,充分適配在多數(shù)業(yè)務場景中低功耗約束下的算力需求。

在芯片集成度方面,勘智K210采用視聽一體化設計。在機器視覺上,芯片基于自主研發(fā)的神經(jīng)網(wǎng)絡加速器KPU,可完成基于神經(jīng)網(wǎng)絡的圖像分類任務,進行人臉識別與檢測,以及實時獲被檢測目標的分類。在聽覺能力上,芯片自帶APU語音處理單元,最高可支持8路音頻數(shù)據(jù)及16個方向,無需占用CPU即可實現(xiàn)聲源定向、聲場成像、波束形成、語音識別與喚醒等功能。
在算法定制化方面,勘智K210在可編程能力上呈現(xiàn)出更高的靈活性。首先,相比ARM等架構,勘智K210采用RISC-V架構,擁有更強的可定制化能力,便于開發(fā)者根據(jù)具體應用場景定制算法。其次,芯片搭載FPIOA現(xiàn)場可編程IO陣列,支持TensorFlow、Keras、Darknet、PaddlePaddle和Caffe等主流AI編程框架,以及全面的開發(fā)文檔,對開發(fā)者十分友好。此外,芯片內(nèi)置64位雙核處理器架構,分為計算核與應用核,能夠為開發(fā)者提供足以應對復雜業(yè)務場景的計算資源。

K210系統(tǒng)架構
K210 包含 RISC-V 64 位雙核 CPU,每個核心內(nèi)置獨立 FPU. K210 的核心功能是機器視覺與聽覺,其包含用于計算卷積人工神經(jīng)網(wǎng)絡的 KPU 與用于處理麥克風陣列輸入的 APU. 同時 K210 具備快速傅里葉變換加速器,可以進行高性能復數(shù) FFT 計算。因此對于大多數(shù)機器學習算法,K210 具備高性能處理能力。K210 內(nèi)嵌 AES 與 SHA256 算法加速器,為用戶提供基本安全功能。K210 擁有高性能、低功耗的 SRAM,以及功能強大的 DMA,在數(shù)據(jù)吞吐能力方面性能優(yōu)異。K210 具備豐富的外設單元,分別是:DVP、JTAG、OTP、FPIOA、GPIO、UART、SPI、RTC、I2S、I2C、WDT、Timer 與 PWM,可滿足海量應用場景。

基于RISC-V開源指令集
RISC-V(讀作“RISC-FIVE”)是基于精簡指令集計算(RISC)原理建立的開放指令集架構(ISA),V表示為第五代RISC(精簡指令集計算機),表示此前已經(jīng)四代RISC處理器原型芯片。每一代RISC處理器都是在同一人帶領下完成,那就是加州大學伯克利分校的David A. Patterson教授。與大多數(shù)ISA相反,RISC-V ISA可以免費地用于所有希望的設備中,允許任何人設計、制造和銷售RISC-V芯片和軟件。圖1展示了此前的四代RISC處理器原型芯片。它雖然不是第一個開源的的指令集(ISA),但它很重要,因為它第一個被設計成可以根據(jù)具體場景可以選擇適合的指令集的指令集架構?;赗ISC-V指令集架構可以設計服務器CPU,家用電器cpu,工控cpu和用在比指頭小的傳感器中的cpu。
與大多數(shù)指令集相比,RISC-V指令集可以自由地用于任何目的,允許任何人設計、制造和銷售RISC-V芯片和軟件。雖然這不是第一個開源指令集,但它具有重要意義,因為其設計使其適用于現(xiàn)代計算設備(如倉庫規(guī)模云計算機、高端移動電話和微小嵌入式系統(tǒng))。設計者考慮到了這些用途中的性能與功率效率。該指令集還具有眾多支持的軟件,這解決了新指令集通常的弱點。該項目2010年始于加州大學伯克利分校,但許多貢獻者是該大學以外的志愿者和行業(yè)工作者。RISC-V指令集的設計考慮了小型、快速、低功耗的現(xiàn)實情況來實做,但并沒有對特定的微架構做過度的設計。截至2017年5月,RISC-V已經(jīng)確立了版本2.22的用戶空間的指令集(userspace ISA),而特權指令集(privileged ISA)也處在草案版本1.10。
勘智K210成支持RISC-V NOMMU范本
如果談及嵌入式領域,RISC-V或許是你絕對繞不過的一個知識點。雖然ARM依舊是移動端的霸主,但RISC-V被外界賦予了太多意義,架構本身適合于頗具前景的嵌入式開發(fā),其免費開源的特性也在當前的國際環(huán)境中備受關注,儼然成為移動端領域的新晉網(wǎng)紅。 RISC-V大勢所趨,市場上也涌現(xiàn)了一些基于該架構的芯片與開發(fā)模組,例如很多開發(fā)者正在使用的勘智K210。去年底,名為Jean-Luc的資深工程師分享了將Linux5.1系統(tǒng)部署在K210處理器上的工作。同時,他也在文中引用了西部數(shù)據(jù)的分享,勘智K210被作為支持RISC-V NOMMU的示范列入其中。

在AI領域,神經(jīng)網(wǎng)絡屬于計算密集型場景,人臉識別等算法往往會受到邊緣側(cè)應用場景的功耗限制。嘉楠表示ARM在實際計算的過程中往往會伴隨大量的能耗,并不是非常經(jīng)濟的架構。公開資料顯示,嘉楠是RISC-V聯(lián)盟中前五家使用RISC-V架構的廠商之一。在勘智系列AI芯片的研發(fā)中,嘉楠使用了RISC-V RocketChip,減少了大量相關的工作量,也節(jié)省了大量的研發(fā)人力成本,以及IP授權的成本。 目前,勘智K210及其開發(fā)模組受到不少開發(fā)者的青睞,吸引了來自百度、阿里等國內(nèi)頂尖AI團隊的目光。例如嘉楠為百度AI開發(fā)平臺PaddlePaddle定制開發(fā)模組PaddlePi-K210,打通了PaddlePaddle 模型設備端部署解決方案。開發(fā)人員不需要硬件更改,使用公版模具就可以一直做到樣品階段。在前沿項目的探索上,勘智K210兼容阿里最新TinyML算法模型,是可用于探索TinyML科研項目的RV平臺。

Maixduino
基于MAIX模塊,是用于AI + IoT應用的RISC-V 64開發(fā)板。與其他Sipeed MAIX dev不同。主板Maixduino采用Arduino Uno外形設計,板載ESP32模塊和MAIX AI模塊。MAIX是Sipeed專門設計的產(chǎn)品系列,專為在邊緣運行AI而設計。將AI模型從云端移動到網(wǎng)絡邊緣的設備,在這些設備上運行速度更快,成本更低,隱私性更高。







CPU:帶FPU的雙核64位RISC-V;400MHz神經(jīng)網(wǎng)絡處理器
QVGA@60FPS/VGA@30FPS圖像識別
板載ESP32模塊支持2.4G 802.11.b/g/n和藍牙4.2
Arduino Uno外形,Arduino兼容接口
板載全向I[size=75%]2S數(shù)字輸出MEMS麥克風
用于DVP相機的24P 0.5mm FPC連接器
8位MCU LCD 24P 0.5mm FPC連接器
基于卷積神經(jīng)網(wǎng)絡的機器視覺

支持自彈式micro SD卡支架
重置和啟動按鈕;3W DAC+PA音頻輸出
連接USB Type-C電纜以完成下載
用于機器聽覺的高性能麥克風陣列處理器
支持MaixPy IDE、Arduino IDE、OpenMV IDE和PlatformIO IDE
支持Tiny-Yolo、Mobilenet和TensorFlow Lite,用于深度學習
標配Sipeed_OV2640攝像頭
OV2640主要參數(shù)
可以支持定制FPC長度,鏡頭角度(70-160度)可以支持定制FPC長度,鏡頭角度(70-160度)
感光陣列1632x1232 最大格式UXGA
IO電壓1.7V-3.3V 模擬電壓2.5-3.0v(內(nèi)部LDO給核供電1.2V)
功耗工作TBD 休眠<20μA
溫度操作-30℃到70℃
穩(wěn)定工作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
動態(tài)范圍50 dB
瀏覽模式逐行
電子曝光1行到1247行
像素面積2.2μm x 2.2μm
暗電流15mV/s at 60℃
工作電流40mA

標配ST7789驅(qū)動器芯片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. 點陣區(qū)面積:36.72*48.96mm
15. 亮度:300cd/m2
16. 對比度:500
17. 接口類型: 8/9/16/18位8080并口
16/18位RGB接口
3/4線SPI接口
18. 引腳數(shù):24
19. 引腳距離:0.5mm
20. 連接類型: FPC插接型
21. 工作電壓:3.3V
22. 背光燈顏色及類型: 白色LED背光
23. 背光電路:4 LED 并聯(lián), 共陽
If=80mA, Vf =3.2V
24. 使用壽命:100000h
25. 工作溫度:-20----70°C
26. 儲存溫度:-30----80°C
27. 質(zhì)量體系認證:ISO9001:2008
28. 產(chǎn)品認證:RoHS

