【雕爺學編程】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芯片,從零開始學習,嘗試動手做實驗。

 

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

在芯片集成度方面,勘智K210采用視聽一體化設計。在機器視覺上,芯片基於自主研發的神經網絡加速器KPU,可完成基於神經網絡的圖像分類任務,進行人臉識別與檢測,以及實時獲被檢測目標的分類。在聽覺能力上,芯片自帶APU語音處理單元,最高可支持8路音頻數據及16個方向,無需占用CPU即可實現聲源定向、聲場成像、波束形成、語音識別與喚醒等功能。

在算法定制化方面,勘智K210在可編程能力上呈現出更高的靈活性。首先,相比ARM等架構,勘智K210采用RISC-V架構,擁有更強的可定制化能力,便於開發者根據具體應用場景定制算法。其次,芯片搭載FPIOA現場可編程IO陣列,支持TensorFlow、Keras、Darknet、PaddlePaddle和Caffe等主流AI編程框架,以及全面的開發文檔,對開發者十分友好。此外,芯片內置64位雙核處理器架構,分為計算核與應用核,能夠為開發者提供足以應對復雜業務場景的計算資源。

 

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,可滿足海量應用場景。

基於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。

勘智K210成支持RISC-V NOMMU范本
如果談及嵌入式領域,RISC-V或許是你絕對繞不過的一個知識點。雖然ARM依舊是移動端的霸主,但RISC-V被外界賦予了太多意義,架構本身適合於頗具前景的嵌入式開發,其免費開源的特性也在當前的國際環境中備受關注,儼然成為移動端領域的新晉網紅。 RISC-V大勢所趨,市場上也涌現了一些基於該架構的芯片與開發模組,例如很多開發者正在使用的勘智K210。去年底,名為Jean-Luc的資深工程師分享了將Linux5.1系統部署在K210處理器上的工作。同時,他也在文中引用了西部數據的分享,勘智K210被作為支持RISC-V NOMMU的示范列入其中。

 

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

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

      • 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連接器
      • 基於卷積神經網絡的機器視覺
        • 支持自彈式micro SD卡支架
        • 重置和啟動按鈕;3W DAC+PA音頻輸出
        • 連接USB Type-C電纜以完成下載
        • 用於機器聽覺的高性能麥克風陣列處理器
        • 支持MaixPy IDE、Arduino IDE、OpenMV IDE和PlatformIO IDE
        • 支持Tiny-Yolo、Mobilenet和TensorFlow Lite,用於深度學習
    • 標配Sipeed_OV2640攝像頭
  • 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

標配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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM