前 言
本文主要介紹基于全志科技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配置評估板請根據實際情況選擇對應目錄文件。
本文檔對應案例的測試結果說明如下表所示。

備注:
創龍科技TL7606I模塊使用AD芯片為核芯互聯CL1606或ADI AD7606,兩者均測試通過,且測試步驟無差別。
創龍科技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-軟件資料Demoplatform-demosad_display”目錄下,具體目錄結構說明如下。

案例支持如下2種模式:
單次采集:程序采集1024個數據后,顯示靜態波形。
連續采集:程序將會連續采集數據,并實時顯示動態波形。
程序流程如下圖所示。
圖?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# fdtrm /usb0-vbus gpio
Target# boot
圖 10
將本案例"risc-vbin"目錄下的可執行文件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拷貝至評估板文件系統任意目錄下。同時,將案例"qwtbin"目錄下的壓縮包解壓,將解壓后的文件拷貝至評估板文件系統"/usr/lib/"目錄下。
備注:由于"qwtbin"目錄下的壓縮包文件包含鏈接文件,因此須將該壓縮包拷貝至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# fdtrm /usb0-vbus gpio
Target# boot
圖 27
將本案例"risc-vbin"目錄下的可執行文件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拷貝至評估板文件系統任意目錄下。同時,將案例"qwtbin"目錄下的壓縮包解壓,將解壓后的文件拷貝至評估板文件系統"/usr/lib/"目錄下。
備注:由于"qwtbin"目錄下的壓縮包文件包含鏈接文件,因此須將該壓縮包拷貝至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
由于篇幅過長等原因,部分內容均不逐一展示,如需獲取完整版詳細資料,請關注創龍科技微信公眾號或官網,或者評論區留言,感謝您的支持!
審核編輯 黃宇
-
Cortex
+關注
關注
2文章
220瀏覽量
48949 -
開發板
+關注
關注
26文章
6358瀏覽量
119650
發布評論請先 登錄
國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業開發板—Linux系統使用手冊(三)
國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業開發板—Linux系統使用手冊(二)
國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業開發板—ARM + DSP、RISC-V核間通信開發案例
國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業開發板—RISC-V案例開發手冊(上)
國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業開發板—DSP案例開發手冊
國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業開發板—GDB程序調試方法說明
國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業開發板—MQTT通信協議案例
國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業開發板—Linux-RT應用開發案例
國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業開發板—多通道AD采集開發案例
評論