• 创龙AD+全志T3 ad_display 开发案例


    前 言

    本文主要介绍基于全志科技T3(ARM Cortex-A7)处理器的8/16通道AD采集开发案例,使用核芯互联CL1606/CL1616AD芯片,亦适用于ADI AD7606/AD7616。CL1606/CL1616与AD7606/AD7616软硬件兼容。

    备注:

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

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

    *硬件平台:

    创龙科技T3工业评估板
    在这里插入图片描述

    TL7606I多通道AD模块
    在这里插入图片描述

    TL7616P多通道AD模块
    在这里插入图片描述

    1 ad_display案例

    1.1 案例说明

    案例功能:评估板通过SPI接口,使用创龙科技TL7606I/TL7616P模块采集8通道或16通道数据,并通过Qt显示波形。
    案例支持如下2种模式:

    • 单步模式:程序将会采集1024个数据后,显示静态波形。
    • 连续模式:程序将会连续采集数据,并实时显示动态波形。

    程序流程如下图所示。

    在这里插入图片描述

    1.2 案例测试

    1.2.1 TL7606I模块测试
    (1)硬件连接。
    请使用VGA线将评估板VGA OUT接口与VGA显示屏连接。
    由于评估底板拓展接口未预留SPI总线引脚,因此需参考如下方法进行飞线,并且应尽可能使用短线连接,硬件连接如下图所示。

    在这里插入图片描述

    将评估底板SPI FLASH(U6)空贴后的引脚1(SPI CS)、2(SPI MISO)、5(SPI MOSI)、6(SPI CLK)和4(GND)通过飞线引出。

    在这里插入图片描述

    将SPI FLASH(U6)飞线引出的引脚与TL7606I模块的J6接口参照下表对应关系进行连接。

    请使用杜邦线或飞线将评估底板CAMERA0(J11)接口与TL7606I模块的J3、J6接口,参照下表对应关系进行连接,为TL7606I模块提供5V直流电源和控制信号。

    备注:"/"表示无需连接。

    在这里插入图片描述

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

    在这里插入图片描述

    (2)案例测试。

    为确保Qt程序运行的流畅性,评估板将使用eMMC启动模式进行测试,请确保eMMC已固化最新系统。

    请先取出Linux系统启动卡,根据底板丝印将启动方式选择拨码开关拨为0,将评估板上电,系统将从eMMC启动。

    请将案例bin目录下的可执行文件ad_display、“driver\boot_package"目录下的boot_package_vga_ad7606.fex镜像文件和"driver\bin"目录下的ad76x6.ko驱动文件拷贝至评估板文件系统任意目录下。同时,将案例"qwt\libqwt-6.1.3"目录下的所有文件拷贝至评估板文件系统”/usr/local/Qt-5.9.0/lib/"目录下。

    在评估板文件系统boot_package_vga_ad7606.fex镜像文件所在路径下,执行如下命令将其固化至eMMC,并重启系统。

    Target# dd if=boot_package_vga_ad7606.fex of=/dev/mmcblk0 seek=32800
    Target# dd if=boot_package_vga_ad7606.fex of=/dev/mmcblk0 seek=24576
    Target# sync
    Target# reboot
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    评估板系统重启后,进入评估板文件系统执行如下命令加载驱动。加载成功后,将会生成设备节点"/dev/ad7606"。

    Target# insmod ad76x6.ko
    Target# ls /dev/ad7606
    
    • 1
    • 2

    在这里插入图片描述

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

    Target# killall Launcher
    Target# killall -9 MediaUI
    Target# killall -9 CameraUI
    Target# fbinit
    Target# echo 0,0 > /sys/class/disp/disp/attr/fb2ui
    Target# source /qt5.9.sh
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

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

    Target# ./ad_display --help
    
    • 1

    在这里插入图片描述

    a)单步模式
    执行如下命令,以单步模式采集数据。

    Target#   ./ad_display -d /dev/ad7606 -m 1
    
    • 1

    参数解析:
    -d:指定设备节点;
    -m:选择运行模式(1表示单步模式,2表示连续模式)。

    同时,VGA显示屏将会显示静态波形,如下图所示。
    在这里插入图片描述

    按下"Ctrl + C"可停止程序运行。
    在这里插入图片描述

    b)连续模式
    执行如下命令,以连续模式采集数据。

    Target#   ./ad_display -d /dev/ad7606 -m 2
    
    • 1

    在这里插入图片描述

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

    在这里插入图片描述

    程序运行过程中,CPU占用率约为26%。

    在这里插入图片描述

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

    在这里插入图片描述

  • 相关阅读:
    【每日一题】—— B. Arrays Sum (Grakn Forces 2020)
    ubuntu22.04 在wifi网络正常使用的情况下创建热点连接
    基于Unity ComputeShader 实现正向DIBR
    leetcode-218.天际线问题
    JNI c++ 与 java 通信过程
    Node.js躬行记(25)——Web自动化测试
    ​LeetCode解法汇总56. 合并区间
    java毕业设计幼儿园管理系统Mybatis+系统+数据库+调试部署
    公共数据 | CnOpenData中国90座城市建筑物屋顶矢量数据集
    数据库-序列
  • 原文地址:https://blog.csdn.net/weixin_43094346/article/details/127794890