国产!全志T113-i 双核Cortex-A7@1.2GHz 工业开发板—多通道AD采集开发案例

前  言

本文主要介绍基于全志科技T113-i处理器的8/16通道AD采集开发案例,使用的AD芯片为核芯互联CL1606/CL1616(国产)、ADI AD7606/AD7616。适用开发环境:
 

Windows开发环境:Windows 7 64bit、Windows 10 64bit

虚拟机:VMware15.5.5

Linux开发环境:Ubuntu18.04.4 64bit

U-Boot:U-Boot-2018.07

Kernel:Linux-5.4.61、Linux-RT-5.4.61

LinuxSDK:T113-i_Tina5.0-V1.0(Linux)

无特殊说明情况下,本文默认使用NAND FLASH配置评估板,默认从Linux系统启动卡启动系统(SD启动模式)进行测试。eMMC配置评估板请根据实际情况选择对应目录文件。

本文档对应案例的测试结果说明如下表所示

 

 

备注:

  1. 创龙科技TL7606I模块使用AD芯片为核芯互联CL1606或ADI AD7606,两者均测试通过,且测试步骤无差别。
  2. 创龙科技TL7616P模块使用AD芯片为核芯互联CL1616或ADI AD7616,两者均测试通过,且测试步骤无差别。

 

ad_display案例

案例说明

案例功能:评估板通过SPI总线采集8/16通道AD数据,ARM核心运行Linux应用程序,RISC-V核心运行RTOS程序。RISC-V核心通过rpmsg发送AD数据至Linux应用程序,Linux应用程序接收并转换为电压值,通过Qt显示波形。

系统工作示意框图如下所示。

 

图 1 系统工作示意框图

 

AD采集数据通过rpmsg传输流程图如下所示。

 

图 2

 

案例源码位于产品资料“4-软件资料\Demo\platform-demos\ad_display\”目录下,具体目录结构说明如下。

 

 

案例支持如下2种模式:

  1. 单次采集:程序采集1024个数据后,显示静态波形。
  2. 连续采集:程序将会连续采集数据,并实时显示动态波形。

程序流程如下图所示。

 

图 3 程序流程图

 

案例测试

TL7606I模块测试

1.硬件连接

请使用HDMI线将评估板HDMI OUT接口与HDMI显示屏连接。

由于评估底板拓展接口未预留SPI总线引脚,因此需参考如下方法进行飞线,并且应尽可能使用短线连接。TL7606I模块使用5V电源供电,J1跳线帽连接至0,使用±5V量程。硬件连接如下图所示。

 

图 4

 

备注:TL7606I模块默认为并行输出模式。本案例是采用串行接口模式,请先参考如下原理图改为串行接口模式。

 

图 5

 

将评估底板的R76电阻空贴,避免引脚复用影响SPI_MISO信号。并根据评估底板丝印将SPI1测试点TP25(SPI1 MISO)、TP26(SPI1 MOSI)、TP27(SPI1 CLK)、TP28(SPI1 CS)通过飞线引出。

 

图 6

 

图 7

 

将SPI1测试点飞线引出的引脚与TL7606I模块的J6接口参照下表对应关系进行连接。

 

 

请使用杜邦线或飞线将评估底板TTL UART4(CON10)、TTL UART5(CON11)接口与TL7606I模块的J3、J6接口,参照下表对应关系进行连接,为TL7606I模块提供控制信号。

 

 

图 8

 

案例支持TL7606I模块8通道同时采集与显示。本次测试以TL7606I模块V1和V8通道为例,请将TL7606I模块的V1和V8通道分别正确连接至信号发生器A通道和B通道。信号发生器设置A通道输出频率为1KHz、峰峰值为2.0Vpp(即幅值为1.0V)的正弦波信号,B通道输出频率为1KHz、峰峰值为2.0Vpp(即幅值为1.0V)的正弦波信号,如下图所示。待测信号电压请勿超过模块量程,否则可能会导致模块损坏。

 

 

图 9

 

2.案例测试

在U-Boot命令行执行如下命令,关闭设备树UART1,UART2,UART4,UART5节点并删除reg_usb0_vbus节点GPIO配置。

备注:此修改方法重启评估板后会失效。

Target# fdt set /soc/uart@2500400 status disabled

Target# fdt set /soc/uart@2500800 status disabled

Target# fdt set /soc/uart@2501000 status disabled

Target# fdt set /soc/uart@2501400 status disabled

Target# fdt rm /usb0-vbus gpio

Target# boot

 

 

图 10

 

将本案例"risc-v\bin\"目录下的可执行文件amp_rv0.bin拷贝至评估板系统的"/lib/firmware/"目录下,执行如下命令,启动RISC-V核心并加载工程镜像。

Target# echo amp_rv0.bin > /sys/class/remoteproc/remoteproc1/firmware //指定加载的工程镜像

Target# echo start > /sys/class/remoteproc/remoteproc1/state //启用HiFi4 DSP核心并加载工程镜像

 

图 11

 

RISC-V核心启动后将自动运行程序,RS232 UART2串口终端将会打印如下类似信息。

 

图 12

 

评估板上电后,请将案例bin目录下的可执行文件ad_display拷贝至评估板文件系统任意目录下。同时,将案例"qwt\bin\"目录下的压缩包解压,将解压后的文件拷贝至评估板文件系统"/usr/lib/"目录下。

备注:由于"qwt\bin\"目录下的压缩包文件包含链接文件,因此须将该压缩包拷贝至Ubuntu下解压。

执行如下命令,关闭默认运行的Qt GUI显示,使能Qt程序运行环境。

Target# killall Launcher

Target# fbinit

 

图 13

 

执行如下命令,查询程序命令参数。

Target# ./ad_display --h --platform linuxfb

 

图 14

 

(1)单次采集

执行如下命令,单次采集1024个数据采样点,本次测试采样率为41998SPS。

Target# ./ad_display -d ad7606 -m 1 --platform linuxfb

参数解析:

-d:指定设备节点;

-m:选择运行模式(1表示单次采集,2表示连续采集)。

 

图 15

 

同时,HDMI显示屏将会显示静态波形,如下图所示。

备注:由于波形显示窗口全屏显示将占用较多CPU资源,会导致波形显示延迟,因此案例对波形显示窗口进行缩小。

 

图 16

 

按下"Ctrl + C"可停止程序运行。

 

图 17

 

(2)连续采集

执行如下命令,以连续采集数据,本次测试采样率为41921SPS。

Target# ./ad_display -d ad7606 -m 2 --platform linuxfb

 

图 18

 

同时,HDMI显示屏将会实时显示动态波形,如下图所示。

备注:由于采样率的提高会影响波形实时显示,若波形显示窗口全屏显示将会导致波形显示延迟,因此案例对波形显示窗口进行缩小。

 

图 19

 

程序运行过程中,CPU0占用率为70%,CPU1占用率约48%。

 

图 20

 

按下"Ctrl + C"可停止程序运行。

 

图 21

 

TL7616P模块测试

1.硬件连接

请使用HDMI线将评估板HDMI OUT接口与HDMI显示屏连接。

由于评估底板拓展接口未预留SPI总线引脚,因此需参考如下方法进行飞线,并且应尽可能使用短线连接,硬件连接如下图所示。

 

图 22

 

将评估底板的R76电阻空贴,并根据评估底板丝印将SPI1测试点TP25(SPI1 MISO)、TP26(SPI1 MOSI)、TP27(SPI1 CLK)、TP28(SPI1 CS)通过飞线引出。

 

图 23

 

图 24

 

将SPI1测试点飞线引出的引脚与TL7616P模块的CON1接口参照下表对应关系进行连接。

 

 

请使用杜邦线或飞线将评估底板TTL UART4(CON10)、TTL UART5(CON11)接口与TL7616P模块的CON1接口,参照下表对应关系进行连接,为TL7616P模块提供控制信号。

 

 

图 25

 

请通过飞线将评估底板C2电解电容器的正负极引出,并与TL7616P模块CON2接口参照下表对应关系进行连接,为TL7616P模块提供12V直流电源。

 

 

 

案例支持TL7616P模块16通道AD数据同时采集与显示。本次测试以TL7616P模块V3A和V5B通道为例,请将TL7616P模块的V3A和V5B通道分别正确连接至信号发生器A通道和B通道。信号发生器设置A通道输出频率为1KHz、峰峰值为2.0Vpp(即幅值为1.0V)的正弦波信号,B通道输出频率为1KHz、峰峰值为2.0Vpp(即幅值为1.0V)的正弦波信号,如下图所示。待测信号电压请勿超过模块量程,否则可能会导致模块损坏。

 

图 26

 

2.案例测试

在U-Boot命令行执行如下命令,关闭设备树UART1,UART2,UART4,UART5节点并删除reg_usb0_vbus节点GPIO配置。

备注:此修改方法重启评估板后会失效。

Target# fdt set /soc/uart@2500400 status disabled

Target# fdt set /soc/uart@2500800 status disabled

Target# fdt set /soc/uart@2501000 status disabled

Target# fdt set /soc/uart@2501400 status disabled

Target# fdt rm /usb0-vbus gpio

Target# boot

 

图 27

 

将本案例"risc-v\bin\"目录下的可执行文件amp_rv0.bin拷贝至评估板系统的"/lib/firmware/"目录下,执行如下命令,启动RISC-V核心并加载工程镜像。

Target# echo amp_rv0.bin > /sys/class/remoteproc/remoteproc1/firmware //指定加载的工程镜像

Target# echo start > /sys/class/remoteproc/remoteproc1/state //启用HiFi4 DSP核心并加载工程镜像

 

图 28

 

RISC-V核心启动后将自动运行程序,RS232 UART2串口终端将会打印如下类似信息。

 

图 29

 

评估板上电后,请将案例bin目录下的可执行文件ad_display拷贝至评估板文件系统任意目录下。同时,将案例"qwt\bin\"目录下的压缩包解压,将解压后的文件拷贝至评估板文件系统"/usr/lib/"目录下。

备注:由于"qwt\bin\"目录下的压缩包文件包含链接文件,因此须将该压缩包拷贝至Ubuntu下解压。

执行如下命令,关闭默认运行的Qt GUI显示,使能Qt程序运行环境。

Target# killall Launcher

Target# fbinit

 

图 30

 

执行如下命令,查询程序命令参数。

Target# ./ad_display --h --platform linuxfb

 

图 31

 

(1)单次采集

执行如下命令,单次采集1024个数据采样点,本次测试采样率为26449SPS。

Target# ./ad_display -d ad7616 -m 1 --platform linuxfb

参数解析:

-d:指定设备节点;

-m:选择运行模式(1表示单次采集,2表示连续采集)。

 

图 32

 

同时,HDMI显示屏将会显示静态波形,如下图所示。

   

 

图 33

 

按下"Ctrl + C"可停止程序运行。

 

图 34

 

(2)连续采集

执行如下命令,以连续采集数据,本次测试采样率为26435SPS。

Target# ./ad_display -d ad7616 -m 2 --platform linuxfb

 

图 35

 

同时,HDMI显示屏将会实时显示动态波形,如下图所示。

    

图 36

 

程序运行过程中,CPU0占用率为25%,CPU1占用率约为100%。

 

 

图 37

 

按下"Ctrl + C"可停止程序运行。

 

图 38

 

由于篇幅过长等原因,部分内容均不逐一展示,如需获取完整版详细资料,请关注创龙科技微信公众号或官网,或者评论区留言,感谢您的支持!

posted @ 2025-08-25 14:30  创龙科技-黄工  阅读(4)  评论(0)    收藏  举报