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

基于ZedBoard的真隨機數(shù)發(fā)生器實驗設(shè)計

2020-03-09 12:22:16萬國春丁國鵬童美松
實驗技術(shù)與管理 2020年12期
關(guān)鍵詞:嵌入式信號實驗

萬國春,丁國鵬,童美松

(同濟大學 電子與信息工程學院,上海 200092)

Xilinx 公司推出的ZedBoard 是基于Xilinx Zynq-7000 SoC 的低成本開發(fā)板,實現(xiàn)了雙核Cortex-A9 MPcore 和28 nm 制程的7 系列可編程邏輯器件的緊密集成,在視頻處理、圖像識別、航天航空等領(lǐng)域得到了廣泛的應用[1-7]。

本實驗旨在讓學生了解熟悉較先進的開發(fā)技術(shù),掌握Xilinx 可編程嵌入式芯片的原理和使用方法,為進行更加深入的科研訓練打下良好的基礎(chǔ),使其能夠基于ZedBoard 實現(xiàn)更多更為復雜的工程與應用。實驗中所實現(xiàn)的真隨機數(shù)發(fā)生器作為與信息安全和密碼學相關(guān)的多種算法的基礎(chǔ)[8-10],也具有很高的實用價值與實際意義。

1 實驗系統(tǒng)結(jié)構(gòu)

本實驗主要涉及Zynq-7000 SoC 開發(fā)和PC 端工具的使用,在Zynq-7000 中的可編程邏輯(programmable logic,PL)部分使用Verilog 硬件描述語言實現(xiàn)熵源與采樣,再通過通用異步收/發(fā)傳輸器(universal asynchronous receiver/transmitter,UART)通信將采樣得到的隨機數(shù)在可編程系統(tǒng)(processing system,PS)中經(jīng)算法處理之后轉(zhuǎn)發(fā)至PC 端,在PC 端保存數(shù)據(jù),并借助Cygwin平臺進行NIST 隨機性標準測試檢驗生成的隨機數(shù)的質(zhì)量。

1.1 ZedBoard 基本信息

ZedBoard 開發(fā)板中主控芯片為Zynq-7020,是由Xilinx 公司推出的全可編程嵌入式控制芯片,其特殊之處在于集成兩個ARM Cortex-A9 和現(xiàn)場可編程邏輯門陣列(field programmable gate array,FPGA)資源,將很多場景中使用到的ARM+FPGA 雙芯片架構(gòu)整合到了一塊SoC 上,提高了兩者之間的數(shù)據(jù)交換效率,同時還提供了大量的相關(guān)IP 核,極大地便利了開發(fā)者的使用,降低了開發(fā)成本,為各種應用提供了便捷的解決方案[5]。實物圖如圖1 所示,包含了豐富的外設(shè)接口,通過板載USB 接口進行比特流與程序燒錄,開發(fā)十分便利。

PS 部分主要包含嵌入式處理器和其處理資源,在應用處理單元(APU)中,包含雙核Cortext-A9、256 KB片上內(nèi)存、512 KB 二級緩存,并通過高級微控制器總線架構(gòu)(advanced microcontroller bus architecture,AMBA)與PL 端及各類I/O 外設(shè)相連,其中包含以太網(wǎng)、USB、UART、CAN、SPI、I2C 和GPIO 等。

圖1 ZedBoard 實物圖

PL 部分主要為可編程邏輯資源,基于Artix-7 和Kintext-7 系列FPGA,主要包括通用FPGA 邏輯資源、XADC 模數(shù)轉(zhuǎn)換器、獨立時鐘、高速DSP 以及RAM。

Zynq-7000 系列SoC 的內(nèi)部結(jié)構(gòu)如圖2 所示。

圖2 Zynq-7000 系列SoC 內(nèi)部結(jié)構(gòu)框圖

1.2 真隨機數(shù)發(fā)生器

在加密系統(tǒng)中具有極其重要地位的真隨機數(shù)發(fā)生器,需要通過對物理隨機現(xiàn)象進行提取,從而得到隨機數(shù),其核心部分是噪聲源(熵源),通常由電路或物理實驗實現(xiàn)。而使用特定結(jié)構(gòu)的電路作為熵源具有實現(xiàn)簡單、成本低、速率高等優(yōu)點[8-11],故在本實驗中對基于FPGA 的真隨機數(shù)發(fā)生器進行實現(xiàn)與驗證。

本實驗采用基于環(huán)形振蕩電路與D 觸發(fā)器的結(jié)構(gòu)作為熵源,使用3 個反相器組成環(huán)形振蕩器產(chǎn)生頻率較高的振蕩,并利用D 觸發(fā)器需要輸入信號滿足建立時間與保持時間的要求,否則輸出隨機的特性產(chǎn)生隨機數(shù),結(jié)構(gòu)如圖3 所示。在環(huán)形振蕩器后增加反相器延遲鏈后,對每個反相器后信號使用D 觸發(fā)器進行采樣,只要其中一個D 觸發(fā)器的采樣CLK 到來時,其輸入信號也在進行跳變,便可產(chǎn)生隨機數(shù)。當在環(huán)形振蕩器后使用512 個及以上反相器和D 觸發(fā)器時,可保證產(chǎn)生足夠的隨機性[9],即幾乎每次采樣都有D 觸發(fā)器的輸入信號不滿足建立時間和保持時間的要求。

圖3 基于環(huán)形振蕩器和D 觸發(fā)器的熵源結(jié)構(gòu)

1.3 UART 通信協(xié)議

通用異步收發(fā)器通信協(xié)議作為常見的通信協(xié)議具有無需時鐘信號、僅需tx 和rx 兩個接口、簡單易實現(xiàn)等優(yōu)點。本實驗采用UART 通信協(xié)議將熵源采樣電路生成的隨機數(shù)序列發(fā)送至與PS 連接的AXI Uartlite IP,從而使PS 端接收到這些隨機數(shù)。UART 通信過程中發(fā)送數(shù)據(jù)的時序圖如圖4 所示。空閑時輸出時鐘為1,起始位為一個時鐘節(jié)拍的低電平,隨后為8 位數(shù)據(jù)位,數(shù)據(jù)發(fā)送結(jié)束后輸出一個時鐘節(jié)拍的高電平,表示停止位。

圖4 UART 通信發(fā)送時序圖

在FPGA 中實現(xiàn)串口通信需要編寫簡單的狀態(tài)機實現(xiàn)數(shù)據(jù)的發(fā)送,狀態(tài)轉(zhuǎn)移過程如圖5 所示。其中IDLE 狀態(tài)等待send 信號,tx 輸出始終為1,當檢測到send 的上升沿時,開始一次數(shù)據(jù)發(fā)送,進入START狀態(tài);START 狀態(tài)下發(fā)送起始位,即tx 輸出0,下一 個時鐘節(jié)拍進入SEND_DATA 狀態(tài);SEND_DATA 狀態(tài)下串行發(fā)送8 位數(shù)據(jù),當count 為8 時即8 位數(shù)據(jù)發(fā)送完畢,此時進入STOP 狀態(tài);STOP 狀態(tài)下發(fā)送停止位,即tx 輸出高電平,一個時鐘節(jié)拍后回到IDLE狀態(tài)。

圖5 UART 發(fā)送狀態(tài)機狀態(tài)轉(zhuǎn)移圖

1.4 AXI Uartlite IP 核

將從熵源采樣得到的隨機數(shù)序列通過帶有中斷功能的AXI Uartlite IP 核發(fā)送至PS 端,此IP 核主要接口如圖6 所示,主要包含UART 的tx 和rx、AXI slave端的相關(guān)端口以及中斷信號。此 IP 功能為將采用UART 協(xié)議傳輸?shù)臄?shù)據(jù)轉(zhuǎn)換為先進可擴展接口協(xié)議(advanced extensible interface,AXI),并在接收到數(shù)據(jù)時產(chǎn)生中斷信號。

圖6 AXI Uartlite IP 核接口

1.5 系統(tǒng)結(jié)構(gòu)

整個系統(tǒng)PL 與PS 端各部分連接情況如圖7 所 示,真隨機數(shù)發(fā)生器(true random number generator,TRNG)的tx 與AXI Uartlite IP 的rx 相連,rx 與AXI Uartlite IP 的tx 相連,AXI Uartlite IP 的interrupt 端口連接至PS 的IRQ_F2P 中斷請求端口,其余模塊的生成與端口的連接在創(chuàng)建最小系統(tǒng)時由Vivado 自動完成。

圖7 系統(tǒng)塊設(shè)計圖

其中TRNG 是在PL 端實現(xiàn)的真隨機數(shù)發(fā)生器,使用Verilog HDL 實現(xiàn)對基于環(huán)形振蕩器和D 觸發(fā)器的熵源進行采樣,采樣滿8 次后,按照UART 通信協(xié)議要求將數(shù)據(jù)發(fā)出。AXI Uartlite 接收到數(shù)據(jù)后按AXI協(xié)議將數(shù)據(jù)轉(zhuǎn)發(fā)至PS 的AXI 接口,并產(chǎn)生中斷信號,通知PS 已經(jīng)收到數(shù)據(jù),觸發(fā)中斷處理函數(shù)執(zhí)行。其余接口如DDR 是處理器DDR 內(nèi)存尋址接口,F(xiàn)IXED_IO則是專用的內(nèi)部固化的外設(shè)I/O。Processor System Reset(處理器系統(tǒng)復位模塊)與AXI Interconnect(AXI 總線互聯(lián)接口模塊)及其接口連線均由Vivado 自動生成。

2 軟件設(shè)計

本實驗中PS 端負責完成數(shù)據(jù)轉(zhuǎn)發(fā),并對隨機數(shù)序列進行算法后處理[12],本實驗中采用線性反饋移位寄存器(linear feedback shift register,LFSR)作為處理算法,由1 位隨機數(shù)轉(zhuǎn)化出8 位隨機數(shù),從而大大提高隨機數(shù)生成速率。LFSR 算法的示意圖如圖8 所示。

圖8 LFSR 算法示意圖

圖8 中LFSR 長度為k,反饋多項式的多樣化決定了LFSR 的多樣性,通過循環(huán)移位后,將最后一級輸出與輸入做異或運算后反饋到最低位,輸出低8 位寄存器中存儲的值即可。

圖9 程序流程圖

在PS 端中的main 函數(shù)流程和中斷服務子程序流程圖如圖9 所示,首先對與Uartlite IP 相連的AXI 總線地址進行初始化,使之能夠正常接收發(fā)送數(shù)據(jù),然 后設(shè)置 UART 的接收中斷處理函數(shù),每次接收到UART 數(shù)據(jù)都觸發(fā)此處理函數(shù),最后使能中斷。UART接受中斷處理函數(shù)中主要完成LFSR 處理算法并將其輸出通過PS 端的串口發(fā)送至PC,主要流程為進入中斷后將8 位的數(shù)據(jù)按位輸入LFSR,每輸入1 位就將LFSR 的低8 位發(fā)出,直到收到的8 位數(shù)據(jù)全部輸入LFSR 后退出中斷,等待下一次數(shù)據(jù)接收。

3 實驗效果

在PC 端使用串口助手設(shè)置波特率為115 200、1位停止位、8 位數(shù)據(jù)位、無奇偶校驗等通信參數(shù)后,即可接收到由ZedBoard 發(fā)來的隨機數(shù)序列(見圖10)。當接收滿100 Mbit 數(shù)據(jù)后,將其保存為txt 文件,使用Cygwin平臺通過NIST提供的隨機性測試軟件對其進行測試,將100 Mbit 數(shù)據(jù)分為100 組進行測試,結(jié)果中P-VALUE 值大于0.01 即可認為通過了該項測試,觀察測試結(jié)果文件可以發(fā)現(xiàn)本系統(tǒng)輸出的隨機數(shù)序列能夠通過全部15 項測試,可以作為安全的隨機數(shù)(見圖11)。

圖10 串口接收到的隨機數(shù)序列

圖11 NIST 標準測試結(jié)果

4 結(jié)語

本實驗實現(xiàn)了基于ZedBoard 的真隨機數(shù)發(fā)生器,使用UART 和AXI 通信協(xié)議傳輸數(shù)據(jù),構(gòu)建了由Zynq PL 端到PS 端到PC 的完整數(shù)據(jù)通路。實驗過程涵蓋了Zynq-7000 系列SoC 的基本開發(fā)流程、中斷處理、真隨機數(shù)發(fā)生、隨機數(shù)后處理算法等知識,將嵌入式開發(fā)與硬件描述相結(jié)合,使學生了解并熟悉了此類工程的開發(fā)方法,積累了開發(fā)經(jīng)驗,并對隨機數(shù)生成原理[13-14]有了一定的知識基礎(chǔ)。整個過程中需要使用Verilog 硬件描述語言設(shè)計并實現(xiàn)電路、調(diào)用IP 核、完成PS 系統(tǒng)搭建、在SDK 中使用C 語言處理來自PL 端的數(shù)據(jù)并通過串口發(fā)送至PC,整個過程讓學生對FPGA開發(fā)與嵌入式開發(fā)的仿真與調(diào)試過程有了深刻的體會。

同時本實驗實現(xiàn)的Zynq-7000 系列SOC 的PL 端到PS 端再到PC 端的數(shù)據(jù)通路適用于各類工程,掌握后能方便地應用于其他項目與工程的開發(fā)中。

猜你喜歡
嵌入式信號實驗
記一次有趣的實驗
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
做個怪怪長實驗
基于FPGA的多功能信號發(fā)生器的設(shè)計
電子制作(2018年11期)2018-08-04 03:25:42
搭建基于Qt的嵌入式開發(fā)平臺
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應用
NO與NO2相互轉(zhuǎn)化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
基于LabVIEW的力加載信號采集與PID控制
主站蜘蛛池模板: 国产女同自拍视频| 无码av免费不卡在线观看| 97青草最新免费精品视频| 成人日韩视频| 亚洲精品天堂自在久久77| 亚洲欧美一区二区三区麻豆| 四虎成人精品| 国产精品xxx| 国产农村精品一级毛片视频| 99re热精品视频国产免费| 成人综合在线观看| a级毛片免费看| 国产9191精品免费观看| 欧美日韩在线观看一区二区三区| 91成人在线免费视频| 国产精品视频3p| 亚洲视频二| 国产美女在线免费观看| 999国产精品| 国产麻豆永久视频| 五月综合色婷婷| 欧美精品影院| 国产特一级毛片| 国产探花在线视频| 呦女精品网站| 久久综合色天堂av| 国产91麻豆免费观看| 好吊色妇女免费视频免费| 婷婷色一区二区三区| 狠狠色婷婷丁香综合久久韩国| 欧美日韩理论| 国产一级做美女做受视频| 久久6免费视频| 国产永久在线视频| 热久久综合这里只有精品电影| 在线观看免费国产| 黄色网站在线观看无码| 亚洲娇小与黑人巨大交| 18禁黄无遮挡免费动漫网站| 久久综合色播五月男人的天堂| 97狠狠操| 99er精品视频| 免费又黄又爽又猛大片午夜| 国产精品hd在线播放| 91久久青青草原精品国产| 亚洲不卡网| 日韩不卡高清视频| 欧美国产视频| 免费看的一级毛片| 亚洲熟女偷拍| 色吊丝av中文字幕| 国产精品一区在线观看你懂的| 全裸无码专区| 日韩欧美网址| 日本在线视频免费| 91国内外精品自在线播放| 欧美一级在线看| 青青草一区二区免费精品| av在线人妻熟妇| 激情综合网激情综合| 亚洲不卡影院| 91久久大香线蕉| 欧美www在线观看| 国产精品粉嫩| 久久伊人色| 午夜激情婷婷| 57pao国产成视频免费播放| 毛片网站观看| 国产在线视频自拍| 亚洲侵犯无码网址在线观看| 真实国产乱子伦高清| 成人免费视频一区| 日韩欧美一区在线观看| 国产成人在线小视频| 无码区日韩专区免费系列| 欧美亚洲一区二区三区导航| 免费激情网址| 国产美女无遮挡免费视频网站| 日韩精品亚洲精品第一页| 亚洲精品福利视频| 日韩精品中文字幕一区三区| 欧美va亚洲va香蕉在线|