本案例是基于創(chuàng)龍SOM-TL437xF是一款TI Sitara系列AM4376/AM4379 ARM Cortex-A9 + XilinxSpartan-6 FPGA處理器設(shè)計(jì)的異構(gòu)多核工業(yè)級(jí)核心板,進(jìn)行案例分享的。 1 案例功能Spartan-6 FPGA通過ADS8568進(jìn)行AD數(shù)據(jù)采集,并將AD數(shù)據(jù)通過核心板內(nèi)部與ARM端連接的GPMC高速并行接口傳送到AM437xARM。ARM端運(yùn)行Qt程序,將從GPMC接口讀取的AD數(shù)據(jù)進(jìn)行波形顯示。 2 案例框圖圖 1
3 案例演示3.1 硬件連接本案例基于創(chuàng)龍科技(Tronlong)的TL437xF-EVM(AM437x ARM + Spartan-6FPGA)評(píng)估板、TL8568P(ADS8568)模塊進(jìn)行測試。
圖 2
圖 3
3.2 案例測試將TL8568P模塊的任意通道正確連接信號(hào)發(fā)生器,并使信號(hào)發(fā)生器輸出10Vpp、5KHz的正弦波。本案例支持8通道AD數(shù)據(jù)同時(shí)采集與顯示,本次測試僅演示ADC_V1通道AD數(shù)據(jù)的采集與顯示。 圖 4
按照用戶手冊操作步驟進(jìn)行程序的加載,Qt程序運(yùn)行后,LCD顯示屏將顯示AD數(shù)據(jù)的正弦波。點(diǎn)擊屏幕上的pause按鈕后,波形將暫停在某個(gè)狀態(tài),再點(diǎn)擊start按鈕,顯示屏又將顯示動(dòng)態(tài)波形,點(diǎn)擊Exit按鈕可退出顯示。 圖 5
4 關(guān)鍵代碼4.1 ARM端關(guān)鍵代碼說明(1) 打開“/dev/mem”設(shè)備,并將GMPC地址空間映射到用戶空間。 圖 6 src\dialog.cpp
(2) 初始化QWT圖表。 圖 7 src\dialog.cpp
(3) 繪制波形。 圖 8 src\dialog.cpp
4.2 FPGA端關(guān)鍵代碼說明(1) 定義端口,采樣率設(shè)置為510KSPS。 圖9 hdl\gpmc_ads8568.v
(2) 調(diào)用ads8568模塊,控制AD數(shù)據(jù)采集。 圖 10 hdl\gpmc_ads8568.v
(3) 調(diào)用gpmc模塊,將ads8568模塊的數(shù)據(jù)通過并口發(fā)送出去。 圖 11 hdl\gpmc_ads8568.v
RTL原理圖如下所示:
圖 12 5 應(yīng)用場合
圖 13
6 技術(shù)交流群AM437x交流群:373129850、487528186 Spartan-6交流群:311416997、101245165
|