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