前 言
本文主要介紹基于全志科技T3(ARM Cortex-A7)國產(chǎn)處理器的8/16通道AD采集開發(fā)案例,使用核芯互聯(lián)CL1606/CL1616國產(chǎn)AD芯片,亦適用于ADI AD7606/AD7616。CL1606/CL1616與AD7606/AD7616軟硬件兼容。
備注:
(1)創(chuàng)龍科技TL7606I模塊使用AD芯片為核芯互聯(lián)CL1606或ADI AD7606,兩者均測試通過,且測試步驟無差別。
(2)創(chuàng)龍科技TL7616P模塊使用AD芯片為核芯互聯(lián)CL1616或ADI AD7616,兩者均測試通過,且測試步驟無差別。
*硬件平臺:
創(chuàng)龍科技T3工業(yè)評估板
TL7606I多通道AD模塊
TL7616P多通道AD模塊
目前,創(chuàng)龍科技已推出T3+FPGA(紫光同創(chuàng)PGL25G/PGL50G)全國產(chǎn)一體化工業(yè)核心板方案,國產(chǎn)化率100%(連接器亦為國產(chǎn)),可通過FPGA端拓展接口接入多片國產(chǎn)AD,歡迎咨詢。
SOM-TLT3F核心板正面圖
TLT3F-EVM開發(fā)板正面圖
ad_display案例
案例說明
案例功能:評估板通過SPI接口,使用創(chuàng)龍科技TL7606I/TL7616P模塊采集8通道或16通道數(shù)據(jù),并通過Qt顯示波形。
案例支持如下2種模式:
- 單步模式:程序?qū)杉?024個數(shù)據(jù)后,顯示靜態(tài)波形。
- 連續(xù)模式:程序?qū)B續(xù)采集數(shù)據(jù),并實(shí)時顯示動態(tài)波形。
程序流程如下圖所示。
圖 1 程序流程圖
案例測試
TL7606I模塊測試
硬件連接。
請使用VGA線將評估板VGA OUT接口與VGA顯示屏連接。
由于評估底板拓展接口未預(yù)留SPI總線引腳,因此需參考如下方法進(jìn)行飛線,并且應(yīng)盡可能使用短線連接,硬件連接如下圖所示。
圖 2
將評估底板SPI FLASH(U6)空貼后的引腳1(SPI CS)、2(SPI MISO)、5(SPI MOSI)、6(SPI CLK)和4(GND)通過飛線引出。
圖 3
將SPI FLASH(U6)飛線引出的引腳與TL7606I模塊的J6接口參照下表對應(yīng)關(guān)系進(jìn)行連接。
表 1
SPI FLASH(U6) | J6 |
CLK(pin6) | pin10 |
CS(pin1) | pin16 |
DI(IO0)(pin5) | pin26 |
DO(IO1)(pin2) | pin12 |
GND(pin4) | pin46 |
請使用杜邦線或飛線將評估底板CAMERA0(J11)接口與TL7606I模塊的J3、J6接口,參照下表對應(yīng)關(guān)系進(jìn)行連接,為TL7606I模塊提供5V直流電源和控制信號。
表 2
CAMERA0(J11) | J3 | J6 |
pin1 | 5V | / |
pin11 | GND | / |
pin23 | / | pin4 |
pin22 | / | pin6 |
pin24 | / | pin3 |
備注:"/"表示無需連接。
圖 4
案例支持TL7606I模塊8通道同時采集與顯示。本次測試以TL7606I模塊V4和V7通道為例,請將TL7606I模塊的V4和V7通道分別正確連接至信號發(fā)生器A通道和B通道。信號發(fā)生器設(shè)置A通道輸出頻率為1KHz、峰峰值為5Vpp(即幅值為2.5V)的正弦波信號,B通道輸出頻率為1KHz、峰峰值為2Vpp(即幅值為1V)的正弦波信號,如下圖所示。待測信號電壓請勿超過模塊量程,否則可能會導(dǎo)致模塊損壞。
圖 5
案例測試。
為確保Qt程序運(yùn)行的流暢性,評估板將使用eMMC啟動模式進(jìn)行測試,請確保eMMC已固化最新系統(tǒng)。
請先取出Linux系統(tǒng)啟動卡,根據(jù)底板絲印將啟動方式選擇撥碼開關(guān)撥為0,將評估板上電,系統(tǒng)將從eMMC啟動。
請將案例bin目錄下的可執(zhí)行文件ad_display、"driver\boot_package"目錄下的boot_package_vga_ad7606.fex鏡像文件和"driver\bin"目錄下的ad76x6.ko驅(qū)動文件拷貝至評估板文件系統(tǒng)任意目錄下。同時,將案例"qwt\libqwt-6.1.3"目錄下的所有文件拷貝至評估板文件系統(tǒng)"/usr/local/Qt-5.9.0/lib/"目錄下。
在評估板文件系統(tǒng)boot_package_vga_ad7606.fex鏡像文件所在路徑下,執(zhí)行如下命令將其固化至eMMC,并重啟系統(tǒng)。
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
圖 6
評估板系統(tǒng)重啟后,進(jìn)入評估板文件系統(tǒng)執(zhí)行如下命令加載驅(qū)動。加載成功后,將會生成設(shè)備節(jié)點(diǎn)"/dev/ad7606"。
Target# insmod ad76x6.ko
Target# ls /dev/ad7606
圖 7
執(zhí)行如下命令,關(guān)閉默認(rèn)運(yùn)行的Qt GUI顯示,并使能Qt程序運(yùn)行環(huán)境。
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
圖 8
執(zhí)行如下命令,查詢程序運(yùn)行參數(shù)。
Target# ./ad_display --help
圖 9
單步模式
執(zhí)行如下命令,以單步模式采集數(shù)據(jù)。
Target# ./ad_display -d /dev/ad7606 -m 1
參數(shù)解析:
-d:指定設(shè)備節(jié)點(diǎn);
-m:選擇運(yùn)行模式(1表示單步模式,2表示連續(xù)模式)。
圖 10
同時,VGA顯示屏將會顯示靜態(tài)波形,如下圖所示。
圖 11
按下"Ctrl + C"可停止程序運(yùn)行。
圖 12
連續(xù)模式
執(zhí)行如下命令,以連續(xù)模式采集數(shù)據(jù)。
Target# ./ad_display -d /dev/ad7606 -m 2
圖 13
同時,VGA顯示屏將會實(shí)時顯示動態(tài)波形,如下圖所示。
圖 14
程序運(yùn)行過程中,CPU占用率約為26%。
圖 15
按下"Ctrl + C"可停止程序運(yùn)行。
圖 16
TL7616P模塊測試
- 硬件連接。
請使用VGA線將評估板VGA OUT接口與VGA顯示屏連接。
由于評估底板拓展接口未預(yù)留SPI總線引腳,因此需參考如下方法進(jìn)行飛線,并且應(yīng)盡可能使用短線連接,硬件連接如下圖所示。
圖 17
將評估底板SPI FLASH(U6)空貼后的引腳1(SPI CS)、2(SPI MISO)、5(SPI MOSI)、6(SPI CLK)和4(GND)通過飛線引出。
圖 18
請通過飛線將TL7616P模塊CON1接口與SPI FLASH(U6)飛線引出的引腳、CAMERA0(J11)接口參照下表對應(yīng)關(guān)系進(jìn)行連接。
其中,CAMERA0(J11)接口的pin23~pin24引腳為TL7616P模塊提供控制信號。
表 3
CON1 | CAMERA0(J11) | SPI FLASH(U6) |
A12 | / | CLK(pin6) |
A15 | / | CS(pin1) |
C12 | / | DI(IO0)(pin5) |
C13 | / | DO(IO1)(pin2) |
B8 | / | GND |
A10 | pin23 | / |
A14 | pin22 | / |
A16 | pin24 | / |
備注:"/"表示無需連接。
請通過飛線將評估底板C2電解電容器的正負(fù)極引出,并與TL7616P模塊CON2接口參照下表對應(yīng)關(guān)系進(jìn)行連接,為TL7616P模塊提供12V直流電源。
表 4
C2 | CON2 |
12V | pin1 |
GND | pin2 |
案例支持TL7616P模塊16通道AD數(shù)據(jù)同時采集與顯示。本次測試以TL7616P模塊V1A和V1B通道為例,請將TL7616P模塊的V1A和V1B通道分別正確連接至信號發(fā)生器A通道和B通道。信號發(fā)生器設(shè)置A通道輸出頻率為1KHz、峰峰值為5Vpp(即幅值為2.5V)的正弦波信號,B通道輸出頻率為1KHz、峰峰值為2Vpp(即幅值為1V)的正弦波信號,如下圖所示。待測信號電壓請勿超過模塊量程,否則可能會導(dǎo)致模塊損壞。
圖 19
案例測試。
為確保Qt程序運(yùn)行的流暢性,評估板將使用eMMC啟動模式進(jìn)行測試,請確保eMMC已固化最新系統(tǒng)。
請先取出Linux系統(tǒng)啟動卡,根據(jù)底板絲印將啟動方式選擇撥碼開關(guān)撥為0,將評估板上電,系統(tǒng)將從eMMC啟動。
請將案例bin目錄下的可執(zhí)行文件ad_display、"driver\boot_package"目錄下的boot_package_vga_ad7616.fex鏡像文件和"driver\bin"目錄下的ad76x6.ko驅(qū)動文件拷貝至評估板文件系統(tǒng)任意目錄下。同時,將案例"qwt\libqwt-6.1.3"目錄下的所有文件拷貝至評估板文件系統(tǒng)"/usr/local/Qt-5.9.0/lib/"目錄下。
在評估板文件系統(tǒng)boot_package_vga_ad7616.fex鏡像文件所在路徑下,執(zhí)行如下命令將其固化至eMMC,并重啟系統(tǒng)。
Target# dd if=boot_package_vga_ad7616.fex of=/dev/mmcblk0 seek=32800
Target# dd if=boot_package_vga_ad7616.fex of=/dev/mmcblk0 seek=24576
Target# sync
Target# reboot
圖 20
評估板系統(tǒng)重啟后,進(jìn)入評估板文件系統(tǒng)執(zhí)行如下命令加載驅(qū)動。加載成功后,將會生成設(shè)備節(jié)點(diǎn)"/dev/ad7616"。
Target# insmod ad76x6.ko
Target# ls /dev/ad7616
圖 21
執(zhí)行如下命令,關(guān)閉默認(rèn)運(yùn)行的Qt GUI顯示,并使能Qt程序運(yùn)行環(huán)境。
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
圖 22
執(zhí)行如下命令,查詢程序命令參數(shù)。
Target# ./ad_display --help
圖 23
單步模式
執(zhí)行如下命令,以單步模式采集數(shù)據(jù)。
Target# ./ad_display -d /dev/ad7616 -m 1
參數(shù)解析:
-d:指定設(shè)備節(jié)點(diǎn);
-m:選擇運(yùn)行模式(1表示單步模式,2表示連續(xù)模式)。
圖 24
同時,VGA顯示屏將會顯示靜態(tài)波形,如下圖所示。
圖 25
按下"Ctrl + C"可停止程序運(yùn)行。
圖 26
連續(xù)模式
執(zhí)行如下命令,以連續(xù)模式采集數(shù)據(jù)。
Target# ./ad_display -d /dev/ad7616 -m 2
圖 27
同時,VGA顯示屏將會實(shí)時顯示動態(tài)波形,如下圖所示。
圖 28
程序運(yùn)行過程中,CPU占用率約為26%。
圖 29
按下"Ctrl + C"可停止程序運(yùn)行。
圖 30
ad_capture案例
案例說明
案例功能:評估板通過SPI接口,使用創(chuàng)龍科技TL7606I/TL7616P模塊采集8通道或16通道數(shù)據(jù),然后將采集的數(shù)據(jù)轉(zhuǎn)換成電壓值并保存為csv文件。
程序流程如下圖所示。
圖 31 程序流程圖
案例測試
TL7606I模塊測試
硬件連接。
由于評估底板拓展接口未預(yù)留SPI總線引腳,因此需參考如下方法進(jìn)行飛線,并且應(yīng)盡可能使用短線連接,硬件連接如下圖所示。
圖 32
將評估底板SPI FLASH(U6)空貼后的引腳1(SPI CS)、2(SPI MISO)、5(SPI MOSI)、6(SPI CLK)和4(GND)通過飛線引出。
圖 33
將SPI FLASH(U6)飛線引出的引腳與TL7606模塊的J6接口按照下表對應(yīng)關(guān)系進(jìn)行連接。
表 5
SPI FLASH(U6) | J6 |
CLK(pin6) | pin10 |
CS(pin1) | pin16 |
DI(IO0)(pin5) | pin26 |
DO(IO1)(pin2) | pin12 |
GND(pin4) | pin46 |
請使用杜邦線將評估底板CAMERA0(J11)接口與TL7606I模塊的J3、J6接口按照下表對應(yīng)關(guān)系進(jìn)行連接,為TL7606I模塊提供5V直流電源和控制信號。
表 6
CAMERA0(J11) | J3 | J6 |
pin1 | 5V | / |
pin11 | GND | / |
pin23 | / | pin4 |
pin22 | / | pin6 |
pin24 | / | pin3 |
備注:"/"表示無需連接。
圖 34
案例支持TL7606I模塊8通道AD數(shù)據(jù)同時采集與顯示。本次測試以TL7606I模塊V3和V8通道為例,請將TL7606I模塊的V3和V8通道分別正確連接至信號發(fā)生器A通道和B通道。信號發(fā)生器設(shè)置A通道輸出頻率為1KHz、峰峰值為4Vpp(即幅值為2V)的正弦波信號,B通道輸出頻率為1KHz、峰峰值為6Vpp(即幅值為3V)的正弦波信號,如下圖所示。待測信號電壓請勿超過模塊量程,否則可能會導(dǎo)致模塊損壞。
圖 35
案例測試。
請將案例bin目錄下的可執(zhí)行文件ad_capture、驅(qū)動文件ad76x6.ko和"driver\boot_package"目錄下的boot_package_vga_ad7606.fex鏡像文件拷貝至評估板文件系統(tǒng)任意目錄下。
在評估板文件系統(tǒng)boot_package_vga_ad7606.fex鏡像文件所在路徑下,執(zhí)行如下命令將其固化至Linux系統(tǒng)啟動卡,并重啟系統(tǒng)。
Target# dd if=boot_package_vga_ad7606.fex of=/dev/mmcblk1 seek=32800
Target# dd if=boot_package_vga_ad7606.fex of=/dev/mmcblk1 seek=24576
Target# sync
Target# reboot
圖 36
評估板系統(tǒng)重啟后,進(jìn)入評估板文件系統(tǒng)執(zhí)行如下命令加載驅(qū)動。加載成功后,將會生成設(shè)備節(jié)點(diǎn)"/dev/ad7606"。
Target# insmod ad76x6.ko
Target# ls /dev/ad7606
圖 37
執(zhí)行如下命令,查詢程序運(yùn)行參數(shù)。
Target# ./ad_capture --help
圖 38
執(zhí)行如下命令,AD模塊將會采集8192個數(shù)據(jù),并轉(zhuǎn)換成電壓值。
Target# ./ad_capture -d /dev/ad7606 -n 1024
圖 39
按"Ctrl + C"退出程序,同時將會在當(dāng)前目錄下生成data.csv文件。
圖 40
請將生成的data.csv文件拷貝至Windows任意目錄下,并使用Excel打開,如下圖所示。其中,第C列數(shù)據(jù)為TL7606I模塊V3通道的采集數(shù)據(jù),第H列數(shù)據(jù)為TL7606I模塊V8通道的采集數(shù)據(jù),默認(rèn)單位為:V。
圖 41
請通過Excel的二維折線圖,將采集數(shù)據(jù)顯示為更加直觀的波形圖,如下圖所示。
圖 42
圖 43
TL7616P模塊測試
硬件連接。
由于評估底板拓展接口未預(yù)留SPI總線引腳,因此需參考如下方法進(jìn)行飛線,并且應(yīng)盡可能使用短線連接,硬件連接如下圖所示。
圖 44
將評估底板SPI FLASH(U6)空貼后的引腳1(SPI CS)、2(SPI MISO)、5(SPI MOSI)、6(SPI CLK)和4(GND)通過飛線引出。
圖 45
請通過飛線將TL7616P模塊CON1接口與SPI FLASH(U6)飛線引出的引腳、CAMERA0(J11)接口參照下表對應(yīng)關(guān)系進(jìn)行連接。其中,CAMERA0(J11)接口的pin23~pin24引腳為TL7616P模塊提供控制信號。
表 7
CON1 | CAMERA0(J11) | SPI FLASH(U6) |
A12 | / | CLK(pin6) |
A15 | / | CS(pin1) |
C12 | / | DI(IO0)(pin5) |
C13 | / | DO(IO1)(pin2) |
B8 | / | GND |
A10 | pin23 | / |
A14 | pin22 | / |
A16 | pin24 | / |
備注:"/"表示無需連接。
請通過飛線將評估底板C2電解電容器的正負(fù)極引出,并與TL7616P模塊CON2接口參照下表對應(yīng)關(guān)系進(jìn)行連接,為TL7616P模塊提供12V直流電源。
表 8
C2 | CON2 |
12V | pin1 |
GND | pin2 |
案例支持TL7616P模塊16通道AD數(shù)據(jù)同時采集與顯示。本次測試以TL7616P模塊V0A和V0B通道為例,請將TL7616P模塊的V0A和V0B通道分別正確連接至信號發(fā)生器A通道和B通道。信號發(fā)生器設(shè)置A通道輸出頻率為1KHz、峰峰值為4Vpp(即幅值為2V)的正弦波信號,B通道輸出頻率為1KHz、峰峰值為6Vpp(即幅值為3V)的正弦波信號,如下圖所示。待測信號電壓請勿超過模塊量程,否則可能會導(dǎo)致模塊損壞。
圖 46
案例測試。
請將案例bin目錄下的可執(zhí)行文件ad_capture、驅(qū)動文件ad76x6.ko和"driver\boot_package"目錄下的boot_package_vga_ad7616.fex鏡像文件拷貝至評估板文件系統(tǒng)任意目錄下。
在評估板文件系統(tǒng)boot_package_vga_ad7616.fex鏡像文件所在路徑下,執(zhí)行如下命令將其固化至Linux系統(tǒng)啟動卡,并重啟系統(tǒng)。
Target# dd if=boot_package_vga_ad7616.fex of=/dev/mmcblk1 seek=32800
Target# dd if=boot_package_vga_ad7616.fex of=/dev/mmcblk1 seek=24576
Target# sync
Target# reboot
圖 47
評估板系統(tǒng)重啟后,進(jìn)入評估板文件系統(tǒng)執(zhí)行如下命令加載驅(qū)動。加載成功后,將會生成設(shè)備節(jié)點(diǎn)"/dev/ad7616"。
Target# insmod ad76x6.ko
Target# ls /dev/ad7616
圖 48
執(zhí)行如下命令,查詢程序運(yùn)行參數(shù)。
Target# ./ad_capture --help
圖 49
執(zhí)行如下命令,AD模塊將會采集16384個數(shù)據(jù)。
Target# ./ad_capture -d /dev/ad7616 -n 1024
圖 50
按"Ctrl + C"退出程序,同時將會在當(dāng)前目錄下生成data.csv文件。
圖 51
請將生成的data.csv文件拷貝至Windows任意目錄下,并使用Excel打開,如下圖所示。其中,第A列數(shù)據(jù)為TL7616P模塊V0A通道的采集數(shù)據(jù),第B列數(shù)據(jù)為TL7616P模塊V0B通道的采集數(shù)據(jù),默認(rèn)單位為:V。
圖 52
請通過Excel的二維折線圖,將采集數(shù)據(jù)顯示為更加直觀的波形圖,如下圖所示。
圖 53
圖 54
-
嵌入式
+關(guān)注
關(guān)注
5087文章
19149瀏覽量
306239
發(fā)布評論請先 登錄
相關(guān)推薦
評論