极智开发 | PaddlePi-K210 硬件架构

  携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第 9 天,点击查看活动详情

欢迎关注我的公众号 [极智视界],获取我的更多笔记分享

  大家好,我是极智视界,本文介绍一下 PaddlePi-K210 硬件架构。

  PaddlePi-K210 是为百度 PaddlePaddle 平台定制开发的终端运算模块,外型紧凑小巧,性能优越,可用于AI核心运算处理单元。这里介绍 PaddlePi-K210 硬件架构。

1. 片上系统架构

  来看 K210 的片上系统架构,上图:

  其中各模块的功能如下:

功能分类 片上系统 对应功能 是否有引脚
运算单元 FPU CPU 主控芯片 x
- KPU AI加速芯片 x
- APU 音频处理器 x
- FFT 快速傅里叶变换加速模块 x
通信接口 UART 包含 uart0~3 总共 4 个 uart 接口 y
- SPI 0、1、3 为 master,2 为 slave y
- I2S 音频数据接入 y
- I2C 两线式穿行总线 y
- JTAG 嵌入式调试技术 y
特殊接口 DVP 摄像头接口 ( 8 位并口) y
- FPIOA 现场可编程 IO 阵列, 用于将芯片内部功能映射到 48 物理 IO y
- GPIO 通用 IO y
功能模块 RTC 计时模块 x
- AES 高级加密解密加速器 x
- SHA256 哈希计算模块 x
- Timer 定时器,可中断 x
- PWM PWM 定时器模块,可被 Timer 配置 x
- WDT 看门狗定时器 x
- SRAM 8M片上内存 x

注:以上有部分的带有引脚的模块,其引脚可能是通过 FPIOA 进行配置的,从而进行引出的。

2. 部分接口详解

2.1 UART 通信接口

  一种全双工双向传输的通用串行数据总线,用于异步通信。具体有三种通讯协议:RS232、RS485、RS422,不同协议引脚不同。

  以下是简化的 通讯模型:

  该模型只需要两条通信电路和共地,也就是最少三条线,就可以实现相互的通讯。

2.2 SPI 通信接口

  一种全双工双向传输的通用串行数据总线,同步通信,时钟信号由 Master 生成,也就是主设备。SPI 中只有一个主设备 Master 以及 多个从设备 Slave。

扫描二维码关注公众号,回复: 14447487 查看本文章

  以下是简化的通讯模型:

  • MOSI: 信号线,主机输出,从机输入;
  • MISO: 信号线,主机输入,从机输出;
  • SCLK: 时钟信号线,主机输出,从机输入;
  • SS/CS: 片选信号;

  当含有多个片选信号的时候,可以采用以下的通讯模型:

  当只有一个片选信号的时候,可以采用以下的通讯模型:

2.3 I2C 通信

  两线式串行总线,半双工,同步通信。只需要两个总线:一条是双向的串行数据线 SDA,一条是串行时钟线SCL。也是分为了 主机 和 从机 的通信模式。

2.4 JTAG 调试接口

  对于 K210,其支持 JTAG 硬件调试功能。而对于 PaddlePi-K210,其配套的 PaddlePi-K210-Debugger 调试器通过一头通过 USB 连接主机,一头使用 JTAG 连接 PaddlePi-K210,实现了 USB2JTAG 的功能,该调试器的具体原理图可见相关资料。另外,在 PaddlePi-K210 中,JTAG 的连接线最终体现在了 BANK0 的 IO_0、IO_1、IO_2、IO_3 这几个接口上。

  其具体的接口说明如下:

仿真器接口A 目标板接口B 信号描述
5V supply VCC 电源正极A->B
TDI TDI 数据输入A->B
TMS TMS 模式选择A->B
TCK TCK 时钟信号A->B
TDO TDO 数据输出A<-B
GND GND 电源负极A--B

2.5 USB 接口

  PaddlePi-K210 不包含 USB 接口,本意是想要安装一个 TYPE-C 接口,可能需要专门去了解以下 USB 接口的通讯协议。很有可能需要进行通讯协议的转换 USB2UART,使用 CP2102-GMR 转换模块实现。

3 各个模块介绍

3.1 POWER 模块

  实现了 5V 的 VIN 电压到 0.9V 和 1.8V 和 3.3V 的电压转换,主要是通过 RY1303 这个 DC-DC 转换器实现。输出的三个不同电压值,后续会接入到 K210 的 POWER 相关引脚上。

  实际的原理图如下:

  简化的功能图如下:

3.2 TF 卡接口模块

  该处改用了 TF卡 的 SPI 操作模式进行接口连接,最终跟 WIFI 的 SPI 接口,分别作为 SPI 的 slave 从机,而 K210 作为 SPI 的 master 主机,同时 master 通过 TF_CS 片选线联通 TF 卡,之后继续相应的通信。

  实际的原理图如下:

  简化的功能图如下:

3.3 WIFI 模块

  W600 是一个 IOT-WIFI 芯片,是一个完整的单片机。这里作为专门的 WIFI 收发处理器,用来实现 WIFI 功能。 作为 SPI 中的 slave 从机跟 K210 进行通信。

  实际的原理图如下:

  简化的功能图如下:

3.4 DVP 相机模块

  使用了 DVP 这种传统的 Sensor 传感器接口,用于并行数据传输。实际的原理图如下所示,其中两个SGM2036 是 DC-DC 转换器,用于产生对 DVP 摄像头专门的供电电压:

  简化的功能图如下所示:

其中 Sensor 是相机传感器模块,ISP 是 主机模块:

  • VSYNC: vertical synchronization,帧同步信号 (DVP_VSYNC);
  • HSYNC: horizonal synchronization,行同步信号;
  • PCLK: pixel clock ,像素时钟,每个时钟对应一个像素数据 (DVP_PCLK);
  • DATA: 像素数据,视频数据,具体位宽要看 ISP 是否支持 (DVP_D0-D7);
  • XCLK: 或者 MCLK,ISP 芯片输出给驱动 sensor 的时钟 (DVP_XCLK);
  • SCL、SDA: IIC 用来读写 sensor 的寄存器,配置 sensor;

  好了,以上分享了 PaddlePi-K210 硬件架构。希望我的分享能对你的学习有一点帮助。


 【公众号传送】

《极智开发 | PaddlePi-K210 硬件架构》


logo_show.gif

猜你喜欢

转载自juejin.im/post/7128313917675143181