999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ZYNQ 的通用算法半實(shí)物驗(yàn)證平臺(tái)*

2022-10-20 01:09:14張智維陳鑫陳凱張穎劉濤王雷
電子器件 2022年3期

張智維,陳鑫,陳凱,張穎,劉濤,王雷

(南京航空航天大學(xué)電子信息工程學(xué)院,江蘇 南京 211106)

傳統(tǒng)的算法驗(yàn)證平臺(tái)主要是基于中央處理器(Central Processing Unit,CPU)、圖形處理器(Graphics Processing Unit,GPU)、專用集成電路(Application Specific Integrated Circuit,ASIC)和現(xiàn)場(chǎng)可編程邏輯門(mén)陣列(Field Programmable Gate Array,FPGA)等實(shí)現(xiàn)。CPU 通用性強(qiáng),但串行運(yùn)算的特點(diǎn)使其在數(shù)字信號(hào)處理領(lǐng)域受限[1]。GPU 在一定程度上彌補(bǔ)了CPU 的缺點(diǎn),但其本質(zhì)上仍然是指令流驅(qū)動(dòng)的處理器,特別是成本和功耗居高不下[2],對(duì)開(kāi)發(fā)者并不友好。ASIC性能優(yōu)越、保密性強(qiáng),被廣泛應(yīng)用于數(shù)字信號(hào)處理領(lǐng)域,但其靈活性低[3],算法任何細(xì)微的變動(dòng)都有可能導(dǎo)致開(kāi)發(fā)者需要重新設(shè)計(jì)芯片電路。FPGA 可編程和全并行運(yùn)算的特點(diǎn)使得其在數(shù)字信號(hào)處理領(lǐng)域受到青睞[4],但其也存在開(kāi)發(fā)周期過(guò)長(zhǎng)的缺點(diǎn)。

文獻(xiàn)[5]基于FPGA 搭建了一個(gè)通用的畫(huà)質(zhì)處理算法平臺(tái),該平臺(tái)利用FPGA 資源運(yùn)行算法并通過(guò)串口和上位機(jī)進(jìn)行數(shù)據(jù)交換,其純FPGA 的硬件架構(gòu)導(dǎo)致其算法平臺(tái)控制能力弱且串口通信方式較慢。文獻(xiàn)[6]基于FPGA 和MicroBlaze 軟核搭建了一個(gè)圖像處理平臺(tái),其中MicroBlaze 是在FPGA 內(nèi)部實(shí)現(xiàn)的具備CPU 功能的軟核,其性能弱于硬核CPU 且該平臺(tái)串口的通信方式較慢。文獻(xiàn)[7]利用FPGA 和CPU 硬核搭建了一個(gè)實(shí)時(shí)視頻圖像處理平臺(tái),該平臺(tái)在FPGA 端完成圖像處理算法,并通過(guò)片內(nèi)總線完成FPGA 和CPU 的數(shù)據(jù)交換。但其片內(nèi)通信中沒(méi)有額外的控制通道,使得其通信穩(wěn)定性受到考驗(yàn),且其尚未實(shí)現(xiàn)平臺(tái)和上位機(jī)的通信接口。

ZYNQ 芯片內(nèi)部包含ARM 處理系統(tǒng)(Processing System,PS) 和可編程邏輯(Programmable Logic,PL)[8-9],并且片內(nèi)的AXI 通信總線可用于PL 和PS之間高速雙向傳輸數(shù)據(jù)[10-13]。基于上述優(yōu)點(diǎn),ZYNQ 被研究人員廣泛應(yīng)用在各種電子系統(tǒng)設(shè)計(jì)中。文獻(xiàn)[14]中的接收機(jī)平臺(tái)利用PL 端的硬件邏輯資源處理射頻前端信號(hào)以及利用PS 端完成數(shù)據(jù)分析,文獻(xiàn)[15]中的高速數(shù)據(jù)采集系統(tǒng)利用掛載在PL 端的傳感器完成數(shù)據(jù)采集以及PS 端完成數(shù)據(jù)存儲(chǔ)和顯示,文獻(xiàn)[16]中的千兆以太網(wǎng)數(shù)據(jù)包處理架構(gòu)在PL 端搭建硬件邏輯以及利用PS 端完成軟件處理工作,文獻(xiàn)[17]中的視頻處理系統(tǒng)利用PL 端完成圖像預(yù)處理以及PS 端完成圖像識(shí)別算法,文獻(xiàn)[18]基于Linux 操作系統(tǒng)在ZYNQ 中實(shí)現(xiàn)了一個(gè)FC 交換機(jī)平臺(tái)。上述設(shè)計(jì)都是針對(duì)特定場(chǎng)景的專用系統(tǒng),可移植性差,無(wú)法被用于不同的應(yīng)用場(chǎng)景。

由于ZYNQ 的硬件結(jié)構(gòu)同時(shí)包含PS 和PL 模塊,特別適合進(jìn)行包含軟件和硬件開(kāi)發(fā)的系統(tǒng)設(shè)計(jì),因此,本文圍繞ZYNQ 芯片建立了一個(gè)通用算法半實(shí)物驗(yàn)證平臺(tái)。該平臺(tái)主要包含可編程邏輯(PL),ARM 處理系統(tǒng)(PS)、上位機(jī),以及對(duì)應(yīng)的接口模塊,所有功能均采用模塊化的設(shè)計(jì)思想,只需對(duì)其做很小的改動(dòng)就可以移植到不同的算法應(yīng)用場(chǎng)景中,能夠滿足絕大部分算法驗(yàn)證的需求。與此同時(shí),本文作者在研究過(guò)程中發(fā)現(xiàn),PL 和PS 之間雖然可以依靠直接存儲(chǔ)器訪問(wèn)(Direct Memory Access,DMA)進(jìn)行高速通信,但其可靠性較差。為此,本平臺(tái)基于AXI-Lite 總線通信接口,在PL 和PS 之間設(shè)計(jì)雙向握手協(xié)議。此外,當(dāng)PS 運(yùn)行在裸機(jī)模式時(shí),PS 和上位機(jī)之間的TCP/IP 通信模塊必須獨(dú)占CPU 運(yùn)行時(shí)間,否則會(huì)丟失通信鏈路。為保證PS 和上位機(jī)之間可以長(zhǎng)時(shí)間穩(wěn)定交換數(shù)據(jù),本平臺(tái)設(shè)計(jì)了由串口控制的TCP/IP 通信模塊。實(shí)驗(yàn)結(jié)果表明,該驗(yàn)證平臺(tái)工作穩(wěn)定可靠,該平臺(tái)的上行和下行數(shù)據(jù)傳輸速率分別達(dá)到144 Mbit/s和133 Mbit/s,上述特點(diǎn)使得該平臺(tái)可適用于圖像處理等運(yùn)算復(fù)雜的應(yīng)用領(lǐng)域。

1 平臺(tái)整體架構(gòu)

平臺(tái)架構(gòu)如圖1 所示,PL、PS 和上位機(jī)三部分構(gòu)成。PL 提供FPGA 資源,可以實(shí)現(xiàn)復(fù)雜運(yùn)算的高速執(zhí)行和接口擴(kuò)展。PS 是一個(gè)包含ARM CPU 的SOC 系統(tǒng),具有豐富的外部接口,并且是基于C 語(yǔ)言編程,可以作為系統(tǒng)的控制模塊,以及快速算法實(shí)現(xiàn)。上位機(jī)的功能則是激勵(lì)數(shù)據(jù)的下放,以及對(duì)上行數(shù)據(jù)進(jìn)行分析處理和存儲(chǔ)。

圖1 平臺(tái)架構(gòu)圖

如圖1 所示,為保證數(shù)據(jù)傳輸可靠穩(wěn)定,本平臺(tái)以AXI-Lite 和串口作為控制通道。AXI-Lite 是ZYNQ 片內(nèi)32 位輕量級(jí)數(shù)據(jù)總線,PL 和PS 通過(guò)該總線讀寫(xiě)特定地址的寄存器便可控制數(shù)據(jù)的傳輸。串口是PS 和上位機(jī)之間的控制通道,PS 可通過(guò)串口向上位機(jī)輸出控制信息以及上位機(jī)可通過(guò)串口輸入控制指令。

數(shù)據(jù)上行時(shí),PL 端運(yùn)算模塊輸出的原始數(shù)據(jù)經(jīng)過(guò)轉(zhuǎn)換模塊轉(zhuǎn)換后被送入發(fā)送FIFO 中。隨后AXIDMA 通道直接把數(shù)據(jù)從發(fā)送FIFO 取出送入PS 端的DDR3 中存儲(chǔ)。PS 再把數(shù)據(jù)從DDR3 中取出通過(guò)TCP/IP 模塊把數(shù)據(jù)發(fā)送給上位機(jī)。

數(shù)據(jù)下行時(shí),上位機(jī)通過(guò)TCP/IP 模塊把數(shù)據(jù)發(fā)送給PS 端的DDR3 中存儲(chǔ),隨后數(shù)據(jù)通過(guò)AXIDMA 通道直接被送到PL 端的接收FIFO 中。接收FIFO 把數(shù)據(jù)送入轉(zhuǎn)換模塊,轉(zhuǎn)換后數(shù)據(jù)被發(fā)送給運(yùn)算模塊。

2 PL 和PS 的高速可靠通信

為保證PL 和PS 之間的DMA 傳輸通道穩(wěn)定可靠,本平臺(tái)基于AXI-Lite 設(shè)置雙向握手協(xié)議。數(shù)據(jù)上行架構(gòu)如圖2(a)所示,數(shù)據(jù)從PL 端的發(fā)送FIFO通過(guò)DMA 通道直接送到PS 端的DDR3 中。數(shù)據(jù)上行時(shí)的握手協(xié)議靠PS 控制ACK 變量、寄存器2 和寄存器1 以及PL 控制寄存器1 和寄存器2。數(shù)據(jù)下行架構(gòu)如圖2(b)所示,數(shù)據(jù)從PS 端的DDR3 通過(guò)DMA 通道直接送到PL 端的接收FIFO 中。數(shù)據(jù)下行時(shí)的握手協(xié)議靠PS 控制SEND 變量、寄存器2以及PL 控制寄存器2。

圖2 PL 和PS 數(shù)據(jù)交換架構(gòu)圖

數(shù)據(jù)從PL 到PS 的操作流程如圖3 所示。PS通過(guò)AXI-Lite 總線拉高寄存器2 的請(qǐng)求信號(hào)并將ACK 變量置0。PL 監(jiān)測(cè)到請(qǐng)求信號(hào)的上升沿后把寄存器1 的值置0,并啟動(dòng)一次DMA 發(fā)送。DMA 每發(fā)送完一次,PL 都通過(guò)AXI-Lite 總線把寄存器1 的值累加1 并和預(yù)設(shè)值比較。如果寄存器1 的值小于預(yù)設(shè)值,則PL 需要繼續(xù)啟動(dòng)一次DMA 發(fā)送;如果寄存器1 的值大于預(yù)設(shè)值則表明PL 發(fā)送數(shù)據(jù)完畢。在PL 發(fā)送數(shù)據(jù)期間,PS 會(huì)通過(guò)AXI-Lite 總線不斷讀寄存器1 的值并和ACK 變量比較。如果ACK 值小于寄存器1 的值則證明PL 發(fā)送了新的尚未被PS 接收的數(shù)據(jù),即PS 需要啟動(dòng)一次DMA 接收。因?yàn)镻L 端運(yùn)行頻率是100 MHz,PS 端運(yùn)行頻率是666 MHz 且PL 和PS 是相互獨(dú)立運(yùn)行,這就意味著PL 寫(xiě)數(shù)據(jù)比PS 讀數(shù)據(jù)慢。因此,當(dāng)ACK 值不小于寄存器1 的值但不大于預(yù)設(shè)值時(shí)則證明PL正在發(fā)新的數(shù)據(jù),此時(shí)PS 需要循環(huán)等待且需要一直監(jiān)測(cè)判斷。當(dāng)ACK 值不小于預(yù)設(shè)值時(shí)則證明所有數(shù)據(jù)都被PS 接收完畢,PS 立即拉低請(qǐng)求信號(hào)。

圖3 數(shù)據(jù)從PL 到PS 的操作流程

數(shù)據(jù)從PS 到PL 的流程如圖4 所示。PS 拉高發(fā)送信號(hào)并將SEND 變量置0,隨后延時(shí)啟動(dòng)一次DMA 發(fā)送并將SEND 變量加1。如果SEND 變量小于預(yù)設(shè)值則PS 繼續(xù)發(fā)送數(shù)據(jù);如果SEND 變量不小于預(yù)設(shè)值則證明發(fā)送數(shù)據(jù)完成,PS 延時(shí)拉低發(fā)送信號(hào)。當(dāng)PL 監(jiān)測(cè)到PS 拉高發(fā)送信號(hào)后,就保持接收FIFO 的讀信號(hào)一直有效且不斷把接收FIFO 中的數(shù)據(jù)存儲(chǔ)。當(dāng)PL 檢測(cè)到發(fā)送信號(hào)下降沿后,則證明數(shù)據(jù)全部接收完畢。由于PS 運(yùn)行頻率更高,所以PS 寫(xiě)數(shù)據(jù)比PL 讀數(shù)據(jù)更快。為防止PL 來(lái)不及讀PS 發(fā)送的數(shù)據(jù)則PS 在每啟動(dòng)一次DMA 發(fā)送之前都需要做延時(shí)處理以確保數(shù)據(jù)能被PL 讀。同時(shí),PL 需要保證讀信號(hào)一直有效。當(dāng)PS 發(fā)送完所有數(shù)據(jù)后,不能立即拉低發(fā)送信號(hào),需要延時(shí)以確保PL讀完所有數(shù)據(jù)。通過(guò)延時(shí)策略,PS 發(fā)送數(shù)據(jù)時(shí)的握手協(xié)議被簡(jiǎn)化。

圖4 數(shù)據(jù)從PS 到PL 的操作流程

3 PS 和上位機(jī)交換數(shù)據(jù)

本平臺(tái)利用TCP/IP 模塊實(shí)現(xiàn)和上位機(jī)穩(wěn)定交換數(shù)據(jù),考慮到應(yīng)將ZYNQ 作為通信的主動(dòng)方,所以把ZYNQ 作為服務(wù)器使用。當(dāng)上位機(jī)需要通信時(shí)便通過(guò)串口通知ZYNQ 啟動(dòng)TCP 服務(wù)器。因?yàn)槁銠C(jī)服務(wù)器在啟動(dòng)后就需要進(jìn)入無(wú)限循環(huán),但由于本平臺(tái)有其他功能模塊,所以不能使服務(wù)器模塊一直處于運(yùn)行狀態(tài),所以只有當(dāng)外部設(shè)備需要服務(wù)器時(shí)才會(huì)重新配置并開(kāi)啟。由TCP/IP 協(xié)議可知,在同一平臺(tái)中多次配置服務(wù)器則必須保證服務(wù)器的IP 地址和端口不能完全相同,所以本平臺(tái)固定IP 地址,每一次配置服務(wù)器時(shí)將端口號(hào)逐步遞增,端口信息會(huì)在服務(wù)器準(zhǔn)備就緒后通過(guò)串口輸出。

PS 和上位機(jī)交換數(shù)據(jù)的流程如圖5 所示。上位機(jī)通過(guò)串口向PS 輸入控制指令,PS 啟動(dòng)TCP 服務(wù)器并通過(guò)串口輸出TCP 服務(wù)器的端口號(hào)和IP 地址,然后等待上位機(jī)連接。完成數(shù)據(jù)交換后便關(guān)閉TCP 服務(wù)器。

圖5 PS 和上位機(jī)數(shù)據(jù)交換流程

4 圖像實(shí)時(shí)傳輸顯示平臺(tái)

基于上述算法平臺(tái),設(shè)計(jì)了一個(gè)攝像頭圖像實(shí)時(shí)傳輸顯示平臺(tái)。綜合PL 端的邏輯資源和運(yùn)行頻率,本顯示平臺(tái)將發(fā)送FIFO 的寬度設(shè)置為16位、深度為16K,接收FIFO 的寬度設(shè)置為16 位、深度為8K。PL 端被替換成如圖6 所示,攝像頭和顯示器分別作為采集終端和顯示終端。攝像頭將實(shí)時(shí)采集到圖像數(shù)據(jù)經(jīng)過(guò)轉(zhuǎn)換后送入發(fā)送FIFO 中隨后數(shù)據(jù)通過(guò)AXI-DMA 通道被傳輸至PS。圖像數(shù)據(jù)被PS 處理后緊接著被傳回至PL 端的接收FIFO 中,PL 端把接收FIFO 中的數(shù)據(jù)取出轉(zhuǎn)換后存入RAM,HDMI 模塊則從RAM 中讀出圖像數(shù)據(jù)并送入顯示器顯示。經(jīng)過(guò)測(cè)試,PL 到PS 的數(shù)據(jù)傳輸速率可達(dá)144 Mbit/s,PS 到PL 的數(shù)據(jù)傳輸速率可達(dá)133 Mbit/s。

圖6 圖像傳輸實(shí)時(shí)顯示平臺(tái)中PL 端架構(gòu)圖

5 總結(jié)

本文基于ZYNQ-SOC 設(shè)計(jì)了一個(gè)通用的半實(shí)物算法驗(yàn)證平臺(tái)。平臺(tái)實(shí)物如圖7 所示。模塊化的系統(tǒng)架構(gòu)使得平臺(tái)可移植性高。實(shí)驗(yàn)結(jié)果表明,通過(guò)握手協(xié)議,該平臺(tái)傳輸數(shù)據(jù)高速且穩(wěn)定可靠,片內(nèi)傳輸數(shù)據(jù)雙向均達(dá)130 Mbit/s,片外TCP/IP 傳輸速度達(dá)50 Mbit/s??蛇m用于復(fù)雜算法領(lǐng)域的驗(yàn)證工作。如表1 所示,對(duì)比文獻(xiàn)[5-6],本文采用的FPGA+ARM 硬核的硬件架構(gòu)使得平臺(tái)的性能更強(qiáng)大,同時(shí)片內(nèi)采用的AXI 通信總線傳輸數(shù)據(jù)更快,串口控制的TCP/IP 通信方式比串口通信更穩(wěn)定、高效。和文獻(xiàn)[7]相比,本文在實(shí)現(xiàn)片內(nèi)通信的基礎(chǔ)上加入控制通道,使得片內(nèi)通信更穩(wěn)定。同時(shí),本文實(shí)現(xiàn)了平臺(tái)和外部通信的TCP/IP 接口。

圖7 圖像實(shí)時(shí)傳輸顯示平臺(tái)實(shí)物

表1 不同算法驗(yàn)證平臺(tái)技術(shù)方案對(duì)比

主站蜘蛛池模板: 蜜桃臀无码内射一区二区三区| 欧洲亚洲一区| 婷婷色在线视频| h网址在线观看| 日本一本在线视频| 国产精品永久久久久| 国产乱子伦视频在线播放| 动漫精品啪啪一区二区三区| 亚洲无码高清免费视频亚洲| 波多野结衣一区二区三视频 | 国产男人的天堂| 伊人久久大香线蕉aⅴ色| 欧美性猛交一区二区三区| 色播五月婷婷| 韩国v欧美v亚洲v日本v| 亚洲男人天堂2020| 国产成人av一区二区三区| 青青青国产精品国产精品美女| 国产精品一区二区在线播放| 久久国产精品77777| 污视频日本| 亚洲欧美国产视频| 国产精品短篇二区| 国产91视频免费| 91久久夜色精品国产网站| 亚洲AV一二三区无码AV蜜桃| 国产高清在线丝袜精品一区| 亚洲国产中文欧美在线人成大黄瓜 | 精品视频一区在线观看| 亚洲精品va| 久久永久视频| 日韩精品毛片| 亚洲AⅤ无码日韩AV无码网站| 日a本亚洲中文在线观看| 国产午夜无码片在线观看网站| 亚洲无卡视频| 国产在线观看精品| 亚洲人成网站18禁动漫无码| 亚洲综合色区在线播放2019| 精品自窥自偷在线看| 全色黄大色大片免费久久老太| 国产人在线成免费视频| 日韩福利在线观看| 美女潮喷出白浆在线观看视频| 成人无码区免费视频网站蜜臀| 国产在线小视频| 精品亚洲国产成人AV| 婷婷综合缴情亚洲五月伊| 日本黄色不卡视频| 亚洲国产日韩一区| 日本草草视频在线观看| 国产成人亚洲无吗淙合青草| 青青草原国产精品啪啪视频| vvvv98国产成人综合青青| 中文无码精品A∨在线观看不卡 | 国产精品一区二区不卡的视频| 国产办公室秘书无码精品| 在线免费无码视频| 日韩在线1| 在线va视频| 国产精品无码作爱| 久青草免费在线视频| 亚洲天堂网视频| 国产精品.com| 青青青视频91在线 | 成人午夜精品一级毛片 | 国产人在线成免费视频| 日本a∨在线观看| 亚洲VA中文字幕| 最新精品久久精品| 亚洲精品无码日韩国产不卡| 天天摸夜夜操| 少妇精品在线| 日韩黄色大片免费看| 欧美福利在线| 免费观看无遮挡www的小视频| 国产午夜不卡| 蜜桃视频一区二区| 亚洲婷婷丁香| 久久久精品国产SM调教网站| 亚洲国产欧美目韩成人综合| 激情影院内射美女|