欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      基于FPGA的交織器,深圳大學(xué),通信系統(tǒng)中串行數(shù)據(jù)交織器的設(shè)計(精選)

      時間:2019-05-12 01:09:29下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《基于FPGA的交織器,深圳大學(xué),通信系統(tǒng)中串行數(shù)據(jù)交織器的設(shè)計(精選)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《基于FPGA的交織器,深圳大學(xué),通信系統(tǒng)中串行數(shù)據(jù)交織器的設(shè)計(精選)》。

      第一篇:基于FPGA的交織器,深圳大學(xué),通信系統(tǒng)中串行數(shù)據(jù)交織器的設(shè)計(精選)

      深 圳 大 學(xué) 實 驗 報 告

      課程名稱:硬件描述語言與邏輯綜合

      實驗項目名稱:通信系統(tǒng)中串行數(shù)據(jù)交織器的設(shè)計

      學(xué)院: 電子科學(xué)與技術(shù)學(xué)院

      專業(yè): 電子科學(xué)與技術(shù)

      指導(dǎo)教師: 劉春平

      報告人學(xué)號: 班級:電子(2)班

      實驗時間:

      實驗報告提交時間:

      一、實驗原理

      交織器是通信編碼中抗突發(fā)干擾的一種重要手段,將突發(fā)干擾產(chǎn)生的分布集中的誤碼分散到信息數(shù)據(jù)中,以便采用糾錯編碼的方法進行糾錯。本項目要求設(shè)計一個行列交織器,如圖所示,PN碼發(fā)生器模擬數(shù)據(jù)源產(chǎn)生串行數(shù)據(jù),按行寫入一m行n列的RAM中,寫滿后按列讀出。為避免數(shù)據(jù)丟失,需使用兩個這樣的RAM交替讀寫。即一個讀時,另一個寫。一個寫時,另一個讀,這樣交替循環(huán)。因此,會產(chǎn)生一個周期的延時。這里統(tǒng)一要求m和n都選4.二、源程序

      module jiaozhiqi(out,waveout,clk);

      //輸出未交織的out和交織后的waveout,輸入50Mclk時鐘

      output out,waveout;input clk;reg [0:0]out;reg [0:0]waveout;reg A0,A1,A2,A3;reg mem_A[3:0][3:0];//4*4的二維寄存器型數(shù)組mem_A reg mem_B[3:0][3:0];//4*4的二維寄存器型數(shù)組mem_B integer i,j;reg clock,flag;reg[31:0] count;

      initial//初始化各變量 begin i<=0;j<=0;A0<=1;A1<=0;A2<=0;A3<=1;flag<=0;count<=0;clock<=0;end

      //將clk分頻,產(chǎn)生交織器所需的頻率clock always @(posedge clk)

      begin

      end

      //偽隨機碼發(fā)生器 if(count==1)

      begin count<=0;clock<=~clock;end else count<=count+1;always @(posedge clock)begin

      j=j+1;A0<=A0^A3;A1<=A0;A2<=A1;A3<=A2;end always @(posedge clock)//對mem_A或mem_B中的數(shù)據(jù)進行交織 begin

      if(j>3)//利用i和j控制mem_A和mem_B按行輸入,按列輸出

      begin

      end begin

      i=0;flag=~flag;//每輸入完16個數(shù)據(jù),標志位發(fā)生一次變化。標志位用于控制

      mem_A寫mem_B讀,還是mem_B寫mem_A讀 j=0;i=i+1;if(i>3)end begin

      if(flag==0)//這個周期實現(xiàn)mem_A按行寫,mem_B按列讀

      mem_A[i][j]<=A3;//mem_A按行寫 out<=mem_B[i][j];

      //mem_B按行讀,即mem_B交織前的數(shù)據(jù)

      waveout<=mem_B[j][i];//mem_B按列讀,即mem_B交織后的數(shù)據(jù)

      end else //這個周期實現(xiàn)mem_B按行寫,mem_A按列讀

      begin

      mem_B[i][j]<=A3;//mem_B按行寫 out<=mem_A[i][j];

      //mem_A按行讀,即mem_A交織前的數(shù)據(jù)

      waveout<=mem_A[j][i];//mem_A按列讀,即mem_A交織后的數(shù)據(jù)

      end end endmodule

      三、實驗結(jié)果與分析

      剛剛開始仿真時的第一個周期,由于flag=0,所以mem_A按行寫,mem_B按列讀,由于mem_B之前還未寫入過數(shù)據(jù),所以out(交織前)和waveout(交織后)輸出均為0.第二個周期,flag=1,輸出的為前一周期寫入mem_A的數(shù)據(jù),輸出的out(未交織)為0000 1111 0101 1001,即

      0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 1 而輸出的waveout(交織后)為0101 0110 0100 0111,即

      0 1 0 1 0 1 1 0 0 1 0 0 0 1 1 1 可見,交織成功。

      第三個周期,flag=0,輸出的為前一周期寫入mem_B的數(shù)據(jù),輸出的out(未交織)為0001 1110 1011 0010,即

      0 0 0 1 1 1 1 0 1 0 1 1 0 0 1 0

      而輸出的waveout(交織后)為0110 0100 0111 1010,即

      0 1 1 0 0 1 0 0 0 1 1 1 1 0 1 0 可見,交織成功。

      一直這樣循環(huán)下去,可見,源程序仿真通過。

      四、實驗演示

      clk分配50MHz,out分配到GPIO 0,waveout分配到GPIO 1,然后用示波器雙蹤觀察out與waveout,觀察是否交織成功。

      實驗結(jié)果:

      要在示波器中找到某一周期的起點不容易,但由于用的是偽隨機碼,有一定的規(guī)律。如上圖,利用仿真器輸出的波形,成功在示波器找出了某一周期起點的位置。由圖可見仿真和示波器的out輸出均為0101 1001 0001 1110 1011 0010 0011 1101 ······即

      0 1 0 1 1 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 0 1 交織后的waveout為0101 1001 0001 1110 1001 0001 1110 1011,即

      0 1 0 1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 1 1 1 0 1 1 1 0 1 0 1 1 交織成功??梢?,本次試驗是成功的。

      五、心得體會

      通過本次實驗,我掌握了串行數(shù)據(jù)交織器的原理,學(xué)會了串行數(shù)據(jù)交織器的設(shè)計。由于剛開始時不太懂,參考了一下網(wǎng)上的程序,結(jié)果老師說大家的版本都差不多,懷疑我是抄的。其實也算不上是抄,只是參考。本來我想自己寫的,但見別人寫得那么好了,我已經(jīng)無法超越了,就把別人的改了改就拿來用了,其實網(wǎng)上那個版本也是有點問題的,我發(fā)現(xiàn)了四句是多余的,原來那個人也是未完全弄懂的啊!因此,我寫了這個用二維數(shù)組來控制的,發(fā)現(xiàn)其實用二維數(shù)組來控制其實更加簡單,程序更加簡潔,可移植性也大大增強。只要肯努力,相信自己可以做得更加好!其實,velilog這東西基礎(chǔ)真的很重要,基礎(chǔ)不好真的很容易出錯,出了錯自己本人一般是很難看出來的。

      第二篇:FPGA數(shù)據(jù)采集與回放系統(tǒng)設(shè)計論文

      FPGA數(shù)據(jù)采集與回放系統(tǒng)設(shè)計論文

      在個人成長的多個環(huán)節(jié)中,大家或多或少都會接觸過論文吧,論文是我們對某個問題進行深入研究的文章。怎么寫論文才能避免踩雷呢?下面是小編為大家整理的FPGA數(shù)據(jù)采集與回放系統(tǒng)設(shè)計論文,歡迎閱讀,希望大家能夠喜歡。

      1系統(tǒng)及其原理

      基于通用信號處理開發(fā)板,利用FPGA技術(shù)控制AD9233芯片對目標模擬信號采樣,再將采樣量化后的數(shù)據(jù)寫入USB接口芯片CY7C68013的FIFO中,F(xiàn)IFO寫滿后采用自動觸發(fā)工作方式將數(shù)據(jù)傳輸?shù)絇C機。利用VC++6.0軟件編寫上位機實現(xiàn)友好的人機交互界面,將傳輸?shù)絇C機上的數(shù)據(jù)進行儲存和實時回放。本系統(tǒng)主要實現(xiàn)以下兩大功能:1)ADC模塊對目標模擬信號進行采樣,利用FPGA技術(shù)將采樣后的數(shù)據(jù)傳輸?shù)経SB接口芯片CY7C68013的FIFO中存儲。2)運用USB2.0總線數(shù)據(jù)傳輸技術(shù),將雷達回波信號數(shù)據(jù)傳輸?shù)絇C機實時回放。分為應(yīng)用層、內(nèi)核層和物理層3部分。應(yīng)用層和內(nèi)核層主要由軟件實現(xiàn)。應(yīng)用層采用VC++6.0開發(fā)用戶界面程序,為用戶提供可視化操作界面。內(nèi)核層基于DriverWorks和DDK開發(fā)系統(tǒng)驅(qū)動程序,主要起應(yīng)用軟件與硬件之間的橋梁作用,把客戶端的控制命令或數(shù)據(jù)流傳到硬件中,同時把硬件傳輸過來的數(shù)據(jù)進行緩存。物理層主要以FPGA為核心,對USB接口芯片CY7C68013進行控制,通過USB2.0總線實現(xiàn)對中頻信號采集。系統(tǒng)設(shè)計采用自底向上的方法,從硬件設(shè)計開始逐步到最終的應(yīng)用軟件的設(shè)計。

      2硬件設(shè)計

      FPGA在觸發(fā)信號下,控制ADC采樣輸入信號,并存入FIFO中。當(dāng)存滿時,將數(shù)據(jù)寫入USB接口芯片CY7C68013,同時切換另一塊FIFO接收ADC轉(zhuǎn)換的數(shù)據(jù),實現(xiàn)乒乓存儲,以提高效率。FPGA模塊的一個重要作用是控制USB接口芯片CY7C68013。當(dāng)ADC采樣后,數(shù)據(jù)進入FPGA模塊,F(xiàn)PGA控制數(shù)據(jù)流將其寫入CY7C68013的FIFO中,以便于USB向PC機傳輸。CY7C68013的數(shù)據(jù)傳輸模式采用異步slaveFIFO和同步slaveFIFO切換模式。通過實測,前者傳輸速度約為5~10Mbit/s,后者傳輸速度最高可達20Mbit/s,傳輸速度的提高可通過更改驅(qū)動程序的讀取方式實現(xiàn)。

      3軟件設(shè)計

      3.1USB驅(qū)動程序設(shè)計

      USB2.0總線傳輸技術(shù)最高速率可達480Mbit/s。本系統(tǒng)采用批量傳輸?shù)膕laveFIFO模式。CY7C68013芯片內(nèi)部提供了多個FIFO緩沖區(qū),外部邏輯可對這些端點FIFO緩沖區(qū)直接進行讀寫操作。在該種傳輸模式下,USB數(shù)據(jù)在USB主機與外部邏輯通信時無需CPU的干預(yù),可大大提高數(shù)據(jù)傳輸速度。Cypress公司為CY7C68013芯片提供了通用的驅(qū)動程序,用戶可根據(jù)需求開發(fā)相應(yīng)的固件程序。

      3.2FPGA模塊程序設(shè)計

      系統(tǒng)中FPGA模塊的'核心作用是控制AD9233芯片進行采樣。AD9233作為高速采樣芯片,其最高采樣速率達125Mbit/s,最大模擬帶寬為650MHz。通過改變采樣速率可使該系統(tǒng)采集不同速率需求的信號,擴展了該系統(tǒng)的應(yīng)用范圍。描述FPGA控制USB數(shù)據(jù)寫入接口芯片F(xiàn)IFO的狀態(tài)機如圖6所示。狀態(tài)1表示指向INFIFO,觸發(fā)FIFOADR[1:0],轉(zhuǎn)向狀態(tài)2;狀態(tài)2表示若FIFO未滿則轉(zhuǎn)向狀態(tài)3,否則停留在狀態(tài)2;狀態(tài)3表示驅(qū)動數(shù)據(jù)到總線上,通過觸發(fā)SLWR寫數(shù)據(jù)到FIFO并增加FIFO的指針,然后轉(zhuǎn)向狀態(tài)4;狀態(tài)4表示若還有數(shù)據(jù)寫則轉(zhuǎn)向狀態(tài)2,否則轉(zhuǎn)向完成。

      3.3上位機設(shè)計

      為實現(xiàn)人機交互,利用VC++MFC在PC機上編寫了可視化操作界面,即上位機。上位機既用于數(shù)據(jù)采集的控制,同時也用于采集數(shù)據(jù)的實時回放。上位機界面如圖7所示。上位機主要功能:

      1)按下“檢測USB”按鈕,可檢測USB是否連接正常,并顯示USB基本信息。

      2)按下“開始采集”按鈕,可將采集的數(shù)據(jù)傳輸?shù)絇C機并實時回放數(shù)據(jù)波形;再次按下“開始采集”按鈕,可暫停數(shù)據(jù)波形回放。

      3)按下“保存數(shù)據(jù)”按鈕,可將采集的數(shù)據(jù)以*.dat文件的形式存儲到PC機硬盤。

      4)按下“結(jié)束采集”按鈕,可關(guān)閉采集系統(tǒng)并退出界面;或按下“確定”和“取消”按鈕,也可直接退出界面。

      4系統(tǒng)實測

      為了測試數(shù)據(jù)采集與回放系統(tǒng),利用通用信號處理開發(fā)板設(shè)計了DDS模塊。該DDS模塊產(chǎn)生一個正弦波作為測試信號,通過AD9744芯片轉(zhuǎn)換后變?yōu)槟M信號輸出,并將此輸出信號接至示波器以便驗證系統(tǒng)。數(shù)據(jù)采集與回放系統(tǒng)的實物圖及系統(tǒng)實測波形與回放波形。

      5結(jié)束語

      通過實際測試,基于FPGA的數(shù)據(jù)采集與回放系統(tǒng)達到了預(yù)期設(shè)計的要求。此系統(tǒng)能夠?qū)δ繕四M數(shù)據(jù)進行采集,并能對采集的數(shù)據(jù)實時回放,且可將數(shù)據(jù)以*.dat文件的形式存入PC機硬盤;系統(tǒng)具有高速的采集傳輸功能,上位機能夠?qū)崟r、動態(tài)地回放數(shù)據(jù);信號采集板和處理板共用一套硬件,避免了重復(fù)制板,在實際調(diào)試時可方便地在信號采集與信號處理的工作模式間來回切換,提高了工作效率。原驅(qū)動程序官方版本為了滿足通用性和穩(wěn)定性的要求,限制了傳輸速率,本設(shè)計開發(fā)了相應(yīng)的USB驅(qū)動程序,提高了傳輸速率。

      第三篇:基于51單片機的盲文助讀器系統(tǒng)設(shè)計研究論文(共)

      引言

      中國是全世界盲人最多的國家之一,據(jù)統(tǒng)計約有900萬盲人。盲人接受文字信息的途徑主要有利用語音合成發(fā)聲軟件閱讀和觸摸盲文凸字兩種形式。語音合成發(fā)聲感情生硬,缺乏閱讀快感,較晦澀的文字和公式更是難以理解記憶。同時,供盲人閱讀的新版圖書只有104種,盲文期刊僅8種,品種數(shù)量可謂奇缺叫。另一方面,現(xiàn)有的盲文助讀器由于采用壓電陶瓷,其價格也頗為昂貴。本文基于51單片機設(shè)計了一種新型的盲文助讀器。

      1新型盲文助讀器的總體架構(gòu)設(shè)計

      目前廣泛應(yīng)用的盲文有現(xiàn)行盲文和雙拼盲文兩種,現(xiàn)行盲文以三行兩列的6個凸點為一個基本單位,6個凸點之間通過不同的排列組合形成不同的文字,本文基于流行最廣的現(xiàn)行盲文設(shè)計了一種8方的盲文助讀器。因微型步進電機具有體積小、利于控制、價格低廉等優(yōu)點,機械部分采用步進電機來實現(xiàn)凸點的起落,控制部分則采用STC89C51單片機,通過6個1,B1848M步進電機驅(qū)動芯片來控制6個步進電機,每個步進電機控制1個凸點的起降,每6個步進電機控制的凸點表示1個盲文單元(即盲文的1方),每個盲文單元可以顯示1個阿拉伯?dāng)?shù)字或英文字母,2個或3個單元可以顯示1個漢字。電路連接部分采用自行設(shè)計的PC'B板,將電機驅(qū)動芯片、步進電機、單片機有序地連接。單片機通過內(nèi)部程序控制來實現(xiàn)盲文單元內(nèi)6個步進電機間以及每個盲文單元間的協(xié)調(diào)組合,從而實現(xiàn)盲文的表達輸出。

      2機械整體架構(gòu)

      采用微型步進電機作為原動機(即控制終端),通過單片機發(fā)送的信號控制電機的旋轉(zhuǎn),帶動螺旋機構(gòu)控制螺母和凸點的升降運動。將微型步進電機鑲嵌在底盤內(nèi),焊接在PCB板上,利用導(dǎo)軌板壁和與之配合的電機限制螺母沿二,二軸平動和繞二,y軸轉(zhuǎn)動,使之只能繞二軸轉(zhuǎn)動從而實現(xiàn)沿導(dǎo)軌板壁的上下移動,每6個凸點為1個單元,通過不同凸點的起降變化,顯示不同的文字。

      步進電機是四線二項混合式微型步進電機,此款電機屬于二相四拍式步進電機。通過1,B1848M芯片產(chǎn)生的驅(qū)動信號驅(qū)動步進電機,帶動絲軸上的螺母上下運動,距離控制在2 mm的統(tǒng)一高度。步進電機結(jié)構(gòu)示意圖如圖3所示。

      3控制部分設(shè)計

      3.1多機通訊的硬件設(shè)計

      PC機作為上位機,主機和從機都為51單片機。PC'機與主機通過串口通訊。由于通訊距離較短,所以本項目采用RS232進行串口通訊,波特率為9 600,數(shù)據(jù)位為8位。

      主機利用緩沖寄存器SBUF接收PC'機發(fā)來的字符數(shù)據(jù)后經(jīng)過內(nèi)部轉(zhuǎn)碼處理,將字符數(shù)據(jù)翻譯為對應(yīng)的電機控制碼,通過串行通訊發(fā)送給從機。從機接收完主機發(fā)來的數(shù)據(jù)后,實時控制相應(yīng)步進電機的轉(zhuǎn)動狀態(tài)。其中從機部分只顯示出了一個單片機和1個電機。

      PCB板的設(shè)計是本項目硬件系統(tǒng)的重要部分,使用Propel DXP2004,實現(xiàn)了SCH(原理圖)設(shè)計、SCH仿真、PCB(印制電路板)設(shè)計、Auto Router(自動布線器)和FPUA設(shè)計。

      在PC'B的制作過程中,芯片IB1848M的封裝根據(jù)技術(shù)手冊完成。為了減小盲人助讀器的整體尺寸并且配合微型步進電機的焊接,實際制作時,采用兩層PCB板作為信號層,其主要的工藝指標如下:PCB板寬為24 mil;最小線寬為6 mil;走線與焊盤的最小距離為12 mil;過孔最小內(nèi)徑為16 mil。

      3.2多機通訊的軟件設(shè)計

      通過對51單片機內(nèi)部的多機通訊控制位SM2SM1的控制實現(xiàn)多機通訊。利用串行通訊來實現(xiàn)主機與從機間的通訊,主機先利用串口向所有從機發(fā)送地址,在從機接收到地址時進行判斷。若地址不符則不作為,地址相符則繼續(xù)接收主機發(fā)來的電機控制信息,進而對電機進行控制以實現(xiàn)盲文的顯示。

      在進行多機通訊時,主機依次對從機進行控制,實現(xiàn)8組步進電機的依次控制,先控制第1個從機,令電機顯示第1個盲文,再控制第2個從機,令電機顯示第2個盲文。

      在8組從機依次控制完畢后將所有從機的控制位SM2-SM1恢復(fù)為初始狀態(tài),準備進行下一次通訊命令的接收。

      4結(jié)論

      本文從我國盲文使用現(xiàn)狀入手,指出了現(xiàn)有語音合成發(fā)聲軟件和紙質(zhì)書籍的弊端,并詳細介紹了新型盲文助讀器的具體設(shè)計原理。利用微型步進電機控制凸點,用單片機控制電機,通過PCB進行電路搭建,實現(xiàn)了新型盲文助讀器的設(shè)計。它能很方便地將電子版文字轉(zhuǎn)化為盲文凸起形式,價格低廉,對盲人的學(xué)習(xí)、生活有很大的幫助。

      下載基于FPGA的交織器,深圳大學(xué),通信系統(tǒng)中串行數(shù)據(jù)交織器的設(shè)計(精選)word格式文檔
      下載基于FPGA的交織器,深圳大學(xué),通信系統(tǒng)中串行數(shù)據(jù)交織器的設(shè)計(精選).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦