1. 前言

1.1. 概述

本文作为 X5 芯片方案的用户手册,为开发者提供关于开发环境搭建、方案评测、软件功能开发等多方面的使用说明和开发指南,内容涵盖开发板使用、硬件设计、系统定制、应用开发、算法工具链等多个方面。

1.2. 交付包总体说明

SDK 交付包主要包括 BSP 源码、配套文档、硬件参考设计、 sample 示例、算法工具链、配套 Host 上工具软件等几部分。发布包各模块说明如下:

.
├── datasheet_and_design_guide                   # 芯片数据手册,硬件参考设计,包含原理图、 PCB 及 BOM
│   ├── Datasheet                                # 芯片数据手册
│   ├── HardwareDevelopmentGuide                 # 硬件参考设计,包含原理图、 PCB 及 BOM
│   ├── HardwareInterface                        # 开发板硬件接口说明
│   ├── Pinlist                                  # 芯片 IO 配置表,通过表格的方式描述芯片上所有 IO 管脚的复用、电压域、上下拉等
│   ├── RegisterManual                           # 芯片寄存器手册
│   └── TypicalScenarioPowerConsumption          # 芯片典型负载功耗测算表
└── X5_LNX_SDK                                   # 软件 SDK, 包括 BSP、算法工具链、用户手册等
    └── LNX6.1.83_PL5.1_V1.0.14                  # SDK 版本号
        ├── ai_toolchain_package                 # 算法工具链,包括模型转换工具等
        ├── board_support_package                # 板级支持软件包( BSP )
        │   ├── firmwares                        # 预编译的开发板刷机镜像
        │   └── platform_source_code.tar.gz      # BSP 源码
        ├── release_note_and_change_log          # 当前版本的 Release Note 和重要的变更说明
        ├── software_tools                       # 开发中配套的 Host 上工具软件,包括刷机工具、驱动软件、 ISP 调试工具、 GDC 调试工具等
        └── user_manual                          # 用户使用手册,开发手册,软件 API 手册,算法工具链使用手册, FAQ 等

1.2.1. 交付包获取方法

X5 芯片的用户可以登陆 SDK 发布系统 (请联系 FAE 开通账号)查看已经发布的 SDK 交付包,了解如何下载资料。如果在使用过程中有任何技术问题,可随时联系 FAE 或我司的技术支持团队获得帮助。

1.3. 芯片规格

1.3.1. 芯片功能框图

X5-IP

1.3.2. 系统软件框图

X5-System

1.3.3. 关键特性

CPU

  • 八核 ARM Cortex A55 , 32 KB/32 KB L1 I/D, 64 KB L2 , 1MB L3 缓存。

  • 典型工作频率: 1.5GHz。


BPU

  • 贝叶斯架构 BPU,提供最高 10 TOPS 算力。

  • 典型工作频率: 1.0 GHz。


外部存储器

  • DDR

    • 支持 x32 LPDDR4/LPDDR4X 片外 DRAM。

    • 支持最大 8 GB 的存储空间。

  • eMMC 5.1 控制器

    • 最高支持 HS200 模式

    • 最高支持 8Bit 数据位宽


ISP

  • 支持最大处理能力: 3840x2160@60fps

  • 支持 3DNR

  • 支持 3A( AE/AWB/AF ),支持第三方 3A 算法


视频输入接口

  • 支持 MIPI CSI 视频输入:

    • 4 MIPI CSI Rx 端口

    • 每个数据通道高达 2.5 Gbps。

    • 视频输入高达 5472 x 3076 @ 30fps。

    • 支持 RAW 8/10/12/14/16 位格式和 8/10 位 YUV 422 格式。


视频输出接口

  • 支持 BT1120 视频输出

  • 支持 MIPI DSI 视频输出

  • 支持 Display Engine 进行图层混合


视频/图像处理单位

  • 视频缩放引擎( VSE ):

    • 支持 1 个通道视频放大

    • 支持 5 个通道视频缩小

    • 支持帧率控制

    • 支持 OSD 叠加


视频编解码器

  • 支持 H.265 ( HEVC )编码和解码:

    • Main profile @ L5.1 。

  • 支持 H.264 ( AVC )编码和解码:

    • Baseline/Constrained Baseline/Main/High profiles @ L5.2 。

    • H.264 支持 SVC-T 编码。

  • H265/H264 编解码性能:

    • 最大支持 3840 x 2160@60fps 编码

    • 最大支持 3840 x 2160@60fps 解码

    • 当编码器与解码器同时运行时,可分别支持 3840 x 2160@30fps 的编码和解码

  • 支持 JPEG 编码和解码:

    • 支持 JPEG baseline/extended

    • 支持 3840 x 2160@30fps 的同时编码和解码

    • 最大支持编解码分辨率: 32768 x 32768 像素

    • 最小支持编解码分辨率: 16 x 16 像素


外围接口

  • 1 x USB 3.0 (Dual-Role Device)

  • 1 x USB 2.0 (Dual-Role Device)

  • 1 x 1G Ethernet MAC

  • 2 x SDIO

  • 1 x QSPI

  • 7 x SPI

  • 8 x I2C

  • 8 x UART

  • 8 x PWM

  • 8 x LPWM

  • 8 x ADC

  • 129 x GPIO

  • Timer

  • Watchdog

  • Mailbox


芯片物理规格

  • 台积电 12 纳米 FinFET 紧凑型技术( FFC )工艺

  • FCCSP563 封装,管脚间距为 0.65 mm,封装尺寸为 16 mm x 16 mm

1.4. 文档使用指引

1.4.1. 章节介绍

本用户手册为 X5 芯片的开发和应用提供了全面的指南,旨在帮助用户更好地了解和使用芯片的功能与特性。以下是每个章节功能的简要介绍,帮助用户快速了解文档结构和内容,从而更高效地进行开发、学习和工作。

一、前言

本节介绍手册的编写目的和适用范围,提供芯片的基本背景信息,包括该芯片的用途、目标用户群体以及使用本手册的建议。

二、快速入门

本节介绍芯片的基本概念和常用功能,提供一个快速入门指南,帮助用户快速了解如何开始使用开发板,包括环境配置、软件安装、固件烧录等基础操作。此部分还详细描述了开发板的硬件接口及其基本使用方法。

三、示例代码使用指引

本节提供了一系列示例代码,旨在帮助用户加快开发过程。每个示例代码涵盖特定的功能或应用场景,并附带详细的说明和用法示例。

四、BSP 开发指南

本节是核心内容之一,详细介绍了如何进行芯片的底层开发,包括搭建开发环境与编译说明、硬件点亮指引、驱动开发指南、系统组件开发、驱动功能单元测试、常用命令使用方法和系统调试方法等。通过这些内容,用户可以深入理解芯片的内部结构和工作原理,从而有效地进行底层驱动和系统软件开发。

五、多媒体开发指南

本节介绍了芯片的多媒体功能、接口描述及基本的开发流程,涵盖了视频处理、图像处理、 GPU、 DSP 等多个功能模块的开发内容和 API 接口。

六、量化工具链开发指南

本节介绍了如何使用量化工具链进行开发,涵盖了模型量化转换、模型训练、优化和部署等内容,旨在帮助用户利用机器学习和人工智能技术开发相关应用。

七、FAQ

本节列出了常见问题解答,旨在帮助用户解决开发过程中可能遇到的各种问题。内容涵盖从基础操作到高级开发技巧的多个方面,为用户提供全面的支持与指导。

八、建议和反馈

本节提供了用户反馈和建议的渠道,用户可以通过反馈参与到系统或文档内容的优化过程中。

1.4.2. 阅读建议

  • 第一、二、三章介绍了开发板接口、刷机方法和各种应用示例的使用方法,建议初次使用本 SDK 的用户阅读这几章,以便全面了解基本操作和功能应用。这些章节对于完成功能评测非常有帮助。

  • 第四、五、六、七章介绍了如何进行 BSP、多媒体和算法工具链开发。在项目开发阶段,您应当充分阅读这些章节的内容,了解开发方法、接口定义以及常见问题解答等信息。