|
21| 1
|
[项目] 【花雕动手做】CanMV K230 AI视觉识别模块之FPIOA 引脚分配 |
|
什么是 CanMV K230? CanMV K230是一款高性价比的RISC-V边缘AI平台,凭借低功耗、强视觉处理能力和开放的开发生态,成为嵌入式AI开发的理想选择,尤其适合需要快速部署视觉与AI功能的创客、中小企业及教育场景。CanMV 是一套 AI 视觉开发平台,K230 是其核心芯片。该模块结合了图像采集、AI推理、边缘计算等能力,适合嵌入式视觉应用开发。 CanMV:类似 OpenMV 的图像处理框架,支持 Python 编程,简化视觉识别开发流程。 K230 芯片:嘉楠科技推出的 AIoT SoC,采用 RISC-V 架构,内置第三代 KPU(AI加速单元),算力高达 6 TOPS,性能是 K210 的 13.7 倍。 ![]() ![]() |
|
1、FPIOA 引脚分配 CanMV K230 支持 FPIOA(Field Programmable Input and Output Array,现场可编程输入输出阵列)功能。简单来说,FPIOA 允许将 K230 的任意物理引脚在硬件层面复用为多种接口功能,如 UART、I2C、PWM 等,因此也常被称为 IOMUX(输入输出多路复用器)。 FPIOA 的核心作用是为物理管脚(PAD)分配具体功能。由于 SoC 芯片内部集成了大量功能模块,而可用的物理引脚数量有限,多个模块往往需要共享同一个 I/O 引脚。为了避免冲突并实现灵活配置,FPIOA 提供了功能选择机制,使每个引脚在不同场景下承担不同角色。需要注意的是:同一个 PAD 在同一时间只能启用一种功能。 作为 Kendryte 系列芯片(包括 K230)的关键特性,FPIOA 支持将芯片内部的功能模块(如 UART、SPI、PWM、I2C、摄像头接口等)灵活映射到物理引脚上,从而实现高度定制化的硬件连接方案,极大提升了系统的适配能力与开发灵活性。 理解 FPIOA 的三个核心概念 (1)功能模块与引脚非绑定 K230 的内部功能(如 UART0_TX 信号)并不固定绑定某个引脚,而是可以通过 FPIOA 映射到任意支持该功能的物理引脚。 (2)动态配置能力 在程序运行过程中,开发者可以使用 FPIOA.set_function(pin_number, function_name) 接口动态修改引脚功能,无需更改硬件连接。 (3)复用与排他性 单个引脚可支持多种功能模块(如 UART、PWM、GPIO 等),但在同一时刻只能激活其中一种,确保功能逻辑的唯一性与稳定性。 这种机制使 K230 在 AI 视觉、物联网、嵌入式控制等应用领域具备更强的灵活性与扩展性,是其在硬件设计上的一大优势。 2、FPIOA 常用方法 源码位于 [源码汇总/02.Basic/01.fpioa.py] 执行下述代码 可以看到在串行终端中,输出了K230芯片所有的IO口以及支持复用的功能 ![]() 3、YAHBOOM K230 引脚 为压缩模块体积,我们的 K230 模块并没有将芯片支持的所有引脚都引出来。我们来看一下YAHBOOM K230 常用的一些引脚 (1)散热片旁边的两排排针 ![]() 1 :GPIO 42,可复用为:GPIO42 / UART1_RTS / PWM0 / QSPI1_D2 / RESV / 2 :GPIO 43,可复用为:GPIO43 / UART1_CTS / PWM1 / QSPI1_D3 / RESV / 3 :GPIO 33,可复用为:GPIO33 / IIC0_SDA / IIS_WS / UART3_RXD / RESV / 4 :GND 5 :GPIO 32,可复用为:GPIO32 / IIC0_SCL / IIS_CLK / UART3_TXD / RESV / 6 :GPIO 26,可复用为:GPIO26 / MMC1_CLK / RESV / PDM_CLK / 7 :GND 8 :GPIO 34,可复用为:GPIO34 / IIC1_SCL / IIS_D_IN0 / PDM_IN3 / UART3_RTS / 9 :5v 输出 10 :GPIO 35,可复用为:GPIO35 / IIC1_SDA / IIS_D_OUT0 / PDM_IN1 / UART3_CTS / 11 :5v 输出 12 :3.3v 输出 !!!在连接12pin GPIO时,请务必确认丝印标识确保正确连接。 (2)USB 口旁边的 通讯接口 ![]() 1 :5v 2 :GND 3 :UART1_TXD | 可复用为 GPIO9 / PWM4 / UART1_TXD / IIC1_SCL / RESV/ 4 :UART1_RXD | 可复用为 GPIO10 / CTRL_IN_3D / UART1_RXD / IIC1_SDA / RESV/ 该通讯接口默认为串口 UART1,YbUart模块中初始化代码如下 |
沪公网安备31011502402448© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed