国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

運(yùn)用FPGA設(shè)計(jì)分?jǐn)?shù)階混沌系統(tǒng)

2021-02-28 06:49:48湖南師范大學(xué)彭代鑫彭良玉張學(xué)豐
電子世界 2021年22期
關(guān)鍵詞:狀態(tài)變量字節(jié)時(shí)鐘

湖南師范大學(xué) 彭代鑫 彭良玉 張學(xué)豐

本文研究了基于Adomian分解法求解的分?jǐn)?shù)階混沌系統(tǒng),并利用FPGA的高速并行計(jì)算能力與強(qiáng)大的接口能力,設(shè)計(jì)了一種新穎的FPGA實(shí)現(xiàn)方案。FPGA在每一次計(jì)算狀態(tài)變量后,將數(shù)據(jù)通過(guò)USB總線(xiàn)傳送至電腦,實(shí)驗(yàn)數(shù)據(jù)在經(jīng)LabVIEW處理后與數(shù)值仿真結(jié)果一致,驗(yàn)證了方案的可行性和正確性。此方案無(wú)需使用示波器,且分?jǐn)?shù)階算法模塊工作在4倍源時(shí)鐘頻率200MHz,不僅為信息加密、保密通信提供理論與實(shí)驗(yàn)依據(jù),同時(shí)也為混沌系統(tǒng)的FPGA的設(shè)計(jì)與驗(yàn)證帶來(lái)便利。

相比于整數(shù)階微分,分?jǐn)?shù)階微分能夠描述更復(fù)雜的動(dòng)力學(xué)行為,因此具有更加廣闊的應(yīng)用前景,Adomian分解法是常用的計(jì)算分?jǐn)?shù)階微分的算法。使用數(shù)字電路設(shè)計(jì)混沌系統(tǒng),常用的有DSP和FPGA,兩者都可以反復(fù)編程實(shí)現(xiàn)特定的混沌系統(tǒng)。DSP的計(jì)算模式為串行計(jì)算,從輸入到輸出需要經(jīng)歷一個(gè)相對(duì)較長(zhǎng)的時(shí)間。而FPGA的架構(gòu)非常靈活,既可以進(jìn)行串行計(jì)算,又可以進(jìn)行并行計(jì)算,因此FPGA可以根據(jù)需求靈活地采取計(jì)算模式,從而提升計(jì)算速度。并且可以利用FPGA芯片強(qiáng)大的接口能力,通過(guò)通信協(xié)議將數(shù)據(jù)傳送至電腦,運(yùn)用電腦對(duì)信號(hào)進(jìn)行處理并顯示。由于本文產(chǎn)生的實(shí)驗(yàn)數(shù)據(jù)大小在Mbit級(jí)別,USB通信速度在Mbps以上,且FPGA開(kāi)發(fā)板配置了一顆USB轉(zhuǎn)FIFO的芯片F(xiàn)T232,能將復(fù)雜的USB通信協(xié)議簡(jiǎn)化,因此采用USB通信。在本方案中,通過(guò)一個(gè)按鍵控制分?jǐn)?shù)階計(jì)算模塊的啟動(dòng),該模塊在每一次計(jì)算出狀態(tài)變量的值后立刻將數(shù)據(jù)寫(xiě)入FT232芯片,通過(guò)USB發(fā)送至電腦,在計(jì)算完設(shè)定的總點(diǎn)數(shù)后停止工作。數(shù)據(jù)經(jīng)LabVIEW處理后與數(shù)值仿真結(jié)果一致。

1 分?jǐn)?shù)階混沌系統(tǒng)數(shù)學(xué)模型

已知分?jǐn)?shù)階混沌系統(tǒng)的數(shù)學(xué)模型如式(1)所示:

令系數(shù)a=1,分解級(jí)數(shù)N= 3,求解步長(zhǎng) (t-t0) =2-6,分?jǐn)?shù)階數(shù)q=0.95,狀態(tài)變量初始值(x0,y0,z0) = (0.5, 0.5, 0.5),狀態(tài)變量相圖如圖1所示。

圖1 狀態(tài)變量相圖

2 FPGA實(shí)現(xiàn)

2.1 系統(tǒng)框圖

在本方案中,采取的數(shù)制為35位定點(diǎn)數(shù),采用一個(gè)異步FIFO作為數(shù)據(jù)流的緩沖與輸出。算法結(jié)構(gòu)如圖2所示,運(yùn)用Verilog HDL編程實(shí)現(xiàn)。其中clk0是FPGA板載的源時(shí)鐘,頻率為50MHz,clk是經(jīng)過(guò)PLL倍頻后的時(shí)鐘,頻率為200MHz。rst為復(fù)位信號(hào),當(dāng)復(fù)位信號(hào)為低電平時(shí),系統(tǒng)復(fù)位,復(fù)位的主要作用是為寄存器類(lèi)型的變量賦初值,key是啟動(dòng)狀態(tài)變量計(jì)算模塊的按鍵。

圖2 FPGA實(shí)現(xiàn)與驗(yàn)證方案框圖

2.2 工作原理及仿真結(jié)果

當(dāng)按鍵按下時(shí),F(xiàn)PGA進(jìn)入工作狀態(tài),開(kāi)始計(jì)算狀態(tài)變量,在每一次狀態(tài)變量計(jì)算完畢后,開(kāi)啟FIFO的寫(xiě)使能,把數(shù)據(jù)寫(xiě)至FIFO,當(dāng)數(shù)據(jù)寫(xiě)入完畢后,關(guān)閉FIFO寫(xiě)使能。FIFO是先進(jìn)先出隊(duì)列,這里采用的是異步FIFO,寫(xiě)頻率為200MHz,讀頻率為FT232自帶的晶振頻率60MHz,當(dāng)FIFO里的讀空信號(hào)不為1時(shí),表明FIFO里寫(xiě)入了數(shù)據(jù),若此時(shí)FT232芯片可寫(xiě),將拉高FIFO的讀使能信號(hào)并拉低芯片寫(xiě)使能信號(hào),將FIFO里的數(shù)據(jù)讀出到數(shù)據(jù)線(xiàn)上寫(xiě)入FT232。狀態(tài)變量計(jì)算模塊根據(jù)基于Adomian分解法求解后的數(shù)學(xué)方程,采用三個(gè)IP乘法器進(jìn)行時(shí)分復(fù)用實(shí)現(xiàn),其計(jì)算將在計(jì)數(shù)器的多個(gè)狀態(tài)中完成,計(jì)數(shù)器的每個(gè)狀態(tài)包含多個(gè)時(shí)鐘周期,具體值為乘法器的最優(yōu)時(shí)延加一,這些時(shí)鐘周期又可以用一個(gè)計(jì)數(shù)器控制,這樣設(shè)計(jì)能夠大幅提升工作頻率,計(jì)算模塊時(shí)域仿真的部分波形圖如圖3所示,由上往下分別為clk0,clk,rst,x(t),y(t)和z(t)。

圖3 時(shí)域仿真部分波形圖

當(dāng)每次狀態(tài)變量計(jì)算完成后,狀態(tài)變量的值將會(huì)通過(guò)FIFO寫(xiě)入FT232,由于本文采用的35位定點(diǎn)數(shù)的范圍足夠大,因此高3位可以舍去,直接傳輸?shù)?2位數(shù)據(jù),每一個(gè)時(shí)鐘寫(xiě)入8位數(shù)據(jù),因此需要分4次才能將一個(gè)狀態(tài)變量的值完全寫(xiě)入FIFO。傳輸三個(gè)狀態(tài)變量總共需要12個(gè)時(shí)鐘周期。寫(xiě)入的數(shù)據(jù)將會(huì)被FT232讀取并轉(zhuǎn)換為USB協(xié)議,通過(guò)USB總線(xiàn)發(fā)送至電腦,電腦通過(guò)USB抓包軟件抓取到所有發(fā)送過(guò)來(lái)的數(shù)據(jù)。在對(duì)數(shù)據(jù)進(jìn)行處理之前,把數(shù)據(jù)存為文本文檔。后續(xù)用LabVIEW讀取數(shù)據(jù)并通過(guò)轉(zhuǎn)換算法完成16進(jìn)制到10進(jìn)制的轉(zhuǎn)換 。

2.3 實(shí)驗(yàn)數(shù)據(jù)處理及結(jié)果

令每個(gè)狀態(tài)變量的傳輸點(diǎn)數(shù)為N=50000,F(xiàn)PGA芯片型號(hào)為:Artix-7 xc7a35tfgg484-2。FPGA傳送至電腦的數(shù)據(jù)為一連串的16進(jìn)制序列,每?jī)蓚€(gè)16進(jìn)制數(shù)組成一個(gè)字節(jié),一個(gè)狀態(tài)變量的點(diǎn)為32位,由4個(gè)字節(jié)組成。所有FPGA傳輸?shù)臄?shù)據(jù)的順序?yàn)閤(t1),y(t1),z(t1),x(t2),y(t2),z(t2)…。圖4記錄了FPGA傳輸至電腦的數(shù)據(jù)。

圖4 FPGA傳輸至電腦的數(shù)據(jù)

由于每個(gè)狀態(tài)變量傳輸?shù)狞c(diǎn)數(shù)N=50000,有三個(gè)狀態(tài)變量,因此要傳輸150000個(gè)點(diǎn)的數(shù)據(jù),而每個(gè)點(diǎn)為4個(gè)字節(jié),共計(jì)傳輸600000個(gè)字節(jié),以圖4中最后傳輸?shù)?2個(gè)字節(jié)“00 07 54 C5 00 0C 69 45 00 10 EF EF”為例,一個(gè)狀態(tài)變量的點(diǎn)為4個(gè)字節(jié),這12個(gè)字節(jié)為最后傳輸?shù)娜齻€(gè)狀態(tài)變量的點(diǎn)x(tN),y(tN),z(tN)。LabVIEW讀取數(shù)據(jù)時(shí)以字節(jié)為單位讀取,總共讀取600000字節(jié)的數(shù)據(jù),因此可以利用索引i除以12的余數(shù)將讀取數(shù)據(jù)中的x(t),y(t),z(t)分別保存到數(shù)組。然后進(jìn)行16進(jìn)制到10進(jìn)制的轉(zhuǎn)換,在這個(gè)過(guò)程中,為了使得轉(zhuǎn)換算法更加通用,首先將數(shù)據(jù)轉(zhuǎn)換為2進(jìn)制,狀態(tài)變量的每個(gè)點(diǎn)轉(zhuǎn)換為2進(jìn)制后為32位,其中最高位為符號(hào)位,11位整數(shù)位,20位小數(shù)位,然后再運(yùn)用二進(jìn)制到十進(jìn)制的轉(zhuǎn)換原理進(jìn)行轉(zhuǎn)換。圖5為圖4數(shù)據(jù)經(jīng)過(guò)LabVIEW轉(zhuǎn)換后得到的相圖,可見(jiàn)其與圖1一致,方案設(shè)計(jì)的正確性得到驗(yàn)證。

圖5 LabVIEW處理得到的相圖

3 結(jié)束語(yǔ)

本文設(shè)計(jì)了一種基于Adomian分解法的分?jǐn)?shù)階混沌系統(tǒng)的FPGA實(shí)現(xiàn)方案,其中分?jǐn)?shù)階計(jì)算模塊的工作頻率為源時(shí)鐘的四倍頻200MHz。該模塊在每次計(jì)算完成后把狀態(tài)變量的值通過(guò)一個(gè)異步FIFO寫(xiě)入FT232芯片,F(xiàn)T232芯片將其轉(zhuǎn)化為USB協(xié)議,通過(guò)USB總線(xiàn)傳輸至電腦。所有的點(diǎn)經(jīng)過(guò)LabVIEW處理后,得到的相圖與數(shù)值仿真的相圖一致,并且無(wú)數(shù)據(jù)遺漏,F(xiàn)PGA設(shè)計(jì)的正確性與可靠性得到驗(yàn)證。

猜你喜歡
狀態(tài)變量字節(jié)時(shí)鐘
一階動(dòng)態(tài)電路零狀態(tài)響應(yīng)公式的通用拓展
基于TwinCAT3控制系統(tǒng)的YB518型小盒透明紙包裝機(jī)運(yùn)行速度的控制分析
No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
別樣的“時(shí)鐘”
基于嵌套思路的飽和孔隙-裂隙介質(zhì)本構(gòu)理論
古代的時(shí)鐘
No.10 “字節(jié)跳動(dòng)手機(jī)”要來(lái)了?
簡(jiǎn)談MC7字節(jié)碼
有趣的時(shí)鐘
時(shí)鐘會(huì)開(kāi)“花”
华池县| 灵台县| 扬中市| 邹平县| 广昌县| 手机| 鹿邑县| 来安县| 南投县| 盐亭县| 宝山区| 罗江县| 贺兰县| 海伦市| 蕲春县| 巴塘县| 潞城市| 淮北市| 姜堰市| 伊金霍洛旗| 临泽县| 河东区| 偏关县| 墨脱县| 秦安县| 沿河| 越西县| 庆云县| 东光县| 富顺县| 西林县| 泰州市| 花垣县| 玛多县| 长沙县| 萨嘎县| 哈尔滨市| 兴海县| 乌鲁木齐县| 临海市| 滁州市|