找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1285|回復(fù): 0
收起左側(cè)

ZYNQ(FPGA)與DSP之間SRIO通信實(shí)現(xiàn)操作

[復(fù)制鏈接]
ID:1038751 發(fā)表于 2023-2-4 19:20 | 顯示全部樓層 |閱讀模式
ZYNQDSP之間通信例程
1.1
ZYNDSP之間SRIO通信

1.1.1
例程位置
ZYNQ例程保存在資料盤中的Demo\ZYNQ\PL\srio_gen2_0_ex文件夾下。
DSP例程保存在資料盤中的Demo\DSP\XQ_SRIO_x4LANE_5Gbps文件夾下。
1.1.2 功能簡介
實(shí)現(xiàn)DSP與ZYNQ之間SRIO接口傳輸功能。
DSP與ZYNQ之間SRIO通道寬度為4,每個(gè)SRIO通道速率5Gbps。DSP SRIO參考時(shí)鐘頻率為250MHz,ZYNQ SRIO參考時(shí)鐘頻率為125MHz
DSPZYNQ之間SRIO接口相關(guān)信號(hào)連接示意圖如下圖所示:
圖片1.png

DSP作為Initiator發(fā)起NWrite數(shù)據(jù)寫事務(wù),將數(shù)據(jù)寫入ZYNQ PL端的RAM空間(最大2KB);接著,DSP發(fā)起NRead數(shù)據(jù)讀事務(wù),從ZYNQ PL端的RAM空間讀取數(shù)據(jù);DSP完成數(shù)據(jù)寫、讀事務(wù)后,對讀寫數(shù)據(jù)進(jìn)行比對,以檢測SRIO傳輸是否有數(shù)據(jù)錯(cuò)誤。
1.1.3 例程使用
特別提示:例程使用,請參考下面章節(jié)順序執(zhí)行。確保ZYNQ PL程序要先運(yùn)行,然后才能運(yùn)行DSP程序。
1.1.3.1 加載運(yùn)行ZYNQ程序1.1.3.1.1 打開Vivado工程
雙擊桌面Vivado圖標(biāo),打開Vivado工具:
圖片2.png
點(diǎn)擊Open Project,打開工程(注意:確保例程路徑為非中文路徑):
圖片3.png
圖片4.png



Vivado工程打開后界面如下圖所示:
圖片5.png

1.1.3.1.2 下載ZYNQ PL程序
點(diǎn)擊Open Hardware Manager
圖片6.png

打開Hardware Manager的界面如下圖所示:
圖片7.png
此后,確保FPGA JTAG仿真器已連至接板卡和電腦,并且板卡處于上電狀態(tài)。
點(diǎn)擊Hardare Manager界面上的Open target,并在彈出的菜單中單擊Auto Connect
圖片8.png

仿真器連接成功后,在找到的xc7z035_1器件上右擊,并在彈出的菜單中點(diǎn)擊Program Device…:
圖片9.png

一般來說,Vivado下載工具會(huì)自動(dòng)找到本工程下的程序bit流下載文件和調(diào)試文件,如果沒有自動(dòng)找到,則需要用戶通過旁邊的瀏覽按鈕去自行選取。確保程序下載文件沒問題后,點(diǎn)擊Program下載程序:
圖片10.png
程序下載完成后,點(diǎn)擊界面上的>>”按鈕,可實(shí)時(shí)抓取查看ZYNQ PL端信號(hào)運(yùn)行波形:
圖片11.png
1.1.3.2 加載運(yùn)行DSP程序1.1.3.2.1 CCS導(dǎo)入例程
雙擊桌面CCS快捷圖標(biāo),打開CCS軟件:
圖片12.png
CCS設(shè)置工作空間時(shí),選擇默認(rèn)即可:
圖片13.png
通過菜單File->Import…導(dǎo)入CCS工程:
圖片14.png

導(dǎo)入項(xiàng)目選擇CCS Projects
圖片15.png

點(diǎn)擊Browse…,瀏覽找到例程所在位置(注意:確保例程路徑為非中文路徑),選中例程所在目錄,并點(diǎn)擊“確定”:
圖片16.png
CCS軟件將識(shí)別到的例程顯示在Discovered projects一欄,最后點(diǎn)擊Finish
圖片17.png

例程導(dǎo)入后界面如下圖所示:
圖片18.png
1.1.3.2.2 下載CCS程序1.1.3.2.2.1 目標(biāo)配置文件設(shè)置
特別提示:目標(biāo)配置文件設(shè)置這一步驟可以只進(jìn)行一次,后面例程可以反復(fù)使用,不用重復(fù)創(chuàng)建或設(shè)置。
在右邊的Target Configuration窗口,雙擊打開之前創(chuàng)建好的目標(biāo)配置文件,如下圖的XDS200-C6657.ccxml
圖片19.png
如果還沒有目標(biāo)配置文件,則在Target Configuration窗口的空白處或User Defined文件夾處右擊,并在彈出的菜單中點(diǎn)擊“New Target Configuration”新建目標(biāo)配置文件:
圖片20.png
在打開的目標(biāo)配置文件中,需要配置仿真器類型、器件型號(hào),我們實(shí)驗(yàn)用的仿真器為XQ-XDS200U,選中仿真器類型XDS2xx USB Debug Probe即可,器件型號(hào)勾選上TMS320C6657,如下圖所示,然后點(diǎn)擊高級(jí)設(shè)置項(xiàng)Target Configuration,準(zhǔn)備Gel文件設(shè)置:
圖片21.png
在高級(jí)項(xiàng)設(shè)置窗口中,點(diǎn)擊C66xx_0核心,然后在右側(cè)的初始化腳本欄中,點(diǎn)擊Browse,找到我們提供的Gel文件,即XinesC6657.gel。設(shè)置完Gel文件后,點(diǎn)擊Save
圖片22.png
1.1.3.2.2.2 啟動(dòng)目標(biāo)配置文件
在已經(jīng)創(chuàng)建并設(shè)置好的目標(biāo)配置文件處右擊,并在彈出的菜單中點(diǎn)擊Launch Selected Configuration,打開調(diào)試窗口:
圖片23.png
1.1.3.2.2.3 仿真器連接目標(biāo)器件
調(diào)試窗口打開后,右鍵單擊C66xx_0核心0,并在彈出的菜單中點(diǎn)擊Connect Target
圖片24.png
1.1.3.2.2.4 加載DSP程序
點(diǎn)擊Load圖標(biāo),加載DSP程序:
圖片25.png
點(diǎn)擊BrowseBrowse project,找到DSP程序的可執(zhí)行文件(以.out為后綴),然后點(diǎn)擊OK,如下圖所示:
圖片26.png
1.1.3.2.2.5 DSP程序運(yùn)行
點(diǎn)擊Resume運(yùn)行圖標(biāo),運(yùn)行DSP程序,如下圖所示:
圖片27.png
1.1.3.3 運(yùn)行結(jié)果說明1.1.3.3.1 DSP程序運(yùn)行結(jié)果
CCS軟件的Console控制臺(tái)窗口打印SRIO調(diào)試信息。
DSP通過SRIO接口先發(fā)起NWrite寫事務(wù),數(shù)據(jù)長度為2048字節(jié);接著DSP發(fā)起NRead事務(wù),數(shù)據(jù)長度為2048字節(jié),然后比對讀寫事務(wù)對應(yīng)的數(shù)據(jù)。
如果SRIO傳輸異常,存在數(shù)據(jù)錯(cuò)誤,則程序里面錯(cuò)誤計(jì)數(shù)器累加,并輸出打印當(dāng)前錯(cuò)誤個(gè)數(shù)。每當(dāng)完成100NWriteNRead SRIO讀寫事務(wù),則輸出打印一次DSP <-> FPGA 204800 bytes OK!”字樣,如下圖所示:
圖片29.png
1.1.3.3.2 ZYNQ PL程序運(yùn)行結(jié)果
ZYNQ PL端提供的ILA調(diào)試窗口,可以實(shí)時(shí)抓取采集SRIO本地總線信號(hào)時(shí)序波形。SRIO本地總線信號(hào)說明如下(詳細(xì)定義請參考數(shù)據(jù)手冊Xilinx文檔pg007_srio_gen2.pdf):
SRIO本地發(fā)送總線信號(hào)
iotx_tvalid
[size=10.5000pt]發(fā)送數(shù)據(jù)有效標(biāo)志位
iotx_tready
[size=10.5000pt]發(fā)送準(zhǔn)備好標(biāo)志位
iotx_tlast
[size=10.5000pt]最后一個(gè)發(fā)送數(shù)據(jù)標(biāo)志位
iotx_tdata
[size=10.5000pt]發(fā)送數(shù)據(jù)
iotx_tkeep
[size=10.5000pt]發(fā)送數(shù)據(jù)字節(jié)控制位
iotx_tuser
[size=10.5000pt]發(fā)送控制數(shù)據(jù),主要內(nèi)容是源I[size=10.5000pt]D[size=10.5000pt]和目的I[size=10.5000pt]D
SRIO本地接收總線信號(hào)
iorx_tvalid        
[size=10.5000pt]接收數(shù)據(jù)有效標(biāo)志位
iorx_tready
[size=10.5000pt]接收準(zhǔn)備好標(biāo)志位
iorx_tlast
[size=10.5000pt]最后一個(gè)接收數(shù)據(jù)標(biāo)志位
iorx_tdata
[size=10.5000pt]接收數(shù)據(jù)
iorx_tkeep
[size=10.5000pt]接收數(shù)據(jù)字節(jié)控制位
iorx_tuser
[size=10.5000pt]接收控制數(shù)據(jù),主要內(nèi)容是源I[size=10.5000pt]D[size=10.5000pt]和目的I[size=10.5000pt]D
狀態(tài)信號(hào)
port_initialized
SRIO端口初始化完成標(biāo)志位
1SRIO端口初始化完成;
0SRIO端口初始化未完成。
link_initialized
SRIO鏈路初始化完成標(biāo)志位
1SRIO鏈路初始化完成;
0SRIO鏈路初始化未完成。
mode_1x
SRIO運(yùn)行模式
1SRIO運(yùn)行在降速模式,即4個(gè)通道減速到1個(gè)通道運(yùn)行;
0SRIO運(yùn)行在全速模式,即4個(gè)通道全部運(yùn)行。

ZYNQ端SRIO接收抓取示例如下圖所示(對應(yīng)DSP端發(fā)起NWrite事務(wù)):
圖片30.png

ZYNQ SRIO發(fā)送抓取示例如下圖所示(對應(yīng)DSP端發(fā)起NRead事務(wù)):
圖片31.png
圖片32.png
1.1.3.4 退出實(shí)驗(yàn)
CCS軟件窗口上,點(diǎn)擊Terminate斷開DSP仿真器與板卡的連接:
圖片33.png
Vivado調(diào)試界面Hardware Manager窗口,右鍵單擊localhost(1),在彈出的菜單中點(diǎn)擊Close Server,斷開ZYNQ JTAG仿真器與板卡的連接:
圖片34.png

最后,關(guān)閉板卡電源,實(shí)驗(yàn)結(jié)束。


平臺(tái)說明
XQ6657Z35/45-EVM 高速數(shù)據(jù)處理評估板(XQTyer評估板)由廣州星嵌電子科技有限公司自主研發(fā),核心板包含一片TI DSP TMS320C6657和一片Xilinx ZYNQ-7000 SoC 處理器XC7Z035-2FFG676I。適用于無人機(jī)蜂群、軟件無線電系統(tǒng),基帶信號(hào)處理,無線仿真平臺(tái),高速圖像采集、處理等領(lǐng)域。

51hei圖片_20220815164844.png







ZYNQ與DSP之間SRIO通信.pdf

2.31 MB, 下載次數(shù): 3, 下載積分: 黑幣 -5

回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表