日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 工業(yè)控制 > 電路設(shè)計項目集錦
[導(dǎo)讀]本項目演示了如何在Vivado中創(chuàng)建一個簡單的PL設(shè)計來控制KR260載波板上的用戶定義LED (DS7和DS8)。該設(shè)計使用了一個通過AXI SmartConnect連接到Zynq UltraScale+處理系統(tǒng)(PS)的AXI GPIO IP核,實現(xiàn)了在APU上運行的Linux對led的軟件控制。

本項目演示了如何在Vivado中創(chuàng)建一個簡單的PL設(shè)計來控制KR260載波板上的用戶定義LED (DS7和DS8)。該設(shè)計使用了一個通過AXI SmartConnect連接到Zynq UltraScale+處理系統(tǒng)(PS)的AXI GPIO IP核,實現(xiàn)了在APU上運行的Linux對led的軟件控制。

這是針對Xilinx KR260的自定義Yocto Linux和網(wǎng)絡(luò)啟動的后續(xù)項目,該文章提供了具有PYNQ、XRT和網(wǎng)絡(luò)啟動功能的基礎(chǔ)Linux環(huán)境。

問題陳述

在KR260上開發(fā)FPGA應(yīng)用時,通常需要:

?創(chuàng)建與PS交互的定制PL設(shè)計

?快速原型和測試硬件設(shè)計,沒有冗長的編譯周期

?在與更復(fù)雜的應(yīng)用程序集成之前驗證硬件功能

?準備與RPU固件或自定義Linux驅(qū)動程序集成的硬件設(shè)計

傳統(tǒng)FPGA開發(fā)工作流程要求:

?編寫HDL代碼或使用IP積分器

?綜合和實現(xiàn)設(shè)計

?生成比特流

?閃爍SD卡或手動加載比特流

?編寫C/ c++應(yīng)用程序與硬件交互

這個項目通過以下方式簡化了這個工作流程:

?使用Vivado的IP Integrator進行視覺設(shè)計

?利用PYNQ進行基于python的硬件交互

?通過網(wǎng)絡(luò)引導(dǎo)和動態(tài)比特流加載實現(xiàn)快速迭代

系統(tǒng)架構(gòu)

硬件體系結(jié)構(gòu)

PL設(shè)計包括:

軟件架構(gòu)

設(shè)計組件

Zynq UltraScale+ PS: ARM Cortex-A53內(nèi)核的處理系統(tǒng)

?M_AXI_HPM0_LPD: PL訪問的低功率域主端口

?PL_CLK0: 100mhz時鐘輸出到PL

?PL_RESETN0:復(fù)位信號到PL

AXI SmartConnect:用于AXI總線路由的互連IP

?連接PS主站到PL從站

?處理協(xié)議轉(zhuǎn)換和地址映射

axis GPIO:通用I/O IP核

?2位輸出通道(GPIO[1:0])

?AXI4-Lite從接口

?基址:由Vivado分配(通常在LPD地址空間0x80000000-0x9FFFFFFF中)

Processor System Reset:復(fù)位控制器

?同步復(fù)位信號

?提供重置到PL邏輯

先決條件

以前的項目設(shè)置

本項目假設(shè)您已經(jīng)完成了Custom Yocto Linux & Network Boot項目,該項目提供:

?可網(wǎng)絡(luò)引導(dǎo)的Yocto Linux鏡像

?PYNQ 3.1.2 runtime

?XRT和ZOCL支持

?在端口9090上的Jupyter Notebook服務(wù)器

?掛載在/nfsroot的NFS根文件系統(tǒng)

循序漸進的指導(dǎo)

步驟1:創(chuàng)建Vivado項目

?啟動Vivado并選擇Create Project

?項目設(shè)置:項目名稱:gpio_led

?項目位置:選擇您的工作空間目錄項目類型:RTL項目(默認)

?添加源:單擊Next(我們將使用IP Integrator創(chuàng)建設(shè)計)

?添加約束:單擊Next(稍后我們將添加約束)

?默認部件:選擇“KR260”的“Boards”選項卡,選擇“KR260 Robotics Starter kit”,單擊“Next”,完成

步驟2:創(chuàng)建塊設(shè)計

?在流程導(dǎo)航器中,單擊創(chuàng)建塊設(shè)計名稱:gpio_led

?單擊OK

?添加Zynq UltraScale+ PS:單擊圖中的“+”按鈕搜索Zynq UltraScale+ ps雙擊添加“zynq_ultra_pse_0”

?配置PS:雙擊PS塊在PS配置窗口,導(dǎo)航到PS- pl配置→GeneralEnable M_AXI_HPM0_LPD(低功耗域主端口)單擊運行塊自動化這將啟用M_AXI_HPM0_LPD, PL_CLK0和pl_resetn0單擊確定

步驟3:添加AXI GPIO IP

?添加AXI GPIO:點擊+按鈕搜索AXI GPIO雙擊添加ax_gpio_0

?配置AXI GPIO:雙擊GPIO blockGPIO:Check All OutputsGPIO Width: 2單擊OK

?運行連接自動化:

?單擊“運行連接自動化”

?選擇全部自動化

?這將:連接PS M_AXI_HPM0_LPD到AXI smartconnect連接AXI SmartConnect到AXI GPIOConnect時鐘和復(fù)位信號

?單擊OK

步驟4:使GPIO外部

?創(chuàng)建外部端口:右鍵單擊ax_gpio_0 GPIO端口選擇Make ExternalRename the Port to led_output

?驗證設(shè)計:單擊驗證設(shè)計(F6)確保沒有錯誤或嚴重警告

?創(chuàng)建HDL包裝器:右鍵單擊源代碼中的gpio_led塊設(shè)計,選擇創(chuàng)建HDL包裝器,選擇讓Vivado管理包裝器并自動更新,單擊OK

步驟5:添加引腳約束

?創(chuàng)建約束文件:在“源”中,右鍵單擊“約束”→“約束”,選擇“添加源”→“添加或創(chuàng)建約束”,單擊“創(chuàng)建文件”,文件名:gpio_led.xdc

?單擊OK并完成

添加引腳約束:打開gpio_led。XDC并添加:

?保存約束文件

步驟6:綜合設(shè)計

?運行合成:在Flow Navigator中單擊Run Synthesis等待合成完成(5-10分鐘取決于PC)

?評審綜合結(jié)果:檢查是否有錯誤或嚴重警告,驗證資源利用是否合理

步驟7:執(zhí)行設(shè)計

?運行實現(xiàn):點擊運行實現(xiàn)等待實現(xiàn)完成(10-20分鐘,取決于PC)

?檢查實現(xiàn)結(jié)果:檢查定時關(guān)閉驗證無嚴重警告

步驟8:生成比特流

?生成比特流:單擊“生成比特流”,等待比特流生成(PC機不同,需要5-10分鐘)。

?校驗輸出文件:生成比特流后,校驗這些文件是否存在:gpio_led.runs/impl_1/gpio_led_wrapper.bit - bitstream filegpio_led.gen/sources_1/bd/gpio_led/ hw_handdoff /gpio_led. gen/hwh -硬件描述

步驟9:導(dǎo)出硬件

?導(dǎo)出硬件:在Flow Navigator中,進入File→Export→Export HardwareSelect Include bitstreamClick NextExport位置:Default(項目目錄)文件名:gpio_led.xsa

?單擊“完成”。xsa文件將在下一個項目中用于RPU與Vitis的集成。

步驟10:將文件復(fù)制到NFS共享

?定位生成文件:Bitstream: gpio_led_runs /impl_1/gpio_led_wrapper.bit

?硬件描述:gpio_led.gen/sources_1/bd/gpio_led/hw_handoff/gpio_led.hwh

?拷貝到NFS根目錄:在你的NFS服務(wù)器上(/nfsroot掛載的地方):

步驟11:創(chuàng)建PYNQ筆記本

?創(chuàng)建筆記本文件:創(chuàng)建led_blink_pynq?!?nfsroot/home/xilinx/Notebook/”目錄下的ipynb

?或者將其創(chuàng)建為Python腳本并進行轉(zhuǎn)換,或者使用Jupyter的web界面。

步驟12:在KR260上驗證

?運行Notebook:執(zhí)行第一個cell以重置pl_execute第二個cell以加載比特流并運行KR260板上的LED patternObserve LEDs DS7和DS8

預(yù)期的行為:

?預(yù)期行為:LED0 (DS8)和LED1 (DS7)將以行走模式閃爍:模式1:LED0 ON, LED1 OFF (0x1)模式2:LED0 OFF, LED1 ON (0x2)模式3:Both LEDs ON (0x3)模式4:LED0 OFF, LED1 ON (0x2)重復(fù)5次,循環(huán)之間暫停0.5s

了解守則

PYNQ疊加加載

PYNQ的Overlay類:

?將比特流加載到FPGA中

?解析。了解HWH文件的硬件結(jié)構(gòu)

?為每個IP核創(chuàng)建Python對象(例如,overlay.axi_gpio_0)

AXI GPIO訪問

?axi_gpio_0是來自于Vivado塊設(shè)計的實例名

?channel1是GPIO通道(channel1是第一個通道)

?GPIO對象提供read()和write()方法

LED控制

?pattern:要寫的值(0x0到0x3為2位)

?mask:表示要影響哪位的位掩碼(0x3 =兩個位)

設(shè)計注意事項

PS-PL接口選擇

?使用M_AXI_HPM0_LPD(低功率域)代替FPD(全功率域)

?原理:GPIO控制需要低帶寬,使LPD理想的功率效率

?LPD為GPIO操作提供了足夠的性能,同時功耗更低

?FPD端口更適合高帶寬應(yīng)用(視頻處理、DMA等)。

時鐘域

?PL時鐘:100 MHz(來自PS PL_CLK0)

?AXI總線時鐘:100mhz(與PL時鐘同步)

?GPIO更新速率:受Python循環(huán)速度限制(本例中為~ 4hz)

GPIO配置

?所有輸出:GPIO配置為僅輸出(無輸入能力)

?寬度:2位(匹配兩個led)

?I/O標準:LVCMOS18(兼容KR260 HP bank)

地址空間

?AXI GPIO基址:0x80000000 (LPD地址空間)

?地址范圍:64 KB(標準的AXI4-Lite slave)

?可以通過PYNQ從Linux用戶空間訪問

注:LPD (Low Power Domain)使用0x80000000地址范圍,適用于GPIO和其他低帶寬外設(shè)

下一個步驟

該項目為更高級的PL開發(fā)提供了基礎(chǔ):

?增加更多的GPIO:擴展到控制額外的led或讀開關(guān)

?自定義IP集成:在設(shè)計中添加自定義AXI IP內(nèi)核

?中斷支持:為事件驅(qū)動控制配置GPIO中斷

?RPU集成:將LED控制邏輯移動到RPU(見下一個項目)

?下一步:RPU與FreeRTOS集成

本系列的下一個項目將演示:

?使用賽靈思Vitis Unified IDE為RPU構(gòu)建FreeRTOS應(yīng)用程序

?使用XRT從APU加載PL位流

?使用remoteproc框架加載RPU固件

?通過libmetal和OpenAMP實現(xiàn)APU-RPU通信

?APU、RPU和PL之間的共享內(nèi)存

?實時LED控制從RPU,而APU處理高級任務(wù)

這將展示KR260的完整異構(gòu)計算能力,結(jié)合:

?APU:用于高級控制和網(wǎng)絡(luò)的Linux

?RPU:用于實時、確定性任務(wù)的FreeRTOS

?PL:定制硬件加速器和I/O

本文編譯自hackster.io

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀

March 4, 2026 ---- 根據(jù)TrendForce集邦咨詢最新調(diào)查,隨著生成式AI興起,數(shù)據(jù)中心對高速傳輸?shù)男枨蟪掷m(xù)提升,原先應(yīng)用在機柜內(nèi)(Intra-Rack)短距傳輸?shù)你~纜方案,將在傳輸密度與節(jié)能上面臨嚴...

關(guān)鍵字: 數(shù)據(jù)中心 生成式AI LED

奧地利Premst?tten /德國慕尼黑(2026年2月24日)——艾邁斯歐司朗(SIX: AMS)與深圳市美志光電技術(shù)有限公司(以下簡稱“美志光電”)就其在美國與德國市場未決的LED專利糾紛達成和解。

關(guān)鍵字: LED 發(fā)射器

Feb. 24, 2026 ---- 根據(jù)TrendForce集邦咨詢最新UV LED市場趨勢與產(chǎn)品分析,由于貴金屬、原物料與人工費用調(diào)漲,2026年第一季UV LED價格獲得支撐,客制化產(chǎn)品甚至有機會季增5%。在全球光...

關(guān)鍵字: LED 太陽光源模擬器

光耦合器對開關(guān)電源(SMPS)設(shè)計至關(guān)重要,它使得信號能夠安全、可靠地跨越電氣隔離邊界傳輸。而光耦合器的性能取決于適當?shù)钠眉霸诜答伩刂骗h(huán)路內(nèi)的正確集成;配置錯誤會導(dǎo)致不穩(wěn)定、瞬態(tài)響應(yīng)不佳和調(diào)節(jié)性能下降。本文分為兩部分,...

關(guān)鍵字: 光耦合器 開關(guān)電源 LED

隨著汽車向移動智能終端演進,車內(nèi)座艙體驗成為競爭焦點。動態(tài)流水氛圍燈作為提升科技感與個性化體驗的關(guān)鍵配置,正從中高端車型快速滲透至更廣泛的車型市場。在這一趨勢下,如何在強化視覺交互的同時控制成本,成為產(chǎn)業(yè)鏈共同面對的核心...

關(guān)鍵字: 動態(tài)氛圍燈 驅(qū)動芯片 LED

這個項目是為我物理計算課程中的數(shù)據(jù)可視化項目而設(shè)計的。其核心理念是通過 LED 燈帶來展示飛機在天空中的位置,每盞 LED 燈都代表著一個位置。這些燈光會隨著飛機的活動而移動并改變顏色。

關(guān)鍵字: LED REST API 樹莓派 繼電器

該項目展示了在基于 FreeRTOS 的系統(tǒng)(運行于 Arduino Uno 上)中實現(xiàn)安全的數(shù)據(jù)共享訪問的實現(xiàn)方式。

關(guān)鍵字: LED ADC 數(shù)據(jù) Arduino

Bourns? 1202-P 系列硬接線式 Type 1 浪涌保護器 (SPD) 專為滿足日益擴增之交流電力基礎(chǔ)設(shè)施應(yīng)用所需的嚴格防護要求而設(shè)計

關(guān)鍵字: 浪涌保護器 LED 斷路器

Dec. 31, 2025 ---- TCL CSOT(TCL華星)近日成功競得兆元光電80%股權(quán)和相關(guān)債權(quán),TrendForce集邦咨詢表示,此次收購標志著TCL CSOT正式進入LED芯片領(lǐng)域,完成從上游芯片到下游M...

關(guān)鍵字: LED 面板 供應(yīng)鏈

中國 上海,2025年12月24日——照明與傳感創(chuàng)新的全球領(lǐng)導(dǎo)者艾邁斯歐司朗(SIX:AMS)今日宣布,推出一款專為LCoS與DMD投影系統(tǒng)優(yōu)化的超緊湊RGGB(紅、綠、綠、藍) LED解決方案——VEGALED?,適用...

關(guān)鍵字: LED 智能眼鏡 機器視覺
關(guān)閉