ZYNQ與DSP之間通信例程
1.1 ZYN與DSP之間SRIO通信
1.1.1 例程位置ZYNQ例程保存在資料盤中的Demo\ZYNQ\PL\srio_gen2_0_ex文件夾下。 DSP例程保存在資料盤中的Demo\DSP\XQ_SRIO_x4LANE_5Gbps文件夾下。 1.1.2 功能簡介實現(xiàn)DSP與ZYNQ之間SRIO接口傳輸功能。 DSP與ZYNQ之間SRIO通道寬度為4,每個SRIO通道速率5Gbps。DSP SRIO參考時鐘頻率為250MHz,ZYNQ SRIO參考時鐘頻率為125MHz。 DSP與ZYNQ之間SRIO接口相關信號連接示意圖如下圖所示:
圖片1.png (120.44 KB, 下載次數(shù): 32)
下載附件
2023-2-4 19:10 上傳
DSP作為Initiator發(fā)起NWrite數(shù)據(jù)寫事務,將數(shù)據(jù)寫入ZYNQ PL端的RAM空間(最大2KB);接著,DSP發(fā)起NRead數(shù)據(jù)讀事務,從ZYNQ PL端的RAM空間讀取數(shù)據(jù);DSP完成數(shù)據(jù)寫、讀事務后,對讀寫數(shù)據(jù)進行比對,以檢測SRIO傳輸是否有數(shù)據(jù)錯誤。 1.1.3 例程使用特別提示:例程使用,請參考下面章節(jié)順序執(zhí)行。確保ZYNQ PL程序要先運行,然后才能運行DSP程序。 1.1.3.1 加載運行ZYNQ程序1.1.3.1.1 打開Vivado工程雙擊桌面Vivado圖標,打開Vivado工具:
圖片2.png (9.12 KB, 下載次數(shù): 28)
下載附件
2023-2-4 19:11 上傳
點擊Open Project,打開工程(注意:確保例程路徑為非中文路徑):
圖片3.png (16.87 KB, 下載次數(shù): 31)
下載附件
2023-2-4 19:12 上傳
圖片4.png (54.24 KB, 下載次數(shù): 27)
下載附件
2023-2-4 19:12 上傳
Vivado工程打開后界面如下圖所示:
圖片5.png (115.17 KB, 下載次數(shù): 22)
下載附件
2023-2-4 19:12 上傳
1.1.3.1.2 下載ZYNQ PL程序點擊Open Hardware Manager:
圖片6.png (115.67 KB, 下載次數(shù): 33)
下載附件
2023-2-4 19:12 上傳
打開Hardware Manager的界面如下圖所示:
圖片7.png (33.51 KB, 下載次數(shù): 32)
下載附件
2023-2-4 19:13 上傳
此后,確保FPGA JTAG仿真器已連至接板卡和電腦,并且板卡處于上電狀態(tài)。 點擊Hardare Manager界面上的Open target,并在彈出的菜單中單擊Auto Connect:
圖片8.png (14.02 KB, 下載次數(shù): 25)
下載附件
2023-2-4 19:13 上傳
仿真器連接成功后,在找到的xc7z035_1器件上右擊,并在彈出的菜單中點擊Program Device…:
圖片9.png (37.31 KB, 下載次數(shù): 26)
下載附件
2023-2-4 19:13 上傳
一般來說,Vivado下載工具會自動找到本工程下的程序bit流下載文件和調(diào)試文件,如果沒有自動找到,則需要用戶通過旁邊的瀏覽按鈕去自行選取。確保程序下載文件沒問題后,點擊Program下載程序:
圖片10.png (21.58 KB, 下載次數(shù): 25)
下載附件
2023-2-4 19:13 上傳
程序下載完成后,點擊界面上的“>>”按鈕,可實時抓取查看ZYNQ PL端信號運行波形:
圖片11.png (64.15 KB, 下載次數(shù): 28)
下載附件
2023-2-4 19:14 上傳
1.1.3.2 加載運行DSP程序1.1.3.2.1 CCS導入例程雙擊桌面CCS快捷圖標,打開CCS軟件:
圖片12.png (12.2 KB, 下載次數(shù): 30)
下載附件
2023-2-4 19:14 上傳
CCS設置工作空間時,選擇默認即可:
圖片13.png (26.6 KB, 下載次數(shù): 27)
下載附件
2023-2-4 19:14 上傳
通過菜單File->Import…導入CCS工程:
圖片14.png (32.58 KB, 下載次數(shù): 34)
下載附件
2023-2-4 19:14 上傳
導入項目選擇CCS Projects:
圖片15.png (38.18 KB, 下載次數(shù): 32)
下載附件
2023-2-4 19:15 上傳
點擊Browse…,瀏覽找到例程所在位置(注意:確保例程路徑為非中文路徑),選中例程所在目錄,并點擊“確定”:
圖片16.png (54.35 KB, 下載次數(shù): 27)
下載附件
2023-2-4 19:15 上傳
CCS軟件將識別到的例程顯示在Discovered projects一欄,最后點擊Finish:
圖片17.png (46.07 KB, 下載次數(shù): 25)
下載附件
2023-2-4 19:15 上傳
例程導入后界面如下圖所示:
圖片18.png (11.75 KB, 下載次數(shù): 32)
下載附件
2023-2-4 19:15 上傳
1.1.3.2.2 下載CCS程序1.1.3.2.2.1 目標配置文件設置特別提示:目標配置文件設置這一步驟可以只進行一次,后面例程可以反復使用,不用重復創(chuàng)建或設置。 在右邊的Target Configuration窗口,雙擊打開之前創(chuàng)建好的目標配置文件,如下圖的XDS200-C6657.ccxml:
圖片19.png (8.79 KB, 下載次數(shù): 30)
下載附件
2023-2-4 19:15 上傳
如果還沒有目標配置文件,則在Target Configuration窗口的空白處或User Defined文件夾處右擊,并在彈出的菜單中點擊“New Target Configuration”新建目標配置文件:
圖片20.png (18.92 KB, 下載次數(shù): 28)
下載附件
2023-2-4 19:16 上傳
在打開的目標配置文件中,需要配置仿真器類型、器件型號,我們實驗用的仿真器為XQ-XDS200U,選中仿真器類型XDS2xx USB Debug Probe即可,器件型號勾選上TMS320C6657,如下圖所示,然后點擊高級設置項Target Configuration,準備Gel文件設置:
圖片21.png (50.24 KB, 下載次數(shù): 30)
下載附件
2023-2-4 19:16 上傳
在高級項設置窗口中,點擊C66xx_0核心,然后在右側(cè)的初始化腳本欄中,點擊Browse,找到我們提供的Gel文件,即XinesC6657.gel。設置完Gel文件后,點擊Save:
圖片22.png (33.57 KB, 下載次數(shù): 34)
下載附件
2023-2-4 19:16 上傳
1.1.3.2.2.2 啟動目標配置文件在已經(jīng)創(chuàng)建并設置好的目標配置文件處右擊,并在彈出的菜單中點擊Launch Selected Configuration,打開調(diào)試窗口:
圖片23.png (25.08 KB, 下載次數(shù): 30)
下載附件
2023-2-4 19:16 上傳
1.1.3.2.2.3 仿真器連接目標器件調(diào)試窗口打開后,右鍵單擊C66xx_0核心0,并在彈出的菜單中點擊Connect Target:
圖片24.png (13.12 KB, 下載次數(shù): 28)
下載附件
2023-2-4 19:16 上傳
1.1.3.2.2.4 加載DSP程序點擊Load圖標,加載DSP程序:
圖片25.png (25.02 KB, 下載次數(shù): 28)
下載附件
2023-2-4 19:17 上傳
點擊Browse…或Browse project…,找到DSP程序的可執(zhí)行文件(以.out為后綴),然后點擊OK,如下圖所示:
圖片26.png (9.56 KB, 下載次數(shù): 25)
下載附件
2023-2-4 19:17 上傳
1.1.3.2.2.5 DSP程序運行點擊Resume運行圖標,運行DSP程序,如下圖所示:
圖片27.png (28.24 KB, 下載次數(shù): 31)
下載附件
2023-2-4 19:17 上傳
1.1.3.3 運行結(jié)果說明1.1.3.3.1 DSP程序運行結(jié)果CCS軟件的Console控制臺窗口打印SRIO調(diào)試信息。 DSP通過SRIO接口先發(fā)起NWrite寫事務,數(shù)據(jù)長度為2048字節(jié);接著DSP發(fā)起NRead事務,數(shù)據(jù)長度為2048字節(jié),然后比對讀寫事務對應的數(shù)據(jù)。 如果SRIO傳輸異常,存在數(shù)據(jù)錯誤,則程序里面錯誤計數(shù)器累加,并輸出打印當前錯誤個數(shù)。每當完成100次NWrite和NRead SRIO讀寫事務,則輸出打印一次“DSP <-> FPGA 204800 bytes OK!”字樣,如下圖所示:
圖片29.png (8.58 KB, 下載次數(shù): 31)
下載附件
2023-2-4 19:17 上傳
1.1.3.3.2 ZYNQ PL程序運行結(jié)果ZYNQ PL端提供的ILA調(diào)試窗口,可以實時抓取采集SRIO本地總線信號時序波形。SRIO本地總線信號說明如下(詳細定義請參考數(shù)據(jù)手冊Xilinx文檔pg007_srio_gen2.pdf): SRIO本地發(fā)送總線信號 | | [size=10.5000pt]發(fā)送數(shù)據(jù)有效標志位 | | [size=10.5000pt]發(fā)送準備好標志位 | | [size=10.5000pt]最后一個發(fā)送數(shù)據(jù)標志位 | | [size=10.5000pt]發(fā)送數(shù)據(jù) | | [size=10.5000pt]發(fā)送數(shù)據(jù)字節(jié)控制位 | | [size=10.5000pt]發(fā)送控制數(shù)據(jù),主要內(nèi)容是源I[size=10.5000pt]D[size=10.5000pt]和目的I[size=10.5000pt]D | | | [size=10.5000pt]接收數(shù)據(jù)有效標志位 | | | | [size=10.5000pt]最后一個接收數(shù)據(jù)標志位 | | [size=10.5000pt]接收數(shù)據(jù) | | [size=10.5000pt]接收數(shù)據(jù)字節(jié)控制位 | | [size=10.5000pt]接收控制數(shù)據(jù),主要內(nèi)容是源I[size=10.5000pt]D[size=10.5000pt]和目的I[size=10.5000pt]D | | | SRIO端口初始化完成標志位 1:SRIO端口初始化完成; 0:SRIO端口初始化未完成。 | | SRIO鏈路初始化完成標志位 1:SRIO鏈路初始化完成; 0:SRIO鏈路初始化未完成。 | | SRIO運行模式 1:SRIO運行在降速模式,即4個通道減速到1個通道運行; 0:SRIO運行在全速模式,即4個通道全部運行。 |
ZYNQ端SRIO接收抓取示例如下圖所示(對應DSP端發(fā)起NWrite事務):
圖片30.png (39.79 KB, 下載次數(shù): 34)
下載附件
2023-2-4 19:18 上傳
ZYNQ SRIO發(fā)送抓取示例如下圖所示(對應DSP端發(fā)起NRead事務):
圖片31.png (45.97 KB, 下載次數(shù): 28)
下載附件
2023-2-4 19:18 上傳
圖片32.png (46.21 KB, 下載次數(shù): 28)
下載附件
2023-2-4 19:18 上傳
1.1.3.4 退出實驗CCS軟件窗口上,點擊Terminate斷開DSP仿真器與板卡的連接:
圖片33.png (23.34 KB, 下載次數(shù): 27)
下載附件
2023-2-4 19:18 上傳
Vivado調(diào)試界面Hardware Manager窗口,右鍵單擊localhost(1),在彈出的菜單中點擊Close Server,斷開ZYNQ JTAG仿真器與板卡的連接:
圖片34.png (30.73 KB, 下載次數(shù): 29)
下載附件
2023-2-4 19:19 上傳
最后,關閉板卡電源,實驗結(jié)束。
平臺說明: XQ6657Z35/45-EVM 高速數(shù)據(jù)處理評估板(XQTyer評估板)由廣州星嵌電子科技有限公司自主研發(fā),核心板包含一片TI DSP TMS320C6657和一片Xilinx ZYNQ-7000 SoC 處理器XC7Z035-2FFG676I。適用于無人機蜂群、軟件無線電系統(tǒng),基帶信號處理,無線仿真平臺,高速圖像采集、處理等領域。
51hei圖片_20220815164844.png (4.15 MB, 下載次數(shù): 28)
下載附件
2023-2-4 19:19 上傳
|