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

        ?

        基于ZYNQ 的通用算法半實物驗證平臺*

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

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

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

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

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

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

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

        1 平臺整體架構

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

        圖1 平臺架構圖

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

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

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

        2 PL 和PS 的高速可靠通信

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

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

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

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

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

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

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

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

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

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

        4 圖像實時傳輸顯示平臺

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

        圖6 圖像傳輸實時顯示平臺中PL 端架構圖

        5 總結

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

        圖7 圖像實時傳輸顯示平臺實物

        表1 不同算法驗證平臺技術方案對比

        猜你喜歡
        寄存器上位串口
        淺談AB PLC串口跟RFID傳感器的通訊應用
        Lite寄存器模型的設計與實現(xiàn)
        計算機應用(2020年5期)2020-06-07 07:06:44
        特斯拉 風云之老阿姨上位
        車迷(2018年12期)2018-07-26 00:42:22
        分簇結構向量寄存器分配策略研究*
        “三扶”齊上位 決戰(zhàn)必打贏
        基于ZigBee和VC上位機的教室智能監(jiān)測管理系統(tǒng)
        USB接口的多串口數(shù)據(jù)并行接收方法探索
        基于藍牙串口適配器的GPS接收機與AutoCAD的實時無線通信
        地礦測繪(2015年3期)2015-12-22 06:27:26
        以新思路促推現(xiàn)代農業(yè)上位
        學習月刊(2015年3期)2015-07-09 03:51:04
        基于并行控制的FPGA多串口拓展實現(xiàn)
        亚洲第一免费播放区| 女人被弄到高潮的免费视频| 久久人妻内射无码一区三区| 福利在线国产| 99热久久只有这里是精品 | 久久免费亚洲免费视频| 亚洲av成人片在线观看| 亚洲精品无码不卡av| 亚洲中文字幕av天堂| 少妇精品偷拍高潮少妇在线观看| 亚洲狠狠婷婷综合久久久久 | 在线精品亚洲一区二区动态图| 免费无码一区二区三区蜜桃大| 2021年国产精品每日更新| 国内激情一区二区视频| 国产小视频在线看不卡| 中文字幕无码日韩专区免费| 国产乱人伦真实精品视频| 国产理论亚洲天堂av| 帅小伙自慰videogay男男| 欧美xxxx黑人又粗又长精品| 国内精品视频成人一区二区| 亚洲第一页视频在线观看| 久久久久夜夜夜精品国产| 又大又粗弄得我出好多水| 亚洲免费观看一区二区三区| 人妻少妇猛烈井进入中文字幕| 国产后入又长又硬| 免费一级毛片麻豆精品| 蜜桃av一区二区三区| 中文字幕av伊人av无码av| 亚洲乱码国产一区三区| 91日本在线精品高清观看| 亚州中文热码在线视频| 亚欧免费无码aⅴ在线观看| 免费在线亚洲视频| 久久精品国产亚洲av蜜臀久久| 国产人妻高清国产拍精品| 亚洲粉嫩高潮的18p| 国产激情一区二区三区在线蜜臀| 麻神在线观看免费观看|