亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2022-10-20 01:09:14張智維陳鑫陳凱張穎劉濤王雷
        電子器件 2022年3期
        關(guān)鍵詞:寄存器上位串口

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

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

        傳統(tǒng)的算法驗(yàn)證平臺(tái)主要是基于中央處理器(Central Processing Unit,CPU)、圖形處理器(Graphics Processing Unit,GPU)、專用集成電路(Application Specific Integrated Circuit,ASIC)和現(xià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ì)開發(fā)者并不友好。ASIC性能優(yōu)越、保密性強(qiáng),被廣泛應(yīng)用于數(shù)字信號(hào)處理領(lǐng)域,但其靈活性低[3],算法任何細(xì)微的變動(dòng)都有可能導(dǎo)致開發(fā)者需要重新設(shè)計(jì)芯片電路。FPGA 可編程和全并行運(yùn)算的特點(diǎn)使得其在數(shù)字信號(hào)處理領(lǐng)域受到青睞[4],但其也存在開發(fā)周期過長的缺點(diǎn)。

        文獻(xiàn)[5]基于FPGA 搭建了一個(gè)通用的畫質(zhì)處理算法平臺(tái),該平臺(tái)利用FPGA 資源運(yùn)行算法并通過串口和上位機(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 端完成圖像處理算法,并通過片內(nèi)總線完成FPGA 和CPU 的數(shù)據(jù)交換。但其片內(nè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ì)特定場景的專用系統(tǒng),可移植性差,無法被用于不同的應(yīng)用場景。

        由于ZYNQ 的硬件結(jié)構(gòu)同時(shí)包含PS 和PL 模塊,特別適合進(jìn)行包含軟件和硬件開發(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)用場景中,能夠滿足絕大部分算法驗(yàn)證的需求。與此同時(shí),本文作者在研究過程中發(fā)現(xiàn),PL 和PS 之間雖然可以依靠直接存儲(chǔ)器訪問(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ī)之間可以長時(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 語言編程,可以作為系統(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 通過該總線讀寫特定地址的寄存器便可控制數(shù)據(jù)的傳輸。串口是PS 和上位機(jī)之間的控制通道,PS 可通過串口向上位機(jī)輸出控制信息以及上位機(jī)可通過串口輸入控制指令。

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

        數(shù)據(jù)下行時(shí),上位機(jī)通過TCP/IP 模塊把數(shù)據(jù)發(fā)送給PS 端的DDR3 中存儲(chǔ),隨后數(shù)據(jù)通過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通過DMA 通道直接送到PS 端的DDR3 中。數(shù)據(jù)上行時(shí)的握手協(xié)議靠PS 控制ACK 變量、寄存器2 和寄存器1 以及PL 控制寄存器1 和寄存器2。數(shù)據(jù)下行架構(gòu)如圖2(b)所示,數(shù)據(jù)從PS 端的DDR3 通過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通過AXI-Lite 總線拉高寄存器2 的請(qǐng)求信號(hào)并將ACK 變量置0。PL 監(jiān)測到請(qǐng)求信號(hào)的上升沿后把寄存器1 的值置0,并啟動(dòng)一次DMA 發(fā)送。DMA 每發(fā)送完一次,PL 都通過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ì)通過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 寫數(shù)據(jù)比PS 讀數(shù)據(jù)慢。因此,當(dāng)ACK 值不小于寄存器1 的值但不大于預(yù)設(shè)值時(shí)則證明PL正在發(fā)新的數(shù)據(jù),此時(shí)PS 需要循環(huán)等待且需要一直監(jiān)測判斷。當(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)測到PS 拉高發(fā)送信號(hào)后,就保持接收FIFO 的讀信號(hào)一直有效且不斷把接收FIFO 中的數(shù)據(jù)存儲(chǔ)。當(dāng)PL 檢測到發(fā)送信號(hào)下降沿后,則證明數(shù)據(jù)全部接收完畢。由于PS 運(yùn)行頻率更高,所以PS 寫數(shù)據(jù)比PL 讀數(shù)據(jù)更快。為防止PL 來不及讀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ù)。通過延時(shí)策略,PS 發(fā)送數(shù)據(jù)時(shí)的握手協(xié)議被簡化。

        圖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í)便通過串口通知ZYNQ 啟動(dòng)TCP 服務(wù)器。因?yàn)槁銠C(jī)服務(wù)器在啟動(dòng)后就需要進(jìn)入無限循環(huán),但由于本平臺(tái)有其他功能模塊,所以不能使服務(wù)器模塊一直處于運(yùn)行狀態(tài),所以只有當(dāng)外部設(shè)備需要服務(wù)器時(shí)才會(huì)重新配置并開啟。由TCP/IP 協(xié)議可知,在同一平臺(tái)中多次配置服務(wù)器則必須保證服務(wù)器的IP 地址和端口不能完全相同,所以本平臺(tái)固定IP 地址,每一次配置服務(wù)器時(shí)將端口號(hào)逐步遞增,端口信息會(huì)在服務(wù)器準(zhǔn)備就緒后通過串口輸出。

        PS 和上位機(jī)交換數(shù)據(jù)的流程如圖5 所示。上位機(jī)通過串口向PS 輸入控制指令,PS 啟動(dòng)TCP 服務(wù)器并通過串口輸出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)過轉(zhuǎn)換后送入發(fā)送FIFO 中隨后數(shù)據(jù)通過AXI-DMA 通道被傳輸至PS。圖像數(shù)據(jù)被PS 處理后緊接著被傳回至PL 端的接收FIFO 中,PL 端把接收FIFO 中的數(shù)據(jù)取出轉(zhuǎn)換后存入RAM,HDMI 模塊則從RAM 中讀出圖像數(shù)據(jù)并送入顯示器顯示。經(jīng)過測試,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é)果表明,通過握手協(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ì)比

        猜你喜歡
        寄存器上位串口
        淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        特斯拉 風(fēng)云之老阿姨上位
        車迷(2018年12期)2018-07-26 00:42:22
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        “三扶”齊上位 決戰(zhàn)必打贏
        基于ZigBee和VC上位機(jī)的教室智能監(jiān)測管理系統(tǒng)
        USB接口的多串口數(shù)據(jù)并行接收方法探索
        基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無線通信
        地礦測繪(2015年3期)2015-12-22 06:27:26
        以新思路促推現(xiàn)代農(nóng)業(yè)上位
        基于并行控制的FPGA多串口拓展實(shí)現(xiàn)
        日本熟妇hd8ex视频| 中国精学生妹品射精久久| 国产亚洲精品久久久闺蜜| 国产又黄又爽又色的免费| 吸咬奶头狂揉60分钟视频| 亚洲日本三级| 色婷婷狠狠97成为人免费| 91大神蜜桃视频在线观看| 蓝蓝的天空,白白的云| 亚洲桃色视频在线观看一区| 国产成人无码综合亚洲日韩| 在线观看免费人成视频| 好男人视频在线视频| 3亚洲日韩在线精品区| 人妻乱交手机在线播放| 中文字幕乱码日本亚洲一区二区| 成人丝袜激情一区二区| 日韩国产成人无码av毛片蜜柚| 少妇邻居内射在线| 久久久久亚洲精品天堂| 激情文学人妻中文字幕| 中文字幕文字幕一区二区 | 帮老师解开蕾丝奶罩吸乳视频| 欧美va免费精品高清在线| 中文字幕有码在线视频| 亚洲中文字幕国产剧情| 中国杭州少妇xxxx做受| 少妇性荡欲视频| 亚洲成人中文| 小13箩利洗澡无码免费视频| 97超碰中文字幕久久| 中文有码人妻字幕在线| 午夜性色一区二区三区不卡视频| 日韩人妻无码免费视频一区二区三区 | 国产av精品久久一区二区| 99精品国产一区二区三区| 国产v片在线播放免费无码| 无码精品人妻一区二区三区人妻斩| 香蕉视频一级| 国产一区二区三区av免费观看| 杨幂一区二区系列在线|