当前位置: 首页 > news >正文

AI嵌入式K210项目(1)-芯片开发板介绍

系列文章目录

在人工智能大潮滚滚而来的时代,作为一个从事嵌入式行业多年的程序猿倍感焦虑,有被替代的焦虑,也有跟不上新技术步伐的无奈,本系列文章将介绍一个从硬件设计到ai训练、最后到模型部署的完整案例;第一阶段我将介绍使用C语言进行裸机开发,在熟悉了硬件和系统之后,我们进入进阶篇,使用MicroPython进行开发;不仅会设计传统的嵌入式技术栈,也有会Python,模型训练,识别分类检测等相关的AI知识;欢迎各位从事嵌入式行业的小伙伴一起学习;

其实,嵌入式和人工智能是相辅相成的,嵌入式系统为人工智能提供了高效的计算和控制平台,使得人工智能算法可以在终端设备上实时运行。而人工智能则可以通过嵌入式系统实现各种智能化功能,如环境感知、人机交互、决策控制等。因此,嵌入式系统和人工智能的结合,可以进一步提高设备的智能化程度和性能。


文章目录

  • 系列文章目录
  • 前言
  • 一、主控芯片Kendryte K210介绍
  • 二、RISC-V结构
  • 二、开发板介绍
  • 总结


前言

本章将介绍AI嵌入式K210项目所使用的芯片和开发板,有需要的同学可以联系我进行购买V:SpringWa1tz;

一、主控芯片Kendryte K210介绍

Kendryte K210是一颗中国芯,由嘉楠科技设计开发,采用RISC-V处理器架构,具备视听一体、自主IP核与可编程能力强三大特点,支持机器视觉与机器听觉多模态识别,可广泛应用于智能家居、智能园区、智能能耗和智能农业等场景;

Kendryte K210 使用台积电 (TSMC) 超低功耗的 28 纳米先进制程,具有双核64位处理器,拥有较好的功耗性能,稳定性与可靠性。该方案力求零门槛开发,可在最短时效部署于用户的产品中,赋予产品人工智能。

K210具有如下优势:

  • 具备机器视觉能力 具备机器听觉能力 更好的低功耗视觉处理速度与准确率
  • 具备卷积人工神经网络硬件加速器KPU,可高性能进行卷积人工神经网络运算 TSMC
  • 28nm先进制程,温度范围-40°C到125°C,稳定可靠 支持固件加密,难以使用普通方法破解独特的可编程IO阵列,使产品设计更加灵活
  • 低电压,与相同处理能力的系统相比具有更低功耗
  • 3.3V/1.8V双电压支持,无需电平转换,节约成本

K210系统架构如下
在这里插入图片描述
K210还有哪些特色呐?

  • K210是基于RISC-V精简指令集的一款MCU,在众多特色中,芯片架构包含了一个自研的神经网络硬件加速器KPU属于最大特色,可以高性能地进行卷积神经网络运算。在MCU的AI计算方面,K210芯片的算力非常给力,根据嘉楠官网的描述,K210的KPU算力能够达到0.8TFLOPS,这相当于什么水平呢?举个例子,最新树莓派4B的算力不到0.1TFLOPS,而以神经网络处理为卖点的Jetson
    Nano拥有128个CUDA单元,算力也仅仅是0.47TFLOPS。(这里好像有吹牛的成分,不过应该是性价比较高的支持AI的芯片了,每科芯片只要40块左右)
  • 除了KPU的算力优秀之外,K210芯片还有其他一些特色。
  • K210芯片内部是双核CPU,指令集为RISC-V 64位,每个核心内置独立FPU,可以单独进行浮点运算。
  • 为了更好地在机器视觉和听觉上发挥作用,K210芯片自带计算卷积人工神经网络加速器KPU,以及处理麦克风阵列的APU,能够进行高性能机器视觉和听觉处理。
  • 不仅如此,K210还内置快速傅里叶变换加速器,可以进行复数FFT计算。
  • 在性能强劲的前提下,K210芯片还很注重安全性,内置了AES和SHA256算法加速器,为用户的数据安全提供有效保障。
  • 再来看看MCU方面的属性,K210芯片具有丰富的外设单元,分别是DVP、JTAG、OTP、FPIOA、GPIO、UART、SPI、RTC、I2S、I2C、WDT、TIMER、PWM,这些外设在实际使用中发挥巨大的作用,基本满足大部分MCU外设的需求。
  • K210还拥有高性能、低功耗的SRAM,总共8M,2M专用于AI计算,6M用于程序;专用外置FLASH接口,增加自身的储存空间;数据传输可使用功能强大的DMA,在数据吞吐能力方面性能优异。
    总之K210这款芯片比较便宜,开发板的价格也比较便宜,开发者生态也比较完善,非常适合大家学习;

二、RISC-V结构

顺便做个RISC-V的介绍吧,我觉得国产化替代大潮中,RISC-V架构有可能会和ARM有一战之力;
RISC-V是一个基于精简指令集(RISC)原则的开源指令集架构(ISA)。V表示第五代精简指令集,是加州大学伯克利分校经过前面四代的改良以及升级得来的。该项目开始于2010年的加州大学伯克利分校,后来经过许多贡献者的辛勤耕耘,经过10年‘磨一剑’,RISC-V指令集已经在全球范围内逐渐活跃,相信不久的将来会有更多更好的RISC-V芯片问世。
RISC-V具有以下特点:

  • 完全开源:任何企业都可以自由免费使用RISC-V指令集来制造并营销自己的芯片,而不需要支付高额授权费,并且可以根据自己的需求扩展指令集,自己扩展的指令集不必开放,可以实现差异化发展。
  • 架构简单:与主流的X86和ARM架构相比,RISC-V是一个全新的指令集,不需要兼容老旧产品,所以显得格外简洁,整个RISC-V基础指令集只有40多条,加上其他的模块化扩展指令总共也就只有几十条。
  • 易于移植,现代操作系统都做了特权级指令和用户级指令的分离,特权指令只能操作系统调用,而用户级指令才能在用户模式调用,保障操作系统的稳定。RISC-V提供了特权级指令和用户级指令,同时提供了详细的RISC-V特权级指令规范和RISC-V用户级指令规范的详细信息,使开发者能非常方便的移植linux和unix系统到RISC-V平台。
  • 模块化设计:RISC-V架构可以由不同模块组成不同功能,灵活利用模块的组合情况,可以定制属于自己需求的MCU。例如针对小面积低功耗的嵌入式场景,可以选择RV32IC组合的指令集,仅使用机器模式,就可以大大降低功耗和自身体积;而高性能的应用操作系统场景可以选择RV32IMFDC指令集,可以使用机器模式和用户模式,从而实现更高性能。
  • 完整的工具链:工具链对于CPU来说,就可以理解为螺丝刀对于螺丝,没有螺丝刀的作用,螺丝是根本无法固定住发挥自身的性能的。工具链是软件开发与CPU交互的窗口,如果没有工具链,软件开发者甚至无法让CPU工作起来。幸运的是,RISC-V由于贡献者多年的热心贡献,社区已经提供了完整的工具链,并且由RISC-V基金会维护该工具链。

二、开发板介绍

嘉楠科技开发,设计,生产芯片,下游厂商将芯片做成开发板,通过硬件和解决方案进行销售;开发板有很多,可以从嘉楠科技购买评估板如:01Studio,缺点是比较贵;那就去看看其他下游厂商以此芯片做的开发板和解决方案吧,会便宜不少;
本开发版的软硬件全部开源,如有需要可以联系;先看下外观
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


总结

先大致介绍到这里吧,拿到开发板一起从零开始我们的AI嵌入式项目;

相关文章:

AI嵌入式K210项目(1)-芯片开发板介绍

系列文章目录 在人工智能大潮滚滚而来的时代,作为一个从事嵌入式行业多年的程序猿倍感焦虑,有被替代的焦虑,也有跟不上新技术步伐的无奈,本系列文章将介绍一个从硬件设计到ai训练、最后到模型部署的完整案例;第一阶段…...

Blazor中使用impress.js

impress.js是什么? 你想在浏览器中做PPT吗?比如在做某些类似于PPT自动翻页,局部放大之类,炫酷无比。 在Blazor中,几经尝试,用以下方法可以实现。写文不易,请点赞、收藏、关注,并在转…...

ros2 ubuntu 20.04 安装 foxy

设置区域设置 确保您有一个支持UTF-8. 如果您处于最小环境(例如 docker 容器)中,则区域设置可能是最小的,例如POSIX. 我们使用以下设置进行测试。但是,如果您使用不同的 UTF-8 支持的区域设置,应该没问题。…...

Blazor 错误笔记

1. 运行时问题 Microsoft.NETCore.App.Runtime.Mono.browser-wasm Microsoft.NETCore.App.Runtime.Mono.browser-wasm 是一个 .NET Core 运行时的包,用于在浏览器中运行 .NET Core 应用程序。它是针对 WebAssembly 架构的 .NET Core 运行时,可以在浏览…...

【深度学习1对1指导】

...

XUbuntu22.04之快速复制绝对路径(二百零五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…...

21、Kubernetes核心技术 - 高可用集群搭建(kubeadm+keepalived+haproxy)

目录 一、简介 二、高可用集群架构说明 三、部署环境说明 四、高可用集群搭建 (1)、初始化所有节点 (2)、修改host文件 (3)、调整内核参数 (4)、所有节点安装Docker (4-1)、配置 docker 的阿里 yum 源 (4-2)、yum 安装 docker (4-3)、配置 docker 的镜像源 (4-4)…...

使用SpringDataRedis操作Redis

Redis的java客户端 jedisLettuceSpring Data Redis Spring Data redis 是Spring的一部分,对 Redis 底层开发包进行了高度封装。在Spring项目中,可以使用Spring Data Redis来简化操作。 Spring Data Redis使用方式 操作步骤: 导入Spring …...

PyCharm社区版如何创建Django项目并运行

一、配置Django环境 1、使用PyCharm打开一个普通的Python项目 2、为该项目配置Django环境 (1)点击"File"-"Settings" (2)点击"Project:项目名"-"Python Interpreter"-"号" &…...

深度探讨鸿蒙工程师面试题

深度探讨鸿蒙工程师面试题 第一部分:引言 鸿蒙(HarmonyOS)作为华为推出的全场景分布式操作系统,引领着未来智能化时代的潮流。鸿蒙工程师在这一创新性领域中扮演着至关重要的角色。本文将深入研究一系列鸿蒙工程师面试题&#x…...

python数据结构堆栈

堆 堆是一种树形结构:满足两个主要性质 堆是一种完全二叉树:堆中所有层级除了最后一层都是完全填满的,且最后一层的节点都是向左排列堆中的任意节点都不大于(或不小于)其子节点的值,这也是堆的属性 impo…...

从网页连接socket服务器和I/O

1.i/o InputStream和InputStreamReader是Java I/O类库中的两个关键类,用于处理字节流。它们的主要区别在于它们处理数据的方式。 InputStream: InputStream是用于读取字节流的抽象类。它是所有字节输入流类的父类。InputStream的子类可以从不同的数据源读取字节&…...

鸿蒙HarmonyOS学习手册_入门篇

鸿蒙HarmonyOS学习手册_入门篇 文章目录 鸿蒙HarmonyOS学习手册_入门篇入门快速入门开发准备基本概念UI框架应用模型工具准备 构建第一个ArkTS应用(Stage模型)-快速入门-入门创建ArkTS工程ArkTS工程目录结构(Stage模型)构建第一个…...

人工智能复习

机器学习中线性回归和逻辑回归: 机器学习的分类: 监督学习和无监督学习,半监督学习 监督学习(Supervised Learning): 监督学习是一种利用带有标签(标记)的数据进行训练的机器学习…...

C++ 多态以及多态的原理

文章目录 多态的概念多态的构成条件虚函数的重写虚函数重写的两个例外 重载、重写(覆盖)、重定义(隐藏)对比C11 final 和 override关键字抽象类接口继承和普通继承多态的原理虚函数表多态的原理 单继承和多继承关系的虚函数表单继承中的虚函数表多继承中的虚函数表 多态的概念 …...

贝蒂详解<string.h>(下)

✨✨欢迎大家来到贝蒂大讲堂✨✨ ​​​​🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C语言学习 贝蒂的主页:Betty‘s blog 目录 1. 简介 2. memset()函数 2.1用法 2.2实例 2.3 实现me…...

问题 F: 分巧克力

题目描述 儿童节那天有 K 位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有 N 块巧克力,其中第i 块HiWi 的方格组成的长方形。 为了公平起见,小明需要从这 N 块巧克力中切出 K 块巧克力分给小朋友们。 切出的巧克力需要满足&am…...

安装pillow可能遇到的问题

安装命令 pip install Pillow安装 Pillow 这个 Python 图像处理库时可能会遇到多种问题。以下一些常见的安装问题及其解决方法: 缺少依赖项: Pillow 安装可能需要一些基础库,如 libjpeg 和 zlib。如果在安装时提示缺少这些库,你需要先安装它…...

详解ajax、fetch、axios的区别

众所周知它们都用来发送请求,其实它们区别还蛮大的。这也是面试中的高频题,本文将详细进行讲解。 1. ajax 英译过来是Aysnchronous JavaScript And XML,直译是异步JS和XML(XML类似HTML,但是设计宗旨就为了传输数据&a…...

致远OA getAjaxDataServlet XXE漏洞复现(QVD-2023-30027)

0x01 产品简介 致远互联-OA 是数字化构建企业数字化协同运营中台,面向企业各种业务场景提供一站式大数据分析解决方案的协同办公软件。 0x02 漏洞概述 致远互联-OA getAjaxDataServlet 接口处存在XML实体注入漏洞,未经身份认证的攻击者可以利用此漏洞读取系统内部敏感文件…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent

安全大模型训练计划:基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标:为安全大模型创建高质量、去偏、符合伦理的训练数据集,涵盖安全相关任务(如有害内容检测、隐私保护、道德推理等)。 1.1 数据收集 描…...

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...

【Veristand】Veristand环境安装教程-Linux RT / Windows

首先声明,此教程是针对Simulink编译模型并导入Veristand中编写的,同时需要注意的是老用户编译可能用的是Veristand Model Framework,那个是历史版本,且NI不会再维护,新版本编译支持为VeriStand Model Generation Suppo…...