2.2 系统总体方案设计
根据测试台任务需求,测试台和记录仪功能结构图如图 2.2 。 rk3399 作为测试台系
统的上位机,通过通过串口指令与主控 CPU 进行通讯,控制测试台的电源系统。同时
发送指令生成模拟数据,数据由主控 CPU 发送到存储端,存放到记录仪的 Flash 存储芯
片中,最后通过网络 UDP 协议进行数据回读,开发板嵌入到测试台中,外接小型 LCD
屏幕作为软件界面显示端。
根据记录仪工作需求,测试台软件主要包括模拟源模式、数据回读模式、数据分离
模式三种工作模式。模拟源模式下,连接测试台与记录仪, rk3399 控制主控 CPU 生成
模拟数据,包括 5 路开关量、 2 路模拟量, 1 路 422 数字量和 5 路以太网网络数据,其
中开关量由 rk3399 指令控制 5 路继电器开关,模拟量由主控 CPU 采集发送。可以选择
自动或手动两种工作模式。自动会生成全部模拟数据,手动可以根据情况选择某一路或
者几路数据,目的是增加检测的灵活性。在测试台上有相对应的 LED 灯作为显示。模
拟数据会存入记录仪中,一般需要多次记录以便记录仪进行自检。数据回读模式主要任
务是选择要读取的记录仪存储器,读取该存储器当前存储状态,包括工作次数和已经存
储的数据容量。然后选择合适的次数和读取量开始读取,数据会以 .hex 的形式被存放到
桌面上。读数结束后,根据需求选择是否擦除当前存储器。数据解析模式是对回读的数
据进行分离和解析。
软件包括模拟源、存储器检测回读、数据处理三个功能模块。三个模块共同构成了
记录仪的测试回路。工作流程图如图 2.3 所示。
2.3 自主可控平台搭建
2.3.1 国产芯片 rk3399 简介
rk3399 是由本土芯片厂商瑞芯微( Rockchip )研发的高性能、低功耗 “ 中国芯 ” 。在
2016 年 4 月, rk3399 首次在香港举行的电子展上亮相。芯片使用六核大 LITTLE 处理器:
包括四核的 Cortex-A53 和双核的 Cortex-A72 ,主频可达 2.0GHz 。芯片兼容 3G 、 4G 网
络通讯,接口资源丰富、整体性能方面优异,比如 USB3.0 、 MIPI 双摄像头等设备接口。
在操作系统的使用上也有很多可选性,用户可以选择 Android/Linux/Debain 等作为操作
系统,也可以选择菲尼克斯、 Flint OS 等轻型办公开发环境,常用软件都可兼容。在 2017
年,官方宣布 rk3399Linux 系统开源。目前 rk3399 主要的开发应用场景如图 2.4 所示。
在硬件接口上, rk3399 提供了大量的资源,开发板外观和具体接口定义如图 2.5 所
示。 rk3399 有以下独特优点:
1. 显示接口丰富。还可以根据需求双屏同显或者双屏异显。视频方面支持双 MIPI 、
HDMI 、 EDP 、 DP 等众多主流显示输出口。
2. 网络通道多样化。双频无线网络接收( 2.4GHz/5GHz ),千兆以太网口,蓝牙通
信 4.1 。此外开发板上还接有 Mini PCle 口,可以扩展 3G 和 4G 通信。
3. 外设接口齐全。 USB2.0/3.0HOST ,独立 PCIE 接口。常规的串口调试, 42Pin 的
GPIO 接口方便开发者调试使用。
4. 操作系统兼容性强。 Linux , Ubuntu , Debain , Android 等开源操作系统,用户可
自己选择合适的固件进行烧写。
深圳信迈RK3399开发板外观及接口
2.3.2 rk3399 嵌入式环境搭建
有了合适的硬件平台后,接下来进行软件开发平台的搭建。选择嵌入式 Linux 操作
系统作为开发手段,因为 Linux 操作系统具有免费和开源两大特点。要在 rk3399 硬件平
台上运行 Linux 操作系统,首要任务是在台式机上安装虚拟机并安装虚拟 Linux 环境,
然后在虚拟机下安装交叉编译器,搭建虚拟机交叉编译环境,在 Linux 环境下编译生成
适合 rk3399 硬件的 Linux 系统。这样做的原因是传统 PC 机器的硬件和 rk3399 平台有不
小的差异。不同的编译环境生成的固件有一定的区别。为了保证生成的固件能完美契合
硬件,选择在 Linux 环境下安装交叉编译器,确保 rk3399 固件编译成功。
首先在 PC 机上安装虚拟机,在官网选择下载合适的 Ubuntu16.4 系统(基于 Linux
内核的开源操作系统)。整个过程包括以下步骤:
1. 进入 Ubuntu16.04 系统,打开终端界面,安装开发包:
sudo apt-get install build-essential lzop libncurses5-dev libssl-dev
界面如图 2.6 所示。
2. 安装 mkbootimg 工具
git clone https://github.com/neo-technologies/rockchip-mkbootimg.git
cd rockchip-mkbootimg
make && sudo make install
3. 获取内核源码和安装交叉编译工具链
mkdir project
cd project
rk3399Linux 内核代码获取方式 ː
获取交叉编译工具 :
4. kernel 编译
Linux 内核采用的 config 文件为 firefly_linux_defconfig, dts 文件为 rk3399-linux.dts ;
config 文件在~ /linux-kernel/arch/arm64/configs/firefly_linux_defconfig ,对应生成 kernel.
img 文件; dts 文件在~ / linux-kernel/arch/arm64/boot/dts/rockchip/rk3399-firefly-linux.dts ,
对应生成 resource.img 文件;
编译内核:
cd ~/project/linux-kernel
make ARCH=arm64 firefly_linux_defconfig
make ARCH=arm64 rk3399-firefly-linux.img -j8
编译完成后,会在 linux--kernel 目录下生成 kernel.img 和 resource.imgresource.img 。
如图 2.7 所示。
2.3.3 rk3399 下 Qt 配置
在成功启动 rk3399 开发板后,需要安装 Qt 软件作为软件设计的最后一步基础。首
先打开终端,更新软件源和升级更新软件。在终端输入以下指令:
sudo apt-get update
sudo apt-get upgrade
更新过程将持续 30-40 分钟。然后开始安装 Qt5 所需的库文件和 QtCreator 。
sudo apt-get install qt5-default
sudo apt-get install qtcreator
安装完成后,打开终端,命令行键入 qtcreator 。屏幕出现 Qt 启动窗口。界面如图
2.10 所示。